From feb933fed231bb833f699f0d107a07202cf678e4 Mon Sep 17 00:00:00 2001 From: gabrielstoica Date: Wed, 24 Jul 2024 17:51:19 +0300 Subject: [PATCH] docs(README): update --- README.md | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1794cfe..0d1e3fb 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Tests - Twitter Follow + Twitter Follow

@@ -22,6 +22,36 @@ MetaDock aims to offer a decentralised platform for freelancers and small companies to run all their operations leveraging the power of web3 as an organisation. +## Architecture + +Multiple Containers can be deployed, allowing ERC-20 and native tokens (ETH) to be deposited, acting as a user vault. At +the same time, a Container can execute arbitrary code on an unlimited number of Modules. This ability enhances the +MetaDock protocol with a modular architecture, providing an opportunity to create an open market of Modules where +external players can create and integrate their own use-cases into the protocol. + +A module must first be enabled through the `ModuleManager` before being made publicly available to MetaDock users. +Currently, only the MetaDock team can enable or disable modules due to the high-security risks they present. + +### Invoice Module + +Our first available module is called `InvoiceModule`. This module enables users to create on-chain invoices that can be +paid using various methods, such as transfer, +[linear](https://docs.sablier.com/concepts/protocol/stream-types#lockup-linear) or +[tranched](https://docs.sablier.com/concepts/protocol/stream-types#lockup-tranched) stream, and have multiple payment +assets including any ERC-20 token and native ETH. + +The `InvoiceModule` relies on the [Sablier V2](https://docs.sablier.com/concepts/what-is-sablier) protocol for stream +creation and management. + +## Contribute + +Anyone is welcomed to contribute either by creating & proposing a new module or simply +[opening](https://github.com/metadock/contracts/issues/new) an issue, starting a discussion or submitting a PR. + +If you want to propose a new module, fork this repository and create a new folder inside the `src/modules/[module-name]` +folder following the `src/modules/invoice-module` module structure. Then, create a new PR with the module logic and a +detailed description of its capabilities. + ## License The primary license for MetaDock contracts is the GNU General Public License v3.0 (`GPL-3.0-or-later`),