Skip to content

Commit

Permalink
docs: Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
mgnfy-view committed Aug 15, 2024
1 parent b350bfa commit 63e1cd4
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 24 deletions.
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,13 @@
<!-- ABOUT THE PROJECT -->
## About The Project

Soho is an orderbook protocol to facilitate high-frequency trades on multiple chains including Blast.
Soho is a central limit orderbook protocol to facilitate high-frequency, gasless trades on multiple chains including Blast.

The protocol consists of three main actors: a maker, a taker, and an off-chain matching engine. Users can start placing ask/sell orders on the off-chain engine after they have deposited some tokens into the on-chain settlement protocol. An ask order brings liquidity to the market, whereas a sell order takes liquidity from the market. Makers and takers can sign their respective orders off-chain. Once a mirrored maker and taker order is matched, the matching engine settles it on-chain using the `Soho::settleOrders()` function and the maker and taker signatures. The protocol takes a small percentage of fees from the taker's input amount, so it is necessary that takers put up some buffer amount to have their orders matched.

The protocol uses bitmaps to efficiently track the resolution status of an order, and EIP712 signatures to sign orders.

The protocol can be deployed on multiple evm-compatible chains, and is also configured for Blast.

### Built With

Expand Down
39 changes: 19 additions & 20 deletions docs/src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,41 +55,40 @@
<!-- ABOUT THE PROJECT -->
## About The Project

Caster is a general purpose, on-chain, merkle tree based voting protocol which also supports fractional vote delegation. Users can create voting campaigns in a permissionless manner by supplying a merkle root and the campaign params, and paying a fee of `0.001 ether`. Voting campaigns can be single option (rhetorical questions), or multiple option voting campaigns (select from an array of options). Whitelisted users eligible to vote in a campaign can mint themselves a unique voting id (Caster Nft) by verifying themselves as a part of the merkle tree. This Nft provides the voters with the voting power assigned by the campaign creator.
Soho is a central limit orderbook protocol to facilitate high-frequency, gasless trades on multiple chains including Blast.

Voters can delegate their votes to a single user or multiple users (fractional vote delegation). By default, votes are delegated to the voter itself and once the voter delegates to another user, they cannot be recovered.
The protocol consists of three main actors: a maker, a taker, and an off-chain matching engine. Users can start placing ask/sell orders on the off-chain engine after they have deposited some tokens into the on-chain settlement protocol. An ask order brings liquidity to the market, whereas a sell order takes liquidity from the market. Makers and takers can sign their respective orders off-chain. Once a mirrored maker and taker order is matched, the matching engine settles it on-chain using the `Soho::settleOrders()` function and the maker and taker signatures. The protocol takes a small percentage of fees from the taker's input amount, so it is necessary that takers put up some buffer amount to have their orders matched.

Campaigns run for a finite duration (less than 365 days, which is the max duration). At the end of each campaign, the result can be obtained using `CasterCampaign::getResultSingleOption()` or `CasterCampaign::getResultMultipleOption()` depending on the campaign type.
The protocol uses bitmaps to efficiently track the resolution status of an order, and EIP712 signatures to sign orders.

The protocol can be deployed on multiple evm-compatible chains, and is also configured for Blast.

### Built With

