1.8.0 • Published 1 year ago
@tokene/core-contracts v1.8.0
The TokenE operating system on top of EVM by Distributed Lab
This repository represents the core smart contracts part of the operating system.
What
The TokenE core consists of 5 main smart contracts:
MasterContractsRegistryMasterAccessManagementReviewableRequestsConstantRegistryMulticall
Each of these contracts serves an important role for the system:
- The
MasterContractsRegistryis an ERC-6224 compliant contract that is used throughout the core and its modules. - The
MasterAccessManagementis used to handle permissions and access, leveraging solarity RBAC smart contract. - The
ReviewableRequestsis a primary integration tool that is used to "speak" with admins. One can issue tokens or pass KYC requests via that contract. - The
ConstantRegistrythat stores the system-wide parameters. - The
Multicallis used as a utility to execute batches of transactions.
Installation
The core contracts are available as an npm package:
$ npm install @tokene/core-contractsOr if you want to use the low-level solarity:
$ npm install @solarity/solidity-libIntegration
Once you have installed the packages, feel free to play around with them.
In order to integrate with TokenE core, please check that you are aware of these things:
- Your module has to be dockerized. The smart contract, scripts, and deployments must be included in the docker image.
- TokenE is a role based system, the external access control must integrated with
MasterAccessManagementcontract. - Double check that the RBAC resource does not collide with the any existing one.
- Your smart contract must be discoverable by the system. It means that you will have to add them to the
MasterContractsRegistryin the deployment scripts. - You must never create reviewable requests directly, always use the appropriate module for that. If you are writing such module, make sure it is able to handle both "accept" and "reject" request cases.
Documentation
You can find an extensive documentation of the protocol here.
License
The TokenE core is released under the custom License. Please take a look to understand the limitations.