Releases: zer0-os/ZNS
Releases · zer0-os/ZNS
v2.0.0
Changelog
Smart Contracts
- Solidity version of all contracts updated to 0.8.26.
OpenZeppelincontract dependencies updated to v5.- All contracts changed to use custom error messages instead of “require strings”.
- A
ZNSStringResolvercontract added to map domain hashes to string data. - Added mirrored protocol fee that is taken again for revoking domains that used staked as their payment.
- Changed all Pricer contracts to be stateless and non-proxied. They now use polymorphism and internal encoding/decoding to be able to be set up during the domain registration transaction. Now price configs could be encoded and optionally passed along with all other domain data to a registration function to set subdomain pricing right away.
- Price configs are now stored as bytes per domain hash on
ZNSSubRegistrarcontract for subdomain distribution and price config for root domains is stored onZNSRootRegistrarcontract. - Domain registrations with full domain setup, including subdomain distribution configs can now be done in a single transaction and do not require separate transactions to set subdomain pricing anymore.
- Price configs are now stored as bytes per domain hash on
- The formula and state config of
ZNSCurvePricerhave been improved to make the curve more flexible and configurable. Steepness can now be more easily configured. - Changed standard ERC721 transfers of
ZNSDomainTokento always change both owners (domain hash and token) on every transfer, making it more user friendly and allowing for easier trades and owner changes.- Transferring the token can ONLY be done while both Domain Hash and Domain Token are held by the same address.
- Added a new ZNS specific “transfer” method where a domain hash owner (in
ZNSRegistry) can assign/transfer a token from any address to any address. This makes the domain owner inZNSRegistrythe highest power owner in the system. Now a Domain Hash Owner can give his domain token to somebody else so they can use the domain without having access to change any domain data or configs. The Domain Hash Owner can also take this token back or transfer it to someone else at any time without participation of the current Domain Token Owner. This can be used for personal domain management or for creating controlled domains for someone else in your team/community, that would still be owned by the Domain Hash Owner inZNSRegistry. - Added Registration Pause to the Registrar contracts that could pause domain registration for the system temporarily in case of emergencies or during the migration. While Registration Pause is active, only ZNS Administrators can call the guarded functions.
- Added bulk functions for both root domain and subdomain registrations.
- Subdomain mintlists are now mapped by owner index and use a new index per owner change.
- Fixed an issue where a non-Access-Controller contract could be set as
accessControlleron all ZNS contracts.
Developer Experience
- Extended the environment code by adding a default configuration used for tests that does not require any ENV file setups to run the tests.
- A .env file can be used to override any default values at initialization.
- Overriding will not happen at Hardhat initialization time if default Hardhat Network is used.
- The full environment setup can be found in the
environment.tsfile.
- ZNS now uses the newest updated version of the standalone module
zDCfor its deployment. - Removed usage of OpenZeppelin Defender for ZNS deployments in favor of temporary Deploy Admin EOAs.
- Hardhat config now works dynamically and can be used without setting up variables required for its networks if Hardhat Network is used.
v1.2.0 [DEPRECATED]
Support release for ZNS v1 deprecation on Ethereum and domain migration to ZNS v2.
v1.1.1-dev
v1.1.0-dev
zNS v1.0.1
- Add
totalSupplyto ZNSDomainToken
First version deployed to Ethereum Mainnet
zNS v1.0.0
1.0.0 (2023-12-19)
Zero Name Service First Production Release.
v0.9.1-dev
v0.9.0-dev
v0.8.0-dev
0.8.0 (2023-12-14)
Bug Fixes
- Add contracts git version to DB (#76) (53b484b)
- Add environment validation (#73) (e439a1e)
- Add setting payment config as part of default registration process (#79) (06d7783)
- Add verification and monitoring to Deploy Campaign (#78) (41aeef0)
- Campaign Failure Recovery (MUD-334) (#72) (cf77deb)
- Create the ability to completely configure the environment (#70) (04e6800)
- Deploy Campaign polish and TODOs (#80) (8b2976d)
- Refine DB version acquisition and fix version finalization bug (#87) (046dfad)
- Script for deploy campaign (#74) (ac1a5e3)
- Single integration test for deploy campaign (#77) (6a8c490)
- Small additional audit fixes (#82) (4cde0a0)
Features
v0.7.0-dev
0.7.0 (2023-11-16)
Pre-final audited development version of zNS.