@sudobility/heavymath_indexer_client 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/LICENSE.md +80 -0
  2. package/README.md +380 -0
  3. package/dist/business/index.d.ts +2 -0
  4. package/dist/business/index.d.ts.map +1 -0
  5. package/dist/business/index.js +2 -0
  6. package/dist/business/index.js.map +1 -0
  7. package/dist/business/indexer-service.d.ts +40 -0
  8. package/dist/business/indexer-service.d.ts.map +1 -0
  9. package/dist/business/indexer-service.js +201 -0
  10. package/dist/business/indexer-service.js.map +1 -0
  11. package/dist/hooks/index.d.ts +9 -0
  12. package/dist/hooks/index.d.ts.map +1 -0
  13. package/dist/hooks/index.js +9 -0
  14. package/dist/hooks/index.js.map +1 -0
  15. package/dist/hooks/useDealers.d.ts +16 -0
  16. package/dist/hooks/useDealers.d.ts.map +1 -0
  17. package/dist/hooks/useDealers.js +113 -0
  18. package/dist/hooks/useDealers.js.map +1 -0
  19. package/dist/hooks/useFavorites.d.ts +31 -0
  20. package/dist/hooks/useFavorites.d.ts.map +1 -0
  21. package/dist/hooks/useFavorites.js +140 -0
  22. package/dist/hooks/useFavorites.js.map +1 -0
  23. package/dist/hooks/useMarkets.d.ts +16 -0
  24. package/dist/hooks/useMarkets.d.ts.map +1 -0
  25. package/dist/hooks/useMarkets.js +73 -0
  26. package/dist/hooks/useMarkets.js.map +1 -0
  27. package/dist/hooks/useOracle.d.ts +9 -0
  28. package/dist/hooks/useOracle.d.ts.map +1 -0
  29. package/dist/hooks/useOracle.js +45 -0
  30. package/dist/hooks/useOracle.js.map +1 -0
  31. package/dist/hooks/usePredictions.d.ts +15 -0
  32. package/dist/hooks/usePredictions.d.ts.map +1 -0
  33. package/dist/hooks/usePredictions.js +58 -0
  34. package/dist/hooks/usePredictions.js.map +1 -0
  35. package/dist/hooks/useSSE.d.ts +29 -0
  36. package/dist/hooks/useSSE.d.ts.map +1 -0
  37. package/dist/hooks/useSSE.js +217 -0
  38. package/dist/hooks/useSSE.js.map +1 -0
  39. package/dist/hooks/useStats.d.ts +6 -0
  40. package/dist/hooks/useStats.d.ts.map +1 -0
  41. package/dist/hooks/useStats.js +24 -0
  42. package/dist/hooks/useStats.js.map +1 -0
  43. package/dist/hooks/useWithdrawals.d.ts +8 -0
  44. package/dist/hooks/useWithdrawals.d.ts.map +1 -0
  45. package/dist/hooks/useWithdrawals.js +35 -0
  46. package/dist/hooks/useWithdrawals.js.map +1 -0
  47. package/dist/index.d.ts +6 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +6 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/network/IndexerClient.d.ts +26 -0
  52. package/dist/network/IndexerClient.d.ts.map +1 -0
  53. package/dist/network/IndexerClient.js +215 -0
  54. package/dist/network/IndexerClient.js.map +1 -0
  55. package/dist/network/index.d.ts +2 -0
  56. package/dist/network/index.d.ts.map +1 -0
  57. package/dist/network/index.js +2 -0
  58. package/dist/network/index.js.map +1 -0
  59. package/dist/stores/favorites-store.d.ts +35 -0
  60. package/dist/stores/favorites-store.d.ts.map +1 -0
  61. package/dist/stores/favorites-store.js +165 -0
  62. package/dist/stores/favorites-store.js.map +1 -0
  63. package/dist/stores/index.d.ts +2 -0
  64. package/dist/stores/index.d.ts.map +1 -0
  65. package/dist/stores/index.js +2 -0
  66. package/dist/stores/index.js.map +1 -0
  67. package/dist/types.d.ts +118 -0
  68. package/dist/types.d.ts.map +1 -0
  69. package/dist/types.js +2 -0
  70. package/dist/types.js.map +1 -0
  71. package/package.json +77 -0
