[package]
name = "teyrchain-template-runtime"
description = "A teyrchain runtime template built with Substrate and Cumulus, part of Pezkuwi Sdk."
version = "0.0.0"
license = "Unlicense"
authors.workspace = true
homepage.workspace = true
repository.workspace = true
edition.workspace = true
publish = false

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

[lints]
workspace = true

[dependencies]
codec = { features = ["derive"], workspace = true }
docify = { workspace = true }
hex-literal = { optional = true, workspace = true, default-features = true }
log = { workspace = true }
scale-info = { features = ["derive"], workspace = true }
serde_json = { workspace = true, default-features = false, features = [
	"alloc",
] }
smallvec = { workspace = true, default-features = true }

# Local
pallet-teyrchain-template = { workspace = true }

pezkuwi-sdk = { workspace = true, default-features = false, features = [
	"pallet-aura",
	"pallet-authorship",
	"pallet-balances",
	"pallet-message-queue",
	"pallet-session",
	"pallet-sudo",
	"pallet-timestamp",
	"pallet-transaction-payment",
	"pallet-transaction-payment-rpc-runtime-api",

	"pallet-xcm",
	"pezkuwi-runtime-common",
	"pezkuwi-teyrchain-primitives",
	"staging-xcm",
	"staging-xcm-builder",
	"staging-xcm-executor",

	"cumulus-pallet-aura-ext",
	"cumulus-pallet-session-benchmarking",
	"cumulus-pallet-weight-reclaim",
	"cumulus-pallet-xcm",
	"cumulus-pallet-xcmp-queue",
	"cumulus-primitives-aura",
	"cumulus-primitives-core",
	"cumulus-primitives-utility",
	"pallet-collator-selection",
	"staging-teyrchain-info",
	"teyrchains-common",

	"runtime",
] }

# Cumulus
cumulus-pallet-teyrchain-system = { workspace = true }

[build-dependencies]
docify = { workspace = true }
substrate-wasm-builder = { optional = true, workspace = true, default-features = true }

[features]
default = ["std"]
std = [
	"codec/std",
	"cumulus-pallet-teyrchain-system/std",
	"log/std",
	"pallet-teyrchain-template/std",
	"pezkuwi-sdk/std",
	"scale-info/std",
	"serde_json/std",
	"substrate-wasm-builder",
]
runtime-benchmarks = [
	"cumulus-pallet-teyrchain-system/runtime-benchmarks",
	"hex-literal",
	"pallet-teyrchain-template/runtime-benchmarks",
	"pezkuwi-sdk/runtime-benchmarks",
	"substrate-wasm-builder?/runtime-benchmarks",
]
try-runtime = [
	"cumulus-pallet-teyrchain-system/try-runtime",
	"pallet-teyrchain-template/try-runtime",
	"pezkuwi-sdk/try-runtime",
]

# Enable the metadata hash generation.
#
# This is hidden behind a feature because it increases the compile time.
# The wasm binary needs to be compiled twice, once to fetch the metadata,
# generate the metadata hash and then a second time with the
# `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash`
# extension.
metadata-hash = ["substrate-wasm-builder/metadata-hash"]

# A convenience feature for enabling things when doing a build
# for an on-chain release.
on-chain-release-build = ["metadata-hash"]
