Platform: Code4rena
Start Date: 12/07/2022
Pot Size: $75,000 USDC
Total HM: 16
Participants: 100
Period: 7 days
Judge: LSDan
Total Solo HM: 7
Id: 145
League: ETH
Rank: 73/100
Findings: 1
Award: $79.48
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: IllIllI
Also found by: 0x1f8b, 0x29A, 0xDjango, 0xNazgul, 0xNineDec, 0xf15ers, 8olidity, Aussie_Battlers, Bnke0x0, Ch_301, Critical, Deivitto, Dravee, ElKu, Funen, GimelSec, JC, JohnSmith, Lambda, MiloTruck, PwnedNoMore, ReyAdmirado, Rohan16, Rolezn, Ruhum, RustyRabbit, Sm4rty, TomJ, Waze, _Adam, __141345__, alan724, asutorufos, benbaessler, berndartmueller, bin2chen, brgltd, bulej93, c3phas, cRat1st0s, cryptonue, cryptphi, csanuragjain, delfin454000, dxdv, exd0tpy, fatherOfBlocks, gogo, hake, hyh, joestakey, kyteg, lcfr_eth, minhtrng, p_crypt0, pashov, pedr02b2, philogy, rajatbeladiya, rbserver, rishabh, robee, rokinot, sach1r0, sashik_eth, seyni, simon135, svskaushik, zuhaibmohd, zzzitron
79.4817 USDC - $79.48
Use fixed compiler versions.
This section provides the missing comments on public, external and internal functions.
/** * @notice Returns the rental price of an address for a duration. * @param name The name of the address to be rented. * @param duration The duration to rent an address for. */
/** * @notice Checks whether an address is valid, based off string length. * @param name The name of the domain to be validated. * @return bool True if length of 'name' is greater than or equal to 3, false otherwise. */
/** * @noticeChecks availability of a proposed address. * @param name The address name to be checked. * @return bool True if 'name' is vaild and available, false otherwise. */
/** @notice Makes commitment for an address. @param name The name of the address. @param owner The address of the owner. @param duration The length of the commitment. @param secret The secret for the commitment. @param resolver The address of the resolver. @param data The calldata. @param reverseRecord Whether the record should be reversed. @param fuses The number of fuses. @param wrapperExpiry The expiry for the wrapper. */
/** @notice Commits a commitment to the commitments array as long as the timestamp of last commit + maxCommitmentAge are less than current timestamp. @param commitment The commitment to commit to commitments array. */
/** @notice Registers an address with an owner. @param name The name of the address. @param owner The address of the owner. @param duration The length of the commitment. @param secret The secret for the commitment. @param resolver The address of the resolver. @param data The calldata. @param reverseRecord Whether the recorde should be reversed. @param fuses The number of fuses. @param wrapperExpiry The expiry for the wrapper. */
/** @notice Renew the ownership of an address. @param name The name of the address @param duration The duration to extend ownership by. */
/** @notice Withdraws the balance held in this address, to owner of the contract */
/** @notice Checks whether the contract supports a given interface. @param interfaceID The ID of the interface to be checked for support. @return bool True if interface is of type IERC165 or IETHRegistrarController, false otherwise. */
/** @notice Consumes the commitment (internal), given its age and expiry status. @param name The ENS domain name. @param duration The duration to register the ENS domain to an owner for. @param commitment The commitment mapping to be consumed. */ https://github.com/code-423n4/2022-07-ens/blob/ff6e59b9415d0ead7daf31c2ed06e86d9061ae22/contracts/ethregistrar/ETHRegistrarController.sol#L225
/** @notice Sets the records (internally) in the resolver, for given label. @param resolver The address of the resolver contract. @param label The label whose record will be set. @param data The data associated witht the label owner. */
/** @notice Sets the records for the "reverse registrar". @param name The name of the address. @param resolver The address of the resolver contract. @param owner The address of the ENS domain owner whose records are to be set. */
/** * @notice Authorised modifier checks whether sender is authorised to act on behalf of an address. * @param addr The address whose authoirsation conditions are being checked against, by message sender. */
/** * @notice Sets the default resolver address to an address that is not 0. * @param resolver The address of the resolver. */
/** * @notice Checks whether an address owns a contract. * @param addr The address to be checked for ownership by message sender. */
@return len The length of the input string.
Interface IBaseRegistrar.sol is importing itself for no apparent reason. https://github.com/code-423n4/2022-07-ens/blob/ff6e59b9415d0ead7daf31c2ed06e86d9061ae22/contracts/ethregistrar/IBaseRegistrar.sol#L2
#0 - jefflau
2022-07-26T08:07:30Z
Thanks! This is helpful