@namehash/namehash-ui 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,13 +1,16 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ChainId, UnixTimestamp, Duration, Address, Name } from 'enssdk';
3
- import * as React from 'react';
3
+ import * as React$1 from 'react';
4
4
  import React__default, { SVGProps, PropsWithChildren, ReactNode } from 'react';
5
5
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
6
6
  import { LucideIcon } from 'lucide-react';
7
7
  import { ENSNamespaceId } from '@ensnode/datasources';
8
- import { Identity, ENSNamespaceId as ENSNamespaceId$1, UnresolvedIdentity, NamedRegistrarAction } from '@ensnode/ensnode-sdk';
8
+ import * as _ensnode_ensnode_sdk from '@ensnode/ensnode-sdk';
9
+ import { Identity, ENSNamespaceId as ENSNamespaceId$1, UnresolvedIdentity, NamedRegistrarAction, EnsNodeClientOptions, ResolvePrimaryNameRequest, ResolvePrimaryNameResponse, ResolvePrimaryNamesRequest, ResolvePrimaryNamesResponse, ResolverRecordsSelection, ResolveRecordsRequest, ResolveRecordsResponse, AcceleratableRequest, EnsApiIndexingStatusRequest, EnsApiIndexingStatusResponse, NameTokensRequest, NameTokensResponse, RegistrarActionsRequest, RegistrarActionsResponse } from '@ensnode/ensnode-sdk';
9
10
  import * as class_variance_authority_types from 'class-variance-authority/types';
10
11
  import { VariantProps } from 'class-variance-authority';
12
+ import * as _tanstack_react_query from '@tanstack/react-query';
13
+ import { QueryObserverOptions, DefaultError, QueryKey, DefinedInitialDataOptions, QueryClient, DefinedUseQueryResult, UndefinedInitialDataOptions, UseQueryResult, UseQueryOptions, skipToken } from '@tanstack/react-query';
11
14
  import * as viem from 'viem';
12
15
  import { Hash } from 'viem';
13
16
  import * as viem_chains from 'viem/chains';
@@ -46,7 +49,7 @@ declare function DisplayDuration({ duration }: {
46
49
  duration: Duration;
47
50
  }): string;
48
51
 
49
- declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): react_jsx_runtime.JSX.Element;
52
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Content>): react_jsx_runtime.JSX.Element;
50
53
 
51
54
  /**
52
55
  * Formats a Unix timestamp as its relative distance with now
@@ -70,14 +73,14 @@ declare function RelativeTime({ timestamp, enforcePast, includeSeconds, conciseF
70
73
  enforcePast?: boolean;
71
74
  includeSeconds?: boolean;
72
75
  conciseFormatting?: boolean;
73
- tooltipPosition?: React.ComponentProps<typeof TooltipContent>["side"];
76
+ tooltipPosition?: React$1.ComponentProps<typeof TooltipContent>["side"];
74
77
  tooltipStyles?: string;
75
78
  relativeTo?: UnixTimestamp;
76
79
  prefix?: string;
77
80
  /**
78
81
  * A component to be rendered as a wrapper for the Relative Time component content.
79
82
  */
80
- contentWrapper?: ({ children }: React.PropsWithChildren) => React.ReactNode;
83
+ contentWrapper?: ({ children }: React$1.PropsWithChildren) => React$1.ReactNode;
81
84
  }): react_jsx_runtime.JSX.Element;
82
85
 
83
86
  declare function Footer(): react_jsx_runtime.JSX.Element;
