[package]
name = "node-template-runtime"
description = "A solochain runtime template built with Substrate, part of Polkadot Sdk."
version = "0.5.0"
license = "MIT-0"
authors.workspace = true
homepage.workspace = true
repository.workspace = true
edition.workspace = true
publish = false

[lints]
workspace = true

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[dependencies]
codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = [
	"derive",
] }
scale-info = { version = "2.10.0", default-features = false, features = [
	"derive",
	"serde",
] }

# frame
frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false, features = ["experimental"] }
frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false, optional = true }
frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }

# frame pallets
pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }

# primitives
sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false, features = [
	"serde",
] }
sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false, features = [
	"serde",
] }
sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false, features = [
	"serde",
] }
sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false, features = [
	"serde",
] }
sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
sp-storage = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false, features = [
	"serde",
] }
sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0" }

# RPC related
frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }
pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false }

# Used for runtime benchmarking
frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false, optional = true }
frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", default-features = false, optional = true }

# The perun pallet.
pallet-perun = { path = "../pallets/pallet-perun", default-features = false }

[build-dependencies]
substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.9.0", optional = true }

[features]
default = ["std"]
std = [
	"codec/std",
	"scale-info/std",

	"frame-executive/std",
	"frame-support/std",
	"frame-system-benchmarking?/std",
	"frame-system-rpc-runtime-api/std",
	"frame-system/std",

	"frame-benchmarking?/std",
	"frame-try-runtime?/std",

	"pallet-aura/std",
	"pallet-balances/std",
	"pallet-grandpa/std",
	"pallet-sudo/std",
	"pallet-perun/std",
	"pallet-timestamp/std",
	"pallet-transaction-payment-rpc-runtime-api/std",
	"pallet-transaction-payment/std",

	"sp-api/std",
	"sp-block-builder/std",
	"sp-consensus-aura/std",
	"sp-consensus-grandpa/std",
	"sp-core/std",
	"sp-genesis-builder/std",
	"sp-inherents/std",
	"sp-offchain/std",
	"sp-runtime/std",
	"sp-session/std",
	"sp-std/std",
	"sp-storage/std",
	"sp-transaction-pool/std",
	"sp-version/std",

	"substrate-wasm-builder",
]

runtime-benchmarks = [
	"frame-benchmarking/runtime-benchmarks",
	"frame-support/runtime-benchmarks",
	"frame-system-benchmarking/runtime-benchmarks",
	"frame-system/runtime-benchmarks",
	"pallet-balances/runtime-benchmarks",
	"pallet-grandpa/runtime-benchmarks",
	"pallet-sudo/runtime-benchmarks",
	"pallet-perun/runtime-benchmarks",
	"pallet-timestamp/runtime-benchmarks",
	"sp-runtime/runtime-benchmarks",
]

try-runtime = [
	"frame-executive/try-runtime",
	"frame-support/try-runtime",
	"frame-system/try-runtime",
	"frame-try-runtime/try-runtime",
	"pallet-aura/try-runtime",
	"pallet-balances/try-runtime",
	"pallet-grandpa/try-runtime",
	"pallet-sudo/try-runtime",
	"pallet-perun/try-runtime",
	"pallet-timestamp/try-runtime",
	"pallet-transaction-payment/try-runtime",
	"sp-runtime/try-runtime",
]

experimental = ["pallet-aura/experimental"]