Releases: dl-solarity/solidity-lib
v2.4.0
Release notes v2.4.0
This is a non-backwards-compatible release
ContractsRegistry
- Added
ContractAdded
,ProxyContractAdded
,ProxyContractUpgraded
, andContractRemoved
events - Removed
AddedContract
,RemovedContract
, andUpgraded
events - Provided explicit errors to
Upgrader
error handling
Paginator library
- Added internal
getTo
function to paginate through structs conventionally
v2.3.3
v2.3.2
v2.3.0
v2.2.0
Release notes v2.2.0
What's new
- Added
TypeCaster
library - Added
lowerBound()
andupperBound()
array functions toArrayHelper
library - Added
insert()
andreverse()
functions support forbytes32
arrays
Changes
- Fixed
PriorityQueue
interface - Removed
sqrt()
function fromDSMath
library as it was added to Openzeppelin 4.8.0 - Moved
asArray()
functions fromArrayHelper
toTypeCaster
and renamed them toaddSingletonArray()
v2.1.0
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 toDSMath
library.
Other changes
- Updated Openzeppelin contracts version from
4.5.0
to4.8.0
. - Fixed typos in README and Natspec
v2.0.0
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 aBeaconProxy
factory. The module leverages theContractsRegistry
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 OpenZeppelinEnumerableSet
, as well asStringSet
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.