Skip to content

Commit

Permalink
docs(README): update
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrielstoica committed Jul 24, 2024
1 parent 3273ce7 commit feb933f
Showing 1 changed file with 31 additions and 1 deletion.
32 changes: 31 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<img src="https://img.shields.io/github/actions/workflow/status/metadock/contracts/test.yml?branch=main&label=Tests" alt="Tests">
</a>
<a href="#">
<img src="https://img.shields.io/twitter/follow/gabrielstoica?label=Follow" alt="Twitter Follow">
<img src="https://img.shields.io/twitter/follow/MetaDockApp?label=Follow" alt="Twitter Follow">
</a>
</p>

Expand All @@ -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`),
Expand Down

0 comments on commit feb933f

Please sign in to comment.