Skip to content

Releases: dl-solarity/solidity-lib

v2.7.1

14 Mar 16:32
f54793c
Compare
Choose a tag to compare

Release notes v2.7.1 🎉

This is a minor release

  • Added strictAdd() and strictRemove() functions to SetHelper library that check and revert if the inserted element already exists in the set/removed element doesn't exist in the set.
  • Fixed a bug in Vesting contract that locked tokens for one more period after the cliff period ends.

v2.7.0

27 Feb 16:25
453786a
Compare
Choose a tag to compare

Release notes v2.7.0 🎉

This is a new major release

This release mostly refactors the existing project structure and updates the required dependencies.

To recap, there are several new modules introduced:

  • Vesting, Staking contracts to build efficient economic primitives.
  • ZK-compatible SparseMerkleTree and IncrementalMerkleTree data structures.
  • BlockGuard flash-loan protection mechanism.
  • DiamondAccessControl, DimondERC721 contracts.
  • UniswapV3Oracle to get historical UniswapV3 prices.
  • PermanentOwnable with immutable owner funcitonality.

Some of the contracts got refactored and optimized:

  • DecimalsConverter became more clear.
  • DiamondOwnable is a standalone facet now.

Other changes:

  • compound-rate-keeper, staking, and vesting got moved under finance folder.
  • access-control folder got renamed to access.
  • Vesting received an internal virtual function to release the funds.

And much more!

Check out the documentation for more details.

v2.6.19

24 Feb 13:20
5fb4474
Compare
Choose a tag to compare

Release notes v2.6.19 🎉

This is a minor feature release

  • Added DiamondAccessControl module that is an adopted OpenZeppelin's AccessControl compatible with the Diamond pattern.

v2.6.18

15 Feb 10:06
Compare
Choose a tag to compare

Release notes v2.6.18 🎉

This is a bugfix release

  • Fixed BlockGuard incompatibility with some L2s (Arbitrum) due to the discrepancies in the NUMBER (blocknumber) opcode. Now users can override the getter function.

v2.6.17

13 Feb 14:07
Compare
Choose a tag to compare

Release notes v2.6.17 🎉

This is a minor feature release

What's new

  • Added optimized Sparse Merkle Tree data structure implementation that supports custom hash functions and multiple types.

v2.6.16

06 Feb 15:23
457e57f
Compare
Choose a tag to compare

Release notes v2.6.16 🎉

This is a minor feature release

What's new

  • Added finance module that implements Vesting functionality. Users may set up their vesting schedules leveraging linear and exponential distribution algorithms. Also, custom cliff periods and unlock steps are supported. With flexible structures, Vesting contract beacons great reusability and portability.

v2.6.15

26 Jan 13:25
Compare
Choose a tag to compare

Release notes v2.6.15 🎉

This is a minor feature release

What's new

  • Updated the IncrementalMerkleTree module to support custom hash functions and set desired tree height. This change makes the IMT compliant with ZK proofs.

Fixes

  • Fixed revert in withdraw function in the staking module when 0 rewards were withdrawn.

v2.6.14

23 Jan 12:46
c76706a
Compare
Choose a tag to compare

Release notes v2.6.14 🎉

This is a minor feature release

Introduced a whole new module staking

  • Added AbstractValueDistributor contract that acts as a data structure that calculates the value distribution of users based on their shares. Users may join/leave/claim at any time and the contract algorithm accounts for that.
  • Added AbstractStaking contract that implements staking mechanics on top of AbstractValueDistributor contract.

v2.6.13

04 Jan 17:39
5f7b2b6
Compare
Choose a tag to compare

Release notes v2.6.13 🎉

This is a minor feature release

  • Added PermanentOwnable smart contract that acts as a basic access control module where the ownership cannot be transferred.
  • Refactored BroxyBeacon and TransparentProxyUpgrader contracts to inherit PermanentOwnable.

v2.6.12

17 Dec 17:21
c123c2b
Compare
Choose a tag to compare

Release notes v2.6.12 🎉

This is a minor fix release

  • Moved proxy contracts (ProxyBeacon, PublicBeaconProxy, ProxyUpgrader) from "contracts registry" module to a separate "proxy" module.
  • Relaxed functions visibility in the proxy module.
  • Renamed ProxyUpgrader to TransparentProxyUpgrader to reflect its intended use.
  • Removed onlyOwner modifier from getImplementation() method in TransparentProxyUpgrader contract.
  • Fixed AbstractPoolFactory interaction with AbstractPoolContractsRegistry contract. Added addProxyPool() method to remove low-level interaction.