@turtleclub/hooks 0.5.0-beta.87 → 0.5.0-beta.89

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.
package/dist/index.cjs CHANGED
@@ -108,6 +108,9 @@ __export(index_exports, {
108
108
  getOpportunitiesPaginatedSchema: () => getOpportunitiesPaginatedSchema,
109
109
  getOpportunityById: () => getOpportunityById,
110
110
  getOpportunityByIdInputSchema: () => getOpportunityByIdInputSchema,
111
+ getOrgLeaderboard: () => getOrgLeaderboard,
112
+ getOrgLeaderboardParamsSchema: () => getOrgLeaderboardParamsSchema,
113
+ getOrgUserLeaderboard: () => getOrgUserLeaderboard,
111
114
  getPortfolioBalance: () => getPortfolioBalance,
112
115
  getProduct: () => getProduct,
113
116
  getProducts: () => getProducts,
@@ -151,9 +154,15 @@ __export(index_exports, {
151
154
  opportunitiesResponseSchema: () => opportunitiesResponseSchema,
152
155
  opportunityFiltersSchema: () => opportunityFiltersSchema,
153
156
  opportunitySchema: () => opportunitySchema,
157
+ orgLeaderboardQueries: () => orgLeaderboardQueries,
158
+ orgLeaderboardResponseSchema: () => orgLeaderboardResponseSchema,
159
+ orgLeaderboardRowSchema: () => orgLeaderboardRowSchema,
160
+ orgLeaderboardSortBySchema: () => orgLeaderboardSortBySchema,
161
+ orgLeaderboardSortOrderSchema: () => orgLeaderboardSortOrderSchema,
162
+ orgUserLeaderboardInfoSchema: () => orgUserLeaderboardInfoSchema,
163
+ orgUserLeaderboardResponseSchema: () => orgUserLeaderboardResponseSchema,
154
164
  organizationSchema: () => organizationSchema,
155
165
  organizationsMutations: () => organizationsMutations,
156
- paginationMetadataSchema: () => paginationMetadataSchema,
157
166
  paginationSchema: () => paginationSchema,
158
167
  portfolioBalanceResponseSchema: () => portfolioBalanceResponseSchema,
159
168
  portfolioHoldingsSchema: () => portfolioHoldingsSchema,
@@ -253,6 +262,8 @@ __export(index_exports, {
253
262
  useOpportunitiesFilterOptions: () => useOpportunitiesFilterOptions,
254
263
  useOpportunitiesPaginated: () => useOpportunitiesPaginated,
255
264
  useOpportunity: () => useOpportunity,
265
+ useOrgLeaderboard: () => useOrgLeaderboard,
266
+ useOrgUserLeaderboard: () => useOrgUserLeaderboard,
256
267
  usePortfolioBalance: () => usePortfolioBalance,
257
268
  useProduct: () => useProduct,
258
269
  useProducts: () => useProducts,
@@ -294,7 +305,7 @@ __export(index_exports, {
294
305
  module.exports = __toCommonJS(index_exports);
295
306
 
296
307
  // src/v2/index.ts
297
- var import_query_key_factory21 = require("@lukemorales/query-key-factory");
308
+ var import_query_key_factory22 = require("@lukemorales/query-key-factory");
298
309
 
299
310
  // src/v2/opportunities/queries.ts
300
311
  var import_query_key_factory4 = require("@lukemorales/query-key-factory");
@@ -392,155 +403,59 @@ var ApiClient = class _ApiClient {
392
403
  var apiClient = ApiClient.getInstance();
393
404
 
394
405
  // src/v2/opportunities/schema.ts
395
- var import_zod8 = require("zod");
406
+ var import_zod9 = require("zod");
396
407
 
397
408
  // src/v2/supported-tokens/schema.ts
398
- var import_zod4 = require("zod");
399
-
400
- // src/v2/supported-chains/schema.ts
401
409
  var import_zod3 = require("zod");
402
410
 
403
- // src/v2/schemas/shared.ts
411
+ // src/v2/supported-chains/schema.ts
404
412
  var import_zod2 = require("zod");
405
413
 
406
- // src/v2/organizations/schema.ts
414
+ // src/v2/schemas/pagination.ts
407
415
  var import_zod = require("zod");
408
- var organizationSchema = import_zod.z.object({
409
- id: import_zod.z.string(),
410
- name: import_zod.z.string(),
411
- description: import_zod.z.string().optional().nullable(),
412
- landingUrl: import_zod.z.string().optional().nullable(),
413
- iconUrl: import_zod.z.string().optional().nullable(),
414
- organizationType: import_zod.z.string().optional().nullable(),
415
- turtleRefCode: import_zod.z.string().optional().nullable(),
416
- twitterHandle: import_zod.z.string().optional().nullable(),
417
- status: import_zod.z.string().optional().nullable(),
418
- featured: import_zod.z.boolean().optional().nullable()
419
- });
420
- var LeaveOrganizationInputSchema = import_zod.z.object({
421
- organizationId: import_zod.z.string().uuid()
422
- });
423
- var LeaveOrganizationOutputSchema = import_zod.z.object({
424
- success: import_zod.z.boolean(),
425
- error: import_zod.z.string().optional()
426
- });
427
-
428
- // src/v2/organizations/api.ts
429
- async function leaveOrganization(input) {
430
- const endpoint = `/organization/${input.organizationId}/leave`;
431
- const data = await apiClient.fetch(endpoint, {
432
- method: "POST"
433
- });
434
- const result = LeaveOrganizationOutputSchema.safeParse(data);
435
- if (result.success === false) {
436
- console.log("[ZOD ERROR]", result.error);
437
- throw new Error(`Failed to parse leave organization response: ${result.error.message}`);
438
- }
439
- return result.data;
440
- }
441
-
442
- // src/v2/organizations/hooks.ts
443
- var import_react_query = require("@tanstack/react-query");
444
- function useLeaveOrganization(options) {
445
- return (0, import_react_query.useMutation)({
446
- mutationFn: leaveOrganization,
447
- ...options
448
- });
449
- }
450
-
451
- // src/v2/organizations/queries.ts
452
- var organizationsMutations = {
453
- leave: (input) => leaveOrganization(input)
454
- };
455
-
456
- // src/v2/schemas/shared.ts
457
- var vaultConfigSchema = import_zod2.z.object({
458
- id: import_zod2.z.string().uuid().optional(),
459
- infraProvider: organizationSchema.optional().nullable(),
460
- curator: organizationSchema.optional().nullable(),
461
- withdrawalCooldownSecs: import_zod2.z.number().int().min(0).optional().nullable(),
462
- withdrawalContractAddress: import_zod2.z.string().optional().nullable(),
463
- withdrawalDetails: import_zod2.z.any().optional().nullable(),
464
- depositUrl: import_zod2.z.string().optional().nullable(),
465
- providerMetadata: import_zod2.z.any().optional().nullable(),
466
- performanceFee: import_zod2.z.number().min(0).max(100).optional().nullable(),
467
- managementFee: import_zod2.z.number().min(0).max(100).optional().nullable(),
468
- depositFee: import_zod2.z.number().min(0).max(100).optional().nullable(),
469
- withdrawalFee: import_zod2.z.number().min(0).max(100).optional().nullable(),
470
- minDepositAmount: import_zod2.z.number().optional().nullable(),
471
- minDepositValueUSD: import_zod2.z.number().optional().nullable(),
472
- depositCapAmount: import_zod2.z.number().optional().nullable(),
473
- depositCapValueUSD: import_zod2.z.number().optional().nullable(),
474
- depositFillSecs: import_zod2.z.number().int().optional().nullable(),
475
- lockupPeriodSecs: import_zod2.z.number().int().optional().nullable(),
476
- asyncDeposit: import_zod2.z.boolean().optional().nullable(),
477
- asyncWithdraw: import_zod2.z.boolean().optional().nullable(),
478
- secondaryOnly: import_zod2.z.boolean().optional().nullable(),
479
- createdAt: import_zod2.z.string().datetime().optional(),
480
- updatedAt: import_zod2.z.string().datetime().optional()
481
- });
482
- var lendingConfigSchema = import_zod2.z.object({
483
- id: import_zod2.z.string().uuid(),
484
- protocol: organizationSchema.optional(),
485
- curator: organizationSchema.optional(),
486
- marketAddress: import_zod2.z.string().optional(),
487
- depositUrl: import_zod2.z.string().optional().nullable(),
488
- providerMetadata: import_zod2.z.any().optional(),
489
- createdAt: import_zod2.z.string().datetime(),
490
- updatedAt: import_zod2.z.string().datetime()
491
- });
492
- var stakingConfigSchema = import_zod2.z.object({
493
- id: import_zod2.z.string().uuid(),
494
- protocol: organizationSchema.optional(),
495
- chainId: import_zod2.z.string().uuid().optional(),
496
- chain: chainSchema.optional(),
497
- stakingContractAddress: import_zod2.z.string().optional(),
498
- createdAt: import_zod2.z.string().datetime(),
499
- updatedAt: import_zod2.z.string().datetime()
500
- });
501
- var paginationMetadataSchema = import_zod2.z.object({
502
- page: import_zod2.z.number().int().min(1).catch(1),
503
- limit: import_zod2.z.number().int().min(1).max(100),
504
- total: import_zod2.z.number().int().min(0),
505
- total_pages: import_zod2.z.number().int().min(1).optional(),
506
- has_next: import_zod2.z.boolean().optional(),
507
- has_previous: import_zod2.z.boolean().optional()
416
+ var paginationMetadataSchema = import_zod.z.object({
417
+ page: import_zod.z.number().int().min(1).catch(1),
418
+ limit: import_zod.z.number().int().min(1).max(100),
419
+ total: import_zod.z.number().int().min(0),
420
+ total_pages: import_zod.z.number().int().min(1).optional(),
421
+ has_next: import_zod.z.boolean().optional(),
422
+ has_previous: import_zod.z.boolean().optional()
508
423
  });
509
424
 
510
425
  // src/v2/supported-chains/schema.ts
511
- var supportedChainEcosystemSchema = import_zod3.z.enum(["evm", "solana"]);
512
- var supportedChainStatusSchema = import_zod3.z.enum(["active", "inactive"]);
513
- var chainSchema = import_zod3.z.object({
514
- id: import_zod3.z.string().optional(),
515
- name: import_zod3.z.string(),
516
- slug: import_zod3.z.string().optional(),
517
- chainId: import_zod3.z.string(),
518
- isTestnet: import_zod3.z.boolean().optional(),
519
- logoUrl: import_zod3.z.string().optional(),
426
+ var supportedChainEcosystemSchema = import_zod2.z.enum(["evm", "solana"]);
427
+ var supportedChainStatusSchema = import_zod2.z.enum(["active", "inactive"]);
428
+ var chainSchema = import_zod2.z.object({
429
+ id: import_zod2.z.string().optional(),
430
+ name: import_zod2.z.string(),
431
+ slug: import_zod2.z.string().optional(),
432
+ chainId: import_zod2.z.string(),
433
+ isTestnet: import_zod2.z.boolean().optional(),
434
+ logoUrl: import_zod2.z.string().optional(),
520
435
  ecosystem: supportedChainEcosystemSchema.optional(),
521
436
  status: supportedChainStatusSchema.optional(),
522
- explorerUrl: import_zod3.z.string().optional()
437
+ explorerUrl: import_zod2.z.string().optional()
523
438
  });
524
- var getSupportedChainsInputSchema = import_zod3.z.object({
525
- page: import_zod3.z.number().min(1).default(1).optional(),
526
- limit: import_zod3.z.number().min(1).max(100).default(50).optional(),
439
+ var getSupportedChainsInputSchema = import_zod2.z.object({
440
+ page: import_zod2.z.number().min(1).default(1).optional(),
441
+ limit: import_zod2.z.number().min(1).max(100).default(50).optional(),
527
442
  // Sorting
528
- sortBy: import_zod3.z.enum(["name", "chainId", "ecosystem", "slug"]).optional(),
529
- sortOrder: import_zod3.z.enum(["asc", "desc"]).optional(),
443
+ sortBy: import_zod2.z.enum(["name", "chainId", "ecosystem", "slug"]).optional(),
444
+ sortOrder: import_zod2.z.enum(["asc", "desc"]).optional(),
530
445
  // Filters
531
- ecosystem: import_zod3.z.string().optional(),
446
+ ecosystem: import_zod2.z.string().optional(),
532
447
  // Filter by ecosystem
533
- status: import_zod3.z.string().optional(),
448
+ status: import_zod2.z.string().optional(),
534
449
  // Filter by status
535
- chainId: import_zod3.z.string().optional(),
450
+ chainId: import_zod2.z.string().optional(),
536
451
  // Filter by specific chainId
537
- slug: import_zod3.z.string().optional(),
452
+ slug: import_zod2.z.string().optional(),
538
453
  // Filter by slug
539
- search: import_zod3.z.string().optional()
454
+ search: import_zod2.z.string().optional()
540
455
  // Search by name or slug
541
456
  });
542
- var supportedChainsResponseSchema = import_zod3.z.object({
543
- chains: import_zod3.z.array(chainSchema),
457
+ var supportedChainsResponseSchema = import_zod2.z.object({
458
+ chains: import_zod2.z.array(chainSchema),
544
459
  pagination: paginationMetadataSchema.optional()
545
460
  });
546
461
 
@@ -582,7 +497,7 @@ var supportedChainsQueries = (0, import_query_key_factory.createQueryKeys)("supp
582
497
  });
583
498
 
584
499
  // src/v2/supported-chains/hooks.ts
585
- var import_react_query2 = require("@tanstack/react-query");
500
+ var import_react_query = require("@tanstack/react-query");
586
501
 
587
502
  // src/v2/lib/query-config.ts
588
503
  var queryDefaults = {
@@ -606,7 +521,7 @@ function createQueryOptions(queryConfig, options) {
606
521
  // src/v2/supported-chains/hooks.ts
607
522
  function useSupportedChains(options) {
608
523
  const { debug, enabled = true, ...params } = options || {};
609
- const { data, isLoading, error, refetch, isFetching } = (0, import_react_query2.useQuery)({
524
+ const { data, isLoading, error, refetch, isFetching } = (0, import_react_query.useQuery)({
610
525
  ...supportedChainsQueries.all(params, { debug }),
611
526
  ...queryDefaults,
612
527
  enabled
@@ -627,32 +542,32 @@ function useSupportedChains(options) {
627
542
  }
628
543
 
629
544
  // src/v2/supported-tokens/schema.ts
630
- var uuidSchema = import_zod4.z.string().uuid();
631
- var tokenSchema = import_zod4.z.object({
545
+ var uuidSchema = import_zod3.z.string().uuid();
546
+ var tokenSchema = import_zod3.z.object({
632
547
  id: uuidSchema,
633
- address: import_zod4.z.string(),
634
- name: import_zod4.z.string(),
635
- symbol: import_zod4.z.string(),
636
- decimals: import_zod4.z.number().int().nonnegative(),
637
- isNative: import_zod4.z.boolean(),
638
- logoUrl: import_zod4.z.string().optional(),
548
+ address: import_zod3.z.string(),
549
+ name: import_zod3.z.string(),
550
+ symbol: import_zod3.z.string(),
551
+ decimals: import_zod3.z.number().int().nonnegative(),
552
+ isNative: import_zod3.z.boolean(),
553
+ logoUrl: import_zod3.z.string().optional(),
639
554
  chain: chainSchema,
640
- priceUsd: import_zod4.z.number().optional(),
555
+ priceUsd: import_zod3.z.number().optional(),
641
556
  canonicalAssetId: uuidSchema.optional(),
642
- streamsMinAmount: import_zod4.z.string().nullable().optional(),
643
- totalTurtleTvl: import_zod4.z.number().optional(),
644
- price: import_zod4.z.string().optional(),
645
- amount: import_zod4.z.string().optional(),
646
- rawAmount: import_zod4.z.string().optional()
557
+ streamsMinAmount: import_zod3.z.string().nullable().optional(),
558
+ totalTurtleTvl: import_zod3.z.number().optional(),
559
+ price: import_zod3.z.string().optional(),
560
+ amount: import_zod3.z.string().optional(),
561
+ rawAmount: import_zod3.z.string().optional()
647
562
  });
648
563
  var supportedTokenSchema = tokenSchema.extend({
649
- active: import_zod4.z.boolean()
564
+ active: import_zod3.z.boolean()
650
565
  });
651
- var supportedTokensResponseSchema = import_zod4.z.object({
652
- tokens: import_zod4.z.array(supportedTokenSchema),
653
- total: import_zod4.z.number().optional(),
654
- limit: import_zod4.z.number().optional(),
655
- offset: import_zod4.z.number().optional()
566
+ var supportedTokensResponseSchema = import_zod3.z.object({
567
+ tokens: import_zod3.z.array(supportedTokenSchema),
568
+ total: import_zod3.z.number().optional(),
569
+ limit: import_zod3.z.number().optional(),
570
+ offset: import_zod3.z.number().optional()
656
571
  });
657
572
 
658
573
  // src/v2/supported-tokens/api.ts
@@ -692,7 +607,7 @@ var supportedTokensQueries = (0, import_query_key_factory2.createQueryKeys)("sup
692
607
  });
693
608
 
694
609
  // src/v2/supported-tokens/hooks.ts
695
- var import_react_query3 = require("@tanstack/react-query");
610
+ var import_react_query2 = require("@tanstack/react-query");
696
611
  var import_react = require("react");
697
612
  function useSupportedTokens({
698
613
  offset = 0,
@@ -703,7 +618,7 @@ function useSupportedTokens({
703
618
  enabled = true,
704
619
  ids = []
705
620
  } = {}) {
706
- const { data, isLoading, error, refetch } = (0, import_react_query3.useQuery)({
621
+ const { data, isLoading, error, refetch } = (0, import_react_query2.useQuery)({
707
622
  ...supportedTokensQueries.list({ offset, limit, search, chainId, withStreamsMinAmount, ids }),
708
623
  ...queryDefaults,
709
624
  staleTime: 5 * 60 * 1e3,
@@ -734,131 +649,230 @@ function useSupportedTokens({
734
649
  }
735
650
 
736
651
  // src/v2/incentives/schema.ts
737
- var import_zod5 = require("zod");
738
- var incentiveSchema = import_zod5.z.object({
739
- id: import_zod5.z.string().uuid(),
740
- name: import_zod5.z.string(),
741
- description: import_zod5.z.string(),
742
- iconUrl: import_zod5.z.string(),
743
- rewardType: import_zod5.z.string(),
744
- rewardTypeName: import_zod5.z.string(),
745
- boostPct: import_zod5.z.number().nullable(),
746
- totalCapacity: import_zod5.z.number().nullable(),
747
- maxCapacityPerLP: import_zod5.z.number().nullable(),
748
- lockup: import_zod5.z.string().nullable(),
749
- minCommitment: import_zod5.z.number().nullable(),
750
- baseYieldTarget: import_zod5.z.number().nullable(),
751
- baseYieldSource: import_zod5.z.string().nullable(),
752
- incentiveYieldTarget: import_zod5.z.number().nullable(),
753
- fdvEstimate: import_zod5.z.number().nullable(),
754
- isIncentiveYieldGuaranteed: import_zod5.z.boolean().nullable(),
755
- tokenSupplyAllocation: import_zod5.z.number().nullable(),
756
- yield: import_zod5.z.number().nullable(),
757
- indexed: import_zod5.z.boolean().nullable(),
758
- minApr: import_zod5.z.number().nullable().optional(),
759
- maxApr: import_zod5.z.number().nullable().optional()
652
+ var import_zod4 = require("zod");
653
+ var incentiveSchema = import_zod4.z.object({
654
+ id: import_zod4.z.string().uuid(),
655
+ name: import_zod4.z.string(),
656
+ description: import_zod4.z.string(),
657
+ iconUrl: import_zod4.z.string(),
658
+ rewardType: import_zod4.z.string(),
659
+ rewardTypeName: import_zod4.z.string(),
660
+ boostPct: import_zod4.z.number().nullable(),
661
+ totalCapacity: import_zod4.z.number().nullable(),
662
+ maxCapacityPerLP: import_zod4.z.number().nullable(),
663
+ lockup: import_zod4.z.string().nullable(),
664
+ minCommitment: import_zod4.z.number().nullable(),
665
+ baseYieldTarget: import_zod4.z.number().nullable(),
666
+ baseYieldSource: import_zod4.z.string().nullable(),
667
+ incentiveYieldTarget: import_zod4.z.number().nullable(),
668
+ fdvEstimate: import_zod4.z.number().nullable(),
669
+ isIncentiveYieldGuaranteed: import_zod4.z.boolean().nullable(),
670
+ tokenSupplyAllocation: import_zod4.z.number().nullable(),
671
+ yield: import_zod4.z.number().nullable(),
672
+ indexed: import_zod4.z.boolean().nullable(),
673
+ minApr: import_zod4.z.number().nullable().optional(),
674
+ maxApr: import_zod4.z.number().nullable().optional()
760
675
  });
761
676
  var createIncentiveInputSchema = incentiveSchema.omit({
762
677
  id: true
763
678
  });
764
679
  var updateIncentiveInputSchema = incentiveSchema.partial().extend({
765
- id: import_zod5.z.string().uuid()
680
+ id: import_zod4.z.string().uuid()
766
681
  });
767
- var incentivesResponseSchema = import_zod5.z.object({
768
- incentives: import_zod5.z.array(incentiveSchema),
769
- total: import_zod5.z.number().optional()
682
+ var incentivesResponseSchema = import_zod4.z.object({
683
+ incentives: import_zod4.z.array(incentiveSchema),
684
+ total: import_zod4.z.number().optional()
770
685
  });
771
- var uploadIncentiveIconRequestSchema = import_zod5.z.object({
772
- file: import_zod5.z.object({
773
- name: import_zod5.z.string(),
774
- size: import_zod5.z.number().positive(),
775
- type: import_zod5.z.string().refine((type) => type.startsWith("image/"), {
686
+ var uploadIncentiveIconRequestSchema = import_zod4.z.object({
687
+ file: import_zod4.z.object({
688
+ name: import_zod4.z.string(),
689
+ size: import_zod4.z.number().positive(),
690
+ type: import_zod4.z.string().refine((type) => type.startsWith("image/"), {
776
691
  message: "File must be an image type"
777
692
  }),
778
- lastModified: import_zod5.z.number().optional()
693
+ lastModified: import_zod4.z.number().optional()
779
694
  }),
780
- filename: import_zod5.z.string().optional(),
781
- overwrite: import_zod5.z.boolean().optional()
695
+ filename: import_zod4.z.string().optional(),
696
+ overwrite: import_zod4.z.boolean().optional()
782
697
  });
783
- var uploadIncentiveIconResponseSchema = import_zod5.z.object({
784
- publicUrl: import_zod5.z.string().url()
698
+ var uploadIncentiveIconResponseSchema = import_zod4.z.object({
699
+ publicUrl: import_zod4.z.string().url()
785
700
  });
786
701
 
787
702
  // src/v2/products/schema.ts
788
- var import_zod6 = require("zod");
789
- var productTypeSchema = import_zod6.z.enum(["deal", "campaign"]);
790
- var productStatusSchema = import_zod6.z.enum(["draft", "active", "paused", "ended"]);
791
- var turtleOrganizationSchema = import_zod6.z.object({
792
- id: import_zod6.z.string().uuid(),
793
- name: import_zod6.z.string(),
794
- iconUrl: import_zod6.z.string(),
795
- landingUrl: import_zod6.z.string()
703
+ var import_zod5 = require("zod");
704
+ var productTypeSchema = import_zod5.z.enum(["deal", "campaign"]);
705
+ var productStatusSchema = import_zod5.z.enum(["draft", "active", "paused", "ended"]);
706
+ var turtleOrganizationSchema = import_zod5.z.object({
707
+ id: import_zod5.z.string().uuid(),
708
+ name: import_zod5.z.string(),
709
+ iconUrl: import_zod5.z.string(),
710
+ landingUrl: import_zod5.z.string()
796
711
  });
797
- var productSchema = import_zod6.z.object({
798
- id: import_zod6.z.string().uuid(),
799
- name: import_zod6.z.string(),
800
- title: import_zod6.z.string(),
801
- subtitle: import_zod6.z.string(),
802
- description: import_zod6.z.string(),
803
- logoUrl: import_zod6.z.string(),
804
- productUrl: import_zod6.z.string(),
805
- startedAt: import_zod6.z.string().optional().nullable(),
806
- endedAt: import_zod6.z.string().optional().nullable(),
712
+ var productSchema = import_zod5.z.object({
713
+ id: import_zod5.z.string().uuid(),
714
+ name: import_zod5.z.string(),
715
+ title: import_zod5.z.string(),
716
+ subtitle: import_zod5.z.string(),
717
+ description: import_zod5.z.string(),
718
+ logoUrl: import_zod5.z.string(),
719
+ productUrl: import_zod5.z.string(),
720
+ startedAt: import_zod5.z.string().optional().nullable(),
721
+ endedAt: import_zod5.z.string().optional().nullable(),
807
722
  status: productStatusSchema,
808
723
  productType: productTypeSchema,
809
724
  organization: turtleOrganizationSchema.nullable(),
810
- opportunities: import_zod6.z.lazy(() => import_zod6.z.array(import_zod6.z.any())).nullish(),
811
- createdAt: import_zod6.z.string()
725
+ opportunities: import_zod5.z.lazy(() => import_zod5.z.array(import_zod5.z.any())).nullish(),
726
+ createdAt: import_zod5.z.string()
812
727
  });
813
- var createProductInputSchema = import_zod6.z.object({
728
+ var createProductInputSchema = import_zod5.z.object({
814
729
  product: productSchema.omit({
815
730
  id: true,
816
731
  createdAt: true,
817
732
  organization: true
818
733
  }),
819
- organizationId: import_zod6.z.string().uuid()
734
+ organizationId: import_zod5.z.string().uuid()
820
735
  });
821
- var updateProductInputSchema = import_zod6.z.object({
736
+ var updateProductInputSchema = import_zod5.z.object({
822
737
  product: productSchema.partial().omit({
823
738
  organization: true
824
739
  })
825
740
  // organizationId: z.string().uuid(),
826
741
  });
827
- var productsResponseSchema = import_zod6.z.object({
828
- products: import_zod6.z.array(productSchema),
829
- total: import_zod6.z.number().optional()
742
+ var productsResponseSchema = import_zod5.z.object({
743
+ products: import_zod5.z.array(productSchema),
744
+ total: import_zod5.z.number().optional()
830
745
  });
831
- var productResponseSchema = import_zod6.z.object({
746
+ var productResponseSchema = import_zod5.z.object({
832
747
  product: productSchema,
833
- stats: import_zod6.z.object({
834
- totalUsers: import_zod6.z.number(),
835
- activeUsers: import_zod6.z.number()
748
+ stats: import_zod5.z.object({
749
+ totalUsers: import_zod5.z.number(),
750
+ activeUsers: import_zod5.z.number()
836
751
  }).optional()
837
752
  });
838
- var createProductResponseSchema = import_zod6.z.object({
839
- id: import_zod6.z.string().uuid()
753
+ var createProductResponseSchema = import_zod5.z.object({
754
+ id: import_zod5.z.string().uuid()
840
755
  });
841
- var updateProductResponseSchema = import_zod6.z.object({
842
- success: import_zod6.z.boolean()
756
+ var updateProductResponseSchema = import_zod5.z.object({
757
+ success: import_zod5.z.boolean()
843
758
  });
844
- var fileSchema = import_zod6.z.any().refine((value) => {
759
+ var fileSchema = import_zod5.z.any().refine((value) => {
845
760
  if (!value) return false;
846
761
  if (!(value instanceof File)) return false;
847
762
  if (value.size > 10 * 1024 * 1024) return false;
848
763
  return true;
849
764
  }, "Invalid file");
850
- var uploadProductLogoRequestSchema = import_zod6.z.object({
765
+ var uploadProductLogoRequestSchema = import_zod5.z.object({
851
766
  // Form data - file upload (required)
852
767
  file: fileSchema,
853
768
  // Form data - optional filename override
854
- filename: import_zod6.z.string().optional()
769
+ filename: import_zod5.z.string().optional()
770
+ });
771
+ var uploadProductLogoResponseSchema = import_zod5.z.object({
772
+ url: import_zod5.z.string().url(),
773
+ error: import_zod5.z.string().optional()
774
+ });
775
+ var productFiltersSchema = import_zod5.z.object({
776
+ organizationId: import_zod5.z.string().uuid().optional()
777
+ });
778
+
779
+ // src/v2/schemas/shared.ts
780
+ var import_zod7 = require("zod");
781
+
782
+ // src/v2/organizations/schema.ts
783
+ var import_zod6 = require("zod");
784
+ var organizationSchema = import_zod6.z.object({
785
+ id: import_zod6.z.string(),
786
+ name: import_zod6.z.string(),
787
+ description: import_zod6.z.string().optional().nullable(),
788
+ landingUrl: import_zod6.z.string().optional().nullable(),
789
+ iconUrl: import_zod6.z.string().optional().nullable(),
790
+ organizationType: import_zod6.z.string().optional().nullable(),
791
+ turtleRefCode: import_zod6.z.string().optional().nullable(),
792
+ twitterHandle: import_zod6.z.string().optional().nullable(),
793
+ status: import_zod6.z.string().optional().nullable(),
794
+ featured: import_zod6.z.boolean().optional().nullable()
795
+ });
796
+ var LeaveOrganizationInputSchema = import_zod6.z.object({
797
+ organizationId: import_zod6.z.string().uuid()
855
798
  });
856
- var uploadProductLogoResponseSchema = import_zod6.z.object({
857
- url: import_zod6.z.string().url(),
799
+ var LeaveOrganizationOutputSchema = import_zod6.z.object({
800
+ success: import_zod6.z.boolean(),
858
801
  error: import_zod6.z.string().optional()
859
802
  });
860
- var productFiltersSchema = import_zod6.z.object({
861
- organizationId: import_zod6.z.string().uuid().optional()
803
+
804
+ // src/v2/organizations/api.ts
805
+ async function leaveOrganization(input) {
806
+ const endpoint = `/organization/${input.organizationId}/leave`;
807
+ const data = await apiClient.fetch(endpoint, {
808
+ method: "POST"
809
+ });
810
+ const result = LeaveOrganizationOutputSchema.safeParse(data);
811
+ if (result.success === false) {
812
+ console.log("[ZOD ERROR]", result.error);
813
+ throw new Error(`Failed to parse leave organization response: ${result.error.message}`);
814
+ }
815
+ return result.data;
816
+ }
817
+
818
+ // src/v2/organizations/hooks.ts
819
+ var import_react_query3 = require("@tanstack/react-query");
820
+ function useLeaveOrganization(options) {
821
+ return (0, import_react_query3.useMutation)({
822
+ mutationFn: leaveOrganization,
823
+ ...options
824
+ });
825
+ }
826
+
827
+ // src/v2/organizations/queries.ts
828
+ var organizationsMutations = {
829
+ leave: (input) => leaveOrganization(input)
830
+ };
831
+
832
+ // src/v2/schemas/shared.ts
833
+ var vaultConfigSchema = import_zod7.z.object({
834
+ id: import_zod7.z.string().uuid().optional(),
835
+ infraProvider: organizationSchema.optional().nullable(),
836
+ curator: organizationSchema.optional().nullable(),
837
+ withdrawalCooldownSecs: import_zod7.z.number().int().min(0).optional().nullable(),
838
+ withdrawalContractAddress: import_zod7.z.string().optional().nullable(),
839
+ withdrawalDetails: import_zod7.z.any().optional().nullable(),
840
+ depositUrl: import_zod7.z.string().optional().nullable(),
841
+ providerMetadata: import_zod7.z.any().optional().nullable(),
842
+ performanceFee: import_zod7.z.number().min(0).max(100).optional().nullable(),
843
+ managementFee: import_zod7.z.number().min(0).max(100).optional().nullable(),
844
+ depositFee: import_zod7.z.number().min(0).max(100).optional().nullable(),
845
+ withdrawalFee: import_zod7.z.number().min(0).max(100).optional().nullable(),
846
+ minDepositAmount: import_zod7.z.number().optional().nullable(),
847
+ minDepositValueUSD: import_zod7.z.number().optional().nullable(),
848
+ depositCapAmount: import_zod7.z.number().optional().nullable(),
849
+ depositCapValueUSD: import_zod7.z.number().optional().nullable(),
850
+ depositFillSecs: import_zod7.z.number().int().optional().nullable(),
851
+ lockupPeriodSecs: import_zod7.z.number().int().optional().nullable(),
852
+ asyncDeposit: import_zod7.z.boolean().optional().nullable(),
853
+ asyncWithdraw: import_zod7.z.boolean().optional().nullable(),
854
+ secondaryOnly: import_zod7.z.boolean().optional().nullable(),
855
+ createdAt: import_zod7.z.string().datetime().optional(),
856
+ updatedAt: import_zod7.z.string().datetime().optional()
857
+ });
858
+ var lendingConfigSchema = import_zod7.z.object({
859
+ id: import_zod7.z.string().uuid(),
860
+ protocol: organizationSchema.optional(),
861
+ curator: organizationSchema.optional(),
862
+ marketAddress: import_zod7.z.string().optional(),
863
+ depositUrl: import_zod7.z.string().optional().nullable(),
864
+ providerMetadata: import_zod7.z.any().optional(),
865
+ createdAt: import_zod7.z.string().datetime(),
866
+ updatedAt: import_zod7.z.string().datetime()
867
+ });
868
+ var stakingConfigSchema = import_zod7.z.object({
869
+ id: import_zod7.z.string().uuid(),
870
+ protocol: organizationSchema.optional(),
871
+ chainId: import_zod7.z.string().uuid().optional(),
872
+ chain: chainSchema.optional(),
873
+ stakingContractAddress: import_zod7.z.string().optional(),
874
+ createdAt: import_zod7.z.string().datetime(),
875
+ updatedAt: import_zod7.z.string().datetime()
862
876
  });
863
877
 
864
878
  // src/v2/streams/hooks.ts
@@ -868,264 +882,264 @@ var import_react_query4 = require("@tanstack/react-query");
868
882
  var import_query_key_factory3 = require("@lukemorales/query-key-factory");
869
883
 
870
884
  // src/v2/streams/schemas.ts
871
- var import_zod7 = require("zod");
872
- var customArgsTokensPerUsdSchema = import_zod7.z.object({
873
- tokensPerUSD: import_zod7.z.string(),
874
- targetChainId: import_zod7.z.number(),
875
- targetTokenAddress: import_zod7.z.string()
876
- });
877
- var customArgsAprSchema = import_zod7.z.object({
878
- apr: import_zod7.z.string(),
879
- targetChainId: import_zod7.z.number(),
880
- targetTokenAddress: import_zod7.z.string()
881
- });
882
- var customArgsTokensPerDaySchema = import_zod7.z.object({
883
- tokensPerDay: import_zod7.z.string(),
884
- targetChainId: import_zod7.z.number(),
885
- targetTokenAddress: import_zod7.z.string()
886
- });
887
- var snapshotSchema = import_zod7.z.object({
888
- amountBase: import_zod7.z.string(),
889
- amountDistributed: import_zod7.z.string(),
890
- createdAt: import_zod7.z.string().datetime(),
891
- rootHash: import_zod7.z.string().nullable(),
892
- timestamp: import_zod7.z.string().datetime(),
893
- updatedAt: import_zod7.z.string().datetime(),
894
- userCount: import_zod7.z.number().nullable().optional(),
895
- activeUserCount: import_zod7.z.number().optional(),
896
- tvl: import_zod7.z.string().nullable().optional(),
897
- baseTvl: import_zod7.z.string().nullable().optional(),
898
- netTvl: import_zod7.z.string().nullable().optional(),
899
- turtleTvl: import_zod7.z.string().nullable().optional(),
900
- turtleNetTvl: import_zod7.z.string().nullable().optional(),
901
- customMetrics: import_zod7.z.record(import_zod7.z.unknown()).optional(),
902
- customArgs: import_zod7.z.union([customArgsTokensPerUsdSchema, customArgsAprSchema, customArgsTokensPerDaySchema]).optional()
903
- });
904
- var streamPointSchema = import_zod7.z.object({
905
- id: import_zod7.z.string(),
906
- orgId: import_zod7.z.string().optional(),
907
- symbol: import_zod7.z.string(),
908
- name: import_zod7.z.string(),
909
- decimals: import_zod7.z.coerce.number().optional(),
910
- logoUrl: import_zod7.z.string().url().nullable().optional(),
911
- createdAt: import_zod7.z.string().optional(),
912
- updatedAt: import_zod7.z.string().optional(),
913
- deletedAt: import_zod7.z.string().nullable().optional(),
885
+ var import_zod8 = require("zod");
886
+ var customArgsTokensPerUsdSchema = import_zod8.z.object({
887
+ tokensPerUSD: import_zod8.z.string(),
888
+ targetChainId: import_zod8.z.number(),
889
+ targetTokenAddress: import_zod8.z.string()
890
+ });
891
+ var customArgsAprSchema = import_zod8.z.object({
892
+ apr: import_zod8.z.string(),
893
+ targetChainId: import_zod8.z.number(),
894
+ targetTokenAddress: import_zod8.z.string()
895
+ });
896
+ var customArgsTokensPerDaySchema = import_zod8.z.object({
897
+ tokensPerDay: import_zod8.z.string(),
898
+ targetChainId: import_zod8.z.number(),
899
+ targetTokenAddress: import_zod8.z.string()
900
+ });
901
+ var snapshotSchema = import_zod8.z.object({
902
+ amountBase: import_zod8.z.string(),
903
+ amountDistributed: import_zod8.z.string(),
904
+ createdAt: import_zod8.z.string().datetime(),
905
+ rootHash: import_zod8.z.string().nullable(),
906
+ timestamp: import_zod8.z.string().datetime(),
907
+ updatedAt: import_zod8.z.string().datetime(),
908
+ userCount: import_zod8.z.number().nullable().optional(),
909
+ activeUserCount: import_zod8.z.number().optional(),
910
+ tvl: import_zod8.z.string().nullable().optional(),
911
+ baseTvl: import_zod8.z.string().nullable().optional(),
912
+ netTvl: import_zod8.z.string().nullable().optional(),
913
+ turtleTvl: import_zod8.z.string().nullable().optional(),
914
+ turtleNetTvl: import_zod8.z.string().nullable().optional(),
915
+ customMetrics: import_zod8.z.record(import_zod8.z.unknown()).optional(),
916
+ customArgs: import_zod8.z.union([customArgsTokensPerUsdSchema, customArgsAprSchema, customArgsTokensPerDaySchema]).optional()
917
+ });
918
+ var streamPointSchema = import_zod8.z.object({
919
+ id: import_zod8.z.string(),
920
+ orgId: import_zod8.z.string().optional(),
921
+ symbol: import_zod8.z.string(),
922
+ name: import_zod8.z.string(),
923
+ decimals: import_zod8.z.coerce.number().optional(),
924
+ logoUrl: import_zod8.z.string().url().nullable().optional(),
925
+ createdAt: import_zod8.z.string().optional(),
926
+ updatedAt: import_zod8.z.string().optional(),
927
+ deletedAt: import_zod8.z.string().nullable().optional(),
914
928
  organization: organizationSchema.nullable().optional()
915
929
  });
916
- var chainSchema2 = import_zod7.z.object({
917
- chainId: import_zod7.z.coerce.number(),
918
- ecosystem: import_zod7.z.string(),
919
- explorerUrl: import_zod7.z.string(),
920
- id: import_zod7.z.string().uuid(),
921
- isTestnet: import_zod7.z.boolean(),
922
- logoUrl: import_zod7.z.string(),
923
- name: import_zod7.z.string(),
924
- slug: import_zod7.z.string(),
925
- status: import_zod7.z.string()
926
- });
927
- var rewardTokenSchema = import_zod7.z.object({
928
- active: import_zod7.z.boolean(),
929
- address: import_zod7.z.string(),
930
- canonicalAssetId: import_zod7.z.string().uuid(),
930
+ var chainSchema2 = import_zod8.z.object({
931
+ chainId: import_zod8.z.coerce.number(),
932
+ ecosystem: import_zod8.z.string(),
933
+ explorerUrl: import_zod8.z.string(),
934
+ id: import_zod8.z.string().uuid(),
935
+ isTestnet: import_zod8.z.boolean(),
936
+ logoUrl: import_zod8.z.string(),
937
+ name: import_zod8.z.string(),
938
+ slug: import_zod8.z.string(),
939
+ status: import_zod8.z.string()
940
+ });
941
+ var rewardTokenSchema = import_zod8.z.object({
942
+ active: import_zod8.z.boolean(),
943
+ address: import_zod8.z.string(),
944
+ canonicalAssetId: import_zod8.z.string().uuid(),
931
945
  chain: chainSchema2,
932
- decimals: import_zod7.z.number(),
933
- id: import_zod7.z.string().uuid(),
934
- isNative: import_zod7.z.boolean(),
935
- logoUrl: import_zod7.z.string(),
936
- name: import_zod7.z.string(),
937
- priceUsd: import_zod7.z.number(),
938
- symbol: import_zod7.z.string(),
939
- streamsMinAmount: import_zod7.z.string().nullable().optional()
946
+ decimals: import_zod8.z.number(),
947
+ id: import_zod8.z.string().uuid(),
948
+ isNative: import_zod8.z.boolean(),
949
+ logoUrl: import_zod8.z.string(),
950
+ name: import_zod8.z.string(),
951
+ priceUsd: import_zod8.z.number(),
952
+ symbol: import_zod8.z.string(),
953
+ streamsMinAmount: import_zod8.z.string().nullable().optional()
940
954
  }).nullable();
941
- var adaptersSchema = import_zod7.z.array(
942
- import_zod7.z.object({
943
- type: import_zod7.z.string(),
944
- params: import_zod7.z.record(import_zod7.z.string(), import_zod7.z.number())
955
+ var adaptersSchema = import_zod8.z.array(
956
+ import_zod8.z.object({
957
+ type: import_zod8.z.string(),
958
+ params: import_zod8.z.record(import_zod8.z.string(), import_zod8.z.number())
945
959
  })
946
960
  );
947
- var feeTierSchema = import_zod7.z.object({
948
- maxTVL: import_zod7.z.string().nullable(),
961
+ var feeTierSchema = import_zod8.z.object({
962
+ maxTVL: import_zod8.z.string().nullable(),
949
963
  // represents a USD amount
950
- feePct: import_zod7.z.string()
964
+ feePct: import_zod8.z.string()
951
965
  // represents a percentage (e.g. 0.15 means 15%)
952
966
  });
953
- var feeScheduleSchema = import_zod7.z.object({
954
- feeTiers: import_zod7.z.array(feeTierSchema),
955
- until: import_zod7.z.string().datetime().nullable()
967
+ var feeScheduleSchema = import_zod8.z.object({
968
+ feeTiers: import_zod8.z.array(feeTierSchema),
969
+ until: import_zod8.z.string().datetime().nullable()
956
970
  });
957
- var feeSnapshotSchema = import_zod7.z.object({
958
- timestamp: import_zod7.z.string().datetime(),
959
- tvl: import_zod7.z.string().nullable(),
971
+ var feeSnapshotSchema = import_zod8.z.object({
972
+ timestamp: import_zod8.z.string().datetime(),
973
+ tvl: import_zod8.z.string().nullable(),
960
974
  // means USD amount
961
- accumulatedFee: import_zod7.z.string(),
975
+ accumulatedFee: import_zod8.z.string(),
962
976
  // means USD amount
963
- createdAt: import_zod7.z.string().datetime(),
964
- updatedAt: import_zod7.z.string().datetime()
965
- });
966
- var feeSchema = import_zod7.z.object({
967
- managementFeeSchedules: import_zod7.z.array(feeScheduleSchema),
968
- createdAt: import_zod7.z.string().datetime(),
969
- updatedAt: import_zod7.z.string().datetime(),
970
- lastFeeSnapshotTimestamp: import_zod7.z.string().datetime(),
971
- feeComputationPaused: import_zod7.z.boolean(),
972
- feeSnapshots: import_zod7.z.array(feeSnapshotSchema).optional(),
977
+ createdAt: import_zod8.z.string().datetime(),
978
+ updatedAt: import_zod8.z.string().datetime()
979
+ });
980
+ var feeSchema = import_zod8.z.object({
981
+ managementFeeSchedules: import_zod8.z.array(feeScheduleSchema),
982
+ createdAt: import_zod8.z.string().datetime(),
983
+ updatedAt: import_zod8.z.string().datetime(),
984
+ lastFeeSnapshotTimestamp: import_zod8.z.string().datetime(),
985
+ feeComputationPaused: import_zod8.z.boolean(),
986
+ feeSnapshots: import_zod8.z.array(feeSnapshotSchema).optional(),
973
987
  lastFeeSnapshot: feeSnapshotSchema.nullable()
974
988
  });
975
- var streamSchema = import_zod7.z.object({
989
+ var streamSchema = import_zod8.z.object({
976
990
  adapters: adaptersSchema,
977
- admin: import_zod7.z.string().nullable(),
978
- chainId: import_zod7.z.number().nullable(),
979
- chargedFee: import_zod7.z.string().nullable(),
980
- claimPaused: import_zod7.z.boolean(),
991
+ admin: import_zod8.z.string().nullable(),
992
+ chainId: import_zod8.z.number().nullable(),
993
+ chargedFee: import_zod8.z.string().nullable(),
994
+ claimPaused: import_zod8.z.boolean(),
981
995
  committedSnapshot: snapshotSchema.nullable(),
982
- contractAddress: import_zod7.z.string().nullable(),
983
- createdAt: import_zod7.z.string().datetime(),
984
- creationConfirmedAt: import_zod7.z.string().datetime().nullable(),
985
- customArgs: import_zod7.z.union([
996
+ contractAddress: import_zod8.z.string().nullable(),
997
+ createdAt: import_zod8.z.string().datetime(),
998
+ creationConfirmedAt: import_zod8.z.string().datetime().nullable(),
999
+ customArgs: import_zod8.z.union([
986
1000
  customArgsTokensPerUsdSchema,
987
1001
  customArgsAprSchema,
988
1002
  customArgsTokensPerDaySchema
989
1003
  ]),
990
- endTimestamp: import_zod7.z.string().datetime().nullable(),
1004
+ endTimestamp: import_zod8.z.string().datetime().nullable(),
991
1005
  fee: feeSchema.nullable(),
992
- hashCommitmentPaused: import_zod7.z.boolean(),
993
- id: import_zod7.z.string().uuid(),
1006
+ hashCommitmentPaused: import_zod8.z.boolean(),
1007
+ id: import_zod8.z.string().uuid(),
994
1008
  lastSnapshot: snapshotSchema.nullable(),
995
- merkleTreeComputationPaused: import_zod7.z.boolean(),
996
- orgId: import_zod7.z.string().uuid(),
1009
+ merkleTreeComputationPaused: import_zod8.z.boolean(),
1010
+ orgId: import_zod8.z.string().uuid(),
997
1011
  point: streamPointSchema.nullable().optional(),
998
1012
  rewardToken: rewardTokenSchema,
999
- snapshotComputationPaused: import_zod7.z.boolean(),
1000
- snapshots: import_zod7.z.array(snapshotSchema).optional(),
1001
- startTimestamp: import_zod7.z.string().datetime(),
1002
- strategy: import_zod7.z.string(),
1003
- targetTokenId: import_zod7.z.string().uuid(),
1004
- totalAmount: import_zod7.z.string().nullable(),
1005
- type: import_zod7.z.number(),
1006
- updatedAt: import_zod7.z.string().datetime(),
1007
- userId: import_zod7.z.string().uuid()
1008
- });
1009
- var getStreamsOutputSchema = import_zod7.z.object({
1010
- streams: import_zod7.z.array(streamSchema)
1011
- });
1012
- var getStreamPointsOutputSchema = import_zod7.z.object({
1013
- points: import_zod7.z.array(streamPointSchema)
1014
- });
1015
- var createStreamPointBodySchema = import_zod7.z.object({
1016
- name: import_zod7.z.string(),
1017
- symbol: import_zod7.z.string(),
1018
- decimals: import_zod7.z.number().optional(),
1019
- logoUrl: import_zod7.z.string().url().nullable().optional()
1020
- });
1021
- var createStreamPointOutputSchema = import_zod7.z.object({
1013
+ snapshotComputationPaused: import_zod8.z.boolean(),
1014
+ snapshots: import_zod8.z.array(snapshotSchema).optional(),
1015
+ startTimestamp: import_zod8.z.string().datetime(),
1016
+ strategy: import_zod8.z.string(),
1017
+ targetTokenId: import_zod8.z.string().uuid(),
1018
+ totalAmount: import_zod8.z.string().nullable(),
1019
+ type: import_zod8.z.number(),
1020
+ updatedAt: import_zod8.z.string().datetime(),
1021
+ userId: import_zod8.z.string().uuid()
1022
+ });
1023
+ var getStreamsOutputSchema = import_zod8.z.object({
1024
+ streams: import_zod8.z.array(streamSchema)
1025
+ });
1026
+ var getStreamPointsOutputSchema = import_zod8.z.object({
1027
+ points: import_zod8.z.array(streamPointSchema)
1028
+ });
1029
+ var createStreamPointBodySchema = import_zod8.z.object({
1030
+ name: import_zod8.z.string(),
1031
+ symbol: import_zod8.z.string(),
1032
+ decimals: import_zod8.z.number().optional(),
1033
+ logoUrl: import_zod8.z.string().url().nullable().optional()
1034
+ });
1035
+ var createStreamPointOutputSchema = import_zod8.z.object({
1022
1036
  point: streamPointSchema
1023
1037
  });
1024
- var getStreamsSupportedChainsOutputSchema = import_zod7.z.object({
1025
- success: import_zod7.z.boolean(),
1026
- chains: import_zod7.z.array(
1027
- import_zod7.z.object({
1028
- id: import_zod7.z.string(),
1029
- name: import_zod7.z.string(),
1030
- slug: import_zod7.z.string(),
1031
- chainId: import_zod7.z.number(),
1032
- logoUrl: import_zod7.z.string(),
1033
- ecosystem: import_zod7.z.string(),
1034
- status: import_zod7.z.string(),
1035
- explorerUrl: import_zod7.z.string(),
1036
- streamFactory: import_zod7.z.string()
1038
+ var getStreamsSupportedChainsOutputSchema = import_zod8.z.object({
1039
+ success: import_zod8.z.boolean(),
1040
+ chains: import_zod8.z.array(
1041
+ import_zod8.z.object({
1042
+ id: import_zod8.z.string(),
1043
+ name: import_zod8.z.string(),
1044
+ slug: import_zod8.z.string(),
1045
+ chainId: import_zod8.z.number(),
1046
+ logoUrl: import_zod8.z.string(),
1047
+ ecosystem: import_zod8.z.string(),
1048
+ status: import_zod8.z.string(),
1049
+ explorerUrl: import_zod8.z.string(),
1050
+ streamFactory: import_zod8.z.string()
1037
1051
  // Address as string
1038
1052
  })
1039
1053
  )
1040
1054
  });
1041
- var streamSignatureRequestInputSchema = import_zod7.z.object({
1055
+ var streamSignatureRequestInputSchema = import_zod8.z.object({
1042
1056
  adapters: adaptersSchema,
1043
- chainId: import_zod7.z.number().nullable(),
1044
- customArgs: import_zod7.z.intersection(
1045
- import_zod7.z.object({
1046
- targetChainId: import_zod7.z.number(),
1047
- targetTokenAddress: import_zod7.z.string()
1057
+ chainId: import_zod8.z.number().nullable(),
1058
+ customArgs: import_zod8.z.intersection(
1059
+ import_zod8.z.object({
1060
+ targetChainId: import_zod8.z.number(),
1061
+ targetTokenAddress: import_zod8.z.string()
1048
1062
  }),
1049
- import_zod7.z.union([
1050
- import_zod7.z.object({ tokensPerUSD: import_zod7.z.string() }),
1051
- import_zod7.z.object({ apr: import_zod7.z.string() }),
1052
- import_zod7.z.object({ tokensPerDay: import_zod7.z.string() })
1063
+ import_zod8.z.union([
1064
+ import_zod8.z.object({ tokensPerUSD: import_zod8.z.string() }),
1065
+ import_zod8.z.object({ apr: import_zod8.z.string() }),
1066
+ import_zod8.z.object({ tokensPerDay: import_zod8.z.string() })
1053
1067
  ])
1054
1068
  ),
1055
- endTimestamp: import_zod7.z.string().nullable(),
1056
- pointId: import_zod7.z.string().uuid().nullable(),
1057
- rewardToken: import_zod7.z.string().nullable(),
1058
- startTimestamp: import_zod7.z.string(),
1059
- totalAmount: import_zod7.z.string().nullable(),
1060
- type: import_zod7.z.number(),
1061
- walletAddress: import_zod7.z.string().nullable()
1062
- });
1063
- var streamSignatureRequestOutputSchema = import_zod7.z.object({
1064
- success: import_zod7.z.boolean(),
1065
- message: import_zod7.z.string(),
1066
- txParams: import_zod7.z.object({
1067
- chainId: import_zod7.z.number(),
1068
- sender: import_zod7.z.string(),
1069
- params: import_zod7.z.object({
1070
- deadline: import_zod7.z.number(),
1071
- params: import_zod7.z.object({
1072
- StreamId: import_zod7.z.array(import_zod7.z.number()),
1073
- RewardToken: import_zod7.z.string(),
1074
- NetTotalAmount: import_zod7.z.string(),
1075
- FeeAmount: import_zod7.z.string()
1069
+ endTimestamp: import_zod8.z.string().nullable(),
1070
+ pointId: import_zod8.z.string().uuid().nullable(),
1071
+ rewardToken: import_zod8.z.string().nullable(),
1072
+ startTimestamp: import_zod8.z.string(),
1073
+ totalAmount: import_zod8.z.string().nullable(),
1074
+ type: import_zod8.z.number(),
1075
+ walletAddress: import_zod8.z.string().nullable()
1076
+ });
1077
+ var streamSignatureRequestOutputSchema = import_zod8.z.object({
1078
+ success: import_zod8.z.boolean(),
1079
+ message: import_zod8.z.string(),
1080
+ txParams: import_zod8.z.object({
1081
+ chainId: import_zod8.z.number(),
1082
+ sender: import_zod8.z.string(),
1083
+ params: import_zod8.z.object({
1084
+ deadline: import_zod8.z.number(),
1085
+ params: import_zod8.z.object({
1086
+ StreamId: import_zod8.z.array(import_zod8.z.number()),
1087
+ RewardToken: import_zod8.z.string(),
1088
+ NetTotalAmount: import_zod8.z.string(),
1089
+ FeeAmount: import_zod8.z.string()
1076
1090
  }),
1077
- signature: import_zod7.z.string()
1091
+ signature: import_zod8.z.string()
1078
1092
  })
1079
1093
  }).nullable()
1080
1094
  });
1081
- var getStreamsQuerySchema = import_zod7.z.object({
1082
- streamId: import_zod7.z.string().optional(),
1083
- userId: import_zod7.z.string().optional(),
1084
- organizationId: import_zod7.z.string().optional(),
1085
- withSnapshots: import_zod7.z.boolean().optional(),
1086
- withFeeSnapshots: import_zod7.z.boolean().optional(),
1087
- usersCount: import_zod7.z.boolean().optional()
1088
- });
1089
- var getStreamPointsQuerySchema = import_zod7.z.object({
1090
- id: import_zod7.z.string().optional().nullable(),
1091
- organizationId: import_zod7.z.string().optional().nullable(),
1092
- symbol: import_zod7.z.string().optional().nullable(),
1093
- name: import_zod7.z.string().optional().nullable()
1094
- });
1095
- var streamWalletSnapshotSchema = import_zod7.z.object({
1096
- timestamp: import_zod7.z.string().datetime(),
1097
- rewardsAccumulated: import_zod7.z.string(),
1098
- rewardsAccumulatedBase: import_zod7.z.string(),
1099
- createdAt: import_zod7.z.string().datetime(),
1100
- updatedAt: import_zod7.z.string().datetime(),
1101
- tvl: import_zod7.z.string().nullable().optional()
1102
- });
1103
- var streamWalletSchema = import_zod7.z.object({
1104
- userAddress: import_zod7.z.string(),
1095
+ var getStreamsQuerySchema = import_zod8.z.object({
1096
+ streamId: import_zod8.z.string().optional(),
1097
+ userId: import_zod8.z.string().optional(),
1098
+ organizationId: import_zod8.z.string().optional(),
1099
+ withSnapshots: import_zod8.z.boolean().optional(),
1100
+ withFeeSnapshots: import_zod8.z.boolean().optional(),
1101
+ usersCount: import_zod8.z.boolean().optional()
1102
+ });
1103
+ var getStreamPointsQuerySchema = import_zod8.z.object({
1104
+ id: import_zod8.z.string().optional().nullable(),
1105
+ organizationId: import_zod8.z.string().optional().nullable(),
1106
+ symbol: import_zod8.z.string().optional().nullable(),
1107
+ name: import_zod8.z.string().optional().nullable()
1108
+ });
1109
+ var streamWalletSnapshotSchema = import_zod8.z.object({
1110
+ timestamp: import_zod8.z.string().datetime(),
1111
+ rewardsAccumulated: import_zod8.z.string(),
1112
+ rewardsAccumulatedBase: import_zod8.z.string(),
1113
+ createdAt: import_zod8.z.string().datetime(),
1114
+ updatedAt: import_zod8.z.string().datetime(),
1115
+ tvl: import_zod8.z.string().nullable().optional()
1116
+ });
1117
+ var streamWalletSchema = import_zod8.z.object({
1118
+ userAddress: import_zod8.z.string(),
1105
1119
  lastSnapshot: streamWalletSnapshotSchema
1106
1120
  });
1107
- var paginationSchema = import_zod7.z.object({
1108
- limit: import_zod7.z.number(),
1109
- page: import_zod7.z.number(),
1110
- total: import_zod7.z.number(),
1111
- totalPages: import_zod7.z.number()
1121
+ var paginationSchema = import_zod8.z.object({
1122
+ limit: import_zod8.z.number(),
1123
+ page: import_zod8.z.number(),
1124
+ total: import_zod8.z.number(),
1125
+ totalPages: import_zod8.z.number()
1112
1126
  });
1113
- var getStreamWalletsResponseSchema = import_zod7.z.object({
1114
- data: import_zod7.z.array(streamWalletSchema),
1127
+ var getStreamWalletsResponseSchema = import_zod8.z.object({
1128
+ data: import_zod8.z.array(streamWalletSchema),
1115
1129
  pagination: paginationSchema
1116
1130
  });
1117
- var getStreamWalletsQuerySchema = import_zod7.z.object({
1118
- streamId: import_zod7.z.string(),
1119
- page: import_zod7.z.number().optional(),
1120
- limit: import_zod7.z.number().optional()
1131
+ var getStreamWalletsQuerySchema = import_zod8.z.object({
1132
+ streamId: import_zod8.z.string(),
1133
+ page: import_zod8.z.number().optional(),
1134
+ limit: import_zod8.z.number().optional()
1121
1135
  });
1122
- var streamWalletDetailsSchema = import_zod7.z.object({
1123
- streamId: import_zod7.z.string(),
1124
- userAddress: import_zod7.z.string(),
1125
- snapshots: import_zod7.z.array(streamWalletSnapshotSchema),
1136
+ var streamWalletDetailsSchema = import_zod8.z.object({
1137
+ streamId: import_zod8.z.string(),
1138
+ userAddress: import_zod8.z.string(),
1139
+ snapshots: import_zod8.z.array(streamWalletSnapshotSchema),
1126
1140
  stream: streamSchema
1127
1141
  });
1128
- var getStreamWalletDetailsResponseSchema = import_zod7.z.object({
1142
+ var getStreamWalletDetailsResponseSchema = import_zod8.z.object({
1129
1143
  wallet: streamWalletDetailsSchema
1130
1144
  });
1131
1145
 
@@ -1290,68 +1304,68 @@ function useStreamSupportedChains({
1290
1304
  }
1291
1305
 
1292
1306
  // src/v2/opportunities/schema.ts
1293
- var opportunityTypeEnum = import_zod8.z.enum(["vault", "lending", "staking", "stablecoin", "draft", ""]);
1294
- var opportunityStatusEnum = import_zod8.z.enum(["active", "paused", "deprecated", "draft", "ended"]);
1295
- var opportunitySchema = import_zod8.z.object({
1296
- id: import_zod8.z.string().uuid().optional(),
1297
- name: import_zod8.z.string(),
1298
- shortName: import_zod8.z.string(),
1307
+ var opportunityTypeEnum = import_zod9.z.enum(["vault", "lending", "staking", "stablecoin", "draft", ""]);
1308
+ var opportunityStatusEnum = import_zod9.z.enum(["active", "paused", "deprecated", "draft", "ended"]);
1309
+ var opportunitySchema = import_zod9.z.object({
1310
+ id: import_zod9.z.string().uuid().optional(),
1311
+ name: import_zod9.z.string(),
1312
+ shortName: import_zod9.z.string(),
1299
1313
  type: opportunityTypeEnum,
1300
- description: import_zod8.z.string().optional().default(""),
1301
- curator: import_zod8.z.string().optional().default(""),
1302
- tvl: import_zod8.z.number().min(0, "TVL must be positive"),
1303
- featured: import_zod8.z.boolean().optional().default(false),
1304
- featuredOrder: import_zod8.z.number().int().optional().nullable(),
1305
- originalConfig: import_zod8.z.any().optional().nullable(),
1306
- exposures: import_zod8.z.array(import_zod8.z.string()).optional().default([]),
1307
- tags: import_zod8.z.array(import_zod8.z.any()).optional().default([]),
1314
+ description: import_zod9.z.string().optional().default(""),
1315
+ curator: import_zod9.z.string().optional().default(""),
1316
+ tvl: import_zod9.z.number().min(0, "TVL must be positive"),
1317
+ featured: import_zod9.z.boolean().optional().default(false),
1318
+ featuredOrder: import_zod9.z.number().int().optional().nullable(),
1319
+ originalConfig: import_zod9.z.any().optional().nullable(),
1320
+ exposures: import_zod9.z.array(import_zod9.z.string()).optional().default([]),
1321
+ tags: import_zod9.z.array(import_zod9.z.any()).optional().default([]),
1308
1322
  status: opportunityStatusEnum.optional().default("active"),
1309
- statusReason: import_zod8.z.string().optional().default(""),
1310
- depositDisabled: import_zod8.z.boolean().optional().default(false),
1311
- depositDisabledReason: import_zod8.z.string().optional().default(""),
1312
- withdrawalDisabled: import_zod8.z.boolean().optional().default(false),
1313
- withdrawalDisabledReason: import_zod8.z.string().optional().default(""),
1314
- docsUrl: import_zod8.z.string().optional().nullable(),
1315
- auditsUrl: import_zod8.z.string().optional().nullable(),
1316
- turtleTvl: import_zod8.z.number(),
1317
- turtleUsers: import_zod8.z.number(),
1318
- earnEnabled: import_zod8.z.boolean(),
1319
- swapDirectEnabled: import_zod8.z.boolean().optional().default(true),
1320
- swapRouteEnabled: import_zod8.z.boolean().optional().default(false),
1321
- createdAt: import_zod8.z.string().datetime().optional(),
1322
- updatedAt: import_zod8.z.string().datetime().optional(),
1323
- mainStreamId: import_zod8.z.string().optional(),
1323
+ statusReason: import_zod9.z.string().optional().default(""),
1324
+ depositDisabled: import_zod9.z.boolean().optional().default(false),
1325
+ depositDisabledReason: import_zod9.z.string().optional().default(""),
1326
+ withdrawalDisabled: import_zod9.z.boolean().optional().default(false),
1327
+ withdrawalDisabledReason: import_zod9.z.string().optional().default(""),
1328
+ docsUrl: import_zod9.z.string().optional().nullable(),
1329
+ auditsUrl: import_zod9.z.string().optional().nullable(),
1330
+ turtleTvl: import_zod9.z.number(),
1331
+ turtleUsers: import_zod9.z.number(),
1332
+ earnEnabled: import_zod9.z.boolean(),
1333
+ swapDirectEnabled: import_zod9.z.boolean().optional().default(true),
1334
+ swapRouteEnabled: import_zod9.z.boolean().optional().default(false),
1335
+ createdAt: import_zod9.z.string().datetime().optional(),
1336
+ updatedAt: import_zod9.z.string().datetime().optional(),
1337
+ mainStreamId: import_zod9.z.string().optional(),
1324
1338
  // Relationships
1325
- depositTokens: import_zod8.z.array(tokenSchema),
1326
- withdrawTokens: import_zod8.z.array(tokenSchema).optional().default([]),
1339
+ depositTokens: import_zod9.z.array(tokenSchema),
1340
+ withdrawTokens: import_zod9.z.array(tokenSchema).optional().default([]),
1327
1341
  baseTokens: tokenSchema,
1328
1342
  receiptToken: tokenSchema,
1329
- incentives: import_zod8.z.array(incentiveSchema),
1330
- products: import_zod8.z.array(productSchema),
1343
+ incentives: import_zod9.z.array(incentiveSchema),
1344
+ products: import_zod9.z.array(productSchema),
1331
1345
  vaultConfig: vaultConfigSchema.optional().nullable(),
1332
1346
  lendingConfig: lendingConfigSchema.optional().nullable(),
1333
1347
  stakingConfig: stakingConfigSchema.optional().nullable(),
1334
1348
  mainStream: streamSchema.optional().nullable(),
1335
1349
  // Will be deprecated
1336
- exposure: import_zod8.z.array(import_zod8.z.string()),
1337
- explorerUrl: import_zod8.z.string().nullable()
1338
- });
1339
- var opportunityFiltersSchema = import_zod8.z.object({
1340
- tokenId: import_zod8.z.string().uuid().optional(),
1341
- chain: import_zod8.z.string().optional(),
1342
- productId: import_zod8.z.string().uuid().optional(),
1343
- tags: import_zod8.z.string().optional(),
1344
- withMainStream: import_zod8.z.boolean().optional()
1345
- });
1346
- var opportunitiesResponseSchema = import_zod8.z.object({
1347
- opportunities: import_zod8.z.array(opportunitySchema),
1348
- total: import_zod8.z.number().optional()
1349
- });
1350
- var getOpportunitiesPaginatedInputSchema = import_zod8.z.object({
1351
- page: import_zod8.z.number().min(1).default(1),
1352
- limit: import_zod8.z.number().min(1).max(100).default(10),
1350
+ exposure: import_zod9.z.array(import_zod9.z.string()),
1351
+ explorerUrl: import_zod9.z.string().nullable()
1352
+ });
1353
+ var opportunityFiltersSchema = import_zod9.z.object({
1354
+ tokenId: import_zod9.z.string().uuid().optional(),
1355
+ chain: import_zod9.z.string().optional(),
1356
+ productId: import_zod9.z.string().uuid().optional(),
1357
+ tags: import_zod9.z.string().optional(),
1358
+ withMainStream: import_zod9.z.boolean().optional()
1359
+ });
1360
+ var opportunitiesResponseSchema = import_zod9.z.object({
1361
+ opportunities: import_zod9.z.array(opportunitySchema),
1362
+ total: import_zod9.z.number().optional()
1363
+ });
1364
+ var getOpportunitiesPaginatedInputSchema = import_zod9.z.object({
1365
+ page: import_zod9.z.number().min(1).default(1),
1366
+ limit: import_zod9.z.number().min(1).max(100).default(10),
1353
1367
  // Sorting
1354
- sortBy: import_zod8.z.enum([
1368
+ sortBy: import_zod9.z.enum([
1355
1369
  "turtleTvl",
1356
1370
  "tvl",
1357
1371
  "name",
@@ -1362,105 +1376,105 @@ var getOpportunitiesPaginatedInputSchema = import_zod8.z.object({
1362
1376
  "provider",
1363
1377
  "apr"
1364
1378
  ]).optional(),
1365
- sortOrder: import_zod8.z.enum(["asc", "desc"]).optional(),
1379
+ sortOrder: import_zod9.z.enum(["asc", "desc"]).optional(),
1366
1380
  // Filter by receipt token chain (comma-separated)
1367
- receiptTokenChainId: import_zod8.z.string().optional(),
1381
+ receiptTokenChainId: import_zod9.z.string().optional(),
1368
1382
  // Comma-separated UUIDs
1369
- receiptTokenChainSlug: import_zod8.z.string().optional(),
1383
+ receiptTokenChainSlug: import_zod9.z.string().optional(),
1370
1384
  // Comma-separated slugs
1371
1385
  // Filter by deposit token
1372
- depositTokenGroup: import_zod8.z.string().optional(),
1373
- depositTokenSymbols: import_zod8.z.string().optional(),
1386
+ depositTokenGroup: import_zod9.z.string().optional(),
1387
+ depositTokenSymbols: import_zod9.z.string().optional(),
1374
1388
  // Comma-separated symbols
1375
- depositTokenChainId: import_zod8.z.string().optional(),
1389
+ depositTokenChainId: import_zod9.z.string().optional(),
1376
1390
  // Filter by tags (comma-separated)
1377
- tags: import_zod8.z.string().optional(),
1391
+ tags: import_zod9.z.string().optional(),
1378
1392
  // Filter by IDs (comma-separated UUIDs)
1379
- productId: import_zod8.z.string().optional(),
1393
+ productId: import_zod9.z.string().optional(),
1380
1394
  // Comma-separated UUIDs
1381
- curatorId: import_zod8.z.string().optional(),
1395
+ curatorId: import_zod9.z.string().optional(),
1382
1396
  // Comma-separated UUIDs
1383
- providerId: import_zod8.z.string().optional(),
1397
+ providerId: import_zod9.z.string().optional(),
1384
1398
  // Comma-separated UUIDs
1385
- partnerId: import_zod8.z.string().optional(),
1399
+ partnerId: import_zod9.z.string().optional(),
1386
1400
  // Comma-separated UUIDs
1387
- lendingProtocolId: import_zod8.z.string().optional(),
1401
+ lendingProtocolId: import_zod9.z.string().optional(),
1388
1402
  // Comma-separated UUIDs
1389
1403
  // Status filters
1390
- withdrawalDisabled: import_zod8.z.boolean().optional(),
1391
- depositDisabled: import_zod8.z.boolean().optional(),
1392
- status: import_zod8.z.string().optional(),
1393
- earnEnabled: import_zod8.z.boolean().optional(),
1394
- featured: import_zod8.z.boolean().optional(),
1404
+ withdrawalDisabled: import_zod9.z.boolean().optional(),
1405
+ depositDisabled: import_zod9.z.boolean().optional(),
1406
+ status: import_zod9.z.string().optional(),
1407
+ earnEnabled: import_zod9.z.boolean().optional(),
1408
+ featured: import_zod9.z.boolean().optional(),
1395
1409
  // TVL filters
1396
- tvlGreaterThan: import_zod8.z.number().optional(),
1397
- turtleTvlGreaterThan: import_zod8.z.number().optional(),
1398
- tvlMin: import_zod8.z.number().optional(),
1399
- tvlMax: import_zod8.z.number().optional(),
1410
+ tvlGreaterThan: import_zod9.z.number().optional(),
1411
+ turtleTvlGreaterThan: import_zod9.z.number().optional(),
1412
+ tvlMin: import_zod9.z.number().optional(),
1413
+ tvlMax: import_zod9.z.number().optional(),
1400
1414
  // APR filters
1401
- minApr: import_zod8.z.number().optional(),
1402
- maxApr: import_zod8.z.number().optional(),
1415
+ minApr: import_zod9.z.number().optional(),
1416
+ maxApr: import_zod9.z.number().optional(),
1403
1417
  // Chain IDs (comma-separated)
1404
- chainIds: import_zod8.z.string().optional(),
1418
+ chainIds: import_zod9.z.string().optional(),
1405
1419
  // Search
1406
- search: import_zod8.z.string().optional(),
1407
- withMainStream: import_zod8.z.boolean().optional()
1420
+ search: import_zod9.z.string().optional(),
1421
+ withMainStream: import_zod9.z.boolean().optional()
1408
1422
  });
1409
- var paginationMetadataSchema2 = import_zod8.z.object({
1410
- page: import_zod8.z.number(),
1411
- limit: import_zod8.z.number(),
1412
- total: import_zod8.z.number(),
1413
- totalPages: import_zod8.z.number()
1423
+ var paginationMetadataSchema2 = import_zod9.z.object({
1424
+ page: import_zod9.z.number(),
1425
+ limit: import_zod9.z.number(),
1426
+ total: import_zod9.z.number(),
1427
+ totalPages: import_zod9.z.number()
1414
1428
  });
1415
- var getOpportunitiesPaginatedSchema = import_zod8.z.object({
1416
- opportunities: import_zod8.z.array(opportunitySchema),
1429
+ var getOpportunitiesPaginatedSchema = import_zod9.z.object({
1430
+ opportunities: import_zod9.z.array(opportunitySchema),
1417
1431
  pagination: paginationMetadataSchema2
1418
1432
  });
1419
- var filterChainSchema = import_zod8.z.object({
1420
- id: import_zod8.z.string().uuid(),
1421
- name: import_zod8.z.string(),
1422
- slug: import_zod8.z.string(),
1423
- chainId: import_zod8.z.string(),
1424
- logoUrl: import_zod8.z.string(),
1425
- ecosystem: import_zod8.z.string(),
1426
- status: import_zod8.z.string(),
1427
- explorerUrl: import_zod8.z.string()
1428
- });
1429
- var filterOrganizationSchema = import_zod8.z.object({
1430
- id: import_zod8.z.string().uuid(),
1431
- name: import_zod8.z.string(),
1432
- description: import_zod8.z.string(),
1433
- landingUrl: import_zod8.z.string(),
1434
- iconUrl: import_zod8.z.string(),
1435
- organizationType: import_zod8.z.string(),
1436
- turtleRefCode: import_zod8.z.string(),
1437
- twitterHandle: import_zod8.z.string(),
1438
- status: import_zod8.z.string(),
1439
- featured: import_zod8.z.boolean()
1440
- });
1441
- var filterTagSchema = import_zod8.z.object({
1442
- id: import_zod8.z.string().uuid(),
1443
- code: import_zod8.z.string(),
1444
- name: import_zod8.z.string(),
1445
- description: import_zod8.z.string().optional().nullable(),
1446
- color: import_zod8.z.string().optional().nullable(),
1447
- type: import_zod8.z.string().optional().nullable()
1433
+ var filterChainSchema = import_zod9.z.object({
1434
+ id: import_zod9.z.string().uuid(),
1435
+ name: import_zod9.z.string(),
1436
+ slug: import_zod9.z.string(),
1437
+ chainId: import_zod9.z.string(),
1438
+ logoUrl: import_zod9.z.string(),
1439
+ ecosystem: import_zod9.z.string(),
1440
+ status: import_zod9.z.string(),
1441
+ explorerUrl: import_zod9.z.string()
1442
+ });
1443
+ var filterOrganizationSchema = import_zod9.z.object({
1444
+ id: import_zod9.z.string().uuid(),
1445
+ name: import_zod9.z.string(),
1446
+ description: import_zod9.z.string(),
1447
+ landingUrl: import_zod9.z.string(),
1448
+ iconUrl: import_zod9.z.string(),
1449
+ organizationType: import_zod9.z.string(),
1450
+ turtleRefCode: import_zod9.z.string(),
1451
+ twitterHandle: import_zod9.z.string(),
1452
+ status: import_zod9.z.string(),
1453
+ featured: import_zod9.z.boolean()
1454
+ });
1455
+ var filterTagSchema = import_zod9.z.object({
1456
+ id: import_zod9.z.string().uuid(),
1457
+ code: import_zod9.z.string(),
1458
+ name: import_zod9.z.string(),
1459
+ description: import_zod9.z.string().optional().nullable(),
1460
+ color: import_zod9.z.string().optional().nullable(),
1461
+ type: import_zod9.z.string().optional().nullable()
1448
1462
  });
1449
- var depositTokenSymbolSchema = import_zod8.z.object({
1450
- symbol: import_zod8.z.string(),
1451
- logoUrl: import_zod8.z.string()
1463
+ var depositTokenSymbolSchema = import_zod9.z.object({
1464
+ symbol: import_zod9.z.string(),
1465
+ logoUrl: import_zod9.z.string()
1452
1466
  });
1453
- var getOpportunitiesFilterOptionsSchema = import_zod8.z.object({
1454
- chains: import_zod8.z.array(filterChainSchema),
1455
- providers: import_zod8.z.array(filterOrganizationSchema),
1456
- curators: import_zod8.z.array(filterOrganizationSchema).optional().nullable(),
1457
- partners: import_zod8.z.array(filterOrganizationSchema).optional().nullable(),
1458
- tags: import_zod8.z.array(filterTagSchema).optional().nullable(),
1459
- lendingProtocols: import_zod8.z.array(filterOrganizationSchema),
1460
- depositTokenSymbols: import_zod8.z.array(depositTokenSymbolSchema).optional().nullable()
1467
+ var getOpportunitiesFilterOptionsSchema = import_zod9.z.object({
1468
+ chains: import_zod9.z.array(filterChainSchema),
1469
+ providers: import_zod9.z.array(filterOrganizationSchema),
1470
+ curators: import_zod9.z.array(filterOrganizationSchema).optional().nullable(),
1471
+ partners: import_zod9.z.array(filterOrganizationSchema).optional().nullable(),
1472
+ tags: import_zod9.z.array(filterTagSchema).optional().nullable(),
1473
+ lendingProtocols: import_zod9.z.array(filterOrganizationSchema),
1474
+ depositTokenSymbols: import_zod9.z.array(depositTokenSymbolSchema).optional().nullable()
1461
1475
  });
1462
- var getOpportunityByIdInputSchema = import_zod8.z.object({
1463
- withMainStream: import_zod8.z.boolean().optional()
1476
+ var getOpportunityByIdInputSchema = import_zod9.z.object({
1477
+ withMainStream: import_zod9.z.boolean().optional()
1464
1478
  });
1465
1479
 
1466
1480
  // src/v2/opportunities/api.ts
@@ -1568,22 +1582,22 @@ var opportunitiesQueries = (0, import_query_key_factory4.createQueryKeys)("oppor
1568
1582
  var import_query_key_factory5 = require("@lukemorales/query-key-factory");
1569
1583
 
1570
1584
  // src/v2/earn-opportunities/schema.ts
1571
- var import_zod9 = require("zod");
1572
- var earnOpportunitySchema = import_zod9.z.object({
1573
- id: import_zod9.z.string().uuid(),
1574
- name: import_zod9.z.string(),
1575
- description: import_zod9.z.string(),
1576
- type: import_zod9.z.string(),
1577
- estimatedApr: import_zod9.z.number(),
1578
- tvl: import_zod9.z.number(),
1579
- featured: import_zod9.z.boolean(),
1585
+ var import_zod10 = require("zod");
1586
+ var earnOpportunitySchema = import_zod10.z.object({
1587
+ id: import_zod10.z.string().uuid(),
1588
+ name: import_zod10.z.string(),
1589
+ description: import_zod10.z.string(),
1590
+ type: import_zod10.z.string(),
1591
+ estimatedApr: import_zod10.z.number(),
1592
+ tvl: import_zod10.z.number(),
1593
+ featured: import_zod10.z.boolean(),
1580
1594
  baseTokens: tokenSchema,
1581
- depositTokens: import_zod9.z.array(tokenSchema).nullable(),
1595
+ depositTokens: import_zod10.z.array(tokenSchema).nullable(),
1582
1596
  receiptToken: tokenSchema
1583
1597
  });
1584
- var earnOpportunitiesResponseSchema = import_zod9.z.object({
1585
- opportunities: import_zod9.z.array(earnOpportunitySchema).nullable(),
1586
- total: import_zod9.z.number().int()
1598
+ var earnOpportunitiesResponseSchema = import_zod10.z.object({
1599
+ opportunities: import_zod10.z.array(earnOpportunitySchema).nullable(),
1600
+ total: import_zod10.z.number().int()
1587
1601
  });
1588
1602
 
1589
1603
  // src/v2/earn-opportunities/api.ts
@@ -1614,82 +1628,82 @@ var import_query_key_factory6 = require("@lukemorales/query-key-factory");
1614
1628
 
1615
1629
  // src/v2/earn-route/schema.ts
1616
1630
  var import_utils = require("@turtleclub/utils");
1617
- var import_zod10 = require("zod");
1618
- var assetImageData = import_zod10.z.object({
1619
- kind: import_zod10.z.literal("image"),
1620
- url: import_zod10.z.string(),
1621
- alt: import_zod10.z.string()
1622
- });
1623
- var assetERC20Data = import_zod10.z.object({
1624
- kind: import_zod10.z.literal("erc20"),
1625
- address: import_zod10.z.string(),
1626
- name: import_zod10.z.string(),
1627
- symbol: import_zod10.z.string(),
1628
- decimals: import_zod10.z.number()
1629
- });
1630
- var assetData = import_zod10.z.discriminatedUnion("kind", [assetImageData, assetERC20Data]);
1631
- var asset = import_zod10.z.object({
1632
- id: import_zod10.z.string().uuid(),
1633
- name: import_zod10.z.string(),
1634
- slugs: import_zod10.z.array(import_zod10.z.string()),
1635
- tags: import_zod10.z.array(import_zod10.z.string()),
1636
- description: import_zod10.z.string().nullable(),
1637
- data: import_zod10.z.array(assetData)
1631
+ var import_zod11 = require("zod");
1632
+ var assetImageData = import_zod11.z.object({
1633
+ kind: import_zod11.z.literal("image"),
1634
+ url: import_zod11.z.string(),
1635
+ alt: import_zod11.z.string()
1638
1636
  });
1639
- var routeToken = import_zod10.z.object({
1640
- address: import_zod10.z.string(),
1641
- name: import_zod10.z.string(),
1642
- symbol: import_zod10.z.string(),
1643
- logos: import_zod10.z.array(import_zod10.z.string()),
1644
- decimals: import_zod10.z.number(),
1645
- chain: import_zod10.z.number(),
1646
- price: import_zod10.z.number().nullable().optional()
1647
- });
1648
- var swapSubstep = import_zod10.z.object({
1649
- kind: import_zod10.z.literal("swap"),
1650
- from: import_zod10.z.array(routeToken),
1651
- to: import_zod10.z.array(routeToken),
1652
- protocol: import_zod10.z.string(),
1637
+ var assetERC20Data = import_zod11.z.object({
1638
+ kind: import_zod11.z.literal("erc20"),
1639
+ address: import_zod11.z.string(),
1640
+ name: import_zod11.z.string(),
1641
+ symbol: import_zod11.z.string(),
1642
+ decimals: import_zod11.z.number()
1643
+ });
1644
+ var assetData = import_zod11.z.discriminatedUnion("kind", [assetImageData, assetERC20Data]);
1645
+ var asset = import_zod11.z.object({
1646
+ id: import_zod11.z.string().uuid(),
1647
+ name: import_zod11.z.string(),
1648
+ slugs: import_zod11.z.array(import_zod11.z.string()),
1649
+ tags: import_zod11.z.array(import_zod11.z.string()),
1650
+ description: import_zod11.z.string().nullable(),
1651
+ data: import_zod11.z.array(assetData)
1652
+ });
1653
+ var routeToken = import_zod11.z.object({
1654
+ address: import_zod11.z.string(),
1655
+ name: import_zod11.z.string(),
1656
+ symbol: import_zod11.z.string(),
1657
+ logos: import_zod11.z.array(import_zod11.z.string()),
1658
+ decimals: import_zod11.z.number(),
1659
+ chain: import_zod11.z.number(),
1660
+ price: import_zod11.z.number().nullable().optional()
1661
+ });
1662
+ var swapSubstep = import_zod11.z.object({
1663
+ kind: import_zod11.z.literal("swap"),
1664
+ from: import_zod11.z.array(routeToken),
1665
+ to: import_zod11.z.array(routeToken),
1666
+ protocol: import_zod11.z.string(),
1653
1667
  protocol_asset: asset.nullable(),
1654
- price_impact: import_zod10.z.number().nullable()
1655
- });
1656
- var depositSubstep = import_zod10.z.object({
1657
- kind: import_zod10.z.literal("deposit"),
1658
- vault: import_zod10.z.string(),
1659
- from: import_zod10.z.array(routeToken),
1660
- to: import_zod10.z.array(routeToken),
1661
- amount: import_zod10.z.string(),
1662
- protocol: import_zod10.z.string(),
1668
+ price_impact: import_zod11.z.number().nullable()
1669
+ });
1670
+ var depositSubstep = import_zod11.z.object({
1671
+ kind: import_zod11.z.literal("deposit"),
1672
+ vault: import_zod11.z.string(),
1673
+ from: import_zod11.z.array(routeToken),
1674
+ to: import_zod11.z.array(routeToken),
1675
+ amount: import_zod11.z.string(),
1676
+ protocol: import_zod11.z.string(),
1663
1677
  protocol_asset: asset.nullable(),
1664
- price_impact: import_zod10.z.number().nullable()
1678
+ price_impact: import_zod11.z.number().nullable()
1665
1679
  });
1666
- var routerSubstep = import_zod10.z.discriminatedUnion("kind", [swapSubstep, depositSubstep]);
1667
- var stepTx = import_zod10.z.object({
1680
+ var routerSubstep = import_zod11.z.discriminatedUnion("kind", [swapSubstep, depositSubstep]);
1681
+ var stepTx = import_zod11.z.object({
1668
1682
  from: import_utils.ethz.address(),
1669
1683
  to: import_utils.ethz.address(),
1670
1684
  data: import_utils.ethz.hex(),
1671
- value: import_zod10.z.string(),
1672
- gas: import_zod10.z.number()
1685
+ value: import_zod11.z.string(),
1686
+ gas: import_zod11.z.number()
1673
1687
  });
1674
- var approveStep = import_zod10.z.object({
1675
- kind: import_zod10.z.literal("approve"),
1676
- owner: import_zod10.z.string(),
1677
- spender: import_zod10.z.string(),
1688
+ var approveStep = import_zod11.z.object({
1689
+ kind: import_zod11.z.literal("approve"),
1690
+ owner: import_zod11.z.string(),
1691
+ spender: import_zod11.z.string(),
1678
1692
  token: routeToken,
1679
- amount: import_zod10.z.string(),
1693
+ amount: import_zod11.z.string(),
1680
1694
  tx: stepTx
1681
1695
  });
1682
- var ensoStep = import_zod10.z.object({
1683
- kind: import_zod10.z.literal("enso"),
1684
- substeps: import_zod10.z.array(routerSubstep),
1696
+ var ensoStep = import_zod11.z.object({
1697
+ kind: import_zod11.z.literal("enso"),
1698
+ substeps: import_zod11.z.array(routerSubstep),
1685
1699
  tx: stepTx,
1686
1700
  asset: asset.nullable()
1687
1701
  });
1688
- var routerStep = import_zod10.z.discriminatedUnion("kind", [approveStep, ensoStep]);
1689
- var earnRouteResponseSchema = import_zod10.z.object({
1690
- steps: import_zod10.z.array(routerStep),
1691
- amount_out: import_zod10.z.string(),
1692
- price_impact: import_zod10.z.number().nullable()
1702
+ var routerStep = import_zod11.z.discriminatedUnion("kind", [approveStep, ensoStep]);
1703
+ var earnRouteResponseSchema = import_zod11.z.object({
1704
+ steps: import_zod11.z.array(routerStep),
1705
+ amount_out: import_zod11.z.string(),
1706
+ price_impact: import_zod11.z.number().nullable()
1693
1707
  });
1694
1708
 
1695
1709
  // src/v2/earn-route/api.ts
@@ -1732,30 +1746,30 @@ var earnRouteQueries = (0, import_query_key_factory6.createQueryKeys)("earnRoute
1732
1746
  var import_query_key_factory7 = require("@lukemorales/query-key-factory");
1733
1747
 
1734
1748
  // src/v2/earn-membership/schema.ts
1735
- var import_zod11 = require("zod");
1736
- var walletEcosystemEnum = import_zod11.z.enum(["evm", "solana", "ton"]);
1737
- var checkMembershipResponseSchema = import_zod11.z.object({
1738
- isMember: import_zod11.z.boolean()
1749
+ var import_zod12 = require("zod");
1750
+ var walletEcosystemEnum = import_zod12.z.enum(["evm", "solana", "ton"]);
1751
+ var checkMembershipResponseSchema = import_zod12.z.object({
1752
+ isMember: import_zod12.z.boolean()
1739
1753
  });
1740
- var createAgreementRequestSchema = import_zod11.z.object({
1741
- address: import_zod11.z.string(),
1754
+ var createAgreementRequestSchema = import_zod12.z.object({
1755
+ address: import_zod12.z.string(),
1742
1756
  walletEcosystem: walletEcosystemEnum,
1743
- url: import_zod11.z.string(),
1744
- chainId: import_zod11.z.string().default("1")
1757
+ url: import_zod12.z.string(),
1758
+ chainId: import_zod12.z.string().default("1")
1745
1759
  });
1746
- var createAgreementResponseSchema = import_zod11.z.object({
1747
- message: import_zod11.z.string(),
1748
- nonce: import_zod11.z.string()
1760
+ var createAgreementResponseSchema = import_zod12.z.object({
1761
+ message: import_zod12.z.string(),
1762
+ nonce: import_zod12.z.string()
1749
1763
  });
1750
- var createMembershipRequestSchema = import_zod11.z.object({
1751
- address: import_zod11.z.string(),
1752
- walletEcosystem: import_zod11.z.string(),
1753
- signature: import_zod11.z.string(),
1754
- nonce: import_zod11.z.string()
1764
+ var createMembershipRequestSchema = import_zod12.z.object({
1765
+ address: import_zod12.z.string(),
1766
+ walletEcosystem: import_zod12.z.string(),
1767
+ signature: import_zod12.z.string(),
1768
+ nonce: import_zod12.z.string()
1755
1769
  });
1756
- var createMembershipResponseSchema = import_zod11.z.object({
1757
- isMember: import_zod11.z.boolean(),
1758
- error: import_zod11.z.string().optional()
1770
+ var createMembershipResponseSchema = import_zod12.z.object({
1771
+ isMember: import_zod12.z.boolean(),
1772
+ error: import_zod12.z.string().optional()
1759
1773
  });
1760
1774
 
1761
1775
  // src/v2/earn-membership/api.ts
@@ -1816,23 +1830,23 @@ var earnMembershipQueries = (0, import_query_key_factory7.createQueryKeys)("earn
1816
1830
  var import_query_key_factory8 = require("@lukemorales/query-key-factory");
1817
1831
 
1818
1832
  // src/v2/earn-deposits/schema.ts
1819
- var import_zod12 = require("zod");
1820
- var depositSchema = import_zod12.z.object({
1821
- chain: import_zod12.z.number().int(),
1822
- deposited_amount_usd: import_zod12.z.string(),
1823
- deposited_token_address: import_zod12.z.string(),
1824
- deposited_token_decimals: import_zod12.z.number().int(),
1825
- deposited_token_logo: import_zod12.z.string(),
1826
- deposited_token_name: import_zod12.z.string(),
1827
- deposited_token_symbol: import_zod12.z.string(),
1828
- deposited_value: import_zod12.z.string(),
1829
- depositor: import_zod12.z.string(),
1830
- target: import_zod12.z.string(),
1831
- timestamp: import_zod12.z.string(),
1832
- tx_hash: import_zod12.z.string()
1833
- });
1834
- var depositsResponseSchema = import_zod12.z.object({
1835
- deposits: import_zod12.z.array(depositSchema).nullable()
1833
+ var import_zod13 = require("zod");
1834
+ var depositSchema = import_zod13.z.object({
1835
+ chain: import_zod13.z.number().int(),
1836
+ deposited_amount_usd: import_zod13.z.string(),
1837
+ deposited_token_address: import_zod13.z.string(),
1838
+ deposited_token_decimals: import_zod13.z.number().int(),
1839
+ deposited_token_logo: import_zod13.z.string(),
1840
+ deposited_token_name: import_zod13.z.string(),
1841
+ deposited_token_symbol: import_zod13.z.string(),
1842
+ deposited_value: import_zod13.z.string(),
1843
+ depositor: import_zod13.z.string(),
1844
+ target: import_zod13.z.string(),
1845
+ timestamp: import_zod13.z.string(),
1846
+ tx_hash: import_zod13.z.string()
1847
+ });
1848
+ var depositsResponseSchema = import_zod13.z.object({
1849
+ deposits: import_zod13.z.array(depositSchema).nullable()
1836
1850
  });
1837
1851
 
1838
1852
  // src/v2/earn-deposits/api.ts
@@ -1982,22 +1996,22 @@ var productsQueries = (0, import_query_key_factory10.createQueryKeys)("products"
1982
1996
  var import_query_key_factory11 = require("@lukemorales/query-key-factory");
1983
1997
 
1984
1998
  // src/v2/enso-balances/schemas.ts
1985
- var import_zod13 = require("zod");
1986
- var balanceTokenSchema = import_zod13.z.object({
1987
- address: import_zod13.z.string(),
1988
- name: import_zod13.z.string(),
1989
- symbol: import_zod13.z.string(),
1990
- logos: import_zod13.z.array(import_zod13.z.string()),
1991
- decimals: import_zod13.z.number(),
1992
- chain: import_zod13.z.number(),
1993
- price: import_zod13.z.number().nullable().optional()
1994
- });
1995
- var walletBalanceSchema = import_zod13.z.object({
1999
+ var import_zod14 = require("zod");
2000
+ var balanceTokenSchema = import_zod14.z.object({
2001
+ address: import_zod14.z.string(),
2002
+ name: import_zod14.z.string(),
2003
+ symbol: import_zod14.z.string(),
2004
+ logos: import_zod14.z.array(import_zod14.z.string()),
2005
+ decimals: import_zod14.z.number(),
2006
+ chain: import_zod14.z.number(),
2007
+ price: import_zod14.z.number().nullable().optional()
2008
+ });
2009
+ var walletBalanceSchema = import_zod14.z.object({
1996
2010
  token: balanceTokenSchema,
1997
- amount: import_zod13.z.string()
2011
+ amount: import_zod14.z.string()
1998
2012
  });
1999
- var walletBalancesResponseSchema = import_zod13.z.object({
2000
- balances: import_zod13.z.array(walletBalanceSchema)
2013
+ var walletBalancesResponseSchema = import_zod14.z.object({
2014
+ balances: import_zod14.z.array(walletBalanceSchema)
2001
2015
  });
2002
2016
 
2003
2017
  // src/v2/enso-balances/api.ts
@@ -2033,7 +2047,7 @@ var ensoBalancesQueries = (0, import_query_key_factory11.createQueryKeys)("ensoB
2033
2047
  var import_query_key_factory12 = require("@lukemorales/query-key-factory");
2034
2048
 
2035
2049
  // src/v2/widget/schema.ts
2036
- var import_zod14 = require("zod");
2050
+ var import_zod15 = require("zod");
2037
2051
 
2038
2052
  // src/v2/opportunities/hooks.ts
2039
2053
  var import_react_query5 = require("@tanstack/react-query");
@@ -2086,9 +2100,9 @@ function useOpportunitiesFilterOptions({
2086
2100
  }
2087
2101
 
2088
2102
  // src/v2/widget/schema.ts
2089
- var widgetOpportunitiesResponseSchema = import_zod14.z.object({
2090
- opportunities: import_zod14.z.array(opportunitySchema).nullable(),
2091
- total: import_zod14.z.number().int()
2103
+ var widgetOpportunitiesResponseSchema = import_zod15.z.object({
2104
+ opportunities: import_zod15.z.array(opportunitySchema).nullable(),
2105
+ total: import_zod15.z.number().int()
2092
2106
  });
2093
2107
 
2094
2108
  // src/v2/widget/api.ts
@@ -2117,69 +2131,69 @@ var widgetQueries = (0, import_query_key_factory12.createQueryKeys)("widget", {
2117
2131
  var import_query_key_factory13 = require("@lukemorales/query-key-factory");
2118
2132
 
2119
2133
  // src/v2/users/schemas.ts
2120
- var import_zod15 = require("zod");
2121
- var walletDataSchema = import_zod15.z.object({
2122
- address: import_zod15.z.string(),
2123
- totalAmountInUSD: import_zod15.z.string(),
2124
- tokens: import_zod15.z.array(tokenSchema)
2125
- });
2126
- var holdingsDataSchema = import_zod15.z.object({
2127
- totalAmountInUSD: import_zod15.z.string(),
2128
- chains: import_zod15.z.array(chainSchema).nullish(),
2129
- wallets: import_zod15.z.array(walletDataSchema).nullish()
2130
- });
2131
- var userEarningsSchema = import_zod15.z.object({
2132
- productId: import_zod15.z.string().uuid(),
2133
- value: import_zod15.z.number(),
2134
- referralsEarnings: import_zod15.z.number().nullish(),
2135
- rewardName: import_zod15.z.string().nullish(),
2136
- rewardType: import_zod15.z.string().nullish()
2137
- });
2138
- var portfolioSchema = import_zod15.z.object({
2139
- productsEarnings: import_zod15.z.array(userEarningsSchema),
2134
+ var import_zod16 = require("zod");
2135
+ var walletDataSchema = import_zod16.z.object({
2136
+ address: import_zod16.z.string(),
2137
+ totalAmountInUSD: import_zod16.z.string(),
2138
+ tokens: import_zod16.z.array(tokenSchema)
2139
+ });
2140
+ var holdingsDataSchema = import_zod16.z.object({
2141
+ totalAmountInUSD: import_zod16.z.string(),
2142
+ chains: import_zod16.z.array(chainSchema).nullish(),
2143
+ wallets: import_zod16.z.array(walletDataSchema).nullish()
2144
+ });
2145
+ var userEarningsSchema = import_zod16.z.object({
2146
+ productId: import_zod16.z.string().uuid(),
2147
+ value: import_zod16.z.number(),
2148
+ referralsEarnings: import_zod16.z.number().nullish(),
2149
+ rewardName: import_zod16.z.string().nullish(),
2150
+ rewardType: import_zod16.z.string().nullish()
2151
+ });
2152
+ var portfolioSchema = import_zod16.z.object({
2153
+ productsEarnings: import_zod16.z.array(userEarningsSchema),
2140
2154
  holdings: holdingsDataSchema.nullish()
2141
2155
  });
2142
- var holdingInfoSchema = import_zod15.z.object({
2143
- amount: import_zod15.z.number(),
2144
- usdValue: import_zod15.z.number(),
2156
+ var holdingInfoSchema = import_zod16.z.object({
2157
+ amount: import_zod16.z.number(),
2158
+ usdValue: import_zod16.z.number(),
2145
2159
  token: tokenSchema.nullish()
2146
2160
  });
2147
- var walletInfoSchema = import_zod15.z.object({
2148
- address: import_zod15.z.string().nullish(),
2149
- ecosystem: import_zod15.z.string().nullish(),
2150
- isMain: import_zod15.z.boolean().nullish(),
2151
- holdings: import_zod15.z.array(holdingInfoSchema).nullish()
2152
- });
2153
- var userWithDetailsSchema = import_zod15.z.object({
2154
- id: import_zod15.z.string(),
2155
- email: import_zod15.z.string().nullable(),
2156
- username: import_zod15.z.string().nullish(),
2157
- firstName: import_zod15.z.string().nullish(),
2158
- lastName: import_zod15.z.string().nullish(),
2159
- avatarUrl: import_zod15.z.string().nullish(),
2160
- telegramHandle: import_zod15.z.string().nullish(),
2161
- xUsername: import_zod15.z.string().nullish(),
2162
- role: import_zod15.z.string(),
2163
- createdAt: import_zod15.z.string(),
2164
- updatedAt: import_zod15.z.string(),
2165
- tags: import_zod15.z.array(import_zod15.z.string()).nullish(),
2166
- wallets: import_zod15.z.array(walletInfoSchema).nullish()
2167
- });
2168
- var getUserTurtlePortfolioInputSchema = import_zod15.z.object({
2169
- userId: import_zod15.z.string().uuid()
2170
- });
2171
- var getUserTurtlePortfolioOutputSchema = import_zod15.z.object({
2161
+ var walletInfoSchema = import_zod16.z.object({
2162
+ address: import_zod16.z.string().nullish(),
2163
+ ecosystem: import_zod16.z.string().nullish(),
2164
+ isMain: import_zod16.z.boolean().nullish(),
2165
+ holdings: import_zod16.z.array(holdingInfoSchema).nullish()
2166
+ });
2167
+ var userWithDetailsSchema = import_zod16.z.object({
2168
+ id: import_zod16.z.string(),
2169
+ email: import_zod16.z.string().nullable(),
2170
+ username: import_zod16.z.string().nullish(),
2171
+ firstName: import_zod16.z.string().nullish(),
2172
+ lastName: import_zod16.z.string().nullish(),
2173
+ avatarUrl: import_zod16.z.string().nullish(),
2174
+ telegramHandle: import_zod16.z.string().nullish(),
2175
+ xUsername: import_zod16.z.string().nullish(),
2176
+ role: import_zod16.z.string(),
2177
+ createdAt: import_zod16.z.string(),
2178
+ updatedAt: import_zod16.z.string(),
2179
+ tags: import_zod16.z.array(import_zod16.z.string()).nullish(),
2180
+ wallets: import_zod16.z.array(walletInfoSchema).nullish()
2181
+ });
2182
+ var getUserTurtlePortfolioInputSchema = import_zod16.z.object({
2183
+ userId: import_zod16.z.string().uuid()
2184
+ });
2185
+ var getUserTurtlePortfolioOutputSchema = import_zod16.z.object({
2172
2186
  portfolio: portfolioSchema
2173
2187
  });
2174
- var getUserTurtlePortfolioPathSchema = import_zod15.z.object({
2175
- userId: import_zod15.z.string().uuid()
2188
+ var getUserTurtlePortfolioPathSchema = import_zod16.z.object({
2189
+ userId: import_zod16.z.string().uuid()
2176
2190
  });
2177
- var getUserByIdInputSchema = import_zod15.z.object({
2178
- userId: import_zod15.z.string().uuid()
2191
+ var getUserByIdInputSchema = import_zod16.z.object({
2192
+ userId: import_zod16.z.string().uuid()
2179
2193
  });
2180
- var getUserByIdOutputSchema = import_zod15.z.object({
2194
+ var getUserByIdOutputSchema = import_zod16.z.object({
2181
2195
  user: userWithDetailsSchema.nullable(),
2182
- error: import_zod15.z.string().optional()
2196
+ error: import_zod16.z.string().optional()
2183
2197
  });
2184
2198
 
2185
2199
  // src/v2/users/api.ts
@@ -2256,30 +2270,30 @@ var nftsQueries = (0, import_query_key_factory14.createQueryKeys)("nfts", {
2256
2270
  var import_query_key_factory15 = require("@lukemorales/query-key-factory");
2257
2271
 
2258
2272
  // src/v2/covers/schema.ts
2259
- var import_zod16 = require("zod");
2260
- var coverRequestDataSchema = import_zod16.z.object({
2261
- protocolName: import_zod16.z.string(),
2262
- coverageAmount: import_zod16.z.string(),
2263
- periodDays: import_zod16.z.number(),
2264
- desiredApySacrifice: import_zod16.z.string(),
2265
- calculatedEstimatedPremium: import_zod16.z.string(),
2266
- tokenSymbol: import_zod16.z.string()
2267
- });
2268
- var submitCoverRequestResponseSchema = import_zod16.z.object({
2269
- success: import_zod16.z.boolean()
2270
- });
2271
- var checkCoverRequestResponseSchema = import_zod16.z.object({
2272
- canSubmit: import_zod16.z.boolean(),
2273
+ var import_zod17 = require("zod");
2274
+ var coverRequestDataSchema = import_zod17.z.object({
2275
+ protocolName: import_zod17.z.string(),
2276
+ coverageAmount: import_zod17.z.string(),
2277
+ periodDays: import_zod17.z.number(),
2278
+ desiredApySacrifice: import_zod17.z.string(),
2279
+ calculatedEstimatedPremium: import_zod17.z.string(),
2280
+ tokenSymbol: import_zod17.z.string()
2281
+ });
2282
+ var submitCoverRequestResponseSchema = import_zod17.z.object({
2283
+ success: import_zod17.z.boolean()
2284
+ });
2285
+ var checkCoverRequestResponseSchema = import_zod17.z.object({
2286
+ canSubmit: import_zod17.z.boolean(),
2273
2287
  existingRequest: coverRequestDataSchema.nullable()
2274
2288
  });
2275
- var submitCoverPurchaseDataSchema = import_zod16.z.object({
2276
- walletAddress: import_zod16.z.string().regex(/^0x[a-fA-F0-9]{40}$/, "Invalid Ethereum address"),
2277
- txHash: import_zod16.z.string().regex(/^0x[a-fA-F0-9]{64}$/, "Invalid transaction hash")
2289
+ var submitCoverPurchaseDataSchema = import_zod17.z.object({
2290
+ walletAddress: import_zod17.z.string().regex(/^0x[a-fA-F0-9]{40}$/, "Invalid Ethereum address"),
2291
+ txHash: import_zod17.z.string().regex(/^0x[a-fA-F0-9]{64}$/, "Invalid transaction hash")
2278
2292
  });
2279
- var submitCoverPurchaseResponseSchema = import_zod16.z.object({
2280
- success: import_zod16.z.boolean(),
2281
- message: import_zod16.z.string(),
2282
- id: import_zod16.z.string()
2293
+ var submitCoverPurchaseResponseSchema = import_zod17.z.object({
2294
+ success: import_zod17.z.boolean(),
2295
+ message: import_zod17.z.string(),
2296
+ id: import_zod17.z.string()
2283
2297
  });
2284
2298
 
2285
2299
  // src/v2/covers/api.ts
@@ -2336,34 +2350,34 @@ var coversQueries = (0, import_query_key_factory15.createQueryKeys)("covers", {
2336
2350
  var import_query_key_factory16 = require("@lukemorales/query-key-factory");
2337
2351
 
2338
2352
  // src/v2/balance/schema.ts
2339
- var import_zod17 = require("zod");
2340
- var portfolioTokenSchema = import_zod17.z.object({
2341
- id: import_zod17.z.string(),
2342
- address: import_zod17.z.string(),
2343
- name: import_zod17.z.string(),
2344
- symbol: import_zod17.z.string(),
2345
- decimals: import_zod17.z.number(),
2346
- isNative: import_zod17.z.boolean(),
2347
- logoUrl: import_zod17.z.string().nullable(),
2348
- amount: import_zod17.z.string(),
2353
+ var import_zod18 = require("zod");
2354
+ var portfolioTokenSchema = import_zod18.z.object({
2355
+ id: import_zod18.z.string(),
2356
+ address: import_zod18.z.string(),
2357
+ name: import_zod18.z.string(),
2358
+ symbol: import_zod18.z.string(),
2359
+ decimals: import_zod18.z.number(),
2360
+ isNative: import_zod18.z.boolean(),
2361
+ logoUrl: import_zod18.z.string().nullable(),
2362
+ amount: import_zod18.z.string(),
2349
2363
  // Portfolio-specific field (decimal format)
2350
- rawAmount: import_zod17.z.string(),
2351
- price: import_zod17.z.string().nullable().transform((val) => val ? parseFloat(val) : null),
2364
+ rawAmount: import_zod18.z.string(),
2365
+ price: import_zod18.z.string().nullable().transform((val) => val ? parseFloat(val) : null),
2352
2366
  // Portfolio-specific field
2353
2367
  // Chain with optional fields to match Portfolio API response
2354
2368
  chain: chainSchema.partial().required({ chainId: true })
2355
2369
  });
2356
- var portfolioWalletSchema = import_zod17.z.object({
2357
- id: import_zod17.z.string().optional(),
2358
- address: import_zod17.z.string(),
2359
- blockchain: import_zod17.z.string().optional(),
2360
- tokens: import_zod17.z.array(portfolioTokenSchema)
2370
+ var portfolioWalletSchema = import_zod18.z.object({
2371
+ id: import_zod18.z.string().optional(),
2372
+ address: import_zod18.z.string(),
2373
+ blockchain: import_zod18.z.string().optional(),
2374
+ tokens: import_zod18.z.array(portfolioTokenSchema)
2361
2375
  });
2362
- var portfolioHoldingsSchema = import_zod17.z.object({
2363
- wallets: import_zod17.z.array(portfolioWalletSchema)
2376
+ var portfolioHoldingsSchema = import_zod18.z.object({
2377
+ wallets: import_zod18.z.array(portfolioWalletSchema)
2364
2378
  });
2365
- var portfolioBalanceResponseSchema = import_zod17.z.object({
2366
- portfolio: import_zod17.z.object({
2379
+ var portfolioBalanceResponseSchema = import_zod18.z.object({
2380
+ portfolio: import_zod18.z.object({
2367
2381
  holdings: portfolioHoldingsSchema
2368
2382
  })
2369
2383
  });
@@ -2396,26 +2410,26 @@ var balanceQueries = (0, import_query_key_factory16.createQueryKeys)("balance",
2396
2410
  var import_query_key_factory17 = require("@lukemorales/query-key-factory");
2397
2411
 
2398
2412
  // src/v2/deposits/schemas.ts
2399
- var import_zod18 = require("zod");
2400
- var uuidSchema2 = import_zod18.z.string().uuid();
2401
- var sortBySchema = import_zod18.z.enum(["date", "usd_value"]).optional();
2402
- var sortOrderSchema = import_zod18.z.enum(["asc", "desc"]).optional();
2403
- var getDepositsRequestSchema = import_zod18.z.object({
2413
+ var import_zod19 = require("zod");
2414
+ var uuidSchema2 = import_zod19.z.string().uuid();
2415
+ var sortBySchema = import_zod19.z.enum(["date", "usd_value"]).optional();
2416
+ var sortOrderSchema = import_zod19.z.enum(["asc", "desc"]).optional();
2417
+ var getDepositsRequestSchema = import_zod19.z.object({
2404
2418
  // Filter by product or opportunity (optional, not mutually exclusive)
2405
- product_id: import_zod18.z.string().uuid().optional(),
2406
- opportunity_id: import_zod18.z.string().uuid().optional(),
2419
+ product_id: import_zod19.z.string().uuid().optional(),
2420
+ opportunity_id: import_zod19.z.string().uuid().optional(),
2407
2421
  // Search query
2408
- search: import_zod18.z.string().optional(),
2422
+ search: import_zod19.z.string().optional(),
2409
2423
  // Sorting options
2410
2424
  sort_by: sortBySchema,
2411
2425
  sort_order: sortOrderSchema,
2412
2426
  // Additional filters
2413
- distributor_id: import_zod18.z.string().optional(),
2414
- depositor_address: import_zod18.z.string().optional(),
2415
- referral: import_zod18.z.string().optional(),
2427
+ distributor_id: import_zod19.z.string().optional(),
2428
+ depositor_address: import_zod19.z.string().optional(),
2429
+ referral: import_zod19.z.string().optional(),
2416
2430
  // Pagination
2417
- page: import_zod18.z.number().int().min(1).optional().default(1),
2418
- page_limit: import_zod18.z.number().int().min(1).max(100).optional().default(20)
2431
+ page: import_zod19.z.number().int().min(1).optional().default(1),
2432
+ page_limit: import_zod19.z.number().int().min(1).max(100).optional().default(20)
2419
2433
  }).refine(
2420
2434
  (data) => {
2421
2435
  const hasProductId = !!data.product_id;
@@ -2427,31 +2441,31 @@ var getDepositsRequestSchema = import_zod18.z.object({
2427
2441
  path: ["product_id", "opportunity_id"]
2428
2442
  }
2429
2443
  );
2430
- var depositResponseSchema = import_zod18.z.object({
2444
+ var depositResponseSchema = import_zod19.z.object({
2431
2445
  id: uuidSchema2,
2432
2446
  opportunityId: uuidSchema2,
2433
2447
  walletId: uuidSchema2.nullable().optional(),
2434
2448
  crmWalletId: uuidSchema2.nullable().optional(),
2435
- depositorAddress: import_zod18.z.string(),
2436
- amount: import_zod18.z.number(),
2437
- usdValue: import_zod18.z.number(),
2438
- depositTimestamp: import_zod18.z.string().datetime(),
2449
+ depositorAddress: import_zod19.z.string(),
2450
+ amount: import_zod19.z.number(),
2451
+ usdValue: import_zod19.z.number(),
2452
+ depositTimestamp: import_zod19.z.string().datetime(),
2439
2453
  // ISO 8601 format
2440
- txHash: import_zod18.z.string(),
2441
- verified: import_zod18.z.boolean().nullable().optional(),
2442
- distributorId: import_zod18.z.string().nullable().optional(),
2443
- referral: import_zod18.z.string().nullable().optional(),
2444
- explorerUrl: import_zod18.z.string().url().nullable().optional(),
2445
- createdAt: import_zod18.z.string().datetime(),
2454
+ txHash: import_zod19.z.string(),
2455
+ verified: import_zod19.z.boolean().nullable().optional(),
2456
+ distributorId: import_zod19.z.string().nullable().optional(),
2457
+ referral: import_zod19.z.string().nullable().optional(),
2458
+ explorerUrl: import_zod19.z.string().url().nullable().optional(),
2459
+ createdAt: import_zod19.z.string().datetime(),
2446
2460
  // ISO 8601 format
2447
- updatedAt: import_zod18.z.string().datetime()
2461
+ updatedAt: import_zod19.z.string().datetime()
2448
2462
  // ISO 8601 format
2449
2463
  });
2450
- var depositsMetadataSchema = import_zod18.z.object({
2451
- totalUsdValue: import_zod18.z.number().int().min(0)
2464
+ var depositsMetadataSchema = import_zod19.z.object({
2465
+ totalUsdValue: import_zod19.z.number().int().min(0)
2452
2466
  });
2453
- var getDepositsResponseSchema = import_zod18.z.object({
2454
- deposits: import_zod18.z.array(depositResponseSchema),
2467
+ var getDepositsResponseSchema = import_zod19.z.object({
2468
+ deposits: import_zod19.z.array(depositResponseSchema),
2455
2469
  pagination: paginationMetadataSchema.partial(),
2456
2470
  metadata: depositsMetadataSchema
2457
2471
  });
@@ -2610,30 +2624,30 @@ var incentivesQueries = (0, import_query_key_factory18.createQueryKeys)("incenti
2610
2624
  var import_query_key_factory19 = require("@lukemorales/query-key-factory");
2611
2625
 
2612
2626
  // src/v2/liquidity-providers/schema.ts
2613
- var import_zod19 = require("zod");
2614
- var sortBySchema2 = import_zod19.z.enum(["username", "telegram", "total_tvl", "active_tvl", "first_deposit", "wallet_count"]).optional();
2615
- var sortOrderSchema2 = import_zod19.z.enum(["asc", "desc"]).optional();
2616
- var getLiquidityProvidersInputSchema = import_zod19.z.object({
2617
- organizationId: import_zod19.z.string().uuid().optional(),
2618
- productId: import_zod19.z.string().uuid().optional(),
2619
- opportunityId: import_zod19.z.string().uuid().optional(),
2627
+ var import_zod20 = require("zod");
2628
+ var sortBySchema2 = import_zod20.z.enum(["username", "telegram", "total_tvl", "active_tvl", "first_deposit", "wallet_count"]).optional();
2629
+ var sortOrderSchema2 = import_zod20.z.enum(["asc", "desc"]).optional();
2630
+ var getLiquidityProvidersInputSchema = import_zod20.z.object({
2631
+ organizationId: import_zod20.z.string().uuid().optional(),
2632
+ productId: import_zod20.z.string().uuid().optional(),
2633
+ opportunityId: import_zod20.z.string().uuid().optional(),
2620
2634
  sortBy: sortBySchema2,
2621
2635
  sortOrder: sortOrderSchema2,
2622
- limit: import_zod19.z.number().int().min(1).max(100).optional().default(20),
2623
- offset: import_zod19.z.number().int().min(0).optional().default(0)
2624
- });
2625
- var liquidityProviderSchema = import_zod19.z.object({
2626
- username: import_zod19.z.string(),
2627
- totalTvl: import_zod19.z.number(),
2628
- activeTvl: import_zod19.z.number(),
2629
- opportunities: import_zod19.z.array(import_zod19.z.string().uuid()),
2630
- telegram: import_zod19.z.string(),
2631
- firstDeposit: import_zod19.z.string().datetime(),
2636
+ limit: import_zod20.z.number().int().min(1).max(100).optional().default(20),
2637
+ offset: import_zod20.z.number().int().min(0).optional().default(0)
2638
+ });
2639
+ var liquidityProviderSchema = import_zod20.z.object({
2640
+ username: import_zod20.z.string(),
2641
+ totalTvl: import_zod20.z.number(),
2642
+ activeTvl: import_zod20.z.number(),
2643
+ opportunities: import_zod20.z.array(import_zod20.z.string().uuid()),
2644
+ telegram: import_zod20.z.string(),
2645
+ firstDeposit: import_zod20.z.string().datetime(),
2632
2646
  // ISO 8601 format (time.Time in Go)
2633
- walletCount: import_zod19.z.number().int()
2647
+ walletCount: import_zod20.z.number().int()
2634
2648
  });
2635
- var GetLiquidityProvidersResponseSchema = import_zod19.z.object({
2636
- liquidityProviders: import_zod19.z.array(liquidityProviderSchema),
2649
+ var GetLiquidityProvidersResponseSchema = import_zod20.z.object({
2650
+ liquidityProviders: import_zod20.z.array(liquidityProviderSchema),
2637
2651
  pagination: paginationMetadataSchema
2638
2652
  });
2639
2653
 
@@ -2676,9 +2690,9 @@ var liquidityProvidersQueries = (0, import_query_key_factory19.createQueryKeys)(
2676
2690
  var import_query_key_factory20 = require("@lukemorales/query-key-factory");
2677
2691
 
2678
2692
  // src/v2/geocheck/schema.ts
2679
- var import_zod20 = require("zod");
2680
- var geoCheckResponseSchema = import_zod20.z.object({
2681
- canInteract: import_zod20.z.boolean()
2693
+ var import_zod21 = require("zod");
2694
+ var geoCheckResponseSchema = import_zod21.z.object({
2695
+ canInteract: import_zod21.z.boolean()
2682
2696
  });
2683
2697
 
2684
2698
  // src/v2/geocheck/api.ts
@@ -2704,6 +2718,118 @@ var geocheckQueries = (0, import_query_key_factory20.createQueryKeys)("geocheck"
2704
2718
  }
2705
2719
  });
2706
2720
 
2721
+ // src/v2/org-leaderboard/queries.ts
2722
+ var import_query_key_factory21 = require("@lukemorales/query-key-factory");
2723
+
2724
+ // src/v2/org-leaderboard/schema.ts
2725
+ var import_zod22 = require("zod");
2726
+ var orgLeaderboardSortBySchema = import_zod22.z.enum([
2727
+ "rank",
2728
+ "points",
2729
+ "username",
2730
+ "referredValue",
2731
+ "userTvl",
2732
+ "dailyPoints"
2733
+ ]);
2734
+ var orgLeaderboardSortOrderSchema = import_zod22.z.enum(["asc", "desc"]);
2735
+ var getOrgLeaderboardParamsSchema = import_zod22.z.object({
2736
+ limit: import_zod22.z.number().int().min(1).max(100).optional().default(20),
2737
+ offset: import_zod22.z.number().int().min(0).optional().default(0),
2738
+ searchUsername: import_zod22.z.string().optional(),
2739
+ onlyWithReferral: import_zod22.z.boolean().optional(),
2740
+ minTotalPoints: import_zod22.z.number().optional(),
2741
+ maxTotalPoints: import_zod22.z.number().optional(),
2742
+ sortBy: orgLeaderboardSortBySchema.optional(),
2743
+ sortOrder: orgLeaderboardSortOrderSchema.optional(),
2744
+ date: import_zod22.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
2745
+ // YYYY-MM-DD for historical daily points
2746
+ });
2747
+ var orgLeaderboardRowSchema = import_zod22.z.object({
2748
+ rank: import_zod22.z.number(),
2749
+ userId: import_zod22.z.string(),
2750
+ turtleUser: import_zod22.z.object({
2751
+ username: import_zod22.z.string().optional(),
2752
+ avatarUrl: import_zod22.z.string().optional()
2753
+ }).optional(),
2754
+ totalPoints: import_zod22.z.number(),
2755
+ userTvl: import_zod22.z.number(),
2756
+ dailyPoints: import_zod22.z.number(),
2757
+ referredValue: import_zod22.z.number()
2758
+ });
2759
+ var orgLeaderboardResponseSchema = import_zod22.z.object({
2760
+ rows: import_zod22.z.array(orgLeaderboardRowSchema),
2761
+ total: import_zod22.z.number().optional(),
2762
+ totalPages: import_zod22.z.number().optional()
2763
+ });
2764
+ var orgUserLeaderboardInfoSchema = import_zod22.z.object({
2765
+ userId: import_zod22.z.string(),
2766
+ username: import_zod22.z.string().optional(),
2767
+ rank: import_zod22.z.number(),
2768
+ totalUsers: import_zod22.z.number(),
2769
+ totalPoints: import_zod22.z.number(),
2770
+ userTvl: import_zod22.z.number(),
2771
+ dailyPoints: import_zod22.z.number(),
2772
+ referredValue: import_zod22.z.number(),
2773
+ referralBoostApplied: import_zod22.z.number().optional()
2774
+ });
2775
+ var orgUserLeaderboardResponseSchema = import_zod22.z.object({
2776
+ userInfo: orgUserLeaderboardInfoSchema.optional()
2777
+ });
2778
+
2779
+ // src/v2/org-leaderboard/api.ts
2780
+ async function getOrgLeaderboard(orgId, params, options) {
2781
+ const searchParams = new URLSearchParams();
2782
+ if (params?.limit !== void 0) searchParams.set("limit", String(params.limit));
2783
+ if (params?.offset !== void 0) searchParams.set("offset", String(params.offset));
2784
+ if (params?.searchUsername) searchParams.set("searchUsername", params.searchUsername);
2785
+ if (params?.onlyWithReferral !== void 0)
2786
+ searchParams.set("onlyWithReferral", String(params.onlyWithReferral));
2787
+ if (params?.minTotalPoints !== void 0)
2788
+ searchParams.set("minTotalPoints", String(params.minTotalPoints));
2789
+ if (params?.maxTotalPoints !== void 0)
2790
+ searchParams.set("maxTotalPoints", String(params.maxTotalPoints));
2791
+ if (params?.sortBy) searchParams.set("sortBy", params.sortBy);
2792
+ if (params?.sortOrder) searchParams.set("sortOrder", params.sortOrder);
2793
+ if (params?.date) searchParams.set("date", params.date);
2794
+ const query = searchParams.toString();
2795
+ const endpoint = `/turtle/leaderboard/organization/${orgId}${query ? `?${query}` : ""}`;
2796
+ const data = await apiClient.fetch(endpoint, {
2797
+ method: "GET",
2798
+ signal: options?.signal
2799
+ });
2800
+ const result = orgLeaderboardResponseSchema.safeParse(data);
2801
+ if (!result.success) {
2802
+ console.error("[org-leaderboard] list parse error", result.error);
2803
+ throw new Error(`Failed to parse org leaderboard response: ${result.error.message}`);
2804
+ }
2805
+ return result.data;
2806
+ }
2807
+ async function getOrgUserLeaderboard(orgId, userId, options) {
2808
+ const endpoint = `/turtle/leaderboard/organization/${orgId}/user/${userId}`;
2809
+ const data = await apiClient.fetch(endpoint, {
2810
+ method: "GET",
2811
+ signal: options?.signal
2812
+ });
2813
+ const result = orgUserLeaderboardResponseSchema.safeParse(data);
2814
+ if (!result.success) {
2815
+ console.error("[org-leaderboard] user parse error", result.error);
2816
+ throw new Error(`Failed to parse org user leaderboard response: ${result.error.message}`);
2817
+ }
2818
+ return result.data;
2819
+ }
2820
+
2821
+ // src/v2/org-leaderboard/queries.ts
2822
+ var orgLeaderboardQueries = (0, import_query_key_factory21.createQueryKeys)("orgLeaderboard", {
2823
+ list: (orgId, params) => ({
2824
+ queryKey: [orgId, params],
2825
+ queryFn: ({ signal }) => getOrgLeaderboard(orgId, params, { signal })
2826
+ }),
2827
+ user: (orgId, userId) => ({
2828
+ queryKey: [orgId, userId],
2829
+ queryFn: ({ signal }) => getOrgUserLeaderboard(orgId, userId, { signal })
2830
+ })
2831
+ });
2832
+
2707
2833
  // src/v2/earn-opportunities/hooks.ts
2708
2834
  var import_react_query6 = require("@tanstack/react-query");
2709
2835
  function useEarnOpportunities() {
@@ -3044,45 +3170,45 @@ var import_react_query10 = require("@tanstack/react-query");
3044
3170
  var import_react_query9 = require("@tanstack/react-query");
3045
3171
 
3046
3172
  // src/v2/earn-actions/schema.ts
3047
- var import_zod21 = require("zod");
3048
- var transactionSchema = import_zod21.z.object({
3049
- chainId: import_zod21.z.number().int(),
3050
- data: import_zod21.z.string(),
3051
- to: import_zod21.z.string(),
3052
- value: import_zod21.z.string(),
3053
- gasLimit: import_zod21.z.string().optional()
3054
- });
3055
- var routeTokenSchema = import_zod21.z.object({
3056
- address: import_zod21.z.string(),
3057
- symbol: import_zod21.z.string(),
3058
- decimals: import_zod21.z.number().int(),
3059
- logoUrl: import_zod21.z.string()
3060
- });
3061
- var routeStepSchema = import_zod21.z.object({
3062
- action: import_zod21.z.string(),
3173
+ var import_zod23 = require("zod");
3174
+ var transactionSchema = import_zod23.z.object({
3175
+ chainId: import_zod23.z.number().int(),
3176
+ data: import_zod23.z.string(),
3177
+ to: import_zod23.z.string(),
3178
+ value: import_zod23.z.string(),
3179
+ gasLimit: import_zod23.z.string().optional()
3180
+ });
3181
+ var routeTokenSchema = import_zod23.z.object({
3182
+ address: import_zod23.z.string(),
3183
+ symbol: import_zod23.z.string(),
3184
+ decimals: import_zod23.z.number().int(),
3185
+ logoUrl: import_zod23.z.string()
3186
+ });
3187
+ var routeStepSchema = import_zod23.z.object({
3188
+ action: import_zod23.z.string(),
3063
3189
  from: routeTokenSchema,
3064
3190
  to: routeTokenSchema
3065
3191
  });
3066
- var routeMetadataSchema = import_zod21.z.object({
3067
- provider: import_zod21.z.string(),
3068
- providerImg: import_zod21.z.string(),
3069
- amountOut: import_zod21.z.string(),
3070
- gas: import_zod21.z.string(),
3071
- route: import_zod21.z.array(routeStepSchema)
3192
+ var routeMetadataSchema = import_zod23.z.object({
3193
+ provider: import_zod23.z.string(),
3194
+ providerImg: import_zod23.z.string(),
3195
+ amountOut: import_zod23.z.string(),
3196
+ gas: import_zod23.z.string(),
3197
+ route: import_zod23.z.array(routeStepSchema)
3072
3198
  });
3073
- var txResponseItemSchema = import_zod21.z.object({
3074
- type: import_zod21.z.string().optional(),
3075
- description: import_zod21.z.string().optional(),
3199
+ var txResponseItemSchema = import_zod23.z.object({
3200
+ type: import_zod23.z.string().optional(),
3201
+ description: import_zod23.z.string().optional(),
3076
3202
  transaction: transactionSchema,
3077
3203
  metadata: routeMetadataSchema.optional()
3078
3204
  });
3079
- var actionResponseSchema = import_zod21.z.object({
3080
- actionId: import_zod21.z.string().uuid().optional(),
3081
- transactions: import_zod21.z.array(txResponseItemSchema).nullable()
3205
+ var actionResponseSchema = import_zod23.z.object({
3206
+ actionId: import_zod23.z.string().uuid().optional(),
3207
+ transactions: import_zod23.z.array(txResponseItemSchema).nullable()
3082
3208
  });
3083
- var attributeActionResponseSchema = import_zod21.z.object({
3084
- success: import_zod21.z.boolean(),
3085
- message: import_zod21.z.string().optional()
3209
+ var attributeActionResponseSchema = import_zod23.z.object({
3210
+ success: import_zod23.z.boolean(),
3211
+ message: import_zod23.z.string().optional()
3086
3212
  });
3087
3213
 
3088
3214
  // src/v2/earn-actions/api.ts
@@ -4588,15 +4714,15 @@ function useUploadIncentiveIcon(options) {
4588
4714
  var import_react_query22 = require("@tanstack/react-query");
4589
4715
 
4590
4716
  // src/v2/distributors/schema.ts
4591
- var import_zod22 = require("zod");
4592
- var updateDistributorEarnDetailsInputSchema = import_zod22.z.object({
4593
- organizationId: import_zod22.z.string().uuid(),
4594
- distributorId: import_zod22.z.string().uuid(),
4595
- earnDetails: import_zod22.z.any()
4717
+ var import_zod24 = require("zod");
4718
+ var updateDistributorEarnDetailsInputSchema = import_zod24.z.object({
4719
+ organizationId: import_zod24.z.string().uuid(),
4720
+ distributorId: import_zod24.z.string().uuid(),
4721
+ earnDetails: import_zod24.z.any()
4596
4722
  // JSONB value - using any for now as requested
4597
4723
  });
4598
- var updateDistributorEarnDetailsResponseSchema = import_zod22.z.object({
4599
- success: import_zod22.z.boolean()
4724
+ var updateDistributorEarnDetailsResponseSchema = import_zod24.z.object({
4725
+ success: import_zod24.z.boolean()
4600
4726
  });
4601
4727
 
4602
4728
  // src/v2/distributors/api.ts
@@ -4633,6 +4759,49 @@ function useLiquidityProviders({ input, enabled = true }) {
4633
4759
  });
4634
4760
  }
4635
4761
 
4762
+ // src/v2/org-leaderboard/hooks.ts
4763
+ var import_react_query24 = require("@tanstack/react-query");
4764
+ var orgLeaderboardCache = {
4765
+ staleTime: 5 * 60 * 1e3,
4766
+ // 5 minutes
4767
+ gcTime: 10 * 60 * 1e3
4768
+ // 10 minutes
4769
+ };
4770
+ function useOrgLeaderboard({
4771
+ orgId,
4772
+ params,
4773
+ enabled = true
4774
+ }) {
4775
+ const query = (0, import_react_query24.useQuery)({
4776
+ ...orgLeaderboardQueries.list(orgId, params),
4777
+ ...queryDefaults,
4778
+ ...orgLeaderboardCache,
4779
+ enabled: enabled && !!orgId
4780
+ });
4781
+ return {
4782
+ ...query,
4783
+ rows: query.data?.rows ?? [],
4784
+ total: query.data?.total,
4785
+ totalPages: query.data?.totalPages
4786
+ };
4787
+ }
4788
+ function useOrgUserLeaderboard({
4789
+ orgId,
4790
+ userId,
4791
+ enabled = true
4792
+ }) {
4793
+ const query = (0, import_react_query24.useQuery)({
4794
+ ...orgLeaderboardQueries.user(orgId, userId),
4795
+ ...queryDefaults,
4796
+ ...orgLeaderboardCache,
4797
+ enabled: enabled && !!orgId && !!userId
4798
+ });
4799
+ return {
4800
+ ...query,
4801
+ userInfo: query.data?.userInfo
4802
+ };
4803
+ }
4804
+
4636
4805
  // src/v2/lib/turtle-provider.tsx
4637
4806
  var import_jsx_runtime = require("react/jsx-runtime");
4638
4807
  function TurtleHooksProvider({
@@ -4648,7 +4817,7 @@ function TurtleHooksProvider({
4648
4817
  }
4649
4818
 
4650
4819
  // src/v2/index.ts
4651
- var queries = (0, import_query_key_factory21.mergeQueryKeys)(
4820
+ var queries = (0, import_query_key_factory22.mergeQueryKeys)(
4652
4821
  opportunitiesQueries,
4653
4822
  earnOpportunitiesQueries,
4654
4823
  earnRouteQueries,
@@ -4668,7 +4837,8 @@ var queries = (0, import_query_key_factory21.mergeQueryKeys)(
4668
4837
  depositsQueries,
4669
4838
  incentivesQueries,
4670
4839
  liquidityProvidersQueries,
4671
- geocheckQueries
4840
+ geocheckQueries,
4841
+ orgLeaderboardQueries
4672
4842
  );
4673
4843
  // Annotate the CommonJS export names for ESM import in node:
4674
4844
  0 && (module.exports = {
@@ -4760,6 +4930,9 @@ var queries = (0, import_query_key_factory21.mergeQueryKeys)(
4760
4930
  getOpportunitiesPaginatedSchema,
4761
4931
  getOpportunityById,
4762
4932
  getOpportunityByIdInputSchema,
4933
+ getOrgLeaderboard,
4934
+ getOrgLeaderboardParamsSchema,
4935
+ getOrgUserLeaderboard,
4763
4936
  getPortfolioBalance,
4764
4937
  getProduct,
4765
4938
  getProducts,
@@ -4803,9 +4976,15 @@ var queries = (0, import_query_key_factory21.mergeQueryKeys)(
4803
4976
  opportunitiesResponseSchema,
4804
4977
  opportunityFiltersSchema,
4805
4978
  opportunitySchema,
4979
+ orgLeaderboardQueries,
4980
+ orgLeaderboardResponseSchema,
4981
+ orgLeaderboardRowSchema,
4982
+ orgLeaderboardSortBySchema,
4983
+ orgLeaderboardSortOrderSchema,
4984
+ orgUserLeaderboardInfoSchema,
4985
+ orgUserLeaderboardResponseSchema,
4806
4986
  organizationSchema,
4807
4987
  organizationsMutations,
4808
- paginationMetadataSchema,
4809
4988
  paginationSchema,
4810
4989
  portfolioBalanceResponseSchema,
4811
4990
  portfolioHoldingsSchema,
@@ -4905,6 +5084,8 @@ var queries = (0, import_query_key_factory21.mergeQueryKeys)(
4905
5084
  useOpportunitiesFilterOptions,
4906
5085
  useOpportunitiesPaginated,
4907
5086
  useOpportunity,
5087
+ useOrgLeaderboard,
5088
+ useOrgUserLeaderboard,
4908
5089
  usePortfolioBalance,
4909
5090
  useProduct,
4910
5091
  useProducts,