@sudobility/indexer_client 0.0.20

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 (114) hide show
  1. package/README.md +576 -0
  2. package/dist/business/index.d.ts +2 -0
  3. package/dist/business/index.d.ts.map +1 -0
  4. package/dist/business/index.js +2 -0
  5. package/dist/business/index.js.map +1 -0
  6. package/dist/business/indexer-service.d.ts +27 -0
  7. package/dist/business/indexer-service.d.ts.map +1 -0
  8. package/dist/business/indexer-service.js +74 -0
  9. package/dist/business/indexer-service.js.map +1 -0
  10. package/dist/hooks/index.d.ts +17 -0
  11. package/dist/hooks/index.d.ts.map +1 -0
  12. package/dist/hooks/index.js +17 -0
  13. package/dist/hooks/index.js.map +1 -0
  14. package/dist/hooks/mocks.d.ts +15 -0
  15. package/dist/hooks/mocks.d.ts.map +1 -0
  16. package/dist/hooks/mocks.js +163 -0
  17. package/dist/hooks/mocks.js.map +1 -0
  18. package/dist/hooks/useIndexerCreateNonce.d.ts +11 -0
  19. package/dist/hooks/useIndexerCreateNonce.d.ts.map +1 -0
  20. package/dist/hooks/useIndexerCreateNonce.js +34 -0
  21. package/dist/hooks/useIndexerCreateNonce.js.map +1 -0
  22. package/dist/hooks/useIndexerGetDelegatedFrom.d.ts +5 -0
  23. package/dist/hooks/useIndexerGetDelegatedFrom.d.ts.map +1 -0
  24. package/dist/hooks/useIndexerGetDelegatedFrom.js +15 -0
  25. package/dist/hooks/useIndexerGetDelegatedFrom.js.map +1 -0
  26. package/dist/hooks/useIndexerGetDelegatedTo.d.ts +5 -0
  27. package/dist/hooks/useIndexerGetDelegatedTo.d.ts.map +1 -0
  28. package/dist/hooks/useIndexerGetDelegatedTo.js +15 -0
  29. package/dist/hooks/useIndexerGetDelegatedTo.js.map +1 -0
  30. package/dist/hooks/useIndexerGetEntitlement.d.ts +5 -0
  31. package/dist/hooks/useIndexerGetEntitlement.d.ts.map +1 -0
  32. package/dist/hooks/useIndexerGetEntitlement.js +15 -0
  33. package/dist/hooks/useIndexerGetEntitlement.js.map +1 -0
  34. package/dist/hooks/useIndexerGetNonce.d.ts +5 -0
  35. package/dist/hooks/useIndexerGetNonce.d.ts.map +1 -0
  36. package/dist/hooks/useIndexerGetNonce.js +15 -0
  37. package/dist/hooks/useIndexerGetNonce.js.map +1 -0
  38. package/dist/hooks/useIndexerGetPointsBalance.d.ts +5 -0
  39. package/dist/hooks/useIndexerGetPointsBalance.d.ts.map +1 -0
  40. package/dist/hooks/useIndexerGetPointsBalance.js +15 -0
  41. package/dist/hooks/useIndexerGetPointsBalance.js.map +1 -0
  42. package/dist/hooks/useIndexerGetSigningMessage.d.ts +10 -0
  43. package/dist/hooks/useIndexerGetSigningMessage.d.ts.map +1 -0
  44. package/dist/hooks/useIndexerGetSigningMessage.js +39 -0
  45. package/dist/hooks/useIndexerGetSigningMessage.js.map +1 -0
  46. package/dist/hooks/useIndexerGetWalletAccounts.d.ts +5 -0
  47. package/dist/hooks/useIndexerGetWalletAccounts.d.ts.map +1 -0
  48. package/dist/hooks/useIndexerGetWalletAccounts.js +21 -0
  49. package/dist/hooks/useIndexerGetWalletAccounts.js.map +1 -0
  50. package/dist/hooks/useIndexerMail.d.ts +21 -0
  51. package/dist/hooks/useIndexerMail.d.ts.map +1 -0
  52. package/dist/hooks/useIndexerMail.js +257 -0
  53. package/dist/hooks/useIndexerMail.js.map +1 -0
  54. package/dist/hooks/useIndexerNameService.d.ts +6 -0
  55. package/dist/hooks/useIndexerNameService.d.ts.map +1 -0
  56. package/dist/hooks/useIndexerNameService.js +30 -0
  57. package/dist/hooks/useIndexerNameService.js.map +1 -0
  58. package/dist/hooks/useIndexerPoints.d.ts +12 -0
  59. package/dist/hooks/useIndexerPoints.d.ts.map +1 -0
  60. package/dist/hooks/useIndexerPoints.js +79 -0
  61. package/dist/hooks/useIndexerPoints.js.map +1 -0
  62. package/dist/hooks/useIndexerReferralCode.d.ts +12 -0
  63. package/dist/hooks/useIndexerReferralCode.d.ts.map +1 -0
  64. package/dist/hooks/useIndexerReferralCode.js +42 -0
  65. package/dist/hooks/useIndexerReferralCode.js.map +1 -0
  66. package/dist/hooks/useIndexerReferralConsumption.d.ts +9 -0
  67. package/dist/hooks/useIndexerReferralConsumption.d.ts.map +1 -0
  68. package/dist/hooks/useIndexerReferralConsumption.js +56 -0
  69. package/dist/hooks/useIndexerReferralConsumption.js.map +1 -0
  70. package/dist/hooks/useIndexerReferralStats.d.ts +11 -0
  71. package/dist/hooks/useIndexerReferralStats.d.ts.map +1 -0
  72. package/dist/hooks/useIndexerReferralStats.js +42 -0
  73. package/dist/hooks/useIndexerReferralStats.js.map +1 -0
  74. package/dist/hooks/useIndexerValidateUsername.d.ts +10 -0
  75. package/dist/hooks/useIndexerValidateUsername.d.ts.map +1 -0
  76. package/dist/hooks/useIndexerValidateUsername.js +34 -0
  77. package/dist/hooks/useIndexerValidateUsername.js.map +1 -0
  78. package/dist/index.d.ts +7 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +5 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/network/IndexerClient.d.ts +78 -0
  83. package/dist/network/IndexerClient.d.ts.map +1 -0
  84. package/dist/network/IndexerClient.js +257 -0
  85. package/dist/network/IndexerClient.js.map +1 -0
  86. package/dist/network/index.d.ts +3 -0
  87. package/dist/network/index.d.ts.map +1 -0
  88. package/dist/network/index.js +2 -0
  89. package/dist/network/index.js.map +1 -0
  90. package/dist/types.d.ts +6 -0
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/types.js +2 -0
  93. package/dist/types.js.map +1 -0
  94. package/dist/utils/index.d.ts +5 -0
  95. package/dist/utils/index.d.ts.map +1 -0
  96. package/dist/utils/index.js +5 -0
  97. package/dist/utils/index.js.map +1 -0
  98. package/dist/utils/indexer-admin.d.ts +106 -0
  99. package/dist/utils/indexer-admin.d.ts.map +1 -0
  100. package/dist/utils/indexer-admin.js +112 -0
  101. package/dist/utils/indexer-admin.js.map +1 -0
  102. package/dist/utils/indexer-factory.d.ts +13 -0
  103. package/dist/utils/indexer-factory.d.ts.map +1 -0
  104. package/dist/utils/indexer-factory.js +24 -0
  105. package/dist/utils/indexer-factory.js.map +1 -0
  106. package/dist/utils/indexer-graphql.d.ts +152 -0
  107. package/dist/utils/indexer-graphql.d.ts.map +1 -0
  108. package/dist/utils/indexer-graphql.js +210 -0
  109. package/dist/utils/indexer-graphql.js.map +1 -0
  110. package/dist/utils/indexer-webhooks.d.ts +60 -0
  111. package/dist/utils/indexer-webhooks.d.ts.map +1 -0
  112. package/dist/utils/indexer-webhooks.js +68 -0
  113. package/dist/utils/indexer-webhooks.js.map +1 -0
  114. package/package.json +78 -0
