[package]
edition = "2021"
rust-version = "1.97"
name = "degenbot"
version = "0.6.0-alpha.14"
authors = ["BowTiedDevil <devil@bowtieddevil.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Umbrella Rust crate: re-exports the pyo3-free degenbot core surface (Bot state, DexIdentity presets, calc math) for standalone Rust consumers."
readme = "README.md"
keywords = [
"mev",
"arbitrage",
"evm",
"uniswap",
"bot",
]
license = "MIT"
repository = "https://github.com/BowTiedDevil/degenbot"
resolver = "3"
[features]
otel = ["degenbot-bot/otel"]
sql-ledger = ["degenbot-db/sql-ledger"]
[lib]
name = "degenbot"
path = "src/lib.rs"
[[example]]
name = "capture_path_fixture"
path = "examples/capture_path_fixture.rs"
[[example]]
name = "generate_aave_adversarial_captures"
path = "examples/generate_aave_adversarial_captures.rs"
required-features = ["sql-ledger"]
[[example]]
name = "generate_evm_oracle_captures"
path = "examples/generate_evm_oracle_captures.rs"
required-features = ["sql-ledger"]
[[example]]
name = "record_py_oracle_corpus"
path = "examples/record_py_oracle_corpus.rs"
[[example]]
name = "record_updater_cassette"
path = "examples/record_updater_cassette.rs"
[[example]]
name = "standalone_consumer"
path = "examples/standalone_consumer.rs"
[[test]]
name = "architecture_gates"
path = "tests/architecture_gates.rs"
[[test]]
name = "chain_binding"
path = "tests/chain_binding.rs"
[[test]]
name = "order_index_reachability"
path = "tests/order_index_reachability.rs"
[[test]]
name = "parity_aerodrome_builder"
path = "tests/parity_aerodrome_builder.rs"
[[test]]
name = "parity_balancer_stable_swap"
path = "tests/parity_balancer_stable_swap.rs"
[[test]]
name = "parity_curve_swap"
path = "tests/parity_curve_swap.rs"
[[test]]
name = "parity_erc20"
path = "tests/parity_erc20.rs"
[[test]]
name = "parity_evm_sim"
path = "tests/parity_evm_sim.rs"
[[test]]
name = "parity_inspector"
path = "tests/parity_inspector.rs"
[[test]]
name = "parity_pool_builder"
path = "tests/parity_pool_builder.rs"
[[test]]
name = "parity_v2_swap"
path = "tests/parity_v2_swap.rs"
[[test]]
name = "parity_v3_swap"
path = "tests/parity_v3_swap.rs"
[[test]]
name = "parity_v4_swap"
path = "tests/parity_v4_swap.rs"
[[test]]
name = "reachability"
path = "tests/reachability.rs"
[[test]]
name = "session_path_identity"
path = "tests/session_path_identity.rs"
[[test]]
name = "session_position_identity"
path = "tests/session_position_identity.rs"
[[test]]
name = "session_position_reachability"
path = "tests/session_position_reachability.rs"
[[test]]
name = "strategy_plane_hosting"
path = "tests/strategy_plane_hosting.rs"
[[test]]
name = "strategy_reexports"
path = "tests/strategy_reexports.rs"
[[test]]
name = "tier3_path5000_v4_clamp"
path = "tests/tier3_path5000_v4_clamp.rs"
[[test]]
name = "tier3_path73385_v4_oracle"
path = "tests/tier3_path73385_v4_oracle.rs"
[[test]]
name = "tier3_terminal_v2_crossing"
path = "tests/tier3_terminal_v2_crossing.rs"
[[bench]]
name = "updater_replay_bench"
path = "benches/updater_replay_bench.rs"
harness = false
required-features = ["sql-ledger"]
[dependencies.alloy]
version = "^2.5"
features = ["full"]
[dependencies.degenbot-aave]
version = "0.6.0-alpha.14"
[dependencies.degenbot-abi]
version = "0.6.0-alpha.14"
[dependencies.degenbot-arbitrage]
version = "0.6.0-alpha.14"
features = ["order-index"]
[dependencies.degenbot-batch-executor]
version = "0.6.0-alpha.14"
[dependencies.degenbot-bot]
version = "0.6.0-alpha.14"
[dependencies.degenbot-config]
version = "0.6.0-alpha.14"
[dependencies.degenbot-core]
version = "0.6.0-alpha.14"
[dependencies.degenbot-db]
version = "0.6.0-alpha.14"
[dependencies.degenbot-decoders]
version = "0.6.0-alpha.14"
[dependencies.degenbot-eventhub]
version = "0.6.0-alpha.14"
[dependencies.degenbot-execution]
version = "0.6.0-alpha.14"
[dependencies.degenbot-executor]
version = "0.6.0-alpha.14"
[dependencies.degenbot-fork]
version = "0.6.0-alpha.14"
[dependencies.degenbot-ingestion]
version = "0.6.0-alpha.14"
[dependencies.degenbot-math]
version = "0.6.0-alpha.14"
[dependencies.degenbot-order-index]
version = "0.6.0-alpha.14"
[dependencies.degenbot-pathfinding]
version = "0.6.0-alpha.14"
[dependencies.degenbot-pool-updater]
version = "0.6.0-alpha.14"
[dependencies.degenbot-pools]
version = "0.6.0-alpha.14"
[dependencies.degenbot-price]
version = "0.6.0-alpha.14"
[dependencies.degenbot-rpc]
version = "0.6.0-alpha.14"
[dependencies.degenbot-runs]
version = "0.6.0-alpha.14"
[dependencies.degenbot-simulation]
version = "0.6.0-alpha.14"
[dependencies.degenbot-solvers]
version = "0.6.0-alpha.14"
[dependencies.degenbot-strategy]
version = "0.6.0-alpha.14"
[dependencies.degenbot-submission]
version = "0.6.0-alpha.14"
[dependencies.degenbot-substrate]
version = "0.6.0-alpha.14"
[dependencies.degenbot-uniswap]
version = "0.6.0-alpha.14"
[dependencies.degenbot-workers]
version = "0.6.0-alpha.14"
[dependencies.hashbrown]
version = "0.17"
features = ["default-hasher"]
[dependencies.parking_lot]
version = "^0.12"
[dependencies.serde]
version = "^1.0"
features = ["derive"]
[dependencies.serde_json]
version = "^1.0"
[dev-dependencies.alloy]
version = "^2.5"
features = ["full"]
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.revm]
version = "^43.0"
default-features = false
[dev-dependencies.rusqlite]
version = "^0.40"
[dev-dependencies.serde]
version = "^1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "^1.0"
[dev-dependencies.tempfile]
version = "^3.27"
[dev-dependencies.tokio]
version = "^1.53"
features = [
"rt-multi-thread",
"macros",
]
[lints.clippy]
allow_attributes = "deny"
await_holding_lock = "deny"
dbg_macro = "deny"
exit = "deny"
expect_used = "deny"
panic = "deny"
panic_in_result_fn = "deny"
print_stderr = "deny"
print_stdout = "deny"
todo = "deny"
unimplemented = "deny"
unwrap_used = "deny"
[lints.clippy.correctness]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.clippy.style]
level = "warn"
priority = -1
[lints.clippy.suspicious]
level = "warn"
priority = -1
[lints.rust]
warnings = "deny"
[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
check-cfg = ["cfg(coverage, values(none()))"]