diff --git a/contracts/ethregistrar/ETHRegistrarController.sol b/contracts/ethregistrar/ETHRegistrarController.sol index b60713ae..fd240b5a 100644 --- a/contracts/ethregistrar/ETHRegistrarController.sol +++ b/contracts/ethregistrar/ETHRegistrarController.sol @@ -20,6 +20,7 @@ error CommitmentTooOld(bytes32 commitment); error NameNotAvailable(string name); error DurationTooShort(uint256 duration); error ResolverRequiredWhenDataSupplied(); +error ResolverRequiredWhenReverseRecord(); error UnexpiredCommitmentExists(bytes32 commitment); error InsufficientValue(); error Unauthorised(bytes32 node); @@ -120,6 +121,9 @@ contract ETHRegistrarController is uint16 ownerControlledFuses ) public pure override returns (bytes32) { bytes32 label = keccak256(bytes(name)); + if (resolver == address(0) && reverseRecord == true) { + revert ResolverRequiredWhenReverseRecord(); + } if (data.length > 0 && resolver == address(0)) { revert ResolverRequiredWhenDataSupplied(); }