@@ -0,0 +1,257 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { useMutation } from '@tanstack/react-query';
3
+ import { IndexerClient } from '../network/IndexerClient';
4
+ const useIndexerMail = (endpointUrl, dev = false) => {
5
+ const [error, setError] = useState(null);
6
+ const indexerClient = useMemo(() => new IndexerClient(endpointUrl, dev), [endpointUrl, dev]);
7
+ const clearError = useCallback(() => {
8
+ setError(null);
9
+ }, []);
10
+ const validateUsernameMutation = useMutation({
11
+ mutationFn: async (username) => {
12
+ setError(null);
13
+ try {
14
+ return await indexerClient.validateUsername(username);
15
+ }
16
+ catch (err) {
17
+ const errorMessage = err instanceof Error ? err.message : 'Validation failed';
18
+ setError(errorMessage);
19
+ throw err;
20
+ }
21
+ },
22
+ });
23
+ const getSigningMessageMutation = useMutation({
24
+ mutationFn: async ({ walletAddress, chainId, domain, url, }) => {
25
+ setError(null);
26
+ try {
27
+ return await indexerClient.getMessage(chainId, walletAddress, domain, url);
28
+ }
29
+ catch (err) {
30
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get signing message';
31
+ setError(errorMessage);
32
+ throw err;
33
+ }
34
+ },
35
+ });
36
+ const getPointsLeaderboardMutation = useMutation({
37
+ mutationFn: async (count = 10) => {
38
+ setError(null);
39
+ try {
40
+ return await indexerClient.getPointsLeaderboard(count);
41
+ }
42
+ catch (err) {
43
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get leaderboard';
44
+ setError(errorMessage);
45
+ throw err;
46
+ }
47
+ },
48
+ });
49
+ const getPointsSiteStatsMutation = useMutation({
50
+ mutationFn: async () => {
51
+ setError(null);
52
+ try {
53
+ return await indexerClient.getPointsSiteStats();
54
+ }
55
+ catch (err) {
56
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get site stats';
57
+ setError(errorMessage);
58
+ throw err;
59
+ }
60
+ },
61
+ });
62
+ const getWalletAccountsMutation = useMutation({
63
+ mutationFn: async ({ walletAddress, auth, referralCode, }) => {
64
+ setError(null);
65
+ try {
66
+ return await indexerClient.getWalletAccounts(walletAddress, auth, referralCode);
67
+ }
68
+ catch (err) {
69
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get wallet accounts';
70
+ setError(errorMessage);
71
+ throw err;
72
+ }
73
+ },
74
+ });
75
+ const getDelegatedToMutation = useMutation({
76
+ mutationFn: async ({ walletAddress, auth, }) => {
77
+ setError(null);
78
+ try {
79
+ return await indexerClient.getDelegatedTo(walletAddress, auth);
80
+ }
81
+ catch (err) {
82
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get delegated to';
83
+ setError(errorMessage);
84
+ throw err;
85
+ }
86
+ },
87
+ });
88
+ const getDelegatedFromMutation = useMutation({
89
+ mutationFn: async ({ walletAddress, auth, }) => {
90
+ setError(null);
91
+ try {
92
+ return await indexerClient.getDelegatedFrom(walletAddress, auth);
93
+ }
94
+ catch (err) {
95
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get delegated from';
96
+ setError(errorMessage);
97
+ throw err;
98
+ }
99
+ },
100
+ });
101
+ const createNonceMutation = useMutation({
102
+ mutationFn: async ({ username, auth, }) => {
103
+ setError(null);
104
+ try {
105
+ return await indexerClient.createNonce(username, auth);
106
+ }
107
+ catch (err) {
108
+ const errorMessage = err instanceof Error ? err.message : 'Failed to create nonce';
109
+ setError(errorMessage);
110
+ throw err;
111
+ }
112
+ },
113
+ });
114
+ const getNonceMutation = useMutation({
115
+ mutationFn: async ({ username, auth, }) => {
116
+ setError(null);
117
+ try {
118
+ return await indexerClient.getNonce(username, auth);
119
+ }
120
+ catch (err) {
121
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get nonce';
122
+ setError(errorMessage);
123
+ throw err;
124
+ }
125
+ },
126
+ });
127
+ const getEntitlementMutation = useMutation({
128
+ mutationFn: async ({ walletAddress, auth, }) => {
129
+ setError(null);
130
+ try {
131
+ return await indexerClient.getEntitlement(walletAddress, auth);
132
+ }
133
+ catch (err) {
134
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get entitlement';
135
+ setError(errorMessage);
136
+ throw err;
137
+ }
138
+ },
139
+ });
140
+ const getPointsBalanceMutation = useMutation({
141
+ mutationFn: async ({ walletAddress, auth, }) => {
142
+ setError(null);
143
+ try {
144
+ return await indexerClient.getPointsBalance(walletAddress, auth);
145
+ }
146
+ catch (err) {
147
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get points balance';
148
+ setError(errorMessage);
149
+ throw err;
150
+ }
151
+ },
152
+ });
153
+ const validateUsername = useCallback(async (username) => {
154
+ return await validateUsernameMutation.mutateAsync(username);
155
+ }, [validateUsernameMutation]);
156
+ const getSigningMessage = useCallback(async (walletAddress, chainId, domain, url) => {
157
+ return await getSigningMessageMutation.mutateAsync({
158
+ walletAddress,
159
+ chainId,
160
+ domain,
161
+ url,
162
+ });
163
+ }, [getSigningMessageMutation]);
164
+ const getPointsLeaderboard = useCallback(async (count = 10) => {
165
+ return await getPointsLeaderboardMutation.mutateAsync(count);
166
+ }, [getPointsLeaderboardMutation]);
167
+ const getPointsSiteStats = useCallback(async () => {
168
+ return await getPointsSiteStatsMutation.mutateAsync();
169
+ }, [getPointsSiteStatsMutation]);
170
+ const getWalletAccounts = useCallback(async (walletAddress, auth, referralCode) => {
171
+ const params = { walletAddress, auth };
172
+ if (referralCode !== undefined) {
173
+ params.referralCode = referralCode;
174
+ }
175
+ return await getWalletAccountsMutation.mutateAsync(params);
176
+ }, [getWalletAccountsMutation]);
177
+ const getDelegatedTo = useCallback(async (walletAddress, auth) => {
178
+ return await getDelegatedToMutation.mutateAsync({
179
+ walletAddress,
180
+ auth,
181
+ });
182
+ }, [getDelegatedToMutation]);
183
+ const getDelegatedFrom = useCallback(async (walletAddress, auth) => {
184
+ return await getDelegatedFromMutation.mutateAsync({
185
+ walletAddress,
186
+ auth,
187
+ });
188
+ }, [getDelegatedFromMutation]);
189
+ const createNonce = useCallback(async (username, auth) => {
190
+ return await createNonceMutation.mutateAsync({
191
+ username,
192
+ auth,
193
+ });
194
+ }, [createNonceMutation]);
195
+ const getNonce = useCallback(async (username, auth) => {
196
+ return await getNonceMutation.mutateAsync({
197
+ username,
198
+ auth,
199
+ });
200
+ }, [getNonceMutation]);
201
+ const getEntitlement = useCallback(async (walletAddress, auth) => {
202
+ return await getEntitlementMutation.mutateAsync({
203
+ walletAddress,
204
+ auth,
205
+ });
206
+ }, [getEntitlementMutation]);
207
+ const getPointsBalance = useCallback(async (walletAddress, auth) => {
208
+ return await getPointsBalanceMutation.mutateAsync({
209
+ walletAddress,
210
+ auth,
211
+ });
212
+ }, [getPointsBalanceMutation]);
213
+ const isLoading = validateUsernameMutation.isPending ||
214
+ getSigningMessageMutation.isPending ||
215
+ getPointsLeaderboardMutation.isPending ||
216
+ getPointsSiteStatsMutation.isPending ||
217
+ getWalletAccountsMutation.isPending ||
218
+ getDelegatedToMutation.isPending ||
219
+ getDelegatedFromMutation.isPending ||
220
+ createNonceMutation.isPending ||
221
+ getNonceMutation.isPending ||
222
+ getEntitlementMutation.isPending ||
223
+ getPointsBalanceMutation.isPending;
224
+ return useMemo(() => ({
225
+ isLoading,
226
+ error,
227
+ validateUsername,
228
+ getSigningMessage,
229
+ getPointsLeaderboard,
230
+ getPointsSiteStats,
231
+ getWalletAccounts,
232
+ getDelegatedTo,
233
+ getDelegatedFrom,
234
+ createNonce,
235
+ getNonce,
236
+ getEntitlement,
237
+ getPointsBalance,
238
+ clearError,
239
+ }), [
240
+ isLoading,
241
+ error,
242
+ validateUsername,
243
+ getSigningMessage,
244
+ getPointsLeaderboard,
245
+ getPointsSiteStats,
246
+ getWalletAccounts,
247
+ getDelegatedTo,
248
+ getDelegatedFrom,
249
+ createNonce,
250
+ getNonce,
251
+ getEntitlement,
252
+ getPointsBalance,
253
+ clearError,
254
+ ]);
255
+ };
256
+ export { useIndexerMail };
257
+ //# sourceMappingURL=useIndexerMail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerMail.js","sourceRoot":"","sources":["../../src/hooks/useIndexerMail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import type { IndexerNameResolutionResponse, IndexerNameServiceResponse } from '@sudobility/types';
3
+ import type { IndexerUserAuth } from '../types';
4
+ export declare const useWalletNames: (endpointUrl: string, dev: boolean, walletAddress: string, auth: IndexerUserAuth, options?: UseQueryOptions<IndexerNameServiceResponse>) => UseQueryResult<IndexerNameServiceResponse>;
5
+ export declare const useResolveNameToAddress: (endpointUrl: string, dev: boolean, name: string, options?: UseQueryOptions<IndexerNameResolutionResponse>) => UseQueryResult<IndexerNameResolutionResponse>;
6
+ //# sourceMappingURL=useIndexerNameService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerNameService.d.ts","sourceRoot":"","sources":["../../src/hooks/useIndexerNameService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,6BAA6B,EAC7B,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAmChD,eAAO,MAAM,cAAc,GACzB,aAAa,MAAM,EACnB,KAAK,OAAO,EACZ,eAAe,MAAM,EACrB,MAAM,eAAe,EACrB,UAAU,eAAe,CAAC,0BAA0B,CAAC,KACpD,cAAc,CAAC,0BAA0B,CAY3C,CAAC;AA6BF,eAAO,MAAM,uBAAuB,GAClC,aAAa,MAAM,EACnB,KAAK,OAAO,EACZ,MAAM,MAAM,EACZ,UAAU,eAAe,CAAC,6BAA6B,CAAC,KACvD,cAAc,CAAC,6BAA6B,CAY9C,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { useQuery, } from '@tanstack/react-query';
2
+ import { IndexerClient } from '../network/IndexerClient';
3
+ const STALE_TIMES = {
4
+ NAME_SERVICE_RESOLUTION: 5 * 60 * 1000,
5
+ };
6
+ export const useWalletNames = (endpointUrl, dev, walletAddress, auth, options) => {
7
+ const client = new IndexerClient(endpointUrl, dev);
8
+ return useQuery({
9
+ queryKey: ['indexer', 'wallet-names', walletAddress],
10
+ queryFn: async () => {
11
+ return await client.getWalletNames(walletAddress, auth);
12
+ },
13
+ staleTime: STALE_TIMES.NAME_SERVICE_RESOLUTION,
14
+ enabled: !!walletAddress && !!auth.signature && !!auth.message,
15
+ ...options,
16
+ });
17
+ };
18
+ export const useResolveNameToAddress = (endpointUrl, dev, name, options) => {
19
+ const client = new IndexerClient(endpointUrl, dev);
20
+ return useQuery({
21
+ queryKey: ['indexer', 'resolve-name', name],
22
+ queryFn: async () => {
23
+ return await client.resolveNameToAddress(name);
24
+ },
25
+ staleTime: STALE_TIMES.NAME_SERVICE_RESOLUTION,
26
+ enabled: !!name,
27
+ ...options,
28
+ });
29
+ };
30
+ //# sourceMappingURL=useIndexerNameService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerNameService.js","sourceRoot":"","sources":["../../src/hooks/useIndexerNameService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GAGT,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,WAAW,GAAG;IAClB,uBAAuB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;CACvC,CAAC;AA8BF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAAmB,EACnB,GAAY,EACZ,aAAqB,EACrB,IAAqB,EACrB,OAAqD,EACT,EAAE;IAC9C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEnD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC;QACpD,OAAO,EAAE,KAAK,IAAyC,EAAE;YACvD,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,SAAS,EAAE,WAAW,CAAC,uBAAuB;QAC9C,OAAO,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO;QAC9D,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AA6BF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,WAAmB,EACnB,GAAY,EACZ,IAAY,EACZ,OAAwD,EACT,EAAE;IACjD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEnD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC;QAC3C,OAAO,EAAE,KAAK,IAA4C,EAAE;YAC1D,OAAO,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,SAAS,EAAE,WAAW,CAAC,uBAAuB;QAC9C,OAAO,EAAE,CAAC,CAAC,IAAI;QACf,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import type { IndexerLeaderboardResponse, IndexerSiteStatsResponse, Optional } from '@sudobility/types';
3
+ export declare function useIndexerPointsLeaderboard(endpointUrl: string, dev: boolean, count?: number, options?: UseQueryOptions<IndexerLeaderboardResponse>): UseQueryResult<IndexerLeaderboardResponse>;
4
+ export declare function useIndexerPointsSiteStats(endpointUrl: string, dev: boolean, options?: UseQueryOptions<IndexerSiteStatsResponse>): UseQueryResult<IndexerSiteStatsResponse>;
5
+ export declare function useIndexerPoints(endpointUrl: string, dev?: boolean): {
6
+ getPointsLeaderboard: (count?: number) => Promise<IndexerLeaderboardResponse>;
7
+ getPointsSiteStats: () => Promise<IndexerSiteStatsResponse>;
8
+ isLoading: boolean;
9
+ error: Optional<string>;
10
+ clearError: () => void;
11
+ };
12
+ //# sourceMappingURL=useIndexerPoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerPoints.d.ts","sourceRoot":"","sources":["../../src/hooks/useIndexerPoints.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AA8B3B,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,OAAO,EACZ,KAAK,GAAE,MAAW,EAClB,OAAO,CAAC,EAAE,eAAe,CAAC,0BAA0B,CAAC,GACpD,cAAc,CAAC,0BAA0B,CAAC,CAW5C;AA2BD,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,eAAe,CAAC,wBAAwB,CAAC,GAClD,cAAc,CAAC,wBAAwB,CAAC,CAW1C;AAMD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,GAAE,OAAe;mCA+CxD,MAAM,KAAQ,OAAO,CAAC,0BAA0B,CAAC;8BAQzC,OAAO,CAAC,wBAAwB,CAAC;;;;EAuB1D"}
@@ -0,0 +1,79 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { useMutation, useQuery, } from '@tanstack/react-query';
3
+ import { IndexerClient } from '../network/IndexerClient';
4
+ export function useIndexerPointsLeaderboard(endpointUrl, dev, count = 10, options) {
5
+ const client = new IndexerClient(endpointUrl, dev);
6
+ return useQuery({
7
+ queryKey: ['indexer', 'points-leaderboard', count],
8
+ queryFn: async () => {
9
+ return await client.getPointsLeaderboard(count);
10
+ },
11
+ staleTime: 2 * 60 * 1000,
12
+ ...options,
13
+ });
14
+ }
15
+ export function useIndexerPointsSiteStats(endpointUrl, dev, options) {
16
+ const client = new IndexerClient(endpointUrl, dev);
17
+ return useQuery({
18
+ queryKey: ['indexer', 'points-site-stats'],
19
+ queryFn: async () => {
20
+ return await client.getPointsSiteStats();
21
+ },
22
+ staleTime: 5 * 60 * 1000,
23
+ ...options,
24
+ });
25
+ }
26
+ export function useIndexerPoints(endpointUrl, dev = false) {
27
+ const [error, setError] = useState(null);
28
+ const indexerClient = useMemo(() => {
29
+ return new IndexerClient(endpointUrl, dev);
30
+ }, [endpointUrl, dev]);
31
+ const clearError = useCallback(() => {
32
+ setError(null);
33
+ }, []);
34
+ const leaderboardMutation = useMutation({
35
+ mutationFn: async (count = 10) => {
36
+ setError(null);
37
+ try {
38
+ const result = await indexerClient.getPointsLeaderboard(count);
39
+ return result;
40
+ }
41
+ catch (err) {
42
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get leaderboard';
43
+ setError(errorMessage);
44
+ throw err;
45
+ }
46
+ },
47
+ });
48
+ const siteStatsMutation = useMutation({
49
+ mutationFn: async () => {
50
+ setError(null);
51
+ try {
52
+ const result = await indexerClient.getPointsSiteStats();
53
+ return result;
54
+ }
55
+ catch (err) {
56
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get site stats';
57
+ setError(errorMessage);
58
+ throw err;
59
+ }
60
+ },
61
+ });
62
+ const getPointsLeaderboard = useCallback(async (count = 10) => {
63
+ const result = await leaderboardMutation.mutateAsync(count);
64
+ return result;
65
+ }, [leaderboardMutation]);
66
+ const getPointsSiteStats = useCallback(async () => {
67
+ const result = await siteStatsMutation.mutateAsync();
68
+ return result;
69
+ }, [siteStatsMutation]);
70
+ const isLoading = leaderboardMutation.isPending || siteStatsMutation.isPending;
71
+ return useMemo(() => ({
72
+ getPointsLeaderboard,
73
+ getPointsSiteStats,
74
+ isLoading,
75
+ error,
76
+ clearError,
77
+ }), [getPointsLeaderboard, getPointsSiteStats, isLoading, error, clearError]);
78
+ }
79
+ //# sourceMappingURL=useIndexerPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerPoints.js","sourceRoot":"","sources":["../../src/hooks/useIndexerPoints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Optional } from '@sudobility/types';
2
+ import { type ReferralCodeResponse } from '../network/IndexerClient';
3
+ import type { IndexerUserAuth } from '../types';
4
+ export declare const useIndexerReferralCode: (endpointUrl: string, dev: boolean) => {
5
+ referralCode: Optional<ReferralCodeResponse>;
6
+ isLoading: boolean;
7
+ error: Optional<string>;
8
+ fetchReferralCode: (walletAddress: string, auth: IndexerUserAuth) => Promise<ReferralCodeResponse>;
9
+ clearError: () => void;
10
+ reset: () => void;
11
+ };
12
+ //# sourceMappingURL=useIndexerReferralCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerReferralCode.d.ts","sourceRoot":"","sources":["../../src/hooks/useIndexerReferralCode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAsBhD,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,EAAE,KAAK,OAAO;;;;uCAS9C,MAAM,QAAQ,eAAe;;;CAyCtD,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { IndexerClient, } from '../network/IndexerClient';
3
+ export const useIndexerReferralCode = (endpointUrl, dev) => {
4
+ const [referralCode, setReferralCode] = useState(null);
5
+ const [isLoading, setIsLoading] = useState(false);
6
+ const [error, setError] = useState(null);
7
+ const client = new IndexerClient(endpointUrl, dev);
8
+ const fetchReferralCode = useCallback(async (walletAddress, auth) => {
9
+ setIsLoading(true);
10
+ setError(null);
11
+ try {
12
+ const response = await client.getReferralCode(walletAddress, auth);
13
+ setReferralCode(response);
14
+ return response;
15
+ }
16
+ catch (err) {
17
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get referral code';
18
+ setError(errorMessage);
19
+ throw err;
20
+ }
21
+ finally {
22
+ setIsLoading(false);
23
+ }
24
+ }, [client]);
25
+ const clearError = useCallback(() => {
26
+ setError(null);
27
+ }, []);
28
+ const reset = useCallback(() => {
29
+ setReferralCode(null);
30
+ setError(null);
31
+ setIsLoading(false);
32
+ }, []);
33
+ return useMemo(() => ({
34
+ referralCode,
35
+ isLoading,
36
+ error,
37
+ fetchReferralCode,
38
+ clearError,
39
+ reset,
40
+ }), [referralCode, isLoading, error, fetchReferralCode, clearError, reset]);
41
+ };
42
+ //# sourceMappingURL=useIndexerReferralCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerReferralCode.js","sourceRoot":"","sources":["../../src/hooks/useIndexerReferralCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EACL,aAAa,GAEd,MAAM,0BAA0B,CAAC;AAuBlC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,GAAY,EAAE,EAAE;IAC1E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GACnC,QAAQ,CAAiC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEnD,MAAM,iBAAiB,GAAG,WAAW,CACnC,KAAK,EAAE,aAAqB,EAAE,IAAqB,EAAE,EAAE;QACrD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YACnE,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACrE,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,SAAS;QACT,KAAK;QACL,iBAAiB;QACjB,UAAU;QACV,KAAK;KACN,CAAC,EACF,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Optional } from '@sudobility/types';
2
+ export declare const useIndexerReferralConsumption: () => {
3
+ pendingReferralCode: Optional<string>;
4
+ hasPendingCode: boolean;
5
+ consumeReferralCode: () => Optional<string>;
6
+ clearReferralCode: () => void;
7
+ setReferralCode: (code: string) => void;
8
+ };
9
+ //# sourceMappingURL=useIndexerReferralConsumption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerReferralConsumption.d.ts","sourceRoot":"","sources":["../../src/hooks/useIndexerReferralConsumption.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AA+B7C,eAAO,MAAM,6BAA6B;;;+BAsCI,QAAQ,CAAC,MAAM,CAAC;;4BAkBjB,MAAM;CAyBlD,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { useCallback, useEffect, useMemo, useState } from 'react';
2
+ const REFERRAL_CODE_KEY = 'pending_referral_code';
3
+ export const useIndexerReferralConsumption = () => {
4
+ const [pendingReferralCode, setPendingReferralCode] = useState(null);
5
+ useEffect(() => {
6
+ if (typeof window !== 'undefined') {
7
+ const params = new URLSearchParams(window.location.search);
8
+ const referralParam = params.get('referral');
9
+ if (referralParam) {
10
+ localStorage.setItem(REFERRAL_CODE_KEY, referralParam);
11
+ setPendingReferralCode(referralParam);
12
+ params.delete('referral');
13
+ const newUrl = params.toString()
14
+ ? `${window.location.pathname}?${params.toString()}`
15
+ : window.location.pathname;
16
+ window.history.replaceState({}, '', newUrl);
17
+ }
18
+ else {
19
+ const stored = localStorage.getItem(REFERRAL_CODE_KEY);
20
+ if (stored) {
21
+ setPendingReferralCode(stored);
22
+ }
23
+ }
24
+ }
25
+ }, []);
26
+ const consumeReferralCode = useCallback(() => {
27
+ return pendingReferralCode;
28
+ }, [pendingReferralCode]);
29
+ const clearReferralCode = useCallback(() => {
30
+ if (typeof window !== 'undefined') {
31
+ localStorage.removeItem(REFERRAL_CODE_KEY);
32
+ }
33
+ setPendingReferralCode(null);
34
+ }, []);
35
+ const setReferralCode = useCallback((code) => {
36
+ if (typeof window !== 'undefined') {
37
+ localStorage.setItem(REFERRAL_CODE_KEY, code);
38
+ }
39
+ setPendingReferralCode(code);
40
+ }, []);
41
+ const hasPendingCode = !!pendingReferralCode;
42
+ return useMemo(() => ({
43
+ pendingReferralCode,
44
+ hasPendingCode,
45
+ consumeReferralCode,
46
+ clearReferralCode,
47
+ setReferralCode,
48
+ }), [
49
+ pendingReferralCode,
50
+ hasPendingCode,
51
+ consumeReferralCode,
52
+ clearReferralCode,
53
+ setReferralCode,
54
+ ]);
55
+ };
56
+ //# sourceMappingURL=useIndexerReferralConsumption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerReferralConsumption.js","sourceRoot":"","sources":["../../src/hooks/useIndexerReferralConsumption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMlE,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AA0BlD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,EAAE;IAChD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GACjD,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAKnC,SAAS,CAAC,GAAG,EAAE;QAEb,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAE7C,IAAI,aAAa,EAAE,CAAC;gBAElB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;gBACvD,sBAAsB,CAAC,aAAa,CAAC,CAAC;gBAGtC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE;oBAC9B,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE;oBACpD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBAEN,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACvD,IAAI,MAAM,EAAE,CAAC;oBACX,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAMP,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAqB,EAAE;QAC7D,OAAO,mBAAmB,CAAC;IAC7B,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAM1B,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC7C,CAAC;QACD,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAKP,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QACnD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,CAAC,CAAC,mBAAmB,CAAC;IAE7C,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,mBAAmB;QACnB,cAAc;QACd,mBAAmB;QACnB,iBAAiB;QACjB,eAAe;KAChB,CAAC,EACF;QACE,mBAAmB;QACnB,cAAc;QACd,mBAAmB;QACnB,iBAAiB;QACjB,eAAe;KAChB,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Optional } from '@sudobility/types';
2
+ import { type ReferralStatsResponse } from '../network/IndexerClient';
3
+ export declare const useIndexerReferralStats: (endpointUrl: string, dev: boolean) => {
4
+ stats: Optional<ReferralStatsResponse>;
5
+ isLoading: boolean;
6
+ error: Optional<string>;
7
+ fetchStats: (referralCode: string) => Promise<ReferralStatsResponse>;
8
+ clearError: () => void;
9
+ reset: () => void;
10
+ };
11
+ //# sourceMappingURL=useIndexerReferralStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerReferralStats.d.ts","sourceRoot":"","sources":["../../src/hooks/useIndexerReferralStats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAuBlC,eAAO,MAAM,uBAAuB,GAAI,aAAa,MAAM,EAAE,KAAK,OAAO;;;;+BAQhD,MAAM;;;CAyC9B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { IndexerClient, } from '../network/IndexerClient';
3
+ export const useIndexerReferralStats = (endpointUrl, dev) => {
4
+ const [stats, setStats] = useState(null);
5
+ const [isLoading, setIsLoading] = useState(false);
6
+ const [error, setError] = useState(null);
7
+ const client = new IndexerClient(endpointUrl, dev);
8
+ const fetchStats = useCallback(async (referralCode) => {
9
+ setIsLoading(true);
10
+ setError(null);
11
+ try {
12
+ const response = await client.getReferralStats(referralCode);
13
+ setStats(response);
14
+ return response;
15
+ }
16
+ catch (err) {
17
+ const errorMessage = err instanceof Error ? err.message : 'Failed to get referral stats';
18
+ setError(errorMessage);
19
+ throw err;
20
+ }
21
+ finally {
22
+ setIsLoading(false);
23
+ }
24
+ }, [client]);
25
+ const clearError = useCallback(() => {
26
+ setError(null);
27
+ }, []);
28
+ const reset = useCallback(() => {
29
+ setStats(null);
30
+ setError(null);
31
+ setIsLoading(false);
32
+ }, []);
33
+ return useMemo(() => ({
34
+ stats,
35
+ isLoading,
36
+ error,
37
+ fetchStats,
38
+ clearError,
39
+ reset,
40
+ }), [stats, isLoading, error, fetchStats, clearError, reset]);
41
+ };
42
+ //# sourceMappingURL=useIndexerReferralStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerReferralStats.js","sourceRoot":"","sources":["../../src/hooks/useIndexerReferralStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EACL,aAAa,GAEd,MAAM,0BAA0B,CAAC;AAuBlC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAE,GAAY,EAAE,EAAE;IAC3E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAkC,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,YAAoB,EAAE,EAAE;QAC7B,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC7D,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;YACtE,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,KAAK;QACL,SAAS;QACT,KAAK;QACL,UAAU;QACV,UAAU;QACV,KAAK;KACN,CAAC,EACF,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CACzD,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type IndexerAddressValidationResponse, type Optional } from '@sudobility/types';
2
+ interface UseIndexerValidateUsernameReturn {
3
+ validateUsername: (username: string) => Promise<Optional<IndexerAddressValidationResponse>>;
4
+ isLoading: boolean;
5
+ error: Optional<string>;
6
+ clearError: () => void;
7
+ }
8
+ export declare const useIndexerValidateUsername: (endpointUrl: string, dev?: boolean) => UseIndexerValidateUsernameReturn;
9
+ export {};
10
+ //# sourceMappingURL=useIndexerValidateUsername.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexerValidateUsername.d.ts","sourceRoot":"","sources":["../../src/hooks/useIndexerValidateUsername.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAC;AAE3B,UAAU,gCAAgC;IACxC,gBAAgB,EAAE,CAChB,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAcD,eAAO,MAAM,0BAA0B,GACrC,aAAa,MAAM,EACnB,MAAK,OAAe,KACnB,gCAgDF,CAAC"}