We update all contracts to Solidity 0.8 to be able to test dev setups with the coming https://github.com/ensdomains/name-wrapper and other ENS and openzeppelin updates without bothering with multiple compiler version setups.
SafeMath is no longer needed as of Solidity 0.8 -- compiler now takes care of overflow checking.
Licenses were added to silence compiler warnings (not to much avail, since deps contracts still don't have them). Please review and tell if the license is not correct or should be removed altogether.
Namehash was rewritten to use loop instead of recursion.
Testing notes
For QA new contracts deploy to Ropsten will be needed.
Summary
We update all contracts to Solidity 0.8 to be able to test dev setups with the coming https://github.com/ensdomains/name-wrapper and other ENS and openzeppelin updates without bothering with multiple compiler version setups.
Review notes
We had to mainly accommodate for: https://docs.soliditylang.org/en/v0.6.0/060-breaking-changes.html https://docs.soliditylang.org/en/v0.7.0/070-breaking-changes.html https://docs.soliditylang.org/en/breaking/080-breaking-changes.html
Some points:
Testing notes
For QA new contracts deploy to Ropsten will be needed.