Solidity Development Modules by Distributed Lab
Elaborate solidity development modules library by DL.
The library consists of modules and utilities that are built with a help of Openzeppelin Contracts (4.9.2) and go far beyond mediocre solidity.
- Implementation of Contracts Registry pattern
- Versatile RBAC smart contract
- Enhanced and simplified Diamond pattern
- Heap based priority queue library
- Memory data structures (Vector)
- Optimized Incremental Merkle Tree data structure
- Novel ReturnDataProxy contract
- Utilities to ease work with ERC20 decimals, arrays, and sets
Overview
Installation
$ npm install @dlsl/dev-modules
The latest stable version is always in the master
branch.
Usage
You will find the smart contracts in the /contracts
directory. Feel free to play around and check the source code, it is rather descriptive.
Once the npm package is installed, one can use the modules just like that:
pragma solidity ^0.8.4;
import "@dlsl/dev-modules/contracts-registry/presets/OwnableContractsRegistry.sol";
contract ContractsRegistry is OwnableContractsRegistry {
. . .
}
It is important to use the library as it is shipped and not copy-paste the code from untrusted sources.
License
The development modules are released under the MIT License.