DefaultRegistrationStrategy
Git Source (opens in a new tab)
Author: Sam Ward
Inherits: ISldRegistrationStrategy, Ownable, Multicallable
State Variables
registrationManager
ISldRegistrationManager public registrationManager;reservedNames
mapping(bytes32 => address) public reservedNames;premiumNames
mapping(bytes32 => uint256) public premiumNames;lengthCost
mapping(bytes32 => uint256[]) public lengthCost;multiYearDiscount
mapping(bytes32 => uint256[]) public multiYearDiscount;isEnabled
mapping(bytes32 => bool) public isEnabled;Functions
constructor
constructor(ISldRegistrationManager _manager);setPremiumName
function setPremiumName(bytes32 _parentNamehash, string calldata _label, uint256 _priceInDollarsPerYear) private;setReservedName
function setReservedName(bytes32 _parentNamehash, string calldata _label, address _claimant) private;setLengthCost
function setLengthCost(bytes32 _parentNamehash, uint256[] calldata _prices)
public
isApprovedOrTokenOwner(_parentNamehash);setMultiYearDiscount
function setMultiYearDiscount(bytes32 _parentNamehash, uint256[] calldata _discounts)
public
isApprovedOrTokenOwner(_parentNamehash);getLengthCost
function getLengthCost(bytes32 _parentNamehash, uint256 _length) private view returns (uint256);setPremiumNames
function setPremiumNames(bytes32 _parentNamehash, string[] calldata _labels, uint256[] calldata _priceInDollarsPerYear)
public
isApprovedOrTokenOwner(_parentNamehash);setReservedNames
function setReservedNames(bytes32 _parentNamehash, string[] calldata _labels, address[] calldata _claimants)
public
isApprovedOrTokenOwner(_parentNamehash);setIsEnabled
function setIsEnabled(bytes32 _parentNamehash, bool _isEnabled) external isApprovedOrTokenOwner(_parentNamehash);getPriceInDollars
function getPriceInDollars(
address _buyingAddress,
bytes32 _parentNamehash,
string memory _label,
uint256 _registrationLength,
bool _isRenewal
) public view returns (uint256);getDiscount
function getDiscount(bytes32 _parentNamehash, uint256 _years) private view returns (uint256);supportsInterface
function supportsInterface(bytes4 interfaceId) public view override(IERC165, Multicallable) returns (bool);minDollarPrice
function minDollarPrice() private view returns (uint256);isApprovedOrTokenOwner
modifier isApprovedOrTokenOwner(bytes32 _namehash);Events
PremiumNameSet
event PremiumNameSet(bytes32 indexed _tokenNamehash, uint256 _price, string _label);ReservedNameSet
event ReservedNameSet(bytes32 indexed _tokenNamehash, address indexed _claimant, string _label);