@@ -0,0 +1,73 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ export function useMarkets(client, filters, options) {
3
+ return useQuery({
4
+ queryKey: ['heavymath', 'markets', filters],
5
+ queryFn: async () => {
6
+ return await client.getMarkets(filters);
7
+ },
8
+ staleTime: 2 * 60 * 1000,
9
+ retry: false,
10
+ ...options,
11
+ });
12
+ }
13
+ export function useActiveMarkets(client, limit = 50, options) {
14
+ return useMarkets(client, {
15
+ status: 'Active',
16
+ limit,
17
+ }, options);
18
+ }
19
+ export function useMarket(client, marketId, options) {
20
+ return useQuery({
21
+ queryKey: ['heavymath', 'market', marketId],
22
+ queryFn: async () => {
23
+ if (!marketId)
24
+ throw new Error('Market ID is required');
25
+ return await client.getMarket(marketId);
26
+ },
27
+ enabled: !!marketId,
28
+ staleTime: 2 * 60 * 1000,
29
+ retry: false,
30
+ ...options,
31
+ });
32
+ }
33
+ export function useMarketPredictions(client, marketId, options) {
34
+ return useQuery({
35
+ queryKey: ['heavymath', 'market-predictions', marketId],
36
+ queryFn: async () => {
37
+ if (!marketId)
38
+ throw new Error('Market ID is required');
39
+ return await client.getMarketPredictions(marketId);
40
+ },
41
+ enabled: !!marketId,
42
+ staleTime: 1 * 60 * 1000,
43
+ retry: false,
44
+ ...options,
45
+ });
46
+ }
47
+ export function useMarketHistory(client, marketId, options) {
48
+ return useQuery({
49
+ queryKey: ['heavymath', 'market-history', marketId],
50
+ queryFn: async () => {
51
+ if (!marketId)
52
+ throw new Error('Market ID is required');
53
+ return await client.getMarketHistory(marketId);
54
+ },
55
+ enabled: !!marketId,
56
+ staleTime: 5 * 60 * 1000,
57
+ retry: false,
58
+ ...options,
59
+ });
60
+ }
61
+ export function useMarketDetails(client, marketId) {
62
+ const market = useMarket(client, marketId);
63
+ const predictions = useMarketPredictions(client, marketId);
64
+ const history = useMarketHistory(client, marketId);
65
+ return {
66
+ market,
67
+ predictions,
68
+ history,
69
+ isLoading: market.isLoading || predictions.isLoading || history.isLoading,
70
+ isError: market.isError || predictions.isError || history.isError,
71
+ };
72
+ }
73
+ //# sourceMappingURL=useMarkets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMarkets.js","sourceRoot":"","sources":["../../src/hooks/useMarkets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import type { OracleRequest, PaginatedResponse, ApiResponse, OracleFilters } from '../types';
3
+ import { IndexerClient } from '../network/IndexerClient';
4
+ export declare function useOracleRequests(client: IndexerClient, filters?: OracleFilters, options?: Omit<UseQueryOptions<PaginatedResponse<OracleRequest>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<OracleRequest>>;
5
+ export declare function useOracleRequest(client: IndexerClient, requestId: string | undefined, options?: Omit<UseQueryOptions<ApiResponse<OracleRequest>>, 'queryKey' | 'queryFn'>): UseQueryResult<ApiResponse<OracleRequest>>;
6
+ export declare function useMarketOracle(client: IndexerClient, marketId: string | undefined, options?: Omit<UseQueryOptions<PaginatedResponse<OracleRequest>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<OracleRequest>>;
7
+ export declare function useTimedOutOracleRequests(client: IndexerClient, options?: Omit<UseQueryOptions<PaginatedResponse<OracleRequest>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<OracleRequest>>;
8
+ export declare function usePendingOracleRequests(client: IndexerClient, options?: Omit<UseQueryOptions<PaginatedResponse<OracleRequest>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<OracleRequest>>;
9
+ //# sourceMappingURL=useOracle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOracle.d.ts","sourceRoot":"","sources":["../../src/hooks/useOracle.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAWzD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACxF,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAUlD;AAWD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAClF,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAY5C;AAWD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACxF,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAWlD;AAWD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACxF,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAQlD;AAWD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACxF,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAQlD"}
@@ -0,0 +1,45 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ export function useOracleRequests(client, filters, options) {
3
+ return useQuery({
4
+ queryKey: ['heavymath', 'oracle-requests', filters],
5
+ queryFn: async () => {
6
+ return await client.getOracleRequests(filters);
7
+ },
8
+ staleTime: 1 * 60 * 1000,
9
+ retry: false,
10
+ ...options,
11
+ });
12
+ }
13
+ export function useOracleRequest(client, requestId, options) {
14
+ return useQuery({
15
+ queryKey: ['heavymath', 'oracle-request', requestId],
16
+ queryFn: async () => {
17
+ if (!requestId)
18
+ throw new Error('Request ID is required');
19
+ return await client.getOracleRequest(requestId);
20
+ },
21
+ enabled: !!requestId,
22
+ staleTime: 2 * 60 * 1000,
23
+ retry: false,
24
+ ...options,
25
+ });
26
+ }
27
+ export function useMarketOracle(client, marketId, options) {
28
+ return useOracleRequests(client, {
29
+ market: marketId,
30
+ }, {
31
+ ...options,
32
+ enabled: !!marketId && (options?.enabled ?? true),
33
+ });
34
+ }
35
+ export function useTimedOutOracleRequests(client, options) {
36
+ return useOracleRequests(client, {
37
+ timedOut: true,
38
+ }, options);
39
+ }
40
+ export function usePendingOracleRequests(client, options) {
41
+ return useOracleRequests(client, {
42
+ timedOut: false,
43
+ }, options);
44
+ }
45
+ //# sourceMappingURL=useOracle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOracle.js","sourceRoot":"","sources":["../../src/hooks/useOracle.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAmC,MAAM,uBAAuB,CAAC;AAalF,MAAM,UAAU,iBAAiB,CAC/B,MAAqB,EACrB,OAAuB,EACvB,OAAyF;IAEzF,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC;QACnD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,KAAK,EAAE,KAAK;QACZ,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,gBAAgB,CAC9B,MAAqB,EACrB,SAA6B,EAC7B,OAAmF;IAEnF,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,SAAS,CAAC;QACpD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC1D,OAAO,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,EAAE,CAAC,CAAC,SAAS;QACpB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,KAAK,EAAE,KAAK;QACZ,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,eAAe,CAC7B,MAAqB,EACrB,QAA4B,EAC5B,OAAyF;IAEzF,OAAO,iBAAiB,CACtB,MAAM,EACN;QACE,MAAM,EAAE,QAAQ;KACjB,EACD;QACE,GAAG,OAAO;QACV,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;KAClD,CACF,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,yBAAyB,CACvC,MAAqB,EACrB,OAAyF;IAEzF,OAAO,iBAAiB,CACtB,MAAM,EACN;QACE,QAAQ,EAAE,IAAI;KACf,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,wBAAwB,CACtC,MAAqB,EACrB,OAAyF;IAEzF,OAAO,iBAAiB,CACtB,MAAM,EACN;QACE,QAAQ,EAAE,KAAK;KAChB,EACD,OAAO,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import type { Prediction, PaginatedResponse, ApiResponse, PredictionFilters } from '../types';
3
+ import { IndexerClient } from '../network/IndexerClient';
4
+ export declare function usePredictions(client: IndexerClient, filters?: PredictionFilters, options?: Omit<UseQueryOptions<PaginatedResponse<Prediction>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<Prediction>>;
5
+ export declare function useUserPredictions(client: IndexerClient, walletAddress: string | undefined, filters?: Omit<PredictionFilters, 'user'>, options?: Omit<UseQueryOptions<PaginatedResponse<Prediction>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<Prediction>>;
6
+ export declare function useActiveBets(client: IndexerClient, walletAddress: string | undefined, options?: Omit<UseQueryOptions<PaginatedResponse<Prediction>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<Prediction>>;
7
+ export declare function usePastBets(client: IndexerClient, walletAddress: string | undefined, options?: Omit<UseQueryOptions<PaginatedResponse<Prediction>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<Prediction>>;
8
+ export declare function usePrediction(client: IndexerClient, predictionId: string | undefined, options?: Omit<UseQueryOptions<ApiResponse<Prediction>>, 'queryKey' | 'queryFn'>): UseQueryResult<ApiResponse<Prediction>>;
9
+ export declare function useUserBettingHistory(client: IndexerClient, walletAddress: string | undefined): {
10
+ active: UseQueryResult<PaginatedResponse<Prediction>>;
11
+ claimed: UseQueryResult<PaginatedResponse<Prediction>>;
12
+ isLoading: boolean;
13
+ isError: boolean;
14
+ };
15
+ //# sourceMappingURL=usePredictions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePredictions.d.ts","sourceRoot":"","sources":["../../src/hooks/usePredictions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAczD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACrF,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAU/C;AAWD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EACzC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACrF,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAY/C;AAUD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACrF,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAU/C;AAUD,wBAAgB,WAAW,CACzB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACrF,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAU/C;AAWD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAC/E,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAYzC;AAWD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC;IACD,MAAM,EAAE,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IACtD,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAUA"}
@@ -0,0 +1,58 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ export function usePredictions(client, filters, options) {
3
+ return useQuery({
4
+ queryKey: ['heavymath', 'predictions', filters],
5
+ queryFn: async () => {
6
+ return await client.getPredictions(filters);
7
+ },
8
+ staleTime: 1 * 60 * 1000,
9
+ retry: false,
10
+ ...options,
11
+ });
12
+ }
13
+ export function useUserPredictions(client, walletAddress, filters, options) {
14
+ return usePredictions(client, {
15
+ user: walletAddress,
16
+ ...filters,
17
+ }, {
18
+ ...options,
19
+ enabled: !!walletAddress && (options?.enabled ?? true),
20
+ });
21
+ }
22
+ export function useActiveBets(client, walletAddress, options) {
23
+ return useUserPredictions(client, walletAddress, {
24
+ claimed: false,
25
+ limit: 100,
26
+ }, options);
27
+ }
28
+ export function usePastBets(client, walletAddress, options) {
29
+ return useUserPredictions(client, walletAddress, {
30
+ claimed: true,
31
+ limit: 100,
32
+ }, options);
33
+ }
34
+ export function usePrediction(client, predictionId, options) {
35
+ return useQuery({
36
+ queryKey: ['heavymath', 'prediction', predictionId],
37
+ queryFn: async () => {
38
+ if (!predictionId)
39
+ throw new Error('Prediction ID is required');
40
+ return await client.getPrediction(predictionId);
41
+ },
42
+ enabled: !!predictionId,
43
+ staleTime: 2 * 60 * 1000,
44
+ retry: false,
45
+ ...options,
46
+ });
47
+ }
48
+ export function useUserBettingHistory(client, walletAddress) {
49
+ const active = useActiveBets(client, walletAddress);
50
+ const claimed = usePastBets(client, walletAddress);
51
+ return {
52
+ active,
53
+ claimed,
54
+ isLoading: active.isLoading || claimed.isLoading,
55
+ isError: active.isError || claimed.isError,
56
+ };
57
+ }
58
+ //# sourceMappingURL=usePredictions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePredictions.js","sourceRoot":"","sources":["../../src/hooks/usePredictions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAmC,MAAM,uBAAuB,CAAC;AAgBlF,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,OAA2B,EAC3B,OAAsF;IAEtF,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC;QAC/C,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,KAAK,EAAE,KAAK;QACZ,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,aAAiC,EACjC,OAAyC,EACzC,OAAsF;IAEtF,OAAO,cAAc,CACnB,MAAM,EACN;QACE,IAAI,EAAE,aAAa;QACnB,GAAG,OAAO;KACX,EACD;QACE,GAAG,OAAO;QACV,OAAO,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;KACvD,CACF,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,aAAa,CAC3B,MAAqB,EACrB,aAAiC,EACjC,OAAsF;IAEtF,OAAO,kBAAkB,CACvB,MAAM,EACN,aAAa,EACb;QACE,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,GAAG;KACX,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,WAAW,CACzB,MAAqB,EACrB,aAAiC,EACjC,OAAsF;IAEtF,OAAO,kBAAkB,CACvB,MAAM,EACN,aAAa,EACb;QACE,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,GAAG;KACX,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,aAAa,CAC3B,MAAqB,EACrB,YAAgC,EAChC,OAAgF;IAEhF,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;QACnD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAChE,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,EAAE,CAAC,CAAC,YAAY;QACvB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,KAAK,EAAE,KAAK;QACZ,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,qBAAqB,CACnC,MAAqB,EACrB,aAAiC;IAOjC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEnD,OAAO;QACL,MAAM;QACN,OAAO;QACP,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;QAChD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;KAC3C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { SubscriptionChannel, SSEFilters, SSEDataUpdateMessage, SSEConnectionState } from '../types';
2
+ export interface UseSSEOptions {
3
+ channel?: SubscriptionChannel;
4
+ filters?: SSEFilters;
5
+ autoReconnect?: boolean;
6
+ reconnectDelay?: number;
7
+ maxReconnectAttempts?: number;
8
+ onEvent?: (event: SSEDataUpdateMessage) => void;
9
+ onStateChange?: (state: SSEConnectionState) => void;
10
+ onError?: (error: Error) => void;
11
+ invalidateQueries?: boolean;
12
+ enabled?: boolean;
13
+ }
14
+ export interface UseSSEReturn {
15
+ connectionState: SSEConnectionState;
16
+ lastEvent: SSEDataUpdateMessage | null;
17
+ events: SSEDataUpdateMessage[];
18
+ clientId: string | null;
19
+ subscriptionId: string | null;
20
+ error: Error | null;
21
+ reconnect: () => void;
22
+ disconnect: () => void;
23
+ clearEvents: () => void;
24
+ }
25
+ export declare function useSSE(endpointUrl: string, options?: UseSSEOptions): UseSSEReturn;
26
+ export declare function useMarketUpdates(endpointUrl: string, marketId: string | undefined, options?: Omit<UseSSEOptions, 'channel' | 'filters'>): UseSSEReturn;
27
+ export declare function useAllMarketUpdates(endpointUrl: string, options?: Omit<UseSSEOptions, 'channel'>): UseSSEReturn;
28
+ export declare function useUserPredictionUpdates(endpointUrl: string, userAddress: string | undefined, options?: Omit<UseSSEOptions, 'channel' | 'filters'>): UseSSEReturn;
29
+ //# sourceMappingURL=useSSE.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSSE.d.ts","sourceRoot":"","sources":["../../src/hooks/useSSE.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EAEV,oBAAoB,EACpB,kBAAkB,EAEnB,MAAM,UAAU,CAAC;AAKlB,MAAM,WAAW,aAAa;IAE5B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAEhD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAEpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,MAAM,WAAW,YAAY;IAE3B,eAAe,EAAE,kBAAkB,CAAC;IAEpC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAEvC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAE/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAkCD,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,CA0MrF;AAcD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,CAAM,GACvD,YAAY,CAOd;AAUD,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAM,GAC3C,YAAY,CAKd;AAaD,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,CAAM,GACvD,YAAY,CAOd"}
@@ -0,0 +1,217 @@
1
+ import { useState, useEffect, useRef, useCallback } from 'react';
2
+ import { useQueryClient } from '@tanstack/react-query';
3
+ export function useSSE(endpointUrl, options = {}) {
4
+ const { channel = 'markets', filters = {}, autoReconnect = true, reconnectDelay = 3000, maxReconnectAttempts = 5, onEvent, onStateChange, onError, invalidateQueries = false, enabled = true, } = options;
5
+ const [connectionState, setConnectionState] = useState('disconnected');
6
+ const [lastEvent, setLastEvent] = useState(null);
7
+ const [events, setEvents] = useState([]);
8
+ const [clientId, setClientId] = useState(null);
9
+ const [subscriptionId, setSubscriptionId] = useState(null);
10
+ const [error, setError] = useState(null);
11
+ const eventSourceRef = useRef(null);
12
+ const reconnectAttemptsRef = useRef(0);
13
+ const reconnectTimeoutRef = useRef(null);
14
+ const queryClient = useQueryClient();
15
+ const updateConnectionState = useCallback((state) => {
16
+ setConnectionState(state);
17
+ onStateChange?.(state);
18
+ }, [onStateChange]);
19
+ const handleMessage = useCallback((messageEvent) => {
20
+ try {
21
+ const message = JSON.parse(messageEvent.data);
22
+ if (message.type === 'connected') {
23
+ setClientId(message.clientId);
24
+ setSubscriptionId(message.subscriptionId);
25
+ updateConnectionState('connected');
26
+ reconnectAttemptsRef.current = 0;
27
+ }
28
+ else if (message.type === 'data_update') {
29
+ const dataMessage = message;
30
+ setLastEvent(dataMessage);
31
+ setEvents(prev => [...prev, dataMessage]);
32
+ onEvent?.(dataMessage);
33
+ if (invalidateQueries) {
34
+ invalidateQueryCaches(queryClient, dataMessage.eventType, dataMessage.data);
35
+ }
36
+ }
37
+ }
38
+ catch (err) {
39
+ console.error('[SSE] Failed to parse message:', err);
40
+ }
41
+ }, [onEvent, invalidateQueries, queryClient, updateConnectionState]);
42
+ const connect = useCallback(() => {
43
+ if (!enabled)
44
+ return;
45
+ if (eventSourceRef.current) {
46
+ eventSourceRef.current.close();
47
+ }
48
+ const url = new URL(`${endpointUrl}/api/events`);
49
+ url.searchParams.set('channel', channel);
50
+ if (filters.marketId)
51
+ url.searchParams.set('marketId', filters.marketId);
52
+ if (filters.dealer)
53
+ url.searchParams.set('dealer', filters.dealer);
54
+ if (filters.user)
55
+ url.searchParams.set('user', filters.user);
56
+ if (filters.category)
57
+ url.searchParams.set('category', filters.category);
58
+ updateConnectionState('connecting');
59
+ setError(null);
60
+ try {
61
+ const eventSource = new EventSource(url.toString());
62
+ eventSourceRef.current = eventSource;
63
+ eventSource.onmessage = handleMessage;
64
+ eventSource.addEventListener('connected', handleMessage);
65
+ eventSource.addEventListener('data_update', handleMessage);
66
+ eventSource.addEventListener('heartbeat', () => {
67
+ });
68
+ eventSource.addEventListener('subscription_confirmed', handleMessage);
69
+ eventSource.onerror = () => {
70
+ updateConnectionState('error');
71
+ const err = new Error('SSE connection error');
72
+ setError(err);
73
+ onError?.(err);
74
+ if (autoReconnect && reconnectAttemptsRef.current < maxReconnectAttempts) {
75
+ reconnectAttemptsRef.current++;
76
+ console.log(`[SSE] Reconnecting (attempt ${reconnectAttemptsRef.current}/${maxReconnectAttempts})...`);
77
+ reconnectTimeoutRef.current = setTimeout(() => {
78
+ connect();
79
+ }, reconnectDelay);
80
+ }
81
+ else if (reconnectAttemptsRef.current >= maxReconnectAttempts) {
82
+ console.error('[SSE] Max reconnection attempts reached');
83
+ updateConnectionState('disconnected');
84
+ }
85
+ };
86
+ }
87
+ catch (err) {
88
+ const error = err instanceof Error ? err : new Error('Failed to connect to SSE');
89
+ setError(error);
90
+ onError?.(error);
91
+ updateConnectionState('error');
92
+ }
93
+ }, [
94
+ enabled,
95
+ endpointUrl,
96
+ channel,
97
+ filters,
98
+ handleMessage,
99
+ autoReconnect,
100
+ maxReconnectAttempts,
101
+ reconnectDelay,
102
+ updateConnectionState,
103
+ onError,
104
+ ]);
105
+ const disconnect = useCallback(() => {
106
+ if (reconnectTimeoutRef.current) {
107
+ clearTimeout(reconnectTimeoutRef.current);
108
+ reconnectTimeoutRef.current = null;
109
+ }
110
+ if (eventSourceRef.current) {
111
+ eventSourceRef.current.close();
112
+ eventSourceRef.current = null;
113
+ }
114
+ setClientId(null);
115
+ setSubscriptionId(null);
116
+ updateConnectionState('disconnected');
117
+ }, [updateConnectionState]);
118
+ const reconnect = useCallback(() => {
119
+ reconnectAttemptsRef.current = 0;
120
+ disconnect();
121
+ connect();
122
+ }, [disconnect, connect]);
123
+ const clearEvents = useCallback(() => {
124
+ setEvents([]);
125
+ setLastEvent(null);
126
+ }, []);
127
+ useEffect(() => {
128
+ if (enabled) {
129
+ connect();
130
+ }
131
+ else {
132
+ disconnect();
133
+ }
134
+ return () => {
135
+ disconnect();
136
+ };
137
+ }, [enabled, connect, disconnect]);
138
+ useEffect(() => {
139
+ if (enabled && connectionState === 'connected') {
140
+ reconnect();
141
+ }
142
+ }, [channel, JSON.stringify(filters), enabled, connectionState, reconnect]);
143
+ return {
144
+ connectionState,
145
+ lastEvent,
146
+ events,
147
+ clientId,
148
+ subscriptionId,
149
+ error,
150
+ reconnect,
151
+ disconnect,
152
+ clearEvents,
153
+ };
154
+ }
155
+ export function useMarketUpdates(endpointUrl, marketId, options = {}) {
156
+ return useSSE(endpointUrl, {
157
+ ...options,
158
+ channel: 'market',
159
+ filters: { marketId },
160
+ enabled: !!marketId && (options.enabled ?? true),
161
+ });
162
+ }
163
+ export function useAllMarketUpdates(endpointUrl, options = {}) {
164
+ return useSSE(endpointUrl, {
165
+ ...options,
166
+ channel: 'markets',
167
+ });
168
+ }
169
+ export function useUserPredictionUpdates(endpointUrl, userAddress, options = {}) {
170
+ return useSSE(endpointUrl, {
171
+ ...options,
172
+ channel: 'predictions',
173
+ filters: { user: userAddress },
174
+ enabled: !!userAddress && (options.enabled ?? true),
175
+ });
176
+ }
177
+ function invalidateQueryCaches(queryClient, eventType, data) {
178
+ const eventData = data;
179
+ switch (eventType) {
180
+ case 'MarketCreated':
181
+ case 'MarketResolved':
182
+ case 'MarketCancelled':
183
+ case 'MarketAbandoned':
184
+ case 'DealerFeeSet':
185
+ queryClient.invalidateQueries({ queryKey: ['heavymath', 'markets'] });
186
+ if (eventData.marketId) {
187
+ queryClient.invalidateQueries({
188
+ queryKey: ['heavymath', 'market', eventData.marketId],
189
+ });
190
+ }
191
+ break;
192
+ case 'PredictionPlaced':
193
+ case 'PredictionUpdated':
194
+ case 'WinningsClaimed':
195
+ case 'RefundClaimed':
196
+ queryClient.invalidateQueries({ queryKey: ['heavymath', 'predictions'] });
197
+ if (eventData.marketId) {
198
+ queryClient.invalidateQueries({
199
+ queryKey: ['heavymath', 'market-predictions', eventData.marketId],
200
+ });
201
+ }
202
+ break;
203
+ case 'LicenseIssued':
204
+ case 'LicenseTransferred':
205
+ case 'PermissionsSet':
206
+ queryClient.invalidateQueries({ queryKey: ['heavymath', 'dealers'] });
207
+ break;
208
+ case 'OracleRegistered':
209
+ case 'OracleDataUpdated':
210
+ queryClient.invalidateQueries({ queryKey: ['heavymath', 'oracle'] });
211
+ break;
212
+ case 'DealerFeesWithdrawn':
213
+ queryClient.invalidateQueries({ queryKey: ['heavymath', 'withdrawals'] });
214
+ break;
215
+ }
216
+ }
217
+ //# sourceMappingURL=useSSE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSSE.js","sourceRoot":"","sources":["../../src/hooks/useSSE.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import type { MarketStats, HealthStatus, ApiResponse } from '../types';
3
+ import { IndexerClient } from '../network/IndexerClient';
4
+ export declare function useMarketStats(client: IndexerClient, options?: Omit<UseQueryOptions<ApiResponse<MarketStats>>, 'queryKey' | 'queryFn'>): UseQueryResult<ApiResponse<MarketStats>>;
5
+ export declare function useHealth(client: IndexerClient, options?: Omit<UseQueryOptions<ApiResponse<HealthStatus>>, 'queryKey' | 'queryFn'>): UseQueryResult<ApiResponse<HealthStatus>>;
6
+ //# sourceMappingURL=useStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStats.d.ts","sourceRoot":"","sources":["../../src/hooks/useStats.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAczD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAChF,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAU1C;AAcD,wBAAgB,SAAS,CACvB,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACjF,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAU3C"}
@@ -0,0 +1,24 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ export function useMarketStats(client, options) {
3
+ return useQuery({
4
+ queryKey: ['heavymath', 'market-stats'],
5
+ queryFn: async () => {
6
+ return await client.getMarketStats();
7
+ },
8
+ staleTime: 5 * 60 * 1000,
9
+ retry: false,
10
+ ...options,
11
+ });
12
+ }
13
+ export function useHealth(client, options) {
14
+ return useQuery({
15
+ queryKey: ['heavymath', 'health'],
16
+ queryFn: async () => {
17
+ return await client.getHealth();
18
+ },
19
+ staleTime: 1 * 60 * 1000,
20
+ retry: false,
21
+ ...options,
22
+ });
23
+ }
24
+ //# sourceMappingURL=useStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStats.js","sourceRoot":"","sources":["../../src/hooks/useStats.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAmC,MAAM,uBAAuB,CAAC;AAgBlF,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,OAAiF;IAEjF,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;QACvC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;QACD,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,KAAK,EAAE,KAAK;QACZ,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,UAAU,SAAS,CACvB,MAAqB,EACrB,OAAkF;IAElF,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;QACjC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC;QACD,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,KAAK,EAAE,KAAK;QACZ,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import type { FeeWithdrawal, PaginatedResponse, WithdrawalFilters } from '../types';
3
+ import { IndexerClient } from '../network/IndexerClient';
4
+ export declare function useWithdrawals(client: IndexerClient, filters?: WithdrawalFilters, options?: Omit<UseQueryOptions<PaginatedResponse<FeeWithdrawal>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<FeeWithdrawal>>;
5
+ export declare function useDealerWithdrawals(client: IndexerClient, dealerAddress: string | undefined, options?: Omit<UseQueryOptions<PaginatedResponse<FeeWithdrawal>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<FeeWithdrawal>>;
6
+ export declare function useSystemWithdrawals(client: IndexerClient, options?: Omit<UseQueryOptions<PaginatedResponse<FeeWithdrawal>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<FeeWithdrawal>>;
7
+ export declare function useMarketWithdrawals(client: IndexerClient, marketId: string | undefined, options?: Omit<UseQueryOptions<PaginatedResponse<FeeWithdrawal>>, 'queryKey' | 'queryFn'>): UseQueryResult<PaginatedResponse<FeeWithdrawal>>;
8
+ //# sourceMappingURL=useWithdrawals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWithdrawals.d.ts","sourceRoot":"","sources":["../../src/hooks/useWithdrawals.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAczD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACxF,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAUlD;AAWD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACxF,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAYlD;AAWD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACxF,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAQlD;AAWD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACxF,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAWlD"}
@@ -0,0 +1,35 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ export function useWithdrawals(client, filters, options) {
3
+ return useQuery({
4
+ queryKey: ['heavymath', 'withdrawals', filters],
5
+ queryFn: async () => {
6
+ return await client.getWithdrawals(filters);
7
+ },
8
+ staleTime: 2 * 60 * 1000,
9
+ retry: false,
10
+ ...options,
11
+ });
12
+ }
13
+ export function useDealerWithdrawals(client, dealerAddress, options) {
14
+ return useWithdrawals(client, {
15
+ withdrawer: dealerAddress,
16
+ type: 'dealer',
17
+ }, {
18
+ ...options,
19
+ enabled: !!dealerAddress && (options?.enabled ?? true),
20
+ });
21
+ }
22
+ export function useSystemWithdrawals(client, options) {
23
+ return useWithdrawals(client, {
24
+ type: 'system',
25
+ }, options);
26
+ }
27
+ export function useMarketWithdrawals(client, marketId, options) {
28
+ return useWithdrawals(client, {
29
+ market: marketId,
30
+ }, {
31
+ ...options,
32
+ enabled: !!marketId && (options?.enabled ?? true),
33
+ });
34
+ }
35
+ //# sourceMappingURL=useWithdrawals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWithdrawals.js","sourceRoot":"","sources":["../../src/hooks/useWithdrawals.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAmC,MAAM,uBAAuB,CAAC;AAgBlF,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,OAA2B,EAC3B,OAAyF;IAEzF,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC;QAC/C,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,KAAK,EAAE,KAAK;QACZ,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,aAAiC,EACjC,OAAyF;IAEzF,OAAO,cAAc,CACnB,MAAM,EACN;QACE,UAAU,EAAE,aAAa;QACzB,IAAI,EAAE,QAAQ;KACf,EACD;QACE,GAAG,OAAO;QACV,OAAO,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;KACvD,CACF,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,OAAyF;IAEzF,OAAO,cAAc,CACnB,MAAM,EACN;QACE,IAAI,EAAE,QAAQ;KACf,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,QAA4B,EAC5B,OAAyF;IAEzF,OAAO,cAAc,CACnB,MAAM,EACN;QACE,MAAM,EAAE,QAAQ;KACjB,EACD;QACE,GAAG,OAAO;QACV,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;KAClD,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './types';
2
+ export * from './network';
3
+ export * from './business';
4
+ export * from './hooks';
5
+ export * from './stores';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * from './types';
2
+ export * from './network';
3
+ export * from './business';
4
+ export * from './hooks';
5
+ export * from './stores';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC"}