3:I[50200,[],""] 5:I[72888,[],""] 6:I[20565,["924","static/chunks/924-9b288a3e7649fef0.js","45","static/chunks/45-1294e8d3913dcaae.js","185","static/chunks/app/layout-e10737454ab00367.js"],"Theme"] 7:I[17051,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"SectionProvider"] 8:I[65438,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"RouteCheck"] 9:I[25377,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"Header"] a:I[69762,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"Sidebar"] b:I[9602,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"Breadcrumbs"] c:I[69327,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","327","static/chunks/327-bff56f9bf74d8980.js","213","static/chunks/213-89037468e9ed8292.js","160","static/chunks/app/not-found-9ec62740c376cc12.js"],"Image"] d:I[35542,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],""] e:I[56322,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"Feedback"] f:I[75619,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"ContributeLink"] 4:["slug","resolvers/writing","c"] 10:T47e,M16.238 4.515a14.842 14.842 0 0 0-3.664-1.136.055.055 0 0 0-.059.027 10.35 10.35 0 0 0-.456.938 13.702 13.702 0 0 0-4.115 0 9.479 9.479 0 0 0-.464-.938.058.058 0 0 0-.058-.027c-1.266.218-2.497.6-3.664 1.136a.052.052 0 0 0-.024.02C1.4 8.023.76 11.424 1.074 14.782a.062.062 0 0 0 .024.042 14.923 14.923 0 0 0 4.494 2.272.058.058 0 0 0 .064-.02c.346-.473.654-.972.92-1.496a.057.057 0 0 0-.032-.08 9.83 9.83 0 0 1-1.404-.669.058.058 0 0 1-.029-.046.058.058 0 0 1 .023-.05c.094-.07.189-.144.279-.218a.056.056 0 0 1 .058-.008c2.946 1.345 6.135 1.345 9.046 0a.056.056 0 0 1 .059.007c.09.074.184.149.28.22a.058.058 0 0 1 .023.049.059.059 0 0 1-.028.046 9.224 9.224 0 0 1-1.405.669.058.058 0 0 0-.033.033.056.056 0 0 0 .002.047c.27.523.58 1.022.92 1.495a.056.056 0 0 0 .062.021 14.878 14.878 0 0 0 4.502-2.272.055.055 0 0 0 .016-.018.056.056 0 0 0 .008-.023c.375-3.883-.63-7.256-2.662-10.246a.046.046 0 0 0-.023-.021Zm-9.223 8.221c-.887 0-1.618-.814-1.618-1.814s.717-1.814 1.618-1.814c.908 0 1.632.821 1.618 1.814 0 1-.717 1.814-1.618 1.814Zm5.981 0c-.887 0-1.618-.814-1.618-1.814s.717-1.814 1.618-1.814c.908 0 1.632.821 1.618 1.814 0 1-.71 1.814-1.618 1.814Z0:["YaM7wNFVIwRdNdGfmqd4D",[[["",{"children":[["slug","resolvers/writing","c"],{"children":["__PAGE__?{\"slug\":[\"resolvers\",\"writing\"]}",{}]}]},"$undefined","$undefined",true],["",{"children":[["slug","resolvers/writing","c"],{"children":["__PAGE__",{},[["$L1","$L2",null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/40ab4cab4d9447b9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/08e28b78fef21dfc.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"className":"not-system scrollbar","children":[["$","head",null,{"children":[["$","link",null,{"rel":"icon","href":"/favicon.ico","sizes":"any"}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"url\":\"https://docs.ens.domains\",\"name\":\"ENS Documentation\",\"description\":\"Documentation for the ENS protocol.\",\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":\"https://docs.ens.domains?q={search_term_string}\",\"query-input\":\"required name=search_term_string\"}}"}}]]}],["$","body",null,{"className":"bg-ens-light-background-primary text-ens-light-text-primary dark:bg-ens-dark-background-primary dark:text-ens-dark-text-primary","children":[["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":["$","$L7",null,{"sections":"$undefined","children":["$","div",null,{"className":"h-full","id":"app","children":[["$","$L8",null,{"slug":"/"}],["$","$L9",null,{}],["$","$La",null,{}],["$","div",null,{"className":"relative mt-16 lg:mt-16","children":["$","div",null,{"className":"lg:ml-72 xl:ml-80","children":[false,["$","div",null,{"className":"px-6 lg:px-8","children":[["$","main",null,{"className":"relative my-4 space-y-4 py-4","children":[["$","div",null,{"className":"prose x text-ens-light-text-secondary dark:text-ens-dark-text-secondary","children":["$","$Lb",null,{}]}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Not Found\",\"description\":\"ENS Documentation\",\"image\":\"https://docs.ens.domains/opengraph/.png\"}"}}],["$","article",null,{"className":"prose x dark:prose-invert","children":["$","div",null,{"className":"not-prose text-center","children":[["$","$Lc",null,{"alt":"Shrug","src":"/shrug.png","width":200,"height":200,"className":"mx-auto"}],["$","h1",null,{"className":"mt-4 text-2xl font-bold","children":"Article Not Found"}],["$","p",null,{"className":"mb-3","children":"It doesn't look like this page exists..."}],["$","$Ld",null,{"href":"/","target":"$undefined","onClick":"$undefined","className":"btn btn-blue-primary","disabled":false,"children":[["$","svg",null,{"viewBox":"0 0 20 20","fill":"none","aria-hidden":"true","className":"mt-0.5 h-5 w-5 -ml-1 rotate-180","children":["$","path",null,{"stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","d":"m11.5 6.5 3 3.5m0 0-3 3.5m3-3.5h-9"}]}],"Go to Home",false]}]]}]}],["$","div",null,{"className":"prose pt-8","children":"$undefined"}]]}],["$","div",null,{"className":"prose","children":["$","div",null,{"className":"notprose w-full","children":["$","footer",null,{"className":"w-full space-y-4 border-t border-t-ens-light-border pb-16 pt-4 dark:border-t-ens-dark-border","children":[["$","div",null,{"className":"flex flex-wrap items-end justify-between gap-2","children":[["$","$Le",null,{}],["$","div",null,{"className":"w-fit","children":["$","$Lf",null,{"url":"$undefined"}]}]]}],["$","div",null,{"className":"flex flex-col items-center justify-between gap-5 sm:flex-row","children":[["$","p",null,{"className":"text-xs text-ens-light-text-secondary dark:text-ens-dark-text-secondary","children":["© Copyright ",2024,". All rights reserved."]}],["$","div",null,{"className":"flex gap-4","children":[["$","$Ld",null,{"href":"https://x.com/ensdomains","className":"group","target":"_blank","rel":"nofollow","children":[["$","span",null,{"className":"sr-only","children":"Follow us on X"}],["$","svg",null,{"stroke":"currentColor","fill":"currentColor","strokeWidth":"0","viewBox":"0 0 512 512","className":"size-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500","children":["$undefined",[["$","path","0",{"d":"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z","children":[]}]]],"style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}]]}],["$","$Ld",null,{"href":"https://github.com/ensdomains","className":"group","target":"_blank","rel":"nofollow","children":[["$","span",null,{"className":"sr-only","children":"Follow us on GitHub"}],["$","svg",null,{"viewBox":"0 0 20 20","aria-hidden":"true","className":"size-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500","children":["$","path",null,{"fillRule":"evenodd","clipRule":"evenodd","d":"M10 1.667c-4.605 0-8.334 3.823-8.334 8.544 0 3.78 2.385 6.974 5.698 8.106.417.075.573-.182.573-.406 0-.203-.011-.875-.011-1.592-2.093.397-2.635-.522-2.802-1.002-.094-.246-.5-1.005-.854-1.207-.291-.16-.708-.556-.01-.567.656-.01 1.124.62 1.281.876.75 1.292 1.948.93 2.427.705.073-.555.291-.93.531-1.143-1.854-.213-3.791-.95-3.791-4.218 0-.929.322-1.698.854-2.296-.083-.214-.375-1.09.083-2.265 0 0 .698-.224 2.292.876a7.576 7.576 0 0 1 2.083-.288c.709 0 1.417.096 2.084.288 1.593-1.11 2.291-.875 2.291-.875.459 1.174.167 2.05.084 2.263.53.599.854 1.357.854 2.297 0 3.278-1.948 4.005-3.802 4.219.302.266.563.78.563 1.58 0 1.143-.011 2.061-.011 2.35 0 .224.156.491.573.405a8.365 8.365 0 0 0 4.11-3.116 8.707 8.707 0 0 0 1.567-4.99c0-4.721-3.73-8.545-8.334-8.545Z"}]}]]}],["$","$Ld",null,{"href":"https://chat.ens.domains","className":"group","target":"_blank","rel":"nofollow","children":[["$","span",null,{"className":"sr-only","children":"Join our Discord server"}],["$","svg",null,{"viewBox":"0 0 20 20","aria-hidden":"true","className":"size-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500","children":["$","path",null,{"d":"$10"}]}]]}]]}]]}]]}]}]}]]}]]}]}]]}]}],"notFoundStyles":[]}]}],["$","script",null,{"defer":true,"data-domain":"docs.ens.domains","src":"https://ens.v3x.report/js/script.js"}],["$","script",null,{"defer":true,"data-domain":"docs.ens.domains","src":"https://plausible.io/js/script.js"}]]}]]}]],null],null],["$L11",null]]]] 12:I[30918,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"Heading"] 14:I[33885,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"CopyButton"] 16:I[963,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"GitCommitLink"] 17:I[64369,["911","static/chunks/cff26bbf-8c0455ff1778be20.js","567","static/chunks/2670e29a-254f21884cc8db2b.js","977","static/chunks/1311dc6c-860c92853ee66e29.js","939","static/chunks/fb37554d-4c33b9e5e9d9c4ea.js","701","static/chunks/e2908a71-9885ade59aa6a5f5.js","689","static/chunks/fa53cd88-198aeaa2f51a3320.js","694","static/chunks/694-beddaae0408bd717.js","284","static/chunks/284-4fd62594f09a08c2.js","924","static/chunks/924-9b288a3e7649fef0.js","691","static/chunks/691-4f02b293450b28e5.js","821","static/chunks/821-8d28c0d35a379a3d.js","213","static/chunks/213-89037468e9ed8292.js","483","static/chunks/483-154e8d2e657430f1.js","877","static/chunks/app/%5B...slug%5D/page-8e328ed1115fd327.js"],"TimeSince"] 13:T1d80,interface IMyResolver { function supportsInterface(bytes4 interfaceId) external view returns (bool); function addr(bytes32 node) external view returns (address payable); function addr(bytes32 node, uint256 coinType) external view returns (bytes memory); function contenthash(bytes32 node) external view returns (bytes memory); function text(bytes32 node, string calldata key) external view returns (string memory); function setAddr(bytes32 node, address addr) external; function setAddr(bytes32 node, uint256 coinType, bytes calldata a) external; function setContenthash(bytes32 node, bytes calldata hash) external; function setText(bytes32 node, string calldata key, string calldata value) external; } 15:Ta99,interface IExtendedResolver { /** * @dev Performs ENS name resolution for the supplied name and resolution data. * @param name The name to resolve, in normalised and DNS-encoded form. * @param data The resolution data, as specified in ENSIP-10. * @return The result of resolving the name. */ function resolve( bytes memory name, bytes memory data ) external view returns (bytes memory); } 18:T47e,M16.238 4.515a14.842 14.842 0 0 0-3.664-1.136.055.055 0 0 0-.059.027 10.35 10.35 0 0 0-.456.938 13.702 13.702 0 0 0-4.115 0 9.479 9.479 0 0 0-.464-.938.058.058 0 0 0-.058-.027c-1.266.218-2.497.6-3.664 1.136a.052.052 0 0 0-.024.02C1.4 8.023.76 11.424 1.074 14.782a.062.062 0 0 0 .024.042 14.923 14.923 0 0 0 4.494 2.272.058.058 0 0 0 .064-.02c.346-.473.654-.972.92-1.496a.057.057 0 0 0-.032-.08 9.83 9.83 0 0 1-1.404-.669.058.058 0 0 1-.029-.046.058.058 0 0 1 .023-.05c.094-.07.189-.144.279-.218a.056.056 0 0 1 .058-.008c2.946 1.345 6.135 1.345 9.046 0a.056.056 0 0 1 .059.007c.09.074.184.149.28.22a.058.058 0 0 1 .023.049.059.059 0 0 1-.028.046 9.224 9.224 0 0 1-1.405.669.058.058 0 0 0-.033.033.056.056 0 0 0 .002.047c.27.523.58 1.022.92 1.495a.056.056 0 0 0 .062.021 14.878 14.878 0 0 0 4.502-2.272.055.055 0 0 0 .016-.018.056.056 0 0 0 .008-.023c.375-3.883-.63-7.256-2.662-10.246a.046.046 0 0 0-.023-.021Zm-9.223 8.221c-.887 0-1.618-.814-1.618-1.814s.717-1.814 1.618-1.814c.908 0 1.632.821 1.618 1.814 0 1-.717 1.814-1.618 1.814Zm5.981 0c-.887 0-1.618-.814-1.618-1.814s.717-1.814 1.618-1.814c.908 0 1.632.821 1.618 1.814 0 1-.71 1.814-1.618 1.814Z2:["$","$L7",null,{"sections":[{"title":"Resolver Interface","navtitle":"","id":"resolver-interface","indent":"0"},{"title":"Wildcard Resolution","navtitle":"","id":"wildcard-resolution","indent":"0"},{"title":"Offchain Resolution","navtitle":"","id":"offchain-resolution","indent":"0"}],"children":["$","div",null,{"className":"h-full","id":"app","children":[["$","$L8",null,{"slug":"/resolvers/writing"}],["$","$L9",null,{}],["$","$La",null,{}],["$","div",null,{"className":"relative mt-16 lg:mt-16","children":["$","div",null,{"className":"lg:ml-72 xl:ml-80","children":[["$","div",null,{"className":"fixed z-10 ml-4 hidden 2xl:block","style":{"left":"calc(50vw + 26rem)"},"children":["$","div",null,{"className":"m-4 p-4","children":[["$","div",null,{"className":"text-sm text-ens-light-text-secondary dark:text-ens-dark-text-secondary","children":"On this page"}],["$","ul",null,{"className":"text-sm","children":[["$","li",null,{"children":["$","$Ld",null,{"href":"#resolver-interface","style":{"paddingLeft":"0rem"},"className":"hover:text-ens-light-blue-primary dark:hover:text-ens-dark-blue-primary","children":"Resolver Interface"}]}],["$","li",null,{"children":["$","$Ld",null,{"href":"#wildcard-resolution","style":{"paddingLeft":"0rem"},"className":"hover:text-ens-light-blue-primary dark:hover:text-ens-dark-blue-primary","children":"Wildcard Resolution"}]}],["$","li",null,{"children":["$","$Ld",null,{"href":"#offchain-resolution","style":{"paddingLeft":"0rem"},"className":"hover:text-ens-light-blue-primary dark:hover:text-ens-dark-blue-primary","children":"Offchain Resolution"}]}]]}]]}]}],["$","div",null,{"className":"px-6 lg:px-8","children":[["$","main",null,{"className":"relative my-4 space-y-4 py-4","children":[["$","div",null,{"className":"prose x text-ens-light-text-secondary dark:text-ens-dark-text-secondary","children":["$","$Lb",null,{}]}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Writing a Resolver\",\"description\":\"How to write your own resolver.\",\"image\":\"https://docs.ens.domains/opengraph/resolvers/writing.png\",\"author\":[]}"}}],["$","article",null,{"className":"prose x dark:prose-invert","children":["\n","\n",["$","h1",null,{"children":"Writing a Resolver"}],"\n",["$","p",null,{"children":"Every ENS name has a resolver, which is responsible for resolving information about a name."}],"\n",["$","p",null,{"children":["Resolvers are a core part of the ENS protocol. They give each name, represented as a ",["$","$Ld",null,{"href":"/resolution/names#namehash","target":"$undefined","className":"my-0 inline-flex items-center gap-1","children":["\"node\"","$undefined"]}],", the power to control the resolution process for itself and all of its subnames. Resolvers were originally standardized in ",["$","$Ld",null,{"href":"https://eips.ethereum.org/EIPS/eip-137","target":"_blank","className":"my-0 inline-flex items-center gap-1","children":["EIP 137",["$","svg",null,{"stroke":"currentColor","fill":"none","strokeWidth":"2","viewBox":"0 0 24 24","strokeLinecap":"round","strokeLinejoin":"round","children":["$undefined",[["$","path","0",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6","children":[]}],["$","polyline","1",{"points":"15 3 21 3 21 9","children":[]}],["$","line","2",{"x1":"10","y1":"14","x2":"21","y2":"3","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}]]}],", but have since received a few updates such as ",["$","$Ld",null,{"href":"https://eips.ethereum.org/EIPS/eip-181","target":"_blank","className":"my-0 inline-flex items-center gap-1","children":["EIP 181",["$","svg",null,{"stroke":"currentColor","fill":"none","strokeWidth":"2","viewBox":"0 0 24 24","strokeLinecap":"round","strokeLinejoin":"round","children":["$undefined",[["$","path","0",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6","children":[]}],["$","polyline","1",{"points":"15 3 21 3 21 9","children":[]}],["$","line","2",{"x1":"10","y1":"14","x2":"21","y2":"3","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}]]}],", ",["$","$Ld",null,{"href":"https://eips.ethereum.org/EIPS/eip-2304","target":"_blank","className":"my-0 inline-flex items-center gap-1","children":["EIP 2304",["$","svg",null,{"stroke":"currentColor","fill":"none","strokeWidth":"2","viewBox":"0 0 24 24","strokeLinecap":"round","strokeLinejoin":"round","children":["$undefined",[["$","path","0",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6","children":[]}],["$","polyline","1",{"points":"15 3 21 3 21 9","children":[]}],["$","line","2",{"x1":"10","y1":"14","x2":"21","y2":"3","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}]]}],", and ",["$","$Ld",null,{"href":"/ensip/10","target":"$undefined","className":"my-0 inline-flex items-center gap-1","children":["ENSIP-10","$undefined"]}],"."]}],"\n",["$","p",null,{"children":["You can find the latest default resolver implementation, called the Public Resolver, on ",["$","$Ld",null,{"href":"https://github.com/ensdomains/ens-contracts/blob/mainnet/contracts/resolvers/PublicResolver.sol","target":"_blank","className":"my-0 inline-flex items-center gap-1","children":["GitHub",["$","svg",null,{"stroke":"currentColor","fill":"none","strokeWidth":"2","viewBox":"0 0 24 24","strokeLinecap":"round","strokeLinejoin":"round","children":["$undefined",[["$","path","0",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6","children":[]}],["$","polyline","1",{"points":"15 3 21 3 21 9","children":[]}],["$","line","2",{"x1":"10","y1":"14","x2":"21","y2":"3","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}]]}]," and ",["$","$Ld",null,{"href":"/learn/deployments","target":"$undefined","className":"my-0 inline-flex items-center gap-1","children":["Etherscan","$undefined"]}],"."]}],"\n",["$","$L12",null,{"level":2,"id":"resolver-interface","children":"Resolver Interface"}],"\n",["$","p",null,{"children":["You can view an extended list of resolver methods ",["$","$Ld",null,{"href":"/resolvers/interfaces","target":"$undefined","className":"my-0 inline-flex items-center gap-1","children":["here","$undefined"]}],", however a simple interface might look something like this:"]}],"\n",["$","div",null,{"className":"text-ens-light-text-primary dark:text-ens-dark-text-primary my-6 bg-[--var(--shiki-color-background)] ","children":["$undefined",["$","div",null,{"className":"hidable-code not-prose group","data-code-variant":"solidity","data-code-group":"781cc9c3","children":[["$","div",null,{"className":"border-ens-light-border dark:border-ens-dark-border overflow-hidden border rounded-xl","children":["$","div",null,{"className":"relative","children":[["$","pre",null,{"children":[["$","code",null,{"className":"language-solidity","dangerouslySetInnerHTML":{"__html":"$13"}}]]}],["$","$L14",null,{"code":"interface IMyResolver {\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n function addr(bytes32 node) external view returns (address payable);\n function addr(bytes32 node, uint256 coinType) external view returns (bytes memory);\n function contenthash(bytes32 node) external view returns (bytes memory);\n function text(bytes32 node, string calldata key) external view returns (string memory);\n \n function setAddr(bytes32 node, address addr) external;\n function setAddr(bytes32 node, uint256 coinType, bytes calldata a) external;\n function setContenthash(bytes32 node, bytes calldata hash) external;\n function setText(bytes32 node, string calldata key, string calldata value) external;\n}\n"}]]}]}],"$undefined"]}]]}],"\n",["$","$L12",null,{"level":2,"id":"wildcard-resolution","children":"Wildcard Resolution"}],"\n",["$","p",null,{"children":["In ",["$","$Ld",null,{"href":"/ensip/10","target":"$undefined","className":"my-0 inline-flex items-center gap-1","children":["ENSIP-10","$undefined"]}]," a new ",["$","code",null,{"dangerouslySetInnerHTML":{"__html":"resolve()"}}]," method was added to the resolver interface to allow for wildcard resolution."]}],"\n",["$","div",null,{"className":"text-ens-light-text-primary dark:text-ens-dark-text-primary my-6 bg-[--var(--shiki-color-background)] ","children":["$undefined",["$","div",null,{"className":"hidable-code not-prose group","data-code-variant":"solidity","data-code-group":"135a2e2a","children":[["$","div",null,{"className":"border-ens-light-border dark:border-ens-dark-border overflow-hidden border rounded-xl","children":["$","div",null,{"className":"relative","children":[["$","pre",null,{"children":[["$","code",null,{"className":"language-solidity","dangerouslySetInnerHTML":{"__html":"$15"}}]]}],["$","$L14",null,{"code":"interface IExtendedResolver { \n /**\n * @dev Performs ENS name resolution for the supplied name and resolution data.\n * @param name The name to resolve, in normalised and DNS-encoded form.\n * @param data The resolution data, as specified in ENSIP-10.\n * @return The result of resolving the name.\n */\n function resolve(\n bytes memory name,\n bytes memory data\n ) external view returns (bytes memory);\n}\n"}]]}]}],"$undefined"]}]]}],"\n",["$","div",null,{"className":"dark:border-ens-500/30 my-6 flex gap-2.5 rounded-2xl border border-ens-light-border bg-ens-light-blue-50/50 p-4 leading-6 text-ens-light-blue-900 dark:border-ens-dark-border dark:bg-ens-light-blue-500/5 dark:text-ens-light-blue-200 dark:[--tw-prose-links-hover:theme(colors.ens.light.blue.300)] dark:[--tw-prose-links:theme(colors.white)]","children":[["$","svg",null,{"viewBox":"0 0 16 16","aria-hidden":"true","className":"fill-ens-500 dark:fill-ens-200/20 dark:stroke-ens-200 mt-1 size-4 flex-none stroke-white","children":[["$","circle",null,{"cx":"8","cy":"8","r":"8","strokeWidth":"0"}],["$","path",null,{"fill":"none","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":"1.5","d":"M6.75 7.75h1.5v3.5"}],["$","circle",null,{"cx":"8","cy":"4","r":".5","fill":"none"}]]}],["$","div",null,{"className":"[&>:first-child]:mt-0 [&>:last-child]:mb-0","children":["$","p",null,{"children":["Don't forget to add ",["$","code",null,{"dangerouslySetInnerHTML":{"__html":"0x9061b923"}}]," to your ",["$","$Ld",null,{"href":"https://eips.ethereum.org/","target":"_blank","className":"my-0 inline-flex items-center gap-1","children":["EIP-165",["$","svg",null,{"stroke":"currentColor","fill":"none","strokeWidth":"2","viewBox":"0 0 24 24","strokeLinecap":"round","strokeLinejoin":"round","children":["$undefined",[["$","path","0",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6","children":[]}],["$","polyline","1",{"points":"15 3 21 3 21 9","children":[]}],["$","line","2",{"x1":"10","y1":"14","x2":"21","y2":"3","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}]]}]," ",["$","code",null,{"dangerouslySetInnerHTML":{"__html":"supportsInterface()"}}]," implementation."]}]}]]}],"\n",["$","$L12",null,{"level":2,"id":"offchain-resolution","children":"Offchain Resolution"}],"\n",["$","p",null,{"children":["When you write your own resolver, you are able to leverage CCIP Read to effectively defer name resolution to an HTTP server. This server can then load data from any source including offchain databases, APIs, or other blockchains. Learn more about implementing CCIP Read in your resolver ",["$","$Ld",null,{"href":"/resolvers/ccip-read","target":"$undefined","className":"my-0 inline-flex items-center gap-1","children":["here","$undefined"]}],"."]}]]}],["$","div",null,{"className":"prose pt-8","children":[["$","div",null,{"className":"border-t border-ens-light-border pt-2 text-ens-light-text-primary dark:border-ens-dark-border dark:text-ens-dark-text-primary","children":["$","div",null,{"className":"leading-6","children":["$undefined","$undefined",false,["$","div",null,{"className":"flex items-center justify-between text-xs","children":[["$","div",null,{"children":"Hash"}],["$","$L16",null,{"file":"/docs/resolvers/writing.mdx","hash":"0989ab4","children":[["$","svg",null,{"stroke":"currentColor","fill":"none","strokeWidth":"2","viewBox":"0 0 24 24","strokeLinecap":"round","strokeLinejoin":"round","children":["$undefined",[["$","circle","0",{"cx":"12","cy":"12","r":"4","children":[]}],["$","line","1",{"x1":"1.05","y1":"12","x2":"7","y2":"12","children":[]}],["$","line","2",{"x1":"17.01","y1":"12","x2":"22.96","y2":"12","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}],"0989ab4"]}]]}],["$","div",null,{"className":"flex items-center justify-between text-xs","children":[["$","div",null,{"children":"Last Modified"}],["$","$L16",null,{"file":"/docs/resolvers/writing.mdx","hash":"0989ab4","children":[["$","svg",null,{"stroke":"currentColor","fill":"none","strokeWidth":"2","viewBox":"0 0 24 24","strokeLinecap":"round","strokeLinejoin":"round","children":["$undefined",[["$","circle","0",{"cx":"12","cy":"12","r":"10","children":[]}],["$","polyline","1",{"points":"12 6 12 12 16 14","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}],["$","$L17",null,{"date":1732122334000}]]}]]}]]}]}],"$undefined","$undefined"]}]]}],["$","div",null,{"className":"prose","children":["$","div",null,{"className":"notprose w-full","children":["$","footer",null,{"className":"w-full space-y-4 border-t border-t-ens-light-border pb-16 pt-4 dark:border-t-ens-dark-border","children":[["$","div",null,{"className":"flex flex-wrap items-end justify-between gap-2","children":[["$","$Le",null,{}],["$","div",null,{"className":"w-fit","children":["$","$Lf",null,{"url":"/docs/resolvers/writing.mdx"}]}]]}],["$","div",null,{"className":"flex flex-col items-center justify-between gap-5 sm:flex-row","children":[["$","p",null,{"className":"text-xs text-ens-light-text-secondary dark:text-ens-dark-text-secondary","children":["© Copyright ",2024,". All rights reserved."]}],["$","div",null,{"className":"flex gap-4","children":[["$","$Ld",null,{"href":"https://x.com/ensdomains","className":"group","target":"_blank","rel":"nofollow","children":[["$","span",null,{"className":"sr-only","children":"Follow us on X"}],["$","svg",null,{"stroke":"currentColor","fill":"currentColor","strokeWidth":"0","viewBox":"0 0 512 512","className":"size-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500","children":["$undefined",[["$","path","0",{"d":"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z","children":[]}]]],"style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}]]}],["$","$Ld",null,{"href":"https://github.com/ensdomains","className":"group","target":"_blank","rel":"nofollow","children":[["$","span",null,{"className":"sr-only","children":"Follow us on GitHub"}],["$","svg",null,{"viewBox":"0 0 20 20","aria-hidden":"true","className":"size-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500","children":["$","path",null,{"fillRule":"evenodd","clipRule":"evenodd","d":"M10 1.667c-4.605 0-8.334 3.823-8.334 8.544 0 3.78 2.385 6.974 5.698 8.106.417.075.573-.182.573-.406 0-.203-.011-.875-.011-1.592-2.093.397-2.635-.522-2.802-1.002-.094-.246-.5-1.005-.854-1.207-.291-.16-.708-.556-.01-.567.656-.01 1.124.62 1.281.876.75 1.292 1.948.93 2.427.705.073-.555.291-.93.531-1.143-1.854-.213-3.791-.95-3.791-4.218 0-.929.322-1.698.854-2.296-.083-.214-.375-1.09.083-2.265 0 0 .698-.224 2.292.876a7.576 7.576 0 0 1 2.083-.288c.709 0 1.417.096 2.084.288 1.593-1.11 2.291-.875 2.291-.875.459 1.174.167 2.05.084 2.263.53.599.854 1.357.854 2.297 0 3.278-1.948 4.005-3.802 4.219.302.266.563.78.563 1.58 0 1.143-.011 2.061-.011 2.35 0 .224.156.491.573.405a8.365 8.365 0 0 0 4.11-3.116 8.707 8.707 0 0 0 1.567-4.99c0-4.721-3.73-8.545-8.334-8.545Z"}]}]]}],["$","$Ld",null,{"href":"https://chat.ens.domains","className":"group","target":"_blank","rel":"nofollow","children":[["$","span",null,{"className":"sr-only","children":"Join our Discord server"}],["$","svg",null,{"viewBox":"0 0 20 20","aria-hidden":"true","className":"size-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500","children":["$","path",null,{"d":"$18"}]}]]}]]}]]}]]}]}]}]]}]]}]}]]}]}] 11:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Writing a Resolver | ENS Docs"}],["$","meta","3",{"name":"description","content":"How to write your own resolver."}],["$","link","4",{"rel":"canonical","href":"https://docs.ens.domains/resolvers/writing"}],["$","meta","5",{"property":"og:title","content":"Writing a Resolver"}],["$","meta","6",{"property":"og:description","content":"How to write your own resolver."}],["$","meta","7",{"property":"og:image","content":"https://docs.ens.domains/opengraph/resolvers/writing.png"}],["$","meta","8",{"property":"og:type","content":"article"}],["$","meta","9",{"property":"article:tag","content":"ENS"}],["$","meta","10",{"property":"article:tag","content":"Ethereum Name Service"}],["$","meta","11",{"property":"article:tag","content":".eth"}],["$","meta","12",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","13",{"name":"twitter:title","content":"Writing a Resolver"}],["$","meta","14",{"name":"twitter:description","content":"How to write your own resolver."}],["$","meta","15",{"name":"twitter:image","content":"https://docs.ens.domains/opengraph/resolvers/writing.png"}]] 1:null