lumina-node 0.18.1

Celestia data availability node implementation in Rust
Documentation
[dependencies.async-trait]
version = "0.1.80"

[dependencies.beetswap]
version = "0.5"

[dependencies.bytes]
default-features = false
version = "1.6"

[dependencies.celestia-proto]
version = "0.12.0"

[dependencies.celestia-types]
default-features = false
version = "0.19.0"

[dependencies.cid]
default-features = false
features = ["serde-codec"]
version = "0.11"

[dependencies.dashmap]
version = "6"

[dependencies.either]
version = "1.12"

[dependencies.futures]
version = "0.3.30"

[dependencies.integer-encoding]
version = "4.1.0"

[dependencies.libp2p]
features = ["autonat", "ping", "gossipsub", "identify", "macros", "request-response", "kad"]
version = "0.56"

[dependencies.libp2p-stream]
version = "0.4.0-alpha"

[dependencies.lumina-utils]
features = ["executor", "token", "time"]
version = "0.5.1"

[dependencies.multihash-codetable]
features = ["sha2"]
version = "0.1.2"

[dependencies.prost]
version = "0.13.3"

[dependencies.rand]
version = "0.8.5"

[dependencies.serde]
features = ["derive"]
version = "1.0.194"

[dependencies.smallvec]
features = ["union", "const_generics", "serde"]
version = "1.13.2"

[dependencies.tendermint]
default-features = false
version = "0.40.3"

[dependencies.tendermint-proto]
version = "0.40.3"

[dependencies.thiserror]
version = "2.0.3"

[dependencies.tokio]
features = ["macros", "sync"]
version = "1.42"

[dependencies.tokio-stream]
features = ["sync"]
version = "0.1.16"

[dependencies.tokio-util]
version = "0.7.14"

[dependencies.tracing]
version = "0.1.41"

[dependencies.uniffi]
optional = true
version = "0.29.2"

[dependencies.void]
version = "1"

[dev-dependencies.bytes]
default-features = false
version = "1.6"

[dev-dependencies.celestia-rpc]
default-features = false
features = ["p2p"]
version = "0.16.1"

[dev-dependencies.celestia-types]
default-features = false
features = ["test-utils"]
version = "0.19.0"

[dev-dependencies.lumina-utils]
features = ["test-utils"]
version = "0.5.1"

[dev-dependencies.rstest]
version = "0.26"

[dev-dependencies.serde_json]
version = "1.0.142"

[dev-dependencies.tempfile]
version = "3"

[features]
test-utils = ["celestia-types/test-utils"]
uniffi = ["dep:uniffi", "celestia-types/uniffi"]
wasm-bindgen = []

[lib]
crate-type = ["lib", "staticlib", "cdylib"]
name = "lumina_node"
path = "src/lib.rs"

[package]
authors = ["Eiger <hello@eiger.co>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["asynchronous", "cryptography::cryptocurrencies", "network-programming", "wasm"]
description = "Celestia data availability node implementation in Rust"
edition = "2024"
homepage = "https://www.eiger.co"
keywords = ["blockchain", "celestia", "lumina", "node"]
license = "Apache-2.0"
name = "lumina-node"
readme = "README.md"
repository = "https://github.com/eigerco/lumina"
resolver = "2"
rust-version = "1.88"
version = "0.18.1"

[package.metadata.docs.rs]
features = ["test-utils"]
rustdoc-args = ["--cfg", "docsrs"]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.backoff]
features = ["tokio"]
version = "0.4.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.blockstore]
features = ["redb"]
version = "0.8"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p]
features = ["noise", "dns", "tcp", "tokio", "yamux", "websocket", "quic"]
version = "0.56"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.redb]
version = "2.6"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls-pemfile]
version = "2"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls-pki-types]
version = "1.11"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
features = ["fs", "rt-multi-thread", "time"]
version = "1.42"

[target.'cfg(target_arch = "wasm32")'.dependencies.backoff]
features = ["wasm-bindgen"]
version = "0.4"

[target.'cfg(target_arch = "wasm32")'.dependencies.beetswap]
features = ["wasm-bindgen"]
version = "0.5"

[target.'cfg(target_arch = "wasm32")'.dependencies.blockstore]
features = ["indexeddb"]
version = "0.8"

[target.'cfg(target_arch = "wasm32")'.dependencies.celestia-types]
default-features = false
features = ["wasm-bindgen"]
version = "0.19.0"

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom_03]
features = ["wasm_js"]
package = "getrandom"
version = "0.3"

[target.'cfg(target_arch = "wasm32")'.dependencies.gloo-timers]
features = ["futures"]
version = "0.3"

[target.'cfg(target_arch = "wasm32")'.dependencies.idb]
version = "0.6.2"

[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3.77"

[target.'cfg(target_arch = "wasm32")'.dependencies.libp2p]
features = ["noise", "wasm-bindgen", "websocket-websys", "webtransport-websys", "yamux"]
version = "0.56"

[target.'cfg(target_arch = "wasm32")'.dependencies.libp2p-websocket-websys]
version = "0.5.0"

[target.'cfg(target_arch = "wasm32")'.dependencies.pin-project]
version = "1.1.5"

[target.'cfg(target_arch = "wasm32")'.dependencies.rexie]
version = "0.6"

[target.'cfg(target_arch = "wasm32")'.dependencies.send_wrapper]
features = ["futures"]
version = "0.6"

[target.'cfg(target_arch = "wasm32")'.dependencies.serde-wasm-bindgen]
version = "0.6"

[target.'cfg(target_arch = "wasm32")'.dependencies.serde_json]
version = "1.0.142"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.100"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.43"

[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
features = ["Request", "RequestInit", "RequestMode", "Response", "Headers"]
version = "0.3.70"

[target.'cfg(target_arch = "wasm32")'.dev-dependencies.celestia-rpc]
default-features = false
features = ["wasm-bindgen"]
version = "0.16.1"

[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"

[[test]]
name = "graceful_stop"
path = "tests/graceful_stop.rs"

[[test]]
name = "header_ex"
path = "tests/header_ex.rs"

[[test]]
name = "identity_persistance"
path = "tests/identity_persistance.rs"

[[test]]
name = "node"
path = "tests/node.rs"

[[test]]
name = "shwap"
path = "tests/shwap.rs"

[[test]]
name = "subscriptions"
path = "tests/subscriptions.rs"