- actors - actors implementation
- actors-macros - macros for actors
- debug-provider - debug api provider for node + anvil, HttpCachedTransport
- defi-abi - sol! wrapper for contracts interface
- defi-actors - defi actors crate
- defi-blockchain - loom configuration module
- defi-entities - defi entities crate
- defi-events - defi events crate
- defi-pools - defi exchange pools implementation
- flashbots - flashbots client
- loom-revm-db - optimized InMemoryDB
- multicaller - multicaller interaction crate
- topology - topology crate
- types - defi types crate
- utils - various helpers
- loom - backrun bot
- loom_exex - backrun bot as ExEx module
- loom_anvil - anvil testing framework
- replayer - blocks replayer
- keys - keys encryption tool
- gasbench - gas consumption benchmark utility
- nodebench - nodes benchmark utility
Telegram chat : https://t.me/dexloom_com
Copy config-example.toml
to config.toml
and configure according to your setup.
Private key encryption password is individual secret key that is generated automatically but can be replaced
It is located in ./crates/defi-entities/private.rs and looks like
pub const KEY_ENCRYPTION_PWD: [u8; 16] = [35, 48, 129, 101, 133, 220, 104, 197, 183, 159, 203, 89, 168, 201, 91, 130];
To change key encryption password run and replace content of KEY_ENCRYPTION_PWD
cargo run --bin keys generate-password
To get encrypted key run:
cargo run --bin keys encrypt --key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
DATA=<ENCRYPTED_PRIVATE_KEY> cargo run --bin loom
Makefile is shipped with following important commands:
- build - builds all binaries
- fmt - formats loom with rustfmt
- pre-release - check code with rustfmt and clippy
- clippy - check code with clippy
Testing Loom requires two environment variables pointing at archive node:
- MAINNET_WS - websocket url of archive node
- MAINNET_HTTP - http url of archive node
To run tests:
make test
- Paradigm - Paradigm. All those inspiring products : RETH / REVM / Alloy / Ethers
- darkforestry - AMM Crate
- 0xKitsune - Uniswap Math crate
- Onbjerg - Flashbots crate
THE SOFTWARE IS PROVIDED "AS IS", USE AT YOUR OWN RISK