- actors - actors implementation
- actors-macros - macros for actors
- debug-provider - debug api provider for node + anvil
- defi-abi - sol! wrapper for contracts interface
- defi-actors - defi actors crate
- defi-entities - defi entities crate
- defi-envents - defi events crate
- defi-pools - defi exchange pools implementation
- flashbots - flashbots client
- multicaller - multicaller interaction crate
- topology - topology crate
- types - defi types crate
- utils - various helpers
Telegram chat : https://t.me/dexloom_com
config.toml example
[node]
mode = "ws"
# Nodes.
[clients]
local = { url = "ws://localhost:8545" }
remote = { url = "ws://8.8.8.8:8545" }
[blockchains]
# Ethereum mainnet. chain id = 1
mainnet = { }
# Setup signer with encrypted private key
[signers]
env_signer = { type = "env", bc = "mainnet" }
# Swapstep encoder with address of multicaller deployed
[encoders]
mainnet = { type = "swapstep", address = "0x0000000000000000000000000000000000000000" }
# Preloaders for signers and encoders
[preloaders]
mainnet = { client = "local", bc = "mainnet", encoder = "mainnet", signers = "env_signer" }
[actors]
# Blocks managing actor
[actors.node]
mainnet_node = { client = "local", bc = "mainnet" }
# Subscribe to mempool transactions
[actors.mempool]
mainnet = { client = "local", bc = "mainnet" }
mainnet_remote = { client = "remote", bc = "mainnet" }
# Nonce and balance monitor
[actors.noncebalance]
mainnet = { client = "local", bc = "mainnet" }
# Pool loader : history, new and protocol loaders
[actors.pools]
mainnet = { client = "local", bc = "mainnet", history = true, new = true, protocol = true }
# Price actor
[actors.price]
mainnet = { client = "local", bc = "mainnet" }
# Broadcaster actor
[actors.broadcaster]
mainnet = { type = "flashbots", client = "local", bc = "mainnet" }
# Transaction estimators
[actors.estimator]
# Node estimator. Geth is ok for note supporting eth_callBundle method only
mainnet = { client = "local", bc = "mainnet", type = "geth", encoder = "mainnet" }
# EVM estimator
#mainnet = { type="evm", bc = "mainnet", encoder = "mainnet"}
please creata defi-entities/private.rs with following context
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
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
THE SOFTWARE IS PROVIDED "AS IS", USE AT YOUR OWN RISK