ZNSAddressResolver
The specific Resolver for ZNS that maps domain hashes to Ethereum addresses these domains were made for.
This Resolver supports ONLY the address type. Every domain in ZNS made for a contract or wallet address will have a corresponding record in this Resolver.
domainAddresses
Mapping of domain hash to address used to bind domains to Ethereum wallets or contracts registered in ZNS.
constructor
initialize
Initializer for the ZNSAddressResolver
proxy. Note that setter functions are used instead of direct state variable assignments to use access control at deploy time. Only ADMIN can call this function.
Parameters
accessController_
address
The address of the ZNSAccessController
contract
registry_
address
The address of the ZNSRegistry
contract
resolveDomainAddress
Returns address associated with a given domain name hash.
Parameters
domainHash
bytes32
The identifying hash of a domain's name
setAddress
Sets the address for a domain name hash. This function can only be called by the owner, operator of the domain OR by the ZNSRootRegistrar.sol
as a part of the Register flow. Emits an AddressSet
event.
Parameters
domainHash
bytes32
The identifying hash of a domain's name
newAddress
address
The new address to map the domain to
supportsInterface
ERC-165 check for implementation identifier Supports interfaces IZNSAddressResolver and IERC165
Parameters
interfaceId
bytes4
ID to check, XOR of the first 4 bytes of each function signature
getInterfaceId
Exposes IZNSAddressResolver interfaceId
setRegistry
Sets the address of the ZNSRegistry
contract that holds all crucial data for every domain in the system. This function can only be called by the ADMIN. Emits a RegistrySet
event.
Parameters
_registry
address
The address of the ZNSRegistry
contract
_authorizeUpgrade
To use UUPS proxy we override this function and revert if msg.sender
isn't authorized
Parameters
newImplementation
address
The implementation contract to upgrade to