content: [workspace]
  members = [
      "bin/host",
      "bin/client",
      "bin/server",
      "crates/morph-executor/host",
      "crates/morph-executor/client",
      "crates/morph-executor/utils",
      "crates/core",
      "crates/primitives",
      "crates/sbv",
      "crates/utils",
      "tests/*/*"
  ]
  exclude = ["bin/shadow-prove","bin/challenge"]
  resolver = "2"
  
  [workspace.package]
  version = "2.0.0"
  edition = "2021"
  rust-version = "1.75"
  authors = ["developers"]
  license = "MIT OR Apache-2.0"
  homepage = "https://github.com/morph-l2/morph/tree/main/prover"
  repository = "https://github.com/morph-l2/morph/tree/main/prover"
  
  [workspace.dependencies]
  alloy ={ version ="0.3"}
  hex = "0.4"
  once_cell = "1.19"
  rkyv = { version = "0.7", features = ["validation"] }
  thiserror = "1.0"
  tiny-keccak = "2.0"
  getrandom = { version = "*", features = ["custom"] } # just for disable
  log = "0.4"
  prometheus = { version = "0.9", features = ["process"] }
  zstd = { git = "https://github.com/scroll-tech/zstd-rs", branch = "hack/mul-block", features = ["experimental"]}
  ruzstd = { git = "https://github.com/KillingSpark/zstd-rs.git", branch = "master"}
  
  # crypto
  c-kzg = "1.0.3"
  kzg-rs = { git = "https://github.com/morph-l2/kzg-rs.git", branch = "sp1-bls-dev" }
  sha2 = "0.10.8"
  
  sp1-zkvm =  { git = "https://github.com/morph-l2/sp1.git", branch = "morph-1.0"}
  sp1-sdk = { git = "https://github.com/morph-l2/sp1.git", branch = "morph-1.0", features = ["native-gnark"]}
  sp1-helper = { git = "https://github.com/morph-l2/sp1.git", branch = "morph-1.0"}
  
  # dependencies from scroll-tech
  poseidon-bn254 = { git = "https://github.com/scroll-tech/poseidon-bn254", branch = "master", features = ["bn254"] }
  zktrie = { git = "https://github.com/scroll-tech/zktrie.git", branch = "main", features= ["rs_zktrie"] }
  
  
  # binary dependencies
  anyhow = "1.0"
  async-channel = "2.2"
  clap = "4"
  env_logger = "0.9"
  futures = "0.3"
  serde = "1.0"
  serde_json = "1.0"
  serde_with = "3.9"
  tokio = { version = "1", default-features = false }
  url = "2.5"
  eyre = "0.6"
  axum = "0.4.3"
  # tower = { version = "0.4", features = ["full"] }
  # tower-http = { version = "0.4", features = ["full"] }
  dotenv = "0.15.0"
  flexi_logger = "0.29"
  
  # optional dependencies
  csv = "1.3"
  ctor = "0.2"
  hyper = { version = "1.4", features = ["server", "http1"] }
  hyper-util = { version = "0.1", features = ["tokio"] }
  http-body-util = "0.1"
  prometheus-client = "0.22"
  # pprof = { version = "0.13", features = ["flamegraph"] }
  tracing = "0.1"
  tracing-subscriber = { version = "0.3", features = ["env-filter"] }
  cfg-if = "1.0.0"
  
  # dev dependencies
  rand = "0.8"
  reqwest = "0.12"
  
  # workspace
  sbv = { path = "crates/sbv" }
  sbv-core = { path = "crates/core" }
  sbv-primitives = { path = "crates/primitives" }
  sbv-utils = { path = "crates/utils" }
  morph-executor-host = { path = "crates/morph-executor/host" }
  morph-executor-client = { path = "crates/morph-executor/client" }
  morph-executor-utils = { path = "crates/morph-executor/utils" }
  morph-prove = { path = "bin/host" }
  # shadow-prove = { path = "shadow-prove" }
  
  [workspace.dependencies.revm]
  git = "https://github.com/morph-l2/revm"
  branch = "release/v42"
  default-features = false
  features = [
      "morph-default-handler",
      "morph-poseidon-codehash",
      "std",
      "optional_no_base_fee"
  ]
  
  [workspace.dependencies.revm-primitives]
  git = "https://github.com/morph-l2/revm"
  branch = "release/v42"
  default-features = false
  features = [
      "morph-default-handler",
      "morph-poseidon-codehash",
      "std",
      "optional_no_base_fee"
  ]
  
  
  [workspace.lints.rust]
  missing-docs = "deny"
  missing-debug-implementations = "deny"
  
  [patch.crates-io]
  tiny-keccak = { git = "https://github.com/sp1-patches/tiny-keccak", branch = "patch-v2.0.2" }
  sha2 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha2", branch = "patch-sha2-v0.10.8" }
  
  ff = { git = "https://github.com/scroll-tech/ff", branch = "feat/sp1" }
  
  # patched add rkyv support & MSRV 1.75
  ruint = { git = "https://github.com/scroll-tech/uint.git", branch = "v1.12.3" }
  
  alloy = { git = "https://github.com/scroll-tech/alloy.git", branch = "v0.3.0" }
  alloy-eips = { git = "https://github.com/scroll-tech/alloy.git", branch = "v0.3.0" }
  
  alloy-eip2930 = { git = "https://github.com/scroll-tech/alloy-eips", branch = "v0.1.0" }
  alloy-eip7702 = { git = "https://github.com/scroll-tech/alloy-eips", branch = "v0.1.0" }
  
  alloy-core = { git = "https://github.com/scroll-tech/alloy-core", branch = "v0.8.0"}
  alloy-primitives = { git = "https://github.com/scroll-tech/alloy-core", branch = "v0.8.0"}
  
  
  #[profile.release]
  #debug-assertions = true