[package] name = "lumina-node" version = "0.6.0" edition = "2021" license = "Apache-2.0" description = "Celestia data availability node implementation in Rust" authors = ["Eiger "] homepage = "https://www.eiger.co" repository = "https://github.com/eigerco/lumina" readme = "README.md" # crates.io is limited to 5 keywords and 5 categories keywords = ["blockchain", "celestia", "lumina", "node"] # Must be one of categories = [ "asynchronous", "cryptography::cryptocurrencies", "network-programming", "wasm", ] [dependencies] celestia-proto = { workspace = true } celestia-tendermint = { workspace = true } celestia-tendermint-proto = { workspace = true } celestia-types = { workspace = true } libp2p = { workspace = true, features = [ "autonat", "ping", "gossipsub", "identify", "macros", "request-response", "kad", ] } async-trait = "0.1.80" beetswap = "0.4.0" cid = { version = "0.11.1", features = ["serde-codec"] } dashmap = "5.5.3" futures = "0.3.30" prost = { workspace = true } rand = "0.8.5" serde = { version = "1.0.203", features = ["derive"] } smallvec = { version = "1.13.2", features = [ "union", "const_generics", "serde", ] } thiserror = "1.0.61" tokio = { version = "1.38.0", features = ["macros", "sync"] } tokio-util = "0.7.11" tracing = "0.1.40" void = "1.0.2" web-time = "1.1.0" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] backoff = { version = "0.4.0", features = ["tokio"] } blockstore = { workspace = true, features = ["redb"] } tokio = { version = "1.38.0", features = ["fs", "rt-multi-thread", "time"] } libp2p = { workspace = true, features = [ "noise", "dns", "tcp", "tokio", "yamux", "websocket", "quic", ] } redb = "2.1.1" rustls-pemfile = "2.1.2" rustls-pki-types = "1.7.0" [target.'cfg(target_arch = "wasm32")'.dependencies] backoff = { version = "0.4.0", features = ["wasm-bindgen"] } beetswap = { version = "0.4.0", features = ["wasm-bindgen"] } blockstore = { workspace = true, features = ["indexeddb"] } celestia-types = { workspace = true, features = ["wasm-bindgen"] } getrandom = { version = "0.2.15", features = ["js"] } gloo-timers = { version = "0.3.0", features = ["futures"] } js-sys = "0.3.69" libp2p = { workspace = true, features = [ "noise", "wasm-bindgen", "websocket-websys", "webtransport-websys", "yamux", ] } pin-project = "1.1.5" rexie = "0.6.2" send_wrapper = { version = "0.6.0", features = ["futures"] } serde-wasm-bindgen = "0.6.5" wasm-bindgen = "0.2.93" wasm-bindgen-futures = "0.4.43" libp2p-websocket-websys = "0.3.3" [target.'cfg(target_arch = "wasm32")'.dev-dependencies] function_name = "0.3.0" wasm-bindgen-test = "0.3.43" [dev-dependencies] bytes = "1.6.0" celestia-rpc = { workspace = true, features = ["p2p"] } celestia-types = { workspace = true, features = ["test-utils"] } dotenvy = "0.15.7" # required to have path based dependency here to allow `cargo publish` to work # https://github.com/rust-lang/cargo/pull/7333 lumina-node = { path = ".", features = ["test-utils"] } rstest = "0.21.0" serde_json = "1.0.117" tempfile = "3.10.1" [features] test-utils = ["celestia-types/test-utils"] [package.metadata.docs.rs] features = ["test-utils"] rustdoc-args = ["--cfg", "docsrs"]