-
Notifications
You must be signed in to change notification settings - Fork 65
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
Feat/simple #413
Feat/simple #413
Changes from all commits
eb6af22
3a21962
4d22143
a0817e0
ff4d782
acddf3c
59af9d0
8bb95ed
a6a19c5
bcca031
84f77d7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,6 +8,9 @@ | |
[![](https://dcbadge.vercel.app/api/server/primitive?style=flat)](https://discord.gg/primitive) | ||
[![Twitter Badge](https://badgen.net/badge/icon/twitter?icon=twitter&label)](https://twitter.com/primitivefi) | ||
|
||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I am sure we can improve on this in the future, but seemed like a step in the right direction. We should probably review more thoroughly before merging. |
||
This library enables user to communicate with a sandboxed revm instance via the implementation of the [ethers-rs](ethers.rs) middleware. | ||
|
||
The Ethereum blockchain's execution environment, the Ethereum Virtual machine (EVM), contains a rich collection of decentralized applications. The EVM is stack machine that sequentially executes opcodes sent to it by users and smart contracts. Arbiter is a highly configurable rust interface over [revm](https://github.com/bluealloy/revm) which is a Rust implementation of the EVM stack machine logic. The purpose of Arbiter is to interface with arbitrary agents and contracts and run this all directly on a blazing-fast simulated EVM. | ||
|
||
Financial engineers need to study a wide array of complex portfolio management strategies against thousands of market conditions, contract parameters, and agents. To configure such a rich simulation environment on a test network could be possible, but a more efficient choice for getting the most robust, yet quick, simulations would bypass any local networking and use a low level language's implementation of the EVM. | ||
|
@@ -20,32 +23,6 @@ Arbiter can be used for: | |
- investigating risk, capital efficiency, rebalancing strategies, and portfolio replication (or performance). (LPs, funds, quants, traders) | ||
- Engineering and testing new financial products built on top of more primitive financial products (DeFi firms and academics) | ||
|
||
## Features: | ||
|
||
For our next beta release, we will be focusing on the following features: | ||
|
||
|
||
## Build From Source | ||
|
||
First, clone the repository to your local environment so | ||
|
||
```bash | ||
git clone https://github.com/primitivefinance/arbiter.git | ||
cd arbiter | ||
``` | ||
|
||
Install arbiter on your system: | ||
|
||
```bash | ||
cargo install --path . --force | ||
``` | ||
|
||
With the `arbiter` binary generated, you can run commands such as: | ||
|
||
```bash | ||
arbiter simulate uniswap | ||
``` | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is all no longer relevant / incorrect with the new release so i removed it. |
||
## Generating Docs | ||
|
||
To see the documentation for Arbiter, after cloning the repo, you can run: | ||
|
@@ -56,17 +33,6 @@ cargo doc --workspace --no-deps --open | |
|
||
This will generate and open the docs in your browser. From there, you can look at the documentation for each crate in the Arbiter workspace. | ||
|
||
## Including More Contracts | ||
|
||
In the `contracts/` directory you can add additional smart contracts or regenerate Rust bindings. Once that is done, you will want to make sure the bindings are generated in the script: | ||
|
||
```bash | ||
./bind.sh | ||
``` | ||
You will need to add the relevant directory for your new contracts to the script above and make sure they are also handled by `forge install`. We look forward to improving upon this UX in the future. | ||
|
||
At the moment, this only builds the bindings for the contracts in the `lib/arbmod/contracts/` and `lib/portfolio/contracts`. You can of course add an additional directory of contracts in `lib/`. Just be sure to include it when you generate bindings! | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is also not relevant with the new release |
||
## Contributing | ||
|
||
See our [Contributing Guidelines](https://github.com/primitivefinance/arbiter/blob/main/.github/CONTRIBUTING.md) |
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused dependency