tycho-simulation 0.237.0

Provides tools for interacting with protocol states, calculating spot prices, and quoting token swaps.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "tycho-simulation"
version = "0.237.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Provides tools for interacting with protocol states, calculating spot prices, and quoting token swaps."
homepage = "https://www.propellerheads.xyz/tycho"
documentation = "https://docs.propellerheads.xyz/tycho"
readme = "README.md"
keywords = [
    "propellerheads",
    "solver",
    "defi",
    "dex",
    "mev",
]
categories = [
    "finance",
    "cryptography::cryptocurrencies",
]
license = "MIT"
repository = "https://github.com/propeller-heads/tycho-simulation"

[features]
default = [
    "evm",
    "rfq",
]
evm = [
    "dep:foundry-block-explorers",
    "dep:revm",
    "dep:revm-inspectors",
    "dep:alloy",
    "dep:reqwest",
]
network_tests = []
rfq = [
    "dep:reqwest",
    "dep:async-trait",
    "dep:tokio-tungstenite",
    "dep:async-stream",
    "dep:http",
    "dep:prost",
]

[lib]
name = "tycho_simulation"
path = "src/lib.rs"

[[example]]
name = "price_printer"
path = "examples/price_printer/main.rs"

[[example]]
name = "quickstart"
path = "examples/quickstart/main.rs"

[[example]]
name = "rfq_quickstart"
path = "examples/rfq_quickstart/main.rs"

[[example]]
name = "use_serialized_state"
path = "examples/use_serialized_state/main.rs"

[dependencies.alloy]
version = "1.0.30"
features = [
    "providers",
    "signer-local",
    "rpc-types-eth",
    "rand",
    "eip712",
    "sol-types",
    "rand",
]
optional = true

[dependencies.alloy-chains]
version = "0.2.18"

[dependencies.async-stream]
version = "0.3.6"
optional = true

[dependencies.async-trait]
version = "0.1.88"
optional = true

[dependencies.chrono]
version = "0.4.26"
features = ["serde"]

[dependencies.dialoguer]
version = "0.10.4"

[dependencies.dotenv]
version = "0.15.0"

[dependencies.ekubo_sdk]
version = "=1.0.2"
features = [
    "evm",
    "serde",
]

[dependencies.enum_delegate]
version = "0.2.0"

[dependencies.evm_ekubo_sdk]
version = "0.6.5"
features = ["serde"]

[dependencies.foundry-block-explorers]
version = "0.22.0"
optional = true

[dependencies.futures]
version = "0.3.31"

[dependencies.hex]
version = "0.4.3"

[dependencies.hex-literal]
version = "0.4.1"

[dependencies.http]
version = "1.0"
optional = true

[dependencies.itertools]
version = "0.10.5"

[dependencies.lazy_static]
version = "1.4.0"

[dependencies.mini-moka]
version = "0.10"

[dependencies.num-bigint]
version = "0.4.6"
features = ["serde"]

[dependencies.num-traits]
version = "0.2.17"

[dependencies.prost]
version = "0.13"
optional = true

[dependencies.reqwest]
version = "0.12.22"
optional = true

[dependencies.revm]
version = "29.0.1"
features = [
    "alloydb",
    "serde",
    "optional_eip3607",
]
optional = true

[dependencies.revm-inspectors]
version = "0.30.0"
features = ["serde"]
optional = true

[dependencies.ruint]
version = "1.17.0"
features = ["num-traits"]

[dependencies.serde]
version = "1.0"
features = [
    "rc",
    "derive",
]

[dependencies.serde_json]
version = "1.0.105"

[dependencies.strum]
version = "0.25.0"

[dependencies.strum_macros]
version = "0.25.2"

[dependencies.thiserror]
version = "1"

[dependencies.tokio]
version = "1.47.1"
features = ["full"]

[dependencies.tokio-stream]
version = "0.1.16"

[dependencies.tokio-tungstenite]
version = "0.28.0"
features = ["native-tls"]
optional = true

[dependencies.tracing]
version = "0.1.41"

[dependencies.tycho-client]
version = ">=0.133.0"

[dependencies.tycho-common]
version = ">=0.133.0"

[dependencies.tycho-ethereum]
version = ">=0.133.0"

[dependencies.typetag]
version = "0.2.21"

[dependencies.uuid]
version = "1.4.1"
features = [
    "serde",
    "v4",
    "fast-rng",
    "macro-diagnostics",
]

[dev-dependencies.anyhow]
version = "1.0.76"

[dev-dependencies.approx]
version = "0.5.1"

[dev-dependencies.clap]
version = "4.5.48"
features = ["derive"]

[dev-dependencies.crossterm]
version = "0.28.1"
features = ["event-stream"]

[dev-dependencies.mockall]
version = "0.13"

[dev-dependencies.ratatui]
version = "0.29.0"

[dev-dependencies.rstest]
version = "0.23.0"

[dev-dependencies.rstest_reuse]
version = "0.7.0"

[dev-dependencies.tempfile]
version = "3.13.0"

[dev-dependencies.tokio-test]
version = "0.4.4"

[dev-dependencies.tracing-appender]
version = "0.2.3"

[dev-dependencies.tracing-subscriber]
version = "0.3.17"
features = [
    "env-filter",
    "fmt",
]
default-features = false

[dev-dependencies.tycho-execution]
version = ">=0.155.0"

[dev-dependencies.unicode-width]
version = "0.1.13"

[profile.bench]
debug = 2