Skip to content

Releases: dl-solarity/solidity-lib

v2.4.0

19 Apr 09:10
Compare
Choose a tag to compare

Release notes v2.4.0

This is a non-backwards-compatible release

ContractsRegistry

  • Added ContractAdded, ProxyContractAdded, ProxyContractUpgraded, and ContractRemoved events
  • Removed AddedContract, RemovedContract, and Upgraded events
  • Provided explicit errors to Upgrader error handling

Paginator library

  • Added internal getTo function to paginate through structs conventionally

v2.3.3

14 Apr 16:38
Compare
Choose a tag to compare

Release notes v2.3.3

This is a minor feature release

  • Added decimals() function to DecimalsConverter to optimize bytecode size when the function is used multiple times
  • Fixed imports throughout the project

v2.3.2

24 Mar 11:52
bc42b81
Compare
Choose a tag to compare

Release notes v2.3.2

This is a bug fix release

  • Fixed ZKP VerifierHelper library dynamic array encoding
  • Fixed variable naming

v2.3.0

23 Feb 18:21
3e7e82b
Compare
Choose a tag to compare

Release notes v2.3.0

What's new

  • Added memory Vector library

v2.2.0

20 Feb 16:50
d6e8bee
Compare
Choose a tag to compare

Release notes v2.2.0

What's new

  • Added TypeCaster library
  • Added lowerBound() and upperBound() array functions to ArrayHelper library
  • Added insert() and reverse() functions support for bytes32 arrays

Changes

  • Fixed PriorityQueue interface
  • Removed sqrt() function from DSMath library as it was added to Openzeppelin 4.8.0
  • Moved asArray() functions from ArrayHelper to TypeCaster and renamed them to addSingletonArray()

v2.1.0

16 Feb 11:34
3e93a14
Compare
Choose a tag to compare

Release notes v2.1.0

What's new

  • Added PriorityQueue data structure library that is based on a heap.
  • Added an extension to RBAC - RBACGroupable to organize users into groups.
  • Added MerkleWhitelisted contract to simplify the creation of whitelists that are based on Merkle proofs.
  • Added functions to ArrayHelper library to compute prefix sums and return range queries.
  • Added snarkjs VerifierHelper library to aid the interaction with the generated verifier that uses static arrays.
  • Added sqrt function to DSMath library.

Other changes

  • Updated Openzeppelin contracts version from 4.5.0 to 4.8.0.
  • Fixed typos in README and Natspec

v2.0.0

10 Jan 20:55
04f772f
Compare
Choose a tag to compare

Release notes v2.0.0

access-control

  • Added RBAC (Role Based Access Control) contract, which allows you to define specific PERMISSIONS for specific RESOURCES and aggregate them into the roles. The roles can be further assigned to the users.

compound-rate-keeper

  • Added AbstractCompoundRateKeeper contract, which implements the logic of calculating compound interest with different capitalization periods.

  • Added preset with ownable logic - OwnableCompoundRateKeeper.

contracts-registry

  • Added ContractsRegistry module, which can store system contracts, upgrade them, and resolve their dependencies via a special mechanism. The module can be used for maximum flexibility in the system architecture. Comes as a reference implementation of a Contracts Dependencies Registry EIP.

  • Added preset with ownable functionality - OwnableContractsRegistry.

contracts-registry/pools

  • Added PoolContractsRegistry module, which is designed for convenient deployment of pool contracts of different types using a BeaconProxy factory. The module leverages the ContractsRegistry functionality by making the pools upgradeable and dependable.

  • Added preset with ownable functionality - OwnablePoolContractsRegistry.

diamond

  • Added Diamond facet module, which provides the custom implementation of the Diamond proxy EIP.

  • Added facet with ownable functionality - OwnableDiamond.

libs

arrays

  • Added ArrayHelper library, which implements a number of functions for working with arrays: reverse,asArray, insert.

  • Added Paginator library for convenient contracts pagination.

  • Added SetHelper library to ease work with OpenZeppelin EnumerableSet, as well as StringSet from this repository.

data-structures

  • Added StringSet library which is based on OpenZeppelin sets.

decimals

  • Added DecimalsConverter library, which allows you to convert numbers to different precisions. For example, it is good for converting ERC20 tokens with different decimals.

math

  • Added DSMath library, which implements the function of exponentiation with accuracy.

utils

  • Added a Globals file that contains various useful constants.