- ![Foundry](https://img.shields.io/badge/-FOUNDRY-%23323330.svg?style=for-the-badge)
- ![Solidity](https://img.shields.io/badge/Solidity-%23363636.svg?style=for-the-badge&logo=solidity&logoColor=white)
- ![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge&logo=node.js&logoColor=white)
- ![PNPM](https://img.shields.io/badge/pnpm-%234a4a4a.svg?style=for-the-badge&logo=pnpm&logoColor=f69220)


<!-- GETTING STARTED -->
## Getting Started

### Prerequisites

Make sure you have git, node.js, and pnpm installed and configured on your system.
Make sure you have git and foundry installed and configured on your system.

### Installation

Clone the repo,

```shell
git clone https://github.com/mgnfy-view/caster.git
git clone https://github.com/mgnfy-view/soho-orderbook.git
```

cd into the repo, and install the necessary dependencies

```shell
cd caster
cd soho-orderbook
forge test
pnpm intall
```

That's it, you are good to go now!
Expand All @@ -103,7 +102,7 @@ That's it, you are good to go now!
- [x] Write Docs
- [x] Write a good README.md

See the [open issues](https://github.com/mgnfy-view/caster/issues) for a full list of proposed features (and known issues).
See the [open issues](https://github.com/mgnfy-view/soho-orderbook/issues) for a full list of proposed features (and known issues).


<!-- CONTRIBUTING -->
Expand Down Expand Up @@ -137,14 +136,14 @@ Here's a gateway to all my socials, don't forget to hit me up!

<!-- MARKDOWN LINKS & IMAGES -->
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
[contributors-shield]: https://img.shields.io/github/contributors/mgnfy-view/caster.svg?style=for-the-badge
[contributors-url]: https://github.com/mgnfy-view/caster/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/mgnfy-view/caster.svg?style=for-the-badge
[forks-url]: https://github.com/mgnfy-view/caster/network/members
[stars-shield]: https://img.shields.io/github/stars/mgnfy-view/caster.svg?style=for-the-badge
[stars-url]: https://github.com/mgnfy-view/caster/stargazers
[issues-shield]: https://img.shields.io/github/issues/mgnfy-view/caster.svg?style=for-the-badge
[issues-url]: https://github.com/mgnfy-view/caster/issues
[license-shield]: https://img.shields.io/github/license/mgnfy-view/caster.svg?style=for-the-badge
[license-url]: https://github.com/mgnfy-view/caster/blob/master/LICENSE.txt
[contributors-shield]: https://img.shields.io/github/contributors/mgnfy-view/soho-orderbook.svg?style=for-the-badge
[contributors-url]: https://github.com/mgnfy-view/soho-orderbook/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/mgnfy-view/soho-orderbook.svg?style=for-the-badge
[forks-url]: https://github.com/mgnfy-view/soho-orderbook/network/members
[stars-shield]: https://img.shields.io/github/stars/mgnfy-view/soho-orderbook.svg?style=for-the-badge
[stars-url]: https://github.com/mgnfy-view/soho-orderbook/stargazers
[issues-shield]: https://img.shields.io/github/issues/mgnfy-view/soho-orderbook.svg?style=for-the-badge
[issues-url]: https://github.com/mgnfy-view/soho-orderbook/issues
[license-shield]: https://img.shields.io/github/license/mgnfy-view/soho-orderbook.svg?style=for-the-badge
[license-url]: https://github.com/mgnfy-view/soho-orderbook/blob/master/LICENSE.txt
[linktree-url]: https://linktr.ee/mgnfy.view
2 changes: 1 addition & 1 deletion docs/src/src/Soho.sol/contract.Soho.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Soho
[Git Source](https://github.com/mgnfy-view/soho-orderbook/blob/b0de44209c38bec76a892649fa8f58821082ae7c/src/Soho.sol)
[Git Source](https://github.com/mgnfy-view/soho-orderbook/blob/b350bfaab71abb17c2012b562288a1838b48b478/src/Soho.sol)

**Inherits:**
Ownable2Step, EIP712
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/SohoBlast.sol/contract.SohoBlast.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SohoBlast
[Git Source](https://github.com/mgnfy-view/soho-orderbook/blob/b0de44209c38bec76a892649fa8f58821082ae7c/src/SohoBlast.sol)
[Git Source](https://github.com/mgnfy-view/soho-orderbook/blob/b350bfaab71abb17c2012b562288a1838b48b478/src/SohoBlast.sol)

**Inherits:**
[Soho](/src/Soho.sol/contract.Soho.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/interfaces/IBlast.sol/interface.IBlast.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IBlast
[Git Source](https://github.com/mgnfy-view/soho-orderbook/blob/b0de44209c38bec76a892649fa8f58821082ae7c/src/interfaces/IBlast.sol)
[Git Source](https://github.com/mgnfy-view/soho-orderbook/blob/b350bfaab71abb17c2012b562288a1838b48b478/src/interfaces/IBlast.sol)


## Functions
Expand Down

0 comments on commit 63e1cd4

Please sign in to comment.