@ensnode/ensnode-react 0.36.0 → 1.0.1
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/README.md +5 -1
- package/dist/index.cjs +188 -116
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +207 -82
- package/dist/index.d.ts +207 -82
- package/dist/index.js +195 -120
- package/dist/index.js.map +1 -1
- package/package.json +6 -9
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
2
|
-
import { QueryObserverOptions, QueryClient } from '@tanstack/react-query';
|
|
2
|
+
import { QueryObserverOptions, DefaultError, QueryKey, DefinedInitialDataOptions, QueryClient, DefinedUseQueryResult, UndefinedInitialDataOptions, UseQueryResult, UseQueryOptions } from '@tanstack/react-query';
|
|
3
3
|
export { QueryClient } from '@tanstack/react-query';
|
|
4
4
|
import * as _ensnode_ensnode_sdk from '@ensnode/ensnode-sdk';
|
|
5
|
-
import { ClientOptions,
|
|
5
|
+
import { ClientOptions, ResolvePrimaryNameRequest, ResolvePrimaryNameResponse, ResolvePrimaryNamesRequest, ResolvePrimaryNamesResponse, ResolverRecordsSelection, ResolveRecordsRequest, ResolveRecordsResponse, ConfigResponse, IndexingStatusRequest, IndexingStatusResponse, RegistrarActionsRequest, RegistrarActionsResponse, UnresolvedIdentity, ENSNamespaceId, Identity } from '@ensnode/ensnode-sdk';
|
|
6
6
|
export { ResolverRecordsSelection } from '@ensnode/ensnode-sdk';
|
|
7
7
|
import * as react from 'react';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Configuration options for the ENSNode provider
|
|
11
11
|
*/
|
|
12
|
-
interface
|
|
12
|
+
interface ENSNodeSDKConfig {
|
|
13
13
|
/** The ENSNode API client configuration */
|
|
14
14
|
client: ClientOptions;
|
|
15
15
|
}
|
|
@@ -22,7 +22,7 @@ interface QueryParameter<TData = unknown, TError = Error> {
|
|
|
22
22
|
/**
|
|
23
23
|
* Configuration parameter for hooks that need access to config
|
|
24
24
|
*/
|
|
25
|
-
interface
|
|
25
|
+
interface WithSDKConfigParameter<TConfig extends ENSNodeSDKConfig = ENSNodeSDKConfig> {
|
|
26
26
|
config?: TConfig | undefined;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
@@ -50,88 +50,26 @@ interface UsePrimaryNamesParameters extends Omit<ResolvePrimaryNamesRequest, "ad
|
|
|
50
50
|
address: ResolvePrimaryNamesRequest["address"] | null;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
interface ENSNodeProviderProps {
|
|
54
|
-
/** ENSNode configuration */
|
|
55
|
-
config: ENSNodeConfig;
|
|
56
|
-
/**
|
|
57
|
-
* Optional QueryClient instance. If provided, you must wrap your app with QueryClientProvider yourself.
|
|
58
|
-
* If not provided, ENSNodeProvider will create and manage its own QueryClient internally.
|
|
59
|
-
*/
|
|
60
|
-
queryClient?: QueryClient;
|
|
61
|
-
/**
|
|
62
|
-
* Custom query client options when auto-creating a QueryClient.
|
|
63
|
-
* Only used when queryClient is not provided.
|
|
64
|
-
*/
|
|
65
|
-
queryClientOptions?: ConstructorParameters<typeof QueryClient>[0];
|
|
66
|
-
}
|
|
67
|
-
declare function ENSNodeProvider(parameters: React.PropsWithChildren<ENSNodeProviderProps>): react.FunctionComponentElement<{
|
|
68
|
-
children: React.ReactNode;
|
|
69
|
-
config: ENSNodeConfig;
|
|
70
|
-
}> | react.FunctionComponentElement<_tanstack_react_query.QueryClientProviderProps>;
|
|
71
|
-
/**
|
|
72
|
-
* Helper function to create ENSNode configuration
|
|
73
|
-
*/
|
|
74
|
-
declare function createConfig(options?: {
|
|
75
|
-
url?: string | URL;
|
|
76
|
-
}): ENSNodeConfig;
|
|
77
|
-
|
|
78
53
|
/**
|
|
79
54
|
* React context for ENSNode configuration
|
|
80
55
|
*/
|
|
81
|
-
declare const ENSNodeContext: react.Context<
|
|
56
|
+
declare const ENSNodeContext: react.Context<ENSNodeSDKConfig | undefined>;
|
|
57
|
+
|
|
58
|
+
type UseENSNodeConfigParameters = QueryParameter<ConfigResponse>;
|
|
59
|
+
declare function useENSNodeConfig(parameters?: WithSDKConfigParameter & UseENSNodeConfigParameters): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ENSApiPublicConfig, Error>;
|
|
82
60
|
|
|
83
61
|
/**
|
|
84
|
-
* Hook to access the
|
|
62
|
+
* Hook to access the ENSNodeSDKConfig from context or parameters.
|
|
85
63
|
*
|
|
86
64
|
* @param parameters - Optional config parameter that overrides context
|
|
87
65
|
* @returns The ENSNode configuration
|
|
88
66
|
* @throws Error if no config is available in context or parameters
|
|
89
67
|
*/
|
|
90
|
-
declare function
|
|
68
|
+
declare function useENSNodeSDKConfig<TConfig extends ENSNodeSDKConfig = ENSNodeSDKConfig>(config: TConfig | undefined): TConfig;
|
|
91
69
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
* The returned `name` field, if set, is guaranteed to be a normalized name.
|
|
96
|
-
* If the name record returned by the resolver is not normalized, `null` is returned as if no name record was set.
|
|
97
|
-
*
|
|
98
|
-
* @param parameters - Configuration for the ENS name resolution
|
|
99
|
-
* @returns Query result with resolved records
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
* ```typescript
|
|
103
|
-
* import { useRecords } from "@ensnode/ensnode-react";
|
|
104
|
-
*
|
|
105
|
-
* function DisplayNameRecords() {
|
|
106
|
-
* const { data, isLoading, error } = useRecords({
|
|
107
|
-
* name: "jesse.base.eth",
|
|
108
|
-
* selection: {
|
|
109
|
-
* addresses: [60], // ETH CoinType
|
|
110
|
-
* texts: ["avatar", "com.twitter"]
|
|
111
|
-
* }
|
|
112
|
-
* });
|
|
113
|
-
*
|
|
114
|
-
* if (isLoading) return <div>Loading...</div>;
|
|
115
|
-
* if (error) return <div>Error: {error.message}</div>;
|
|
116
|
-
*
|
|
117
|
-
* return (
|
|
118
|
-
* <div>
|
|
119
|
-
* <h3>Resolved Records for vitalik.eth</h3>
|
|
120
|
-
* {data.records.addresses && (
|
|
121
|
-
* <p>ETH Address: {data.records.addresses[60]}</p>
|
|
122
|
-
* )}
|
|
123
|
-
* {data.records.texts && (
|
|
124
|
-
* <div>
|
|
125
|
-
* <p>Avatar: {data.records.texts.avatar}</p>
|
|
126
|
-
* <p>Twitter: {data.records.texts["com.twitter"]}</p>
|
|
127
|
-
* </div>
|
|
128
|
-
* )}
|
|
129
|
-
* </div>
|
|
130
|
-
* );
|
|
131
|
-
* }
|
|
132
|
-
* ```
|
|
133
|
-
*/
|
|
134
|
-
declare function useRecords<SELECTION extends ResolverRecordsSelection>(parameters: UseRecordsParameters<SELECTION> & ConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolveRecordsResponse<SELECTION>, Error>;
|
|
70
|
+
interface UseIndexingStatusParameters extends IndexingStatusRequest, QueryParameter<IndexingStatusResponse> {
|
|
71
|
+
}
|
|
72
|
+
declare function useIndexingStatus(parameters?: WithSDKConfigParameter & UseIndexingStatusParameters): _tanstack_react_query.UseQueryResult<IndexingStatusResponse, Error>;
|
|
135
73
|
|
|
136
74
|
/**
|
|
137
75
|
* Resolves the primary name of a specified address (Reverse Resolution).
|
|
@@ -150,6 +88,7 @@ declare function useRecords<SELECTION extends ResolverRecordsSelection>(paramete
|
|
|
150
88
|
* const { data, isLoading, error } = usePrimaryName({
|
|
151
89
|
* address: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
|
|
152
90
|
* chainId: 1, // Ethereum Mainnet
|
|
91
|
+
* accelerate: true, // Attempt Protocol Acceleration
|
|
153
92
|
* });
|
|
154
93
|
*
|
|
155
94
|
* if (isLoading) return <div>Loading...</div>;
|
|
@@ -164,7 +103,7 @@ declare function useRecords<SELECTION extends ResolverRecordsSelection>(paramete
|
|
|
164
103
|
* }
|
|
165
104
|
* ```
|
|
166
105
|
*/
|
|
167
|
-
declare function usePrimaryName(parameters: UsePrimaryNameParameters &
|
|
106
|
+
declare function usePrimaryName(parameters: UsePrimaryNameParameters & WithSDKConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>;
|
|
168
107
|
|
|
169
108
|
/**
|
|
170
109
|
* Resolves the primary names of a specified address across multiple chains.
|
|
@@ -200,14 +139,60 @@ declare function usePrimaryName(parameters: UsePrimaryNameParameters & ConfigPar
|
|
|
200
139
|
* }
|
|
201
140
|
* ```
|
|
202
141
|
*/
|
|
203
|
-
declare function usePrimaryNames(parameters: UsePrimaryNamesParameters &
|
|
142
|
+
declare function usePrimaryNames(parameters: UsePrimaryNamesParameters & WithSDKConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolvePrimaryNamesResponse, Error>;
|
|
204
143
|
|
|
205
|
-
|
|
206
|
-
|
|
144
|
+
/**
|
|
145
|
+
* Resolves records for an ENS name (Forward Resolution).
|
|
146
|
+
*
|
|
147
|
+
* The returned `name` field, if set, is guaranteed to be a normalized name.
|
|
148
|
+
* If the name record returned by the resolver is not normalized, `null` is returned as if no name record was set.
|
|
149
|
+
*
|
|
150
|
+
* @param parameters - Configuration for the ENS name resolution
|
|
151
|
+
* @returns Query result with resolved records
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* import { useRecords } from "@ensnode/ensnode-react";
|
|
156
|
+
*
|
|
157
|
+
* function DisplayNameRecords() {
|
|
158
|
+
* const { data, isLoading, error } = useRecords({
|
|
159
|
+
* name: "jesse.base.eth",
|
|
160
|
+
* selection: {
|
|
161
|
+
* addresses: [60], // ETH CoinType
|
|
162
|
+
* texts: ["avatar", "com.twitter"]
|
|
163
|
+
* }
|
|
164
|
+
* });
|
|
165
|
+
*
|
|
166
|
+
* if (isLoading) return <div>Loading...</div>;
|
|
167
|
+
* if (error) return <div>Error: {error.message}</div>;
|
|
168
|
+
*
|
|
169
|
+
* return (
|
|
170
|
+
* <div>
|
|
171
|
+
* <h3>Resolved Records for vitalik.eth</h3>
|
|
172
|
+
* {data.records.addresses && (
|
|
173
|
+
* <p>ETH Address: {data.records.addresses[60]}</p>
|
|
174
|
+
* )}
|
|
175
|
+
* {data.records.texts && (
|
|
176
|
+
* <div>
|
|
177
|
+
* <p>Avatar: {data.records.texts.avatar}</p>
|
|
178
|
+
* <p>Twitter: {data.records.texts["com.twitter"]}</p>
|
|
179
|
+
* </div>
|
|
180
|
+
* )}
|
|
181
|
+
* </div>
|
|
182
|
+
* );
|
|
183
|
+
* }
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
declare function useRecords<SELECTION extends ResolverRecordsSelection>(parameters: UseRecordsParameters<SELECTION> & WithSDKConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolveRecordsResponse<SELECTION>, Error>;
|
|
207
187
|
|
|
208
|
-
interface
|
|
188
|
+
interface UseRegistrarActionsParameters extends RegistrarActionsRequest, QueryParameter<RegistrarActionsResponse> {
|
|
209
189
|
}
|
|
210
|
-
|
|
190
|
+
/**
|
|
191
|
+
* Use Registrar Actions hook
|
|
192
|
+
*
|
|
193
|
+
* Query ENSNode Registrar Actions API.
|
|
194
|
+
*/
|
|
195
|
+
declare function useRegistrarActions(parameters?: WithSDKConfigParameter & UseRegistrarActionsParameters): _tanstack_react_query.UseQueryResult<RegistrarActionsResponse, Error>;
|
|
211
196
|
|
|
212
197
|
/**
|
|
213
198
|
* Parameters for the useResolvedIdentity hook.
|
|
@@ -215,6 +200,7 @@ declare function useIndexingStatus(parameters?: ConfigParameter & UseIndexingSta
|
|
|
215
200
|
interface UseResolvedIdentityParameters {
|
|
216
201
|
identity: UnresolvedIdentity;
|
|
217
202
|
namespaceId: ENSNamespaceId;
|
|
203
|
+
accelerate?: boolean;
|
|
218
204
|
}
|
|
219
205
|
/**
|
|
220
206
|
* Hook to perform ENSIP-19 primary name resolution to resolve an
|
|
@@ -226,6 +212,8 @@ interface UseResolvedIdentityParameters {
|
|
|
226
212
|
* @param parameters.namespaceId - The {@link ENSNamespaceId} that `identity.chainId` should be interpreted
|
|
227
213
|
* through (via {@link getResolvePrimaryNameChainIdParam}) to determine the literal
|
|
228
214
|
* chainId that should be used for ENSIP-19 primary name resolution.
|
|
215
|
+
* @param parameters.accelerate - Whether to attempt Protocol Acceleration (default: false)
|
|
216
|
+
* when resolving the primary name.
|
|
229
217
|
*
|
|
230
218
|
* @returns An object containing:
|
|
231
219
|
* - `identity`: An {@link Identity} with one of four possible {@link ResolutionStatusIds}:
|
|
@@ -257,6 +245,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
|
|
|
257
245
|
isPaused: boolean;
|
|
258
246
|
isRefetching: boolean;
|
|
259
247
|
isStale: boolean;
|
|
248
|
+
isEnabled: boolean;
|
|
260
249
|
refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
|
|
261
250
|
fetchStatus: _tanstack_react_query.FetchStatus;
|
|
262
251
|
promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
|
|
@@ -282,6 +271,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
|
|
|
282
271
|
isPaused: boolean;
|
|
283
272
|
isRefetching: boolean;
|
|
284
273
|
isStale: boolean;
|
|
274
|
+
isEnabled: boolean;
|
|
285
275
|
refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
|
|
286
276
|
fetchStatus: _tanstack_react_query.FetchStatus;
|
|
287
277
|
promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
|
|
@@ -307,6 +297,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
|
|
|
307
297
|
isPaused: boolean;
|
|
308
298
|
isRefetching: boolean;
|
|
309
299
|
isStale: boolean;
|
|
300
|
+
isEnabled: boolean;
|
|
310
301
|
refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
|
|
311
302
|
fetchStatus: _tanstack_react_query.FetchStatus;
|
|
312
303
|
promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
|
|
@@ -332,6 +323,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
|
|
|
332
323
|
isPaused: boolean;
|
|
333
324
|
isRefetching: boolean;
|
|
334
325
|
isStale: boolean;
|
|
326
|
+
isEnabled: boolean;
|
|
335
327
|
refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
|
|
336
328
|
fetchStatus: _tanstack_react_query.FetchStatus;
|
|
337
329
|
promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
|
|
@@ -357,6 +349,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
|
|
|
357
349
|
isPaused: boolean;
|
|
358
350
|
isRefetching: boolean;
|
|
359
351
|
isStale: boolean;
|
|
352
|
+
isEnabled: boolean;
|
|
360
353
|
refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
|
|
361
354
|
fetchStatus: _tanstack_react_query.FetchStatus;
|
|
362
355
|
promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
|
|
@@ -382,11 +375,82 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
|
|
|
382
375
|
isPaused: boolean;
|
|
383
376
|
isRefetching: boolean;
|
|
384
377
|
isStale: boolean;
|
|
378
|
+
isEnabled: boolean;
|
|
385
379
|
refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
|
|
386
380
|
fetchStatus: _tanstack_react_query.FetchStatus;
|
|
387
381
|
promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
|
|
388
382
|
};
|
|
389
383
|
|
|
384
|
+
/**
|
|
385
|
+
* Use Stale-While-Revalidate Query
|
|
386
|
+
*
|
|
387
|
+
* This hooks is a proxy for {@link useQuery} with addition of the following
|
|
388
|
+
* semantics:
|
|
389
|
+
* - if the query has been resolved successfully just once,
|
|
390
|
+
* the query result will always be success with data being the previously
|
|
391
|
+
* cached result,
|
|
392
|
+
* - the cached result can never go stale, or be garbage collected
|
|
393
|
+
* - the cached result can be only overridden by the current result when
|
|
394
|
+
* the query is successfully re-fetched (in other words,
|
|
395
|
+
* the `options.queryFn` returns a resolved promise).
|
|
396
|
+
*
|
|
397
|
+
* Please note how there can be any number of failed queries before one
|
|
398
|
+
* succeeds. In such case, no successful result has ever been cached and
|
|
399
|
+
* the query fails (`isError: true`, `error` is available) until
|
|
400
|
+
* the first successful resolution (`isSuccess: true`, `data` is available).
|
|
401
|
+
*
|
|
402
|
+
* @example
|
|
403
|
+
* ```tsx
|
|
404
|
+
* const swrQuery = useSwrQuery({
|
|
405
|
+
* queryKey: ['data'],
|
|
406
|
+
* queryFn: fetchData,
|
|
407
|
+
* });
|
|
408
|
+
*
|
|
409
|
+
* if (swrQuery.isPending) {
|
|
410
|
+
* // Show loading state while there's no cached successful result and
|
|
411
|
+
* // no query attempt was finished yet.
|
|
412
|
+
* return <>Loading...</>;
|
|
413
|
+
* }
|
|
414
|
+
*
|
|
415
|
+
* if (swrQuery.isError) {
|
|
416
|
+
* // Show error state when query attempt fails and
|
|
417
|
+
* // no cached successful result is available.
|
|
418
|
+
* return <>Error: {swrQuery.error.message}</>;
|
|
419
|
+
* }
|
|
420
|
+
*
|
|
421
|
+
* // Otherwise, show data when the cached successful result is available.
|
|
422
|
+
* return <>Data: {JSON.stringify(swrQuery.data)}</>;
|
|
423
|
+
* ```
|
|
424
|
+
*/
|
|
425
|
+
declare function useSwrQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): DefinedUseQueryResult<NoInfer<TData>, TError>;
|
|
426
|
+
declare function useSwrQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryResult<NoInfer<TData>, TError>;
|
|
427
|
+
declare function useSwrQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryResult<NoInfer<TData>, TError>;
|
|
428
|
+
|
|
429
|
+
interface ENSNodeProviderProps {
|
|
430
|
+
/** ENSNode configuration */
|
|
431
|
+
config: ENSNodeSDKConfig;
|
|
432
|
+
/**
|
|
433
|
+
* Optional QueryClient instance. If provided, you must wrap your app with QueryClientProvider yourself.
|
|
434
|
+
* If not provided, ENSNodeProvider will create and manage its own QueryClient internally.
|
|
435
|
+
*/
|
|
436
|
+
queryClient?: QueryClient;
|
|
437
|
+
/**
|
|
438
|
+
* Custom query client options when auto-creating a QueryClient.
|
|
439
|
+
* Only used when queryClient is not provided.
|
|
440
|
+
*/
|
|
441
|
+
queryClientOptions?: ConstructorParameters<typeof QueryClient>[0];
|
|
442
|
+
}
|
|
443
|
+
declare function ENSNodeProvider(parameters: React.PropsWithChildren<ENSNodeProviderProps>): react.FunctionComponentElement<{
|
|
444
|
+
children?: React.ReactNode;
|
|
445
|
+
config: ENSNodeSDKConfig;
|
|
446
|
+
}> | react.FunctionComponentElement<_tanstack_react_query.QueryClientProviderProps>;
|
|
447
|
+
/**
|
|
448
|
+
* Helper function to create ENSNode configuration
|
|
449
|
+
*/
|
|
450
|
+
declare function createConfig(options?: {
|
|
451
|
+
url?: string | URL;
|
|
452
|
+
}): ENSNodeSDKConfig;
|
|
453
|
+
|
|
390
454
|
/**
|
|
391
455
|
* Immutable query options for data that is assumed to be immutable and should only be fetched once per full page refresh per unique key.
|
|
392
456
|
* Similar to SWR's immutable: true API.
|
|
@@ -409,5 +473,66 @@ declare const ASSUME_IMMUTABLE_QUERY: {
|
|
|
409
473
|
readonly refetchOnReconnect: false;
|
|
410
474
|
readonly refetchOnMount: false;
|
|
411
475
|
};
|
|
476
|
+
/**
|
|
477
|
+
* Query keys for hooks. Simply keys by path and arguments.
|
|
478
|
+
*/
|
|
479
|
+
declare const queryKeys: {
|
|
480
|
+
base: (url: string) => readonly ["ensnode", string];
|
|
481
|
+
resolve: (url: string) => readonly ["ensnode", string, "resolve"];
|
|
482
|
+
records: (url: string, args: ResolveRecordsRequest<any>) => readonly ["ensnode", string, "resolve", "records", ResolveRecordsRequest<any>];
|
|
483
|
+
primaryName: (url: string, args: ResolvePrimaryNameRequest) => readonly ["ensnode", string, "resolve", "primary-name", ResolvePrimaryNameRequest];
|
|
484
|
+
primaryNames: (url: string, args: ResolvePrimaryNamesRequest) => readonly ["ensnode", string, "resolve", "primary-names", ResolvePrimaryNamesRequest];
|
|
485
|
+
config: (url: string) => readonly ["ensnode", string, "config"];
|
|
486
|
+
indexingStatus: (url: string) => readonly ["ensnode", string, "indexing-status"];
|
|
487
|
+
registrarActions: (url: string, args: RegistrarActionsRequest) => readonly ["ensnode", string, "registrar-actions", RegistrarActionsRequest];
|
|
488
|
+
};
|
|
489
|
+
/**
|
|
490
|
+
* Creates query options for Records Resolution
|
|
491
|
+
*/
|
|
492
|
+
declare function createRecordsQueryOptions<SELECTION extends ResolverRecordsSelection>(config: ENSNodeSDKConfig, args: ResolveRecordsRequest<SELECTION>): {
|
|
493
|
+
enabled: boolean;
|
|
494
|
+
queryKey: readonly ["ensnode", string, "resolve", "records", ResolveRecordsRequest<any>];
|
|
495
|
+
queryFn: () => Promise<_ensnode_ensnode_sdk.ResolveRecordsResponse<SELECTION>>;
|
|
496
|
+
};
|
|
497
|
+
/**
|
|
498
|
+
* Creates query options for Primary Name Resolution
|
|
499
|
+
*/
|
|
500
|
+
declare function createPrimaryNameQueryOptions(config: ENSNodeSDKConfig, args: ResolvePrimaryNameRequest): {
|
|
501
|
+
enabled: boolean;
|
|
502
|
+
queryKey: readonly ["ensnode", string, "resolve", "primary-name", ResolvePrimaryNameRequest];
|
|
503
|
+
queryFn: () => Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
|
|
504
|
+
};
|
|
505
|
+
/**
|
|
506
|
+
* Creates query options for Primary Name Resolution
|
|
507
|
+
*/
|
|
508
|
+
declare function createPrimaryNamesQueryOptions(config: ENSNodeSDKConfig, args: ResolvePrimaryNamesRequest): {
|
|
509
|
+
enabled: boolean;
|
|
510
|
+
queryKey: readonly ["ensnode", string, "resolve", "primary-names", ResolvePrimaryNamesRequest];
|
|
511
|
+
queryFn: () => Promise<_ensnode_ensnode_sdk.ResolvePrimaryNamesResponse>;
|
|
512
|
+
};
|
|
513
|
+
/**
|
|
514
|
+
* Creates query options for ENSNode Config API
|
|
515
|
+
*/
|
|
516
|
+
declare function createConfigQueryOptions(config: ENSNodeSDKConfig): {
|
|
517
|
+
enabled: boolean;
|
|
518
|
+
queryKey: readonly ["ensnode", string, "config"];
|
|
519
|
+
queryFn: () => Promise<_ensnode_ensnode_sdk.ENSApiPublicConfig>;
|
|
520
|
+
};
|
|
521
|
+
/**
|
|
522
|
+
* Creates query options for ENSNode Indexing Status API
|
|
523
|
+
*/
|
|
524
|
+
declare function createIndexingStatusQueryOptions(config: ENSNodeSDKConfig): {
|
|
525
|
+
enabled: boolean;
|
|
526
|
+
queryKey: readonly ["ensnode", string, "indexing-status"];
|
|
527
|
+
queryFn: () => Promise<_ensnode_ensnode_sdk.IndexingStatusResponse>;
|
|
528
|
+
};
|
|
529
|
+
/**
|
|
530
|
+
* Creates query options for ENSNode Registrar Actions API
|
|
531
|
+
*/
|
|
532
|
+
declare function createRegistrarActionsQueryOptions(config: ENSNodeSDKConfig, args: RegistrarActionsRequest): {
|
|
533
|
+
enabled: boolean;
|
|
534
|
+
queryKey: readonly ["ensnode", string, "registrar-actions", RegistrarActionsRequest];
|
|
535
|
+
queryFn: () => Promise<_ensnode_ensnode_sdk.RegistrarActionsResponse>;
|
|
536
|
+
};
|
|
412
537
|
|
|
413
|
-
export { ASSUME_IMMUTABLE_QUERY,
|
|
538
|
+
export { ASSUME_IMMUTABLE_QUERY, ENSNodeContext, ENSNodeProvider, type ENSNodeProviderProps, type ENSNodeSDKConfig, type QueryParameter, type UsePrimaryNameParameters, type UsePrimaryNamesParameters, type UseRecordsParameters, type UseResolvedIdentityParameters, type WithSDKConfigParameter, createConfig, createConfigQueryOptions, createIndexingStatusQueryOptions, createPrimaryNameQueryOptions, createPrimaryNamesQueryOptions, createRecordsQueryOptions, createRegistrarActionsQueryOptions, queryKeys, useENSNodeConfig, useENSNodeSDKConfig, useIndexingStatus, usePrimaryName, usePrimaryNames, useRecords, useRegistrarActions, useResolvedIdentity, useSwrQuery };
|