import { Context, Effect, Layer } from "effect"; import type { Address } from "viem"; import type { ClientNotFoundError } from "../core/index.js"; import { PublicClientService } from "../core/index.js"; import { EnsAvatarNotFoundError, EnsNameNotFoundError, EnsResolutionError, EnsResolverNotConfiguredError, EnsReverseNameNotFoundError, EnsTextNotFoundError } from "../ens/errors.js"; type AssetGatewayUrls = { arweave?: string; ipfs?: string; }; export type EnsResolverShape = { readonly getAddress: (name: string, opts?: { coinType?: bigint; }) => Effect.Effect
; readonly getAvatar: (name: string, opts?: { assetGatewayUrls?: AssetGatewayUrls; }) => Effect.Effect