[workspace]
members = [
        "zebrad",
        "zebra-chain",
        "zebra-network",
        "zebra-state",
        "zebra-script",
        "zebra-consensus",
        "zebra-rpc",
        "zebra-client",
        "zebra-test",
        "zebra-utils",
        "tower-batch",
        "tower-fallback",
]

[profile.dev]
panic = "abort"

[profile.release]
panic = "abort"

[patch.crates-io]

# TODO: replace with upstream orchard (#3056)
orchard = { git = "https://github.com/ZcashFoundation/orchard.git", rev = "568e24cd5f129158375d7ac7d98c89ebff4f982f" }

# TODO: replace with upstream librustzcash when these changes are merged (#3037)
#
# This zcash_proofs patch doesn't work, maybe because of features?
#zcash_proofs = { git = "https://github.com/ZcashFoundation/librustzcash.git", rev = "dea8d97d5ed09bdb6673cb64d0a63706f71c2f61" }

# Use the ZcashFoundation fork where possible, to avoid duplicate dependencies
equihash = { git = "https://github.com/ZcashFoundation/librustzcash.git", rev = "dea8d97d5ed09bdb6673cb64d0a63706f71c2f61" }
zcash_note_encryption = { git = "https://github.com/ZcashFoundation/librustzcash.git", rev = "dea8d97d5ed09bdb6673cb64d0a63706f71c2f61" }
zcash_primitives = { git = "https://github.com/ZcashFoundation/librustzcash.git", rev = "dea8d97d5ed09bdb6673cb64d0a63706f71c2f61" }
zcash_history = { git = "https://github.com/ZcashFoundation/librustzcash.git", rev = "dea8d97d5ed09bdb6673cb64d0a63706f71c2f61" }

# TODO: remove these after a new librustzcash release (#2982)

# These are librustzcash git requirements specified in its workspace Cargo.toml,
# that we must replicate here
incrementalmerkletree = { git = "https://github.com/zcash/incrementalmerkletree.git", rev = "b7bd6246122a6e9ace8edb51553fbf5228906cbb" }
# Replaced by the ZcashFoundation fork above
#orchard = { git = "https://github.com/zcash/orchard.git", rev = "2c8241f25b943aa05203eacf9905db117c69bd29" }

# Replaced by the ZcashFoundation fork above

# These are librustzcash file requirements specified in its workspace Cargo.toml,
# that we must replace with git requirements
#zcash_note_encryption = { git = "https://github.com/zcash/librustzcash.git", rev = "53d0a51d33a421cb76d3e3124d1e4c1c9036068e" }

# These patches are not strictly required,
# but they help avoid duplicate dependencies
#equihash = { git = "https://github.com/zcash/librustzcash.git", rev = "53d0a51d33a421cb76d3e3124d1e4c1c9036068e" }
#zcash_history = { git = "https://github.com/zcash/librustzcash.git", rev = "53d0a51d33a421cb76d3e3124d1e4c1c9036068e" }
#zcash_primitives = { git = "https://github.com/zcash/librustzcash.git", rev = "53d0a51d33a421cb76d3e3124d1e4c1c9036068e" }
#zcash_proofs = { git = "https://github.com/zcash/librustzcash.git", rev = "53d0a51d33a421cb76d3e3124d1e4c1c9036068e" }
