Skip to content

v1.0.0

Latest
Compare
Choose a tag to compare
@mihailo-maksa mihailo-maksa released this 15 Jul 15:36
· 90 commits to main since this release
d0c0462

This release marks some important changes that happened as a result of the Hats Finance audit competition that happened from June 21st - July 5th.

These changes include:

  • Standardization of fee names to singular across the repository (protocolFee, entryFee, exitFee)
  • Refactored event variable names and improved NatSpec for all events: Variable names are now more descriptive and explicit with their naming, we make a clear distinction between the receiver and sender, and we also do not use the terms user and owner in this context anymore to avoid any possible confusion (all changes are outlined in detail here)
  • Improved both Gitbook and NatSpec documentation related to our core contracts based on the feedback from Hats issues
  • Added 2-step ownership transfer process for AtomWallet using Ownable2StepUpgradeable contract from OpenZeppelin as a base
  • Added an approval process to allow receivers to approve other addresses to be able to deposit on atom and triples on their behalf
  • Improved time validation and custom error handling in _validateSignature in AtomWallet
  • Improved our CustomMulticall3 contract, and added its deployment to our deploy scripts
  • Added new events for important parameter changes to improve transparency and third party integrations: OperationScheduled, OperationCancelled, AdminSet, ProtocolMultisigSet, MinDepositSet, MinShareSet, AtomUriMaxLengthSet, AtomWalletInitialDepositAmountSet, AtomCreationProtocolFeeSet, TripleCreationProtocolFeeSet, AtomDepositFractionOnTripleCreationSet, AtomDepositFractionForTripleSet, EntryFeeSet, ExitFeeSet, ProtocolFeeSet and AtomWardenSet
  • Added important configuration items (Cancun EVM version support, dependency versions are upgraded, etc.)
  • Improved checks in deployAtomWallet, which it is now returning the deployed atom wallet address if trying to deploy it again, for better ERC-4337 compatibility
  • Miscellaneous improvements: Storage gaps, explicit maxRedeem checks, added maxDeposit function for better ERC-4626 compatibility, minor gas optimizations, etc.

This release is the last one before the V1 protocol release and the official deployment on Base.