[package]
name = "ghost-exodus"
version = "0.0.1"
description = "Threshold signature generation with DKG included"
license.workspace = true
authors.workspace = true
edition.workspace = true
homepage.workspace = true
repository.workspace = true

[dependencies]
log = { workspace = true }
hex = { workspace = true }
codec = { workspace = true, features = ["max-encoded-len"] }
scale-info = { workspace = true, features = ["derive"] }
strum = { workspace = true, features = ["derive"] }
num-traits = { workspace = true }

frame-benchmarking = { workspace = true, optional = true }
frame-support = { workspace = true }
frame-system = { workspace = true }

sp-arithmetic = { workspace = true }
sp-application-crypto = { workspace = true }
sp-runtime = { workspace = true }
sp-staking = { workspace = true }
sp-core = { workspace = true }
sp-std = { workspace = true }
sp-io = { workspace = true }

frost-secp256k1 = { workspace = true }
frost-ed25519 = { workspace = true }
frost-core = { workspace = true }
rand_chacha = { workspace = true }
hkdf = { workspace = true }
chacha20poly1305 = { workspace = true }
sha2 = { workspace = true }
k256 = { workspace = true }
parking_lot = { workspace = true }

ghost-traits = { workspace = true }
ghost-helpers = { workspace = true }

pallet-balances = { workspace = true }
pallet-session = { workspace = true }
pallet-staking = { workspace = true }
ghost-networks = { workspace = true }
pallet-staking-reward-curve = { workspace = true }

[dev-dependencies]
sp-keystore = { workspace = true }
frame-executive = { workspace = true }
rand = { workspace = true }

[features]
default = ["std"]
std = [
	"frame-benchmarking?/std",
    "scale-info/std",
    "strum/std",
    "log/std",
    "hex/std",
    "k256/std",
    "num-traits/std",
    "frame-support/std",
    "frame-system/std",
	"sha2/std",
	"hkdf/std",
    "chacha20poly1305/std",
    "rand_chacha/std",
    "sp-arithmetic/std",
    "sp-application-crypto/std",
    "sp-runtime/std",
    "sp-staking/std",
    "sp-core/std",
    "sp-std/std",
    "sp-io/std",
    "frost-secp256k1/std",
    "frost-ed25519/std",
    "frost-core/std",
    "ghost-traits/std",
    "ghost-helpers/std",
    "pallet-balances/std",
    "pallet-session/std",
    "pallet-staking/std",
    "ghost-networks/std",
    "frame-executive/std",
    "sp-keystore/std",
]
runtime-benchmarks = [
	"frame-benchmarking/runtime-benchmarks",
    "frame-support/runtime-benchmarks",
    "frame-system/runtime-benchmarks",
    "sp-runtime/runtime-benchmarks",
    "sp-staking/runtime-benchmarks",
    "pallet-balances/runtime-benchmarks",
    "pallet-staking/runtime-benchmarks",
    "ghost-networks/runtime-benchmarks",
]
try-runtime = [
    "frame-support/try-runtime",
    "frame-system/try-runtime",
    "sp-runtime/try-runtime",
    "pallet-balances/try-runtime",
    "pallet-session/try-runtime",
    "frame-executive/try-runtime",
    "ghost-networks/try-runtime",
]