Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NOTICE: Repo Migration #276

Merged
merged 1 commit into from
Feb 12, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
NOTICE: Repo Migration
Work has been migrated to: https://github.com/MEV-Protocol/meveth
  • Loading branch information
sambacha authored Feb 12, 2024
commit 3a206bbefbf23eda4826fa258e350294dc4108a4
94 changes: 10 additions & 84 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,93 +1,19 @@
## Getting started

To make the most of this repository, you should have the following installed:
----

- [Nix](https://nixos.org/)
- [Direnv](https://direnv.net/)
> [!WARNING]
> This repo has been moved to its new home: [https://github.com/MEV-Protocol/meveth](https://github.com/MEV-Protocol/meveth)

After cloning this repository and entering inside, run `direnv allow` when prompted, and you will be met with following prompt.
---

```terminal
🔨 Welcome to devshell

[build]
> [!CAUTION]
> This repo has been moved to its new home: [https://github.com/MEV-Protocol/meveth](https://github.com/MEV-Protocol/meveth)

check - run all linters and build all packages

[deployments]
---

deploy - Deploy the Smart Contracts
### [Repo has migrated](https://github.com/MEV-Protocol/meveth](https://github.com/MEV-Protocol/meveth)

[development]

dev-net - Run local Ethereum network for development

[docs]

docs-build - build the docs and place them in result directory
docs-serve - serve the docs

[formatting]

fmt - format the repo

[foundry]

anvil - A fast local Ethereum development node
cast - Perform Ethereum RPC calls from the comfort of your command line
forge - Build, test, fuzz, debug and deploy Solidity contracts

[general commands]

menu - prints this menu

[tests]

tests - Test the Smart Contracts

direnv: export +DEVSHELL_DIR +FOUNDRY_SOLC +IN_NIX_SHELL +NIXPKGS_PATH +PRJ_DATA_DIR +PRJ_ROOT +name ~PATH ~XDG_DATA_DIRS
```

The `lib` directory contains git-submodules which in turn also have submodules.
To update all submodules recursively, execute:

```bash
git submodule update --init --recursive
```

### Docs

To build the docs locally, run `docs-build`. The output will be inside of `./result`.

Run `docs-serve` to serve the docs locally (after building them previously). You can edit the docs in `./docs`.

### Running tests

To run all tests, you can use `check` (alias for `nix flake check`); it will build all packages and run all tests.

You can use `tests -h` to execute a specific test, which will provide more information.

### Formatting

You can manually format the source using the `fmt` command.

## Design Doc

# MevEth - Maximizing Ethereum Value

The `MevEth` contract serves as a sophisticated platform for Liquid Staking Receipt (LSR) management, designed to optimize Ethereum value through efficient staking and reward distribution. This contract leverages multiple core modules to achieve its objectives, including admin control, staking management, share vault updates, ERC4626 integration, withdrawal queues and omni-chain tokens.

- [Documentation for MevEth](docs/index.md)

## Core Modules and Functionality

The `MevEth` contract comprises several core modules, each contributing to its comprehensive functionality:

- **Accounting**: Transparent fractional accounting system
- **Admin Control Panel**: Empowers administrators with control over staking, module updates, and share vault management.
- **Staking Management**: Allows efficient staking of Ether in the Beacon Chain, ensuring validators' registration and interaction with the staking module.
- **Share Vault Updates**: Facilitates seamless updates to the MevEth share vault, ensuring accurate reward distribution and protocol management.
- **Role management**: Supports roles management
- **ERC4626 Integration**: Supports ERC4626 interface for yield source integration, enabling compatibility with Yearn Vault and other protocols.
- **Withdrawal Queues**: First come, first served queues for withdrawal requests beyond buffer balances
- **Omni-chain fungible tokens**: Allows `MevEth` tokens to be sent accross chains
> [!IMPORTANT]
This repo is frozen to its deployment artifact, all new work is taking place at [https://github.com/MEV-Protocol/meveth](https://github.com/MEV-Protocol/meveth)