[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