[package]
name = "tycho-execution"
version = "0.175.1"
edition = "2021"
description = "Provides tools for encoding and executing swaps against Tycho router and protocol executors."
repository = "https://github.com/propeller-heads/tycho-execution"
homepage = "https://www.propellerheads.xyz/tycho"
documentation = "https://docs.propellerheads.xyz/tycho"
keywords = ["propellerheads", "solver", "defi", "dex", "mev"]
license = "BUSL-1.1"
categories = ["finance", "cryptography::cryptocurrencies"]
readme = "README.md"
exclude = [
    "foundry/*",
    "foundry",
    "tests/*",
    "tests/common",
    ".github/*",
    ".gitmodules",
]

[[bin]]
name = "tycho-encode"
path = "src/bin/tycho-encode.rs"
required-features = ["evm"]

[dependencies]
chrono = "0.4.39"
clap = { version = "4.5.3", features = ["derive"] }
dotenvy = "0.15.7"
hex = "0.4.3"
num-bigint = { version = "0.4.6", features = ["serde"] }
once_cell = "1.20.2"
reqwest = { version = "0.12", features = ["json", "blocking"], optional = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.105"
thiserror = "1.0.69"
tokio = { version = "1.38.0", features = ["full"] }
tycho-common = ">=0.147.1"
typetag = { version = "0.2", optional = true }

alloy = { version = "1.0.35", features = ["providers", "rpc-types-eth", "eip712", "signer-local", "node-bindings"], optional = true }
async-trait = { version = "0.1.88", optional = true }

[dev-dependencies]
rstest = "0.24.0"
tycho-execution = { path = ".", features = ["test-utils"] }

[features]
default = ["evm"]
evm = ["alloy", "reqwest"]
fork-tests = []
test-utils = ["async-trait", "typetag"]

[profile.bench]
debug = true
