Skip to content

dl-solarity/solidity-lib

Repository files navigation

npm Coverage Status License: MIT GitPOAP Badge

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.