@@ -145,7 +148,7 @@ interface IdentityTooltipProps {
145
148
  * On hover displays details on how the primary name for
146
149
  * the address of the identity was resolved.
147
150
  */
148
- declare const IdentityTooltip: ({ identity, namespaceId, children, }: PropsWithChildren<IdentityTooltipProps>) => string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
151
+ declare const IdentityTooltip: ({ identity, namespaceId, children, }: PropsWithChildren<IdentityTooltipProps>) => string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React$1.ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<React$1.ReactNode> | null | undefined> | null | undefined;
149
152
 
150
153
  interface NameDisplayProps {
151
154
  name: Name;
@@ -254,13 +257,13 @@ interface RegistrarActionCardProps {
254
257
  * Display a single Registrar Action
255
258
  */
256
259
  declare function RegistrarActionCard({ namespaceId, namedRegistrarAction, now, links, showIdentityTooltips, showReferrer, referralProgramField, }: RegistrarActionCardProps): react_jsx_runtime.JSX.Element;
257
- declare const RegistrarActionCardMemo: React.MemoExoticComponent<typeof RegistrarActionCard>;
260
+ declare const RegistrarActionCardMemo: React$1.MemoExoticComponent<typeof RegistrarActionCard>;
258
261
 
259
262
  declare const buttonVariants: (props?: ({
260
263
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
261
264
  size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
262
265
  } & class_variance_authority_types.ClassProp) | undefined) => string;
263
- interface ButtonProps extends React.ComponentProps<"button">, VariantProps<typeof buttonVariants> {
266
+ interface ButtonProps extends React$1.ComponentProps<"button">, VariantProps<typeof buttonVariants> {
264
267
  asChild?: boolean;
265
268
  }
266
269
 
@@ -268,11 +271,551 @@ interface CopyButtonProps extends Omit<ButtonProps, "onClick"> {
268
271
  value: string;
269
272
  message?: string;
270
273
  showToast?: boolean;
271
- icon?: React.ReactNode;
272
- successIcon?: React.ReactNode;
274
+ icon?: React$1.ReactNode;
275
+ successIcon?: React$1.ReactNode;
273
276
  }
274
277
  declare function CopyButton({ value, message, variant, size, showToast, icon, successIcon, className, children, ...props }: CopyButtonProps): react_jsx_runtime.JSX.Element;
275
278
 
279
+ /**
280
+ * Configuration options for the ENSNode provider
281
+ */
282
+ interface EnsNodeProviderOptions {
283
+ /** The ENSNode client configuration */
284
+ client: EnsNodeClientOptions;
285
+ }
286
+ /**
287
+ * Base query parameters that can be passed to hooks
288
+ */
289
+ interface QueryParameter<TData = unknown, TError = Error> {
290
+ query?: Partial<QueryObserverOptions<TData, TError, TData, TData, readonly unknown[]>>;
291
+ }
292
+ /**
293
+ * Configuration parameter for hooks that need access to config
294
+ */
295
+ interface WithEnsNodeProviderOptions<TOptions extends EnsNodeProviderOptions = EnsNodeProviderOptions> {
296
+ options?: TOptions | undefined;
297
+ }
298
+ /**
299
+ * Parameters for the useRecords hook.
300
+ *
301
+ * If `name` is null, the query will not be executed.
302
+ */
303
+ interface UseRecordsParameters<SELECTION extends ResolverRecordsSelection> extends Omit<ResolveRecordsRequest<SELECTION>, "name">, QueryParameter<ResolveRecordsResponse<SELECTION>> {
304
+ name: ResolveRecordsRequest<SELECTION>["name"] | null;
305
+ }
306
+ /**
307
+ * Parameters for the usePrimaryName hook.
308
+ *
309
+ * If `address` is null, the query will not be executed.
310
+ */
311
+ interface UsePrimaryNameParameters extends Omit<ResolvePrimaryNameRequest, "address">, QueryParameter<ResolvePrimaryNameResponse> {
312
+ address: ResolvePrimaryNameRequest["address"] | null;
313
+ }
314
+ /**
315
+ * Parameters for the usePrimaryNames hook.
316
+ *
317
+ * If `address` is null, the query will not be executed.
318
+ */
319
+ interface UsePrimaryNamesParameters extends Omit<ResolvePrimaryNamesRequest, "address">, QueryParameter<ResolvePrimaryNamesResponse> {
320
+ address: ResolvePrimaryNamesRequest["address"] | null;
321
+ }
322
+ /**
323
+ * Parameters for the useResolvedIdentity hook.
324
+ */
325
+ interface UseResolvedIdentityParameters extends QueryParameter<ResolvePrimaryNameResponse>, AcceleratableRequest {
326
+ identity: UnresolvedIdentity;
327
+ namespace: ENSNamespaceId$1;
328
+ }
329
+
330
+ /**
331
+ * React context for ENSNodeProvider options
332
+ */
333
+ declare const EnsNodeContext: React$1.Context<EnsNodeProviderOptions | undefined>;
334
+
335
+ /**
336
+ * Hook to access the {@link EnsNodeProviderOptions} from context or parameters.
337
+ *
338
+ * @param options - Options parameter that overrides context
339
+ * @throws Error if no options are available in context or parameters
340
+ */
341
+ declare function useEnsNodeProviderOptions<ProviderOptionsType extends EnsNodeProviderOptions = EnsNodeProviderOptions>(options?: ProviderOptionsType): ProviderOptionsType;
342
+
343
+ interface UseIndexingStatusParameters extends EnsApiIndexingStatusRequest, QueryParameter<EnsApiIndexingStatusResponse> {
344
+ }
345
+ declare function useIndexingStatus(parameters?: WithEnsNodeProviderOptions & UseIndexingStatusParameters): _tanstack_react_query.UseQueryResult<EnsApiIndexingStatusResponse, Error>;
346
+
347
+ type UseNameTokensParameters = NameTokensRequest & QueryParameter<NameTokensResponse>;
348
+ /**
349
+ * Use Name Tokens hook
350
+ *
351
+ * Query ENSNode Name Tokens API.
352
+ */
353
+ declare function useNameTokens(parameters: WithEnsNodeProviderOptions & UseNameTokensParameters): _tanstack_react_query.UseQueryResult<NameTokensResponse, Error>;
354
+
355
+ /**
356
+ * Resolves the primary name of a specified address (Reverse Resolution).
357
+ *
358
+ * The returned Primary Name, if set, is guaranteed to be a normalized name.
359
+ * If the primary name set for the address is not normalized, `null` is returned as if no primary name was set.
360
+ *
361
+ * @param parameters - Configuration for the address resolution
362
+ * @returns Query result with resolved primary name
363
+ *
364
+ * @example
365
+ * ```typescript
366
+ * import { usePrimaryName } from "@namehash/namehash-ui";
367
+ *
368
+ * function DisplayPrimaryNameAndAvatar() {
369
+ * const { data, isLoading, error } = usePrimaryName({
370
+ * address: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
371
+ * chainId: 1, // Ethereum Mainnet
372
+ * accelerate: true, // Attempt Protocol Acceleration
373
+ * });
374
+ *
375
+ * if (isLoading) return <div>Loading...</div>;
376
+ * if (error) return <div>Error: {error.message}</div>;
377
+ *
378
+ * return (
379
+ * <div>
380
+ * <h3>Primary Name (for Mainnet)</h3>
381
+ * <p>{data.name ?? "No Primary Name"}</p>
382
+ * </div>
383
+ * );
384
+ * }
385
+ * ```
386
+ */
387
+ declare function usePrimaryName(parameters: UsePrimaryNameParameters & WithEnsNodeProviderOptions): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>;
388
+
389
+ /**
390
+ * Resolves the primary names of a specified address across multiple chains.
391
+ *
392
+ * Each returned Primary Name, if set, is guaranteed to be a normalized name.
393
+ * If the primary name set for the address on any chain is not normalized, `null` is returned for that chain as if no primary name was set.
394
+ *
395
+ * @param parameters - Configuration for the address resolution
396
+ * @returns Query result with resolved primary names
397
+ *
398
+ * @example
399
+ * ```typescript
400
+ * import { usePrimaryNames } from "@namehash/namehash-ui";
401
+ *
402
+ * function DisplayPrimaryNames() {
403
+ * const { data, isLoading, error } = usePrimaryNames({
404
+ * address: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
405
+ * });
406
+ *
407
+ * if (isLoading) return <div>Loading...</div>;
408
+ * if (error) return <div>Error: {error.message}</div>;
409
+ *
410
+ * return (
411
+ * <div>
412
+ * {Object.entries(data.names).map(([chainId, name]) => (
413
+ * <div key={chainId}>
414
+ * <h3>Primary Name (Chain Id: {chainId})</h3>
415
+ * <p>{name}</p>
416
+ * </div>
417
+ * ))}
418
+ * </div>
419
+ * );
420
+ * }
421
+ * ```
422
+ */
423
+ declare function usePrimaryNames(parameters: UsePrimaryNamesParameters & WithEnsNodeProviderOptions): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolvePrimaryNamesResponse, Error>;
424
+
425
+ /**
426
+ * Resolves records for an ENS name (Forward Resolution).
427
+ *
428
+ * The returned `name` field, if set, is guaranteed to be a normalized name.
429
+ * If the name record returned by the resolver is not normalized, `null` is returned as if no name record was set.
430
+ *
431
+ * @param parameters - Configuration for the ENS name resolution
432
+ * @returns Query result with resolved records
433
+ *
434
+ * @example
435
+ * ```typescript
436
+ * import { useRecords } from "@namehash/namehash-ui";
437
+ *
438
+ * function DisplayNameRecords() {
439
+ * const { data, isLoading, error } = useRecords({
440
+ * name: "jesse.base.eth",
441
+ * selection: {
442
+ * addresses: [60], // ETH CoinType
443
+ * texts: ["avatar", "com.twitter"]
444
+ * }
445
+ * });
446
+ *
447
+ * if (isLoading) return <div>Loading...</div>;
448
+ * if (error) return <div>Error: {error.message}</div>;
449
+ *
450
+ * return (
451
+ * <div>
452
+ * <h3>Resolved Records for vitalik.eth</h3>
453
+ * {data.records.addresses && (
454
+ * <p>ETH Address: {data.records.addresses[60]}</p>
455
+ * )}
456
+ * {data.records.texts && (
457
+ * <div>
458
+ * <p>Avatar: {data.records.texts.avatar}</p>
459
+ * <p>Twitter: {data.records.texts["com.twitter"]}</p>
460
+ * </div>
461
+ * )}
462
+ * </div>
463
+ * );
464
+ * }
465
+ * ```
466
+ */
467
+ declare function useRecords<SELECTION extends ResolverRecordsSelection>(parameters: UseRecordsParameters<SELECTION> & WithEnsNodeProviderOptions): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolveRecordsResponse<SELECTION>, Error>;
468
+
469
+ interface UseRegistrarActionsParameters extends RegistrarActionsRequest, QueryParameter<RegistrarActionsResponse> {
470
+ }
471
+ /**
472
+ * Use Registrar Actions hook
473
+ *
474
+ * Query ENSNode Registrar Actions API.
475
+ */
476
+ declare function useRegistrarActions(parameters?: WithEnsNodeProviderOptions & UseRegistrarActionsParameters): _tanstack_react_query.UseQueryResult<RegistrarActionsResponse, Error>;
477
+
478
+ /**
479
+ * Hook to perform ENSIP-19 primary name resolution to resolve an
480
+ * {@link UnresolvedIdentity} into a {@link ResolvedIdentity}.
481
+ *
482
+ * @param parameters - Configuration object for the hook
483
+ * @param parameters.identity - An {@link UnresolvedIdentity} containing the {@link DefaultableChainId}
484
+ * and {@link Address} to resolve.
485
+ * @param parameters.namespace - The {@link ENSNamespaceId} that `identity.chainId` should be interpreted
486
+ * through (via {@link getResolvePrimaryNameChainIdParam}) to determine the literal
487
+ * chainId that should be used for ENSIP-19 primary name resolution.
488
+ * @param parameters.accelerate - Whether to attempt Protocol Acceleration (default: false)
489
+ * when resolving the primary name.
490
+ *
491
+ * @returns An object containing:
492
+ * - `identity`: An {@link Identity} with one of four possible {@link ResolutionStatusIds}:
493
+ * - {@link ResolutionStatusIds.Unresolved}: While the query is pending (loading state).
494
+ * - {@link ResolutionStatusIds.Unknown}: If an error occurs during resolution.
495
+ * - {@link ResolutionStatusIds.Unnamed}: If the resolution found no primary name.
496
+ * - {@link ResolutionStatusIds.Named}: If a primary name is successfully resolved.
497
+ * - All other properties from the underlying {@link usePrimaryName} query (e.g., `isLoading`, `error`, `refetch`, etc.)
498
+ */
499
+ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters): {
500
+ identity: Identity;
501
+ error: Error;
502
+ isError: true;
503
+ isPending: false;
504
+ isLoading: false;
505
+ isLoadingError: false;
506
+ isRefetchError: true;
507
+ isSuccess: false;
508
+ isPlaceholderData: false;
509
+ dataUpdatedAt: number;
510
+ errorUpdatedAt: number;
511
+ failureCount: number;
512
+ failureReason: Error | null;
513
+ errorUpdateCount: number;
514
+ isFetched: boolean;
515
+ isFetchedAfterMount: boolean;
516
+ isFetching: boolean;
517
+ isInitialLoading: boolean;
518
+ isPaused: boolean;
519
+ isRefetching: boolean;
520
+ isStale: boolean;
521
+ isEnabled: boolean;
522
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
523
+ fetchStatus: _tanstack_react_query.FetchStatus;
524
+ promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
525
+ } | {
526
+ identity: Identity;
527
+ error: null;
528
+ isError: false;
529
+ isPending: false;
530
+ isLoading: false;
531
+ isLoadingError: false;
532
+ isRefetchError: false;
533
+ isSuccess: true;
534
+ isPlaceholderData: false;
535
+ dataUpdatedAt: number;
536
+ errorUpdatedAt: number;
537
+ failureCount: number;
538
+ failureReason: Error | null;
539
+ errorUpdateCount: number;
540
+ isFetched: boolean;
541
+ isFetchedAfterMount: boolean;
542
+ isFetching: boolean;
543
+ isInitialLoading: boolean;
544
+ isPaused: boolean;
545
+ isRefetching: boolean;
546
+ isStale: boolean;
547
+ isEnabled: boolean;
548
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
549
+ fetchStatus: _tanstack_react_query.FetchStatus;
550
+ promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
551
+ } | {
552
+ identity: Identity;
553
+ error: Error;
554
+ isError: true;
555
+ isPending: false;
556
+ isLoading: false;
557
+ isLoadingError: true;
558
+ isRefetchError: false;
559
+ isSuccess: false;
560
+ isPlaceholderData: false;
561
+ dataUpdatedAt: number;
562
+ errorUpdatedAt: number;
563
+ failureCount: number;
564
+ failureReason: Error | null;
565
+ errorUpdateCount: number;
566
+ isFetched: boolean;
567
+ isFetchedAfterMount: boolean;
568
+ isFetching: boolean;
569
+ isInitialLoading: boolean;
570
+ isPaused: boolean;
571
+ isRefetching: boolean;
572
+ isStale: boolean;
573
+ isEnabled: boolean;
574
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
575
+ fetchStatus: _tanstack_react_query.FetchStatus;
576
+ promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
577
+ } | {
578
+ identity: Identity;
579
+ error: null;
580
+ isError: false;
581
+ isPending: true;
582
+ isLoading: true;
583
+ isLoadingError: false;
584
+ isRefetchError: false;
585
+ isSuccess: false;
586
+ isPlaceholderData: false;
587
+ dataUpdatedAt: number;
588
+ errorUpdatedAt: number;
589
+ failureCount: number;
590
+ failureReason: Error | null;
591
+ errorUpdateCount: number;
592
+ isFetched: boolean;
593
+ isFetchedAfterMount: boolean;
594
+ isFetching: boolean;
595
+ isInitialLoading: boolean;
596
+ isPaused: boolean;
597
+ isRefetching: boolean;
598
+ isStale: boolean;
599
+ isEnabled: boolean;
600
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
601
+ fetchStatus: _tanstack_react_query.FetchStatus;
602
+ promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
603
+ } | {
604
+ identity: Identity;
605
+ error: null;
606
+ isError: false;
607
+ isPending: true;
608
+ isLoadingError: false;
609
+ isRefetchError: false;
610
+ isSuccess: false;
611
+ isPlaceholderData: false;
612
+ dataUpdatedAt: number;
613
+ errorUpdatedAt: number;
614
+ failureCount: number;
615
+ failureReason: Error | null;
616
+ errorUpdateCount: number;
617
+ isFetched: boolean;
618
+ isFetchedAfterMount: boolean;
619
+ isFetching: boolean;
620
+ isLoading: boolean;
621
+ isInitialLoading: boolean;
622
+ isPaused: boolean;
623
+ isRefetching: boolean;
624
+ isStale: boolean;
625
+ isEnabled: boolean;
626
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
627
+ fetchStatus: _tanstack_react_query.FetchStatus;
628
+ promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
629
+ } | {
630
+ identity: Identity;
631
+ isError: false;
632
+ error: null;
633
+ isPending: false;
634
+ isLoading: false;
635
+ isLoadingError: false;
636
+ isRefetchError: false;
637
+ isSuccess: true;
638
+ isPlaceholderData: true;
639
+ dataUpdatedAt: number;
640
+ errorUpdatedAt: number;
641
+ failureCount: number;
642
+ failureReason: Error | null;
643
+ errorUpdateCount: number;
644
+ isFetched: boolean;
645
+ isFetchedAfterMount: boolean;
646
+ isFetching: boolean;
647
+ isInitialLoading: boolean;
648
+ isPaused: boolean;
649
+ isRefetching: boolean;
650
+ isStale: boolean;
651
+ isEnabled: boolean;
652
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
653
+ fetchStatus: _tanstack_react_query.FetchStatus;
654
+ promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
655
+ };
656
+
657
+ /**
658
+ * Use Stale-While-Revalidate Query
659
+ *
660
+ * This hooks is a proxy for {@link useQuery} with addition of the following
661
+ * semantics:
662
+ * - if the query has been resolved successfully just once,
663
+ * the query result will always be success with data being the previously
664
+ * cached result,
665
+ * - the cached result can never go stale, or be garbage collected
666
+ * - the cached result can be only overridden by the current result when
667
+ * the query is successfully re-fetched (in other words,
668
+ * the `options.queryFn` returns a resolved promise).
669
+ *
670
+ * Please note how there can be any number of failed queries before one
671
+ * succeeds. In such case, no successful result has ever been cached and
672
+ * the query fails (`isError: true`, `error` is available) until
673
+ * the first successful resolution (`isSuccess: true`, `data` is available).
674
+ *
675
+ * @example
676
+ * ```tsx
677
+ * const swrQuery = useSwrQuery({
678
+ * queryKey: ['data'],
679
+ * queryFn: fetchData,
680
+ * });
681
+ *
682
+ * if (swrQuery.isPending) {
683
+ * // Show loading state while there's no cached successful result and
684
+ * // no query attempt was finished yet.
685
+ * return <>Loading...</>;
686
+ * }
687
+ *
688
+ * if (swrQuery.isError) {
689
+ * // Show error state when query attempt fails and
690
+ * // no cached successful result is available.
691
+ * return <>Error: {swrQuery.error.message}</>;
692
+ * }
693
+ *
694
+ * // Otherwise, show data when the cached successful result is available.
695
+ * return <>Data: {JSON.stringify(swrQuery.data)}</>;
696
+ * ```
697
+ */
698
+ 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>;
699
+ 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>;
700
+ 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>;
701
+
702
+ interface EnsNodeProviderProps {
703
+ /** ENSNode Provider Options */
704
+ options: EnsNodeProviderOptions;
705
+ /**
706
+ * Optional QueryClient instance. If provided, you must wrap your app with QueryClientProvider yourself.
707
+ * If not provided, EnsNodeProvider will create and manage its own QueryClient internally.
708
+ */
709
+ queryClient?: QueryClient;
710
+ /**
711
+ * Custom query client options when auto-creating a QueryClient.
712
+ * Only used when queryClient is not provided.
713
+ */
714
+ queryClientOptions?: ConstructorParameters<typeof QueryClient>[0];
715
+ }
716
+ declare function EnsNodeProvider(parameters: React.PropsWithChildren<EnsNodeProviderProps>): React$1.FunctionComponentElement<{
717
+ children?: React.ReactNode;
718
+ options: EnsNodeProviderOptions;
719
+ }> | React$1.FunctionComponentElement<_tanstack_react_query.QueryClientProviderProps>;
720
+ /**
721
+ * Helper function to create ENSNode Provider Options
722
+ */
723
+ declare function createEnsNodeProviderOptions(options?: {
724
+ url?: string | URL;
725
+ }): EnsNodeProviderOptions;
726
+
727
+ /**
728
+ * Immutable query options for data that is assumed to be immutable and should only be fetched once per full page refresh per unique key.
729
+ * Similar to SWR's immutable: true API.
730
+ *
731
+ * Use this for data that is assumed not to change (e.g., records for a specific name) until the next full page refresh.
732
+ *
733
+ * @example
734
+ * ```tsx
735
+ * useRecords({
736
+ * name: "vitalik.eth",
737
+ * selection: { texts: ["avatar"] },
738
+ * query: ASSUME_IMMUTABLE_QUERY
739
+ * })
740
+ * ```
741
+ */
742
+ declare const ASSUME_IMMUTABLE_QUERY: {
743
+ readonly staleTime: number;
744
+ readonly gcTime: number;
745
+ readonly refetchOnWindowFocus: false;
746
+ readonly refetchOnReconnect: false;
747
+ readonly refetchOnMount: false;
748
+ };
749
+ /**
750
+ * Query options that disable a useQuery call. Uses `skipToken` so tanstack-query
751
+ * does not warn about a missing `queryFn`.
752
+ */
753
+ declare const DISABLED_QUERY: {
754
+ readonly queryKey: readonly ["disabled"];
755
+ readonly queryFn: typeof skipToken;
756
+ };
757
+ /**
758
+ * Query keys for hooks. Simply keys by path and arguments.
759
+ */
760
+ declare const queryKeys: {
761
+ base: (url: string) => readonly ["ensnode", string];
762
+ resolve: (url: string) => readonly ["ensnode", string, "resolve"];
763
+ records: (url: string, args: ResolveRecordsRequest<any>) => readonly ["ensnode", string, "resolve", "records", ResolveRecordsRequest<any>];
764
+ primaryName: (url: string, args: ResolvePrimaryNameRequest) => readonly ["ensnode", string, "resolve", "primary-name", ResolvePrimaryNameRequest];
765
+ primaryNames: (url: string, args: ResolvePrimaryNamesRequest) => readonly ["ensnode", string, "resolve", "primary-names", ResolvePrimaryNamesRequest];
766
+ indexingStatus: (url: string) => readonly ["ensnode", string, "indexing-status"];
767
+ registrarActions: (url: string, args: RegistrarActionsRequest) => readonly ["ensnode", string, "registrar-actions", RegistrarActionsRequest];
768
+ nameTokens: (url: string, args: NameTokensRequest) => readonly ["ensnode", string, "name-tokens", NameTokensRequest];
769
+ };
770
+ /**
771
+ * Creates query options for Records Resolution
772
+ */
773
+ declare function createRecordsQueryOptions<SELECTION extends ResolverRecordsSelection>(config: EnsNodeProviderOptions, args: ResolveRecordsRequest<SELECTION>): {
774
+ enabled: boolean;
775
+ queryKey: readonly ["ensnode", string, "resolve", "records", ResolveRecordsRequest<any>];
776
+ queryFn: () => Promise<_ensnode_ensnode_sdk.ResolveRecordsResponse<SELECTION>>;
777
+ };
778
+ /**
779
+ * Creates query options for Primary Name Resolution
780
+ */
781
+ declare function createPrimaryNameQueryOptions(config: EnsNodeProviderOptions, args: ResolvePrimaryNameRequest): {
782
+ enabled: boolean;
783
+ queryKey: readonly ["ensnode", string, "resolve", "primary-name", ResolvePrimaryNameRequest];
784
+ queryFn: () => Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
785
+ };
786
+ /**
787
+ * Creates query options for Primary Name Resolution
788
+ */
789
+ declare function createPrimaryNamesQueryOptions(config: EnsNodeProviderOptions, args: ResolvePrimaryNamesRequest): {
790
+ enabled: boolean;
791
+ queryKey: readonly ["ensnode", string, "resolve", "primary-names", ResolvePrimaryNamesRequest];
792
+ queryFn: () => Promise<_ensnode_ensnode_sdk.ResolvePrimaryNamesResponse>;
793
+ };
794
+ /**
795
+ * Creates query options for ENSNode Indexing Status API
796
+ */
797
+ declare function createIndexingStatusQueryOptions(config: EnsNodeProviderOptions): {
798
+ enabled: boolean;
799
+ queryKey: readonly ["ensnode", string, "indexing-status"];
800
+ queryFn: () => Promise<_ensnode_ensnode_sdk.EnsApiIndexingStatusResponse>;
801
+ };
802
+ /**
803
+ * Creates query options for ENSNode Registrar Actions API
804
+ */
805
+ declare function createRegistrarActionsQueryOptions(config: EnsNodeProviderOptions, args: RegistrarActionsRequest): {
806
+ enabled: boolean;
807
+ queryKey: readonly ["ensnode", string, "registrar-actions", RegistrarActionsRequest];
808
+ queryFn: () => Promise<_ensnode_ensnode_sdk.RegistrarActionsResponse>;
809
+ };
810
+ /**
811
+ * Creates query options for Name Tokens API
812
+ */
813
+ declare function createNameTokensQueryOptions(config: EnsNodeProviderOptions, args: NameTokensRequest): {
814
+ enabled: boolean;
815
+ queryKey: readonly ["ensnode", string, "name-tokens", NameTokensRequest];
816
+ queryFn: () => Promise<_ensnode_ensnode_sdk.NameTokensResponse>;
817
+ };
818
+
276
819
  declare function useIsMobile(breakpoint?: number): boolean;
277
820
 
278
821
  interface UseNowProps {
@@ -373,9 +916,18 @@ declare const SUPPORTED_CHAINS: ({
373
916
  readonly sourceId?: number | undefined | undefined;
374
917
  readonly testnet?: boolean | undefined | undefined;
375
918
  readonly custom?: Record<string, unknown> | undefined;
919
+ readonly extendSchema?: Record<string, unknown> | undefined;
376
920
  readonly fees?: viem.ChainFees<undefined> | undefined;
377
921
  readonly formatters?: undefined;
922
+ readonly prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
923
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
924
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
925
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
926
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
927
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
928
+ }] | undefined;
378
929
  readonly serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
930
+ readonly verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
379
931
  } | {
380
932
  blockExplorers: {
381
933
  readonly default: {
@@ -412,9 +964,18 @@ declare const SUPPORTED_CHAINS: ({
412
964
  sourceId?: number | undefined | undefined;
413
965
  testnet: true;
414
966
  custom?: Record<string, unknown> | undefined;
967
+ extendSchema?: Record<string, unknown> | undefined;
415
968
  fees?: viem.ChainFees<undefined> | undefined;
416
969
  formatters?: undefined;
970
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
971
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
972
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
973
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
974
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
975
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
976
+ }] | undefined;
417
977
  serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
978
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
418
979
  } | {
419
980
  readonly id: 99911155111;
420
981
  readonly name: "Sepolia V2 (Virtual)";
@@ -451,9 +1012,18 @@ declare const SUPPORTED_CHAINS: ({
451
1012
  readonly sourceId?: number | undefined | undefined;
452
1013
  readonly testnet: true;
453
1014
  readonly custom?: Record<string, unknown> | undefined;
1015
+ readonly extendSchema?: Record<string, unknown> | undefined;
454
1016
  readonly fees?: viem.ChainFees<undefined> | undefined;
455
1017
  readonly formatters?: undefined;
1018
+ readonly prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
1019
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1020
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
1021
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1022
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
1023
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
1024
+ }] | undefined;
456
1025
  readonly serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1026
+ readonly verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
457
1027
  } | {
458
1028
  blockExplorers: {
459
1029
  readonly default: {
@@ -490,9 +1060,18 @@ declare const SUPPORTED_CHAINS: ({
490
1060
  sourceId?: number | undefined | undefined;
491
1061
  testnet?: boolean | undefined | undefined;
492
1062
  custom?: Record<string, unknown> | undefined;
1063
+ extendSchema?: Record<string, unknown> | undefined;
493
1064
  fees?: viem.ChainFees<undefined> | undefined;
494
1065
  formatters?: undefined;
1066
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
1067
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1068
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
1069
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1070
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
1071
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
1072
+ }] | undefined;
495
1073
  serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1074
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
496
1075
  } | {
497
1076
  blockExplorers: {
498
1077
  readonly default: {
@@ -565,6 +1144,7 @@ declare const SUPPORTED_CHAINS: ({
565
1144
  sourceId: 1;
566
1145
  testnet?: boolean | undefined | undefined;
567
1146
  custom?: Record<string, unknown> | undefined;
1147
+ extendSchema?: Record<string, unknown> | undefined;
568
1148
  fees?: viem.ChainFees<undefined> | undefined;
569
1149
  formatters: {
570
1150
  readonly block: {
@@ -605,6 +1185,7 @@ declare const SUPPORTED_CHAINS: ({
605
1185
  format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
606
1186
  blockHash: `0x${string}` | null;
607
1187
  blockNumber: bigint | null;
1188
+ blockTimestamp?: bigint | undefined;
608
1189
  from: viem.Address;
609
1190
  gas: bigint;
610
1191
  hash: viem.Hash;
@@ -630,16 +1211,17 @@ declare const SUPPORTED_CHAINS: ({
630
1211
  r: viem.Hex;
631
1212
  s: viem.Hex;
632
1213
  v: bigint;
633
- value: bigint;
634
- gas: bigint;
635
1214
  to: viem.Address | null;
636
1215
  from: viem.Address;
1216
+ gas: bigint;
637
1217
  nonce: number;
1218
+ value: bigint;
638
1219
  blockHash: `0x${string}` | null;
639
1220
  blockNumber: bigint | null;
640
- transactionIndex: number | null;
1221
+ blockTimestamp?: bigint | undefined;
641
1222
  hash: viem.Hash;
642
1223
  input: viem.Hex;
1224
+ transactionIndex: number | null;
643
1225
  typeHex: viem.Hex | null;
644
1226
  accessList?: undefined | undefined;
645
1227
  authorizationList?: undefined | undefined;
@@ -657,6 +1239,7 @@ declare const SUPPORTED_CHAINS: ({
657
1239
  } | {
658
1240
  blockHash: `0x${string}` | null;
659
1241
  blockNumber: bigint | null;
1242
+ blockTimestamp?: bigint | undefined;
660
1243
  from: viem.Address;
661
1244
  gas: bigint;
662
1245
  hash: viem.Hash;
@@ -685,6 +1268,7 @@ declare const SUPPORTED_CHAINS: ({
685
1268
  } | {
686
1269
  blockHash: `0x${string}` | null;
687
1270
  blockNumber: bigint | null;
1271
+ blockTimestamp?: bigint | undefined;
688
1272
  from: viem.Address;
689
1273
  gas: bigint;
690
1274
  hash: viem.Hash;
@@ -713,6 +1297,7 @@ declare const SUPPORTED_CHAINS: ({
713
1297
  } | {
714
1298
  blockHash: `0x${string}` | null;
715
1299
  blockNumber: bigint | null;
1300
+ blockTimestamp?: bigint | undefined;
716
1301
  from: viem.Address;
717
1302
  gas: bigint;
718
1303
  hash: viem.Hash;
@@ -741,6 +1326,7 @@ declare const SUPPORTED_CHAINS: ({
741
1326
  } | {
742
1327
  blockHash: `0x${string}` | null;
743
1328
  blockNumber: bigint | null;
1329
+ blockTimestamp?: bigint | undefined;
744
1330
  from: viem.Address;
745
1331
  gas: bigint;
746
1332
  hash: viem.Hash;
@@ -776,6 +1362,7 @@ declare const SUPPORTED_CHAINS: ({
776
1362
  blobGasUsed?: bigint | undefined;
777
1363
  blockHash: viem.Hash;
778
1364
  blockNumber: bigint;
1365
+ blockTimestamp?: bigint | undefined;
779
1366
  contractAddress: viem.Address | null | undefined;
780
1367
  cumulativeGasUsed: bigint;
781
1368
  effectiveGasPrice: bigint;
@@ -797,9 +1384,17 @@ declare const SUPPORTED_CHAINS: ({
797
1384
  type: "transactionReceipt";
798
1385
  };
799
1386
  };
1387
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
1388
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1389
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
1390
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1391
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
1392
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
1393
+ }] | undefined;
800
1394
  serializers: {
801
1395
  readonly transaction: typeof viem_chains.serializeTransactionOpStack;
802
1396
  };
1397
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
803
1398
  } | {
804
1399
  blockExplorers: {
805
1400
  readonly default: {
@@ -841,12 +1436,21 @@ declare const SUPPORTED_CHAINS: ({
841
1436
  sourceId?: number | undefined | undefined;
842
1437
  testnet: false;
843
1438
  custom?: Record<string, unknown> | undefined;
1439
+ extendSchema?: Record<string, unknown> | undefined;
844
1440
  fees: {
845
1441
  readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<viem.ChainEstimateFeesPerGasFn>[0]) => ReturnType<viem.ChainEstimateFeesPerGasFn>;
846
1442
  readonly maxPriorityFeePerGas: ({ block, client, request }: viem.ChainFeesFnParameters<viem.ChainFormatters | undefined>) => Promise<bigint | null>;
847
1443
  };
848
1444
  formatters?: undefined;
1445
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
1446
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1447
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
1448
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1449
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
1450
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
1451
+ }] | undefined;
849
1452
  serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1453
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
850
1454
  } | {
851
1455
  blockExplorers: {
852
1456
  readonly default: {
@@ -917,6 +1521,7 @@ declare const SUPPORTED_CHAINS: ({
917
1521
  sourceId: 1;
918
1522
  testnet?: boolean | undefined | undefined;
919
1523
  custom?: Record<string, unknown> | undefined;
1524
+ extendSchema?: Record<string, unknown> | undefined;
920
1525
  fees?: viem.ChainFees<undefined> | undefined;
921
1526
  formatters: {
922
1527
  readonly block: {
@@ -957,6 +1562,7 @@ declare const SUPPORTED_CHAINS: ({
957
1562
  format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
958
1563
  blockHash: `0x${string}` | null;
959
1564
  blockNumber: bigint | null;
1565
+ blockTimestamp?: bigint | undefined;
960
1566
  from: viem.Address;
961
1567
  gas: bigint;
962
1568
  hash: viem.Hash;
@@ -982,16 +1588,17 @@ declare const SUPPORTED_CHAINS: ({
982
1588
  r: viem.Hex;
983
1589
  s: viem.Hex;
984
1590
  v: bigint;
985
- value: bigint;
986
- gas: bigint;
987
1591
  to: viem.Address | null;
988
1592
  from: viem.Address;
1593
+ gas: bigint;
989
1594
  nonce: number;
1595
+ value: bigint;
990
1596
  blockHash: `0x${string}` | null;
991
1597
  blockNumber: bigint | null;
992
- transactionIndex: number | null;
1598
+ blockTimestamp?: bigint | undefined;
993
1599
  hash: viem.Hash;
994
1600
  input: viem.Hex;
1601
+ transactionIndex: number | null;
995
1602
  typeHex: viem.Hex | null;
996
1603
  accessList?: undefined | undefined;
997
1604
  authorizationList?: undefined | undefined;
@@ -1009,6 +1616,7 @@ declare const SUPPORTED_CHAINS: ({
1009
1616
  } | {
1010
1617
  blockHash: `0x${string}` | null;
1011
1618
  blockNumber: bigint | null;
1619
+ blockTimestamp?: bigint | undefined;
1012
1620
  from: viem.Address;
1013
1621
  gas: bigint;
1014
1622
  hash: viem.Hash;
@@ -1037,6 +1645,7 @@ declare const SUPPORTED_CHAINS: ({
1037
1645
  } | {
1038
1646
  blockHash: `0x${string}` | null;
1039
1647
  blockNumber: bigint | null;
1648
+ blockTimestamp?: bigint | undefined;
1040
1649
  from: viem.Address;
1041
1650
  gas: bigint;
1042
1651
  hash: viem.Hash;
@@ -1065,6 +1674,7 @@ declare const SUPPORTED_CHAINS: ({
1065
1674
  } | {
1066
1675
  blockHash: `0x${string}` | null;
1067
1676
  blockNumber: bigint | null;
1677
+ blockTimestamp?: bigint | undefined;
1068
1678
  from: viem.Address;
1069
1679
  gas: bigint;
1070
1680
  hash: viem.Hash;
@@ -1093,6 +1703,7 @@ declare const SUPPORTED_CHAINS: ({
1093
1703
  } | {
1094
1704
  blockHash: `0x${string}` | null;
1095
1705
  blockNumber: bigint | null;
1706
+ blockTimestamp?: bigint | undefined;
1096
1707
  from: viem.Address;
1097
1708
  gas: bigint;
1098
1709
  hash: viem.Hash;
@@ -1128,6 +1739,7 @@ declare const SUPPORTED_CHAINS: ({
1128
1739
  blobGasUsed?: bigint | undefined;
1129
1740
  blockHash: viem.Hash;
1130
1741
  blockNumber: bigint;
1742
+ blockTimestamp?: bigint | undefined;
1131
1743
  contractAddress: viem.Address | null | undefined;
1132
1744
  cumulativeGasUsed: bigint;
1133
1745
  effectiveGasPrice: bigint;
@@ -1149,9 +1761,17 @@ declare const SUPPORTED_CHAINS: ({
1149
1761
  type: "transactionReceipt";
1150
1762
  };
1151
1763
  };
1764
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
1765
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1766
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
1767
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1768
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
1769
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
1770
+ }] | undefined;
1152
1771
  serializers: {
1153
1772
  readonly transaction: typeof viem_chains.serializeTransactionOpStack;
1154
1773
  };
1774
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
1155
1775
  } | {
1156
1776
  blockExplorers: {
1157
1777
  readonly default: {
@@ -1184,9 +1804,18 @@ declare const SUPPORTED_CHAINS: ({
1184
1804
  sourceId?: number | undefined | undefined;
1185
1805
  testnet?: boolean | undefined | undefined;
1186
1806
  custom?: Record<string, unknown> | undefined;
1807
+ extendSchema?: Record<string, unknown> | undefined;
1187
1808
  fees?: viem.ChainFees<undefined> | undefined;
1188
1809
  formatters?: undefined;
1810
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
1811
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1812
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
1813
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1814
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
1815
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
1816
+ }] | undefined;
1189
1817
  serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1818
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
1190
1819
  } | {
1191
1820
  blockExplorers: {
1192
1821
  readonly default: {
@@ -1220,9 +1849,18 @@ declare const SUPPORTED_CHAINS: ({
1220
1849
  sourceId?: number | undefined | undefined;
1221
1850
  testnet: false;
1222
1851
  custom?: Record<string, unknown> | undefined;
1852
+ extendSchema?: Record<string, unknown> | undefined;
1223
1853
  fees?: viem.ChainFees<undefined> | undefined;
1224
1854
  formatters?: undefined;
1855
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
1856
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1857
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
1858
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
1859
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
1860
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
1861
+ }] | undefined;
1225
1862
  serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1863
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
1226
1864
  } | {
1227
1865
  blockExplorers: {
1228
1866
  readonly default: {
@@ -1295,6 +1933,7 @@ declare const SUPPORTED_CHAINS: ({
1295
1933
  sourceId: 11155111;
1296
1934
  testnet: true;
1297
1935
  custom?: Record<string, unknown> | undefined;
1936
+ extendSchema?: Record<string, unknown> | undefined;
1298
1937
  fees?: viem.ChainFees<undefined> | undefined;
1299
1938
  formatters: {
1300
1939
  readonly block: {
@@ -1335,6 +1974,7 @@ declare const SUPPORTED_CHAINS: ({
1335
1974
  format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
1336
1975
  blockHash: `0x${string}` | null;
1337
1976
  blockNumber: bigint | null;
1977
+ blockTimestamp?: bigint | undefined;
1338
1978
  from: viem.Address;
1339
1979
  gas: bigint;
1340
1980
  hash: viem.Hash;
@@ -1360,16 +2000,17 @@ declare const SUPPORTED_CHAINS: ({
1360
2000
  r: viem.Hex;
1361
2001
  s: viem.Hex;
1362
2002
  v: bigint;
1363
- value: bigint;
1364
- gas: bigint;
1365
2003
  to: viem.Address | null;
1366
2004
  from: viem.Address;
2005
+ gas: bigint;
1367
2006
  nonce: number;
2007
+ value: bigint;
1368
2008
  blockHash: `0x${string}` | null;
1369
2009
  blockNumber: bigint | null;
1370
- transactionIndex: number | null;
2010
+ blockTimestamp?: bigint | undefined;
1371
2011
  hash: viem.Hash;
1372
2012
  input: viem.Hex;
2013
+ transactionIndex: number | null;
1373
2014
  typeHex: viem.Hex | null;
1374
2015
  accessList?: undefined | undefined;
1375
2016
  authorizationList?: undefined | undefined;
@@ -1387,6 +2028,7 @@ declare const SUPPORTED_CHAINS: ({
1387
2028
  } | {
1388
2029
  blockHash: `0x${string}` | null;
1389
2030
  blockNumber: bigint | null;
2031
+ blockTimestamp?: bigint | undefined;
1390
2032
  from: viem.Address;
1391
2033
  gas: bigint;
1392
2034
  hash: viem.Hash;
@@ -1415,6 +2057,7 @@ declare const SUPPORTED_CHAINS: ({
1415
2057
  } | {
1416
2058
  blockHash: `0x${string}` | null;
1417
2059
  blockNumber: bigint | null;
2060
+ blockTimestamp?: bigint | undefined;
1418
2061
  from: viem.Address;
1419
2062
  gas: bigint;
1420
2063
  hash: viem.Hash;
@@ -1443,6 +2086,7 @@ declare const SUPPORTED_CHAINS: ({
1443
2086
  } | {
1444
2087
  blockHash: `0x${string}` | null;
1445
2088
  blockNumber: bigint | null;
2089
+ blockTimestamp?: bigint | undefined;
1446
2090
  from: viem.Address;
1447
2091
  gas: bigint;
1448
2092
  hash: viem.Hash;
@@ -1471,6 +2115,7 @@ declare const SUPPORTED_CHAINS: ({
1471
2115
  } | {
1472
2116
  blockHash: `0x${string}` | null;
1473
2117
  blockNumber: bigint | null;
2118
+ blockTimestamp?: bigint | undefined;
1474
2119
  from: viem.Address;
1475
2120
  gas: bigint;
1476
2121
  hash: viem.Hash;
@@ -1506,6 +2151,7 @@ declare const SUPPORTED_CHAINS: ({
1506
2151
  blobGasUsed?: bigint | undefined;
1507
2152
  blockHash: viem.Hash;
1508
2153
  blockNumber: bigint;
2154
+ blockTimestamp?: bigint | undefined;
1509
2155
  contractAddress: viem.Address | null | undefined;
1510
2156
  cumulativeGasUsed: bigint;
1511
2157
  effectiveGasPrice: bigint;
@@ -1527,9 +2173,17 @@ declare const SUPPORTED_CHAINS: ({
1527
2173
  type: "transactionReceipt";
1528
2174
  };
1529
2175
  };
2176
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
2177
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2178
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
2179
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2180
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
2181
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
2182
+ }] | undefined;
1530
2183
  serializers: {
1531
2184
  readonly transaction: typeof viem_chains.serializeTransactionOpStack;
1532
2185
  };
2186
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
1533
2187
  readonly network: "base-sepolia";
1534
2188
  } | {
1535
2189
  blockExplorers: {
@@ -1572,12 +2226,21 @@ declare const SUPPORTED_CHAINS: ({
1572
2226
  sourceId?: number | undefined | undefined;
1573
2227
  testnet: true;
1574
2228
  custom?: Record<string, unknown> | undefined;
2229
+ extendSchema?: Record<string, unknown> | undefined;
1575
2230
  fees: {
1576
2231
  readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<viem.ChainEstimateFeesPerGasFn>[0]) => ReturnType<viem.ChainEstimateFeesPerGasFn>;
1577
2232
  readonly maxPriorityFeePerGas: ({ block, client, request }: viem.ChainFeesFnParameters<viem.ChainFormatters | undefined>) => Promise<bigint | null>;
1578
2233
  };
1579
2234
  formatters?: undefined;
2235
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
2236
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2237
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
2238
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2239
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
2240
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
2241
+ }] | undefined;
1580
2242
  serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
2243
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
1581
2244
  } | {
1582
2245
  blockExplorers: {
1583
2246
  readonly default: {
@@ -1648,6 +2311,7 @@ declare const SUPPORTED_CHAINS: ({
1648
2311
  sourceId: 11155111;
1649
2312
  testnet: true;
1650
2313
  custom?: Record<string, unknown> | undefined;
2314
+ extendSchema?: Record<string, unknown> | undefined;
1651
2315
  fees?: viem.ChainFees<undefined> | undefined;
1652
2316
  formatters: {
1653
2317
  readonly block: {
@@ -1688,6 +2352,7 @@ declare const SUPPORTED_CHAINS: ({
1688
2352
  format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
1689
2353
  blockHash: `0x${string}` | null;
1690
2354
  blockNumber: bigint | null;
2355
+ blockTimestamp?: bigint | undefined;
1691
2356
  from: viem.Address;
1692
2357
  gas: bigint;
1693
2358
  hash: viem.Hash;
@@ -1713,16 +2378,17 @@ declare const SUPPORTED_CHAINS: ({
1713
2378
  r: viem.Hex;
1714
2379
  s: viem.Hex;
1715
2380
  v: bigint;
1716
- value: bigint;
1717
- gas: bigint;
1718
2381
  to: viem.Address | null;
1719
2382
  from: viem.Address;
2383
+ gas: bigint;
1720
2384
  nonce: number;
2385
+ value: bigint;
1721
2386
  blockHash: `0x${string}` | null;
1722
2387
  blockNumber: bigint | null;
1723
- transactionIndex: number | null;
2388
+ blockTimestamp?: bigint | undefined;
1724
2389
  hash: viem.Hash;
1725
2390
  input: viem.Hex;
2391
+ transactionIndex: number | null;
1726
2392
  typeHex: viem.Hex | null;
1727
2393
  accessList?: undefined | undefined;
1728
2394
  authorizationList?: undefined | undefined;
@@ -1740,6 +2406,7 @@ declare const SUPPORTED_CHAINS: ({
1740
2406
  } | {
1741
2407
  blockHash: `0x${string}` | null;
1742
2408
  blockNumber: bigint | null;
2409
+ blockTimestamp?: bigint | undefined;
1743
2410
  from: viem.Address;
1744
2411
  gas: bigint;
1745
2412
  hash: viem.Hash;
@@ -1768,6 +2435,7 @@ declare const SUPPORTED_CHAINS: ({
1768
2435
  } | {
1769
2436
  blockHash: `0x${string}` | null;
1770
2437
  blockNumber: bigint | null;
2438
+ blockTimestamp?: bigint | undefined;
1771
2439
  from: viem.Address;
1772
2440
  gas: bigint;
1773
2441
  hash: viem.Hash;
@@ -1796,6 +2464,7 @@ declare const SUPPORTED_CHAINS: ({
1796
2464
  } | {
1797
2465
  blockHash: `0x${string}` | null;
1798
2466
  blockNumber: bigint | null;
2467
+ blockTimestamp?: bigint | undefined;
1799
2468
  from: viem.Address;
1800
2469
  gas: bigint;
1801
2470
  hash: viem.Hash;
@@ -1824,6 +2493,7 @@ declare const SUPPORTED_CHAINS: ({
1824
2493
  } | {
1825
2494
  blockHash: `0x${string}` | null;
1826
2495
  blockNumber: bigint | null;
2496
+ blockTimestamp?: bigint | undefined;
1827
2497
  from: viem.Address;
1828
2498
  gas: bigint;
1829
2499
  hash: viem.Hash;
@@ -1859,6 +2529,7 @@ declare const SUPPORTED_CHAINS: ({
1859
2529
  blobGasUsed?: bigint | undefined;
1860
2530
  blockHash: viem.Hash;
1861
2531
  blockNumber: bigint;
2532
+ blockTimestamp?: bigint | undefined;
1862
2533
  contractAddress: viem.Address | null | undefined;
1863
2534
  cumulativeGasUsed: bigint;
1864
2535
  effectiveGasPrice: bigint;
@@ -1880,9 +2551,17 @@ declare const SUPPORTED_CHAINS: ({
1880
2551
  type: "transactionReceipt";
1881
2552
  };
1882
2553
  };
2554
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
2555
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2556
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
2557
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2558
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
2559
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
2560
+ }] | undefined;
1883
2561
  serializers: {
1884
2562
  readonly transaction: typeof viem_chains.serializeTransactionOpStack;
1885
2563
  };
2564
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
1886
2565
  } | {
1887
2566
  blockExplorers: {
1888
2567
  readonly default: {
@@ -1915,9 +2594,18 @@ declare const SUPPORTED_CHAINS: ({
1915
2594
  sourceId?: number | undefined | undefined;
1916
2595
  testnet: true;
1917
2596
  custom?: Record<string, unknown> | undefined;
2597
+ extendSchema?: Record<string, unknown> | undefined;
1918
2598
  fees?: viem.ChainFees<undefined> | undefined;
1919
2599
  formatters?: undefined;
2600
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
2601
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2602
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
2603
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2604
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
2605
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
2606
+ }] | undefined;
1920
2607
  serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
2608
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
1921
2609
  } | {
1922
2610
  blockExplorers: {
1923
2611
  readonly default: {
@@ -1950,9 +2638,18 @@ declare const SUPPORTED_CHAINS: ({
1950
2638
  sourceId?: number | undefined | undefined;
1951
2639
  testnet: true;
1952
2640
  custom?: Record<string, unknown> | undefined;
2641
+ extendSchema?: Record<string, unknown> | undefined;
1953
2642
  fees?: viem.ChainFees<undefined> | undefined;
1954
2643
  formatters?: undefined;
2644
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
2645
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2646
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
2647
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
2648
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
2649
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
2650
+ }] | undefined;
1955
2651
  serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
2652
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
1956
2653
  })[];
1957
2654
  /**
1958
2655
  * Returns a prettified chain name for the provided chain id.
@@ -1998,4 +2695,4 @@ declare function getEnsManagerAddressDetailsUrl(address: Address, namespaceId: E
1998
2695
  */
1999
2696
  declare function getEnsMetadataServiceAvatarUrl(name: Name, namespaceId: ENSNamespaceId): URL | null;
2000
2697
 
2001
- export { AbsoluteTime, AddressDisplay, ChainExplorerIcon, ChainIcon, type ChainIconProps, ChainName, type ChainNameProps, CopyButton, type CopyButtonProps, DisplayDuration, DisplayIdentity, EfpIcon, EmailIcon, EnsAvatar, EnsIcon, EnsServiceProviderIcon, FarcasterIcon, Footer, GitHubIcon, IdentityLink, type IdentityLinkDetails, IdentityTooltip, type IdentityTooltipProps, InfoIcon, LabeledField, NameDisplay, type ReferrerLinkData, RegistrarActionCard, RegistrarActionCardLoading, type RegistrarActionCardLoadingProps, RegistrarActionCardMemo, type RegistrarActionCardProps, RelativeTime, ResolveAndDisplayIdentity, type ResolveAndDisplayIdentityProps, SUPPORTED_CHAINS, TelegramIcon, TwitterIcon, formatRelativeTime, getBlockExplorerAddressDetailsUrl, getBlockExplorerBlockUrl, getBlockExplorerTransactionDetailsUrl, getBlockExplorerUrl, getChainName, getEnsManagerAddressDetailsUrl, getEnsManagerNameDetailsUrl, getEnsManagerUrl, getEnsMetadataServiceAvatarUrl, useIsMobile, useNow };
2698
+ export { ASSUME_IMMUTABLE_QUERY, AbsoluteTime, AddressDisplay, ChainExplorerIcon, ChainIcon, type ChainIconProps, ChainName, type ChainNameProps, CopyButton, type CopyButtonProps, DISABLED_QUERY, DisplayDuration, DisplayIdentity, EfpIcon, EmailIcon, EnsAvatar, EnsIcon, EnsNodeContext, EnsNodeProvider, type EnsNodeProviderOptions, type EnsNodeProviderProps, EnsServiceProviderIcon, FarcasterIcon, Footer, GitHubIcon, IdentityLink, type IdentityLinkDetails, IdentityTooltip, type IdentityTooltipProps, InfoIcon, LabeledField, NameDisplay, type QueryParameter, type ReferrerLinkData, RegistrarActionCard, RegistrarActionCardLoading, type RegistrarActionCardLoadingProps, RegistrarActionCardMemo, type RegistrarActionCardProps, RelativeTime, ResolveAndDisplayIdentity, type ResolveAndDisplayIdentityProps, SUPPORTED_CHAINS, TelegramIcon, TwitterIcon, type UsePrimaryNameParameters, type UsePrimaryNamesParameters, type UseRecordsParameters, type UseResolvedIdentityParameters, type WithEnsNodeProviderOptions, createEnsNodeProviderOptions, createIndexingStatusQueryOptions, createNameTokensQueryOptions, createPrimaryNameQueryOptions, createPrimaryNamesQueryOptions, createRecordsQueryOptions, createRegistrarActionsQueryOptions, formatRelativeTime, getBlockExplorerAddressDetailsUrl, getBlockExplorerBlockUrl, getBlockExplorerTransactionDetailsUrl, getBlockExplorerUrl, getChainName, getEnsManagerAddressDetailsUrl, getEnsManagerNameDetailsUrl, getEnsManagerUrl, getEnsMetadataServiceAvatarUrl, queryKeys, useEnsNodeProviderOptions, useIndexingStatus, useIsMobile, useNameTokens, useNow, usePrimaryName, usePrimaryNames, useRecords, useRegistrarActions, useResolvedIdentity, useSwrQuery };