Skip to content

Releases: zer0-os/ZNS

v2.0.0

19 Aug 20:33
0234216

Choose a tag to compare

Changelog

Smart Contracts

  • Solidity version of all contracts updated to 0.8.26.
  • OpenZeppelin contract dependencies updated to v5.
  • All contracts changed to use custom error messages instead of “require strings”.
  • A ZNSStringResolver contract 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 ZNSSubRegistrar contract for subdomain distribution and price config for root domains is stored on ZNSRootRegistrar contract.
    • 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.
  • The formula and state config of ZNSCurvePricer have been improved to make the curve more flexible and configurable. Steepness can now be more easily configured.
  • Changed standard ERC721 transfers of ZNSDomainToken to 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 in ZNSRegistry the 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 in ZNSRegistry.
  • 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 accessController on 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.ts file.
  • ZNS now uses the newest updated version of the standalone module zDC for 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]

19 Aug 21:48
0c28177

Choose a tag to compare

Support release for ZNS v1 deprecation on Ethereum and domain migration to ZNS v2.

v1.1.1-dev

31 Jan 21:38
8f67434

Choose a tag to compare

1.1.1 (2024-01-31)

Bug Fixes

v1.1.0-dev

29 Jan 20:30
d5eb5a1

Choose a tag to compare

1.1.0 (2024-01-29)

Features

  • Isolation of the Deploy Module (zDC) and integration with zNS (#98) (d5eb5a1)

zNS v1.0.1

27 Dec 21:47
213334f

Choose a tag to compare

  • Add totalSupply to ZNSDomainToken

First version deployed to Ethereum Mainnet

zNS v1.0.0

19 Dec 23:25

Choose a tag to compare

1.0.0 (2023-12-19)

Zero Name Service First Production Release.

v0.9.1-dev

19 Dec 22:03
b3ce424

Choose a tag to compare

0.9.1 (2023-12-19)

Bug Fixes

  • Add tokenURI param to DomainRegistered event (#93) (b3ce424)

v0.9.0-dev

19 Dec 00:16
786e4c3

Choose a tag to compare

0.9.0 (2023-12-19)

Bug Fixes

Features

  • Ethers v6 Upgrade & Defender integration (#83) (786e4c3)

v0.8.0-dev

14 Dec 22:07
51155c4

Choose a tag to compare

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

  • [PROTO] Zero Deploy Campaign (#36) (ee78c5a)
  • Add a database to the Deploy Campaign (#58) (fb38a1a)

v0.7.0-dev

16 Nov 21:31
2e208c0

Choose a tag to compare

0.7.0 (2023-11-16)

Pre-final audited development version of zNS.