[package]
name = "synor-ibc"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Inter-Blockchain Communication (IBC) protocol for Synor cross-chain interoperability"

[dependencies]
synor-types = { path = "../synor-types" }
synor-crypto = { path = "../synor-crypto" }

# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
borsh = { workspace = true }

# Cryptography
sha2 = "0.10"
sha3 = { workspace = true }
blake3 = { workspace = true }
rand = { workspace = true }

# Merkle proofs
rs_merkle = "1.4"

# Async runtime
tokio = { version = "1", features = ["full"] }
async-trait = "0.1"

# Utilities
thiserror = { workspace = true }
hex = { workspace = true }
parking_lot = { workspace = true }
tracing = "0.1"
chrono = { workspace = true }

# Protobuf for IBC messages (Cosmos compatibility)
prost = "0.12"
prost-types = "0.12"

[dev-dependencies]
tokio-test = "0.4"
proptest = { workspace = true }
tempfile = { workspace = true }
