content: [package]
  name = "moonbeam-service"
  authors = { workspace = true }
  edition = "2021"
  homepage = "https://moonbeam.network"
  license = "GPL-3.0-only"
  version = "0.48.0"
  
  [dependencies]
  async-io = { workspace = true }
  async-trait = { workspace = true }
  bip32 = { workspace = true }
  flume = { workspace = true }
  futures = { workspace = true, features = ["compat"] }
  hex-literal = { workspace = true }
  jsonrpsee = { workspace = true, features = ["macros", "server", "http-client"] }
  libsecp256k1 = { workspace = true, features = ["hmac"] }
  log = { workspace = true }
  maplit = { workspace = true }
  parking_lot = { workspace = true }
  serde = { workspace = true, features = ["derive"] }
  serde_json = { workspace = true, default-features = true }
  sha3 = { workspace = true }
  tiny-bip39 = { workspace = true }
  tokio = { workspace = true, features = ["sync", "rt-multi-thread"] }
  tokio-retry = { workspace = true }
  substrate-rpc-client = { workspace = true }
  hex = { workspace = true, features = ["std"] }
  ansi_term = { workspace = true }
  
  # Moonbeam
  moonbeam-dev-rpc = { workspace = true }
  moonbeam-cli-opt = { workspace = true }
  moonbeam-core-primitives = { workspace = true }
  moonbeam-finality-rpc = { workspace = true }
  moonbeam-primitives-ext = { workspace = true }
  moonbeam-rpc-debug = { workspace = true }
  moonbeam-rpc-primitives-debug = { workspace = true }
  moonbeam-rpc-primitives-txpool = { workspace = true }
  moonbeam-rpc-trace = { workspace = true }
  moonbeam-vrf = { workspace = true }
  pallet-parachain-staking = { workspace = true }
  session-keys-primitives = { workspace = true }
  
  # Moonbeam runtimes
  moonbase-runtime = { workspace = true, optional = true }
  moonbeam-runtime = { workspace = true, optional = true }
  moonriver-runtime = { workspace = true, optional = true }
  frame-system = { workspace = true, features = ["std"] }
  pallet-balances = { workspace = true, features = ["std"] }
  pallet-transaction-payment-rpc = { workspace = true }
  pallet-transaction-payment-rpc-runtime-api = { workspace = true, features = [
  	"std",
  ] }
  parity-scale-codec = { workspace = true }
  sc-basic-authorship = { workspace = true }
  sc-chain-spec = { workspace = true }
  sc-client-api = { workspace = true }
  sc-client-db = { workspace = true }
  sc-consensus = { workspace = true }
  sc-consensus-manual-seal = { workspace = true }
  sc-executor = { workspace = true }
  sc-network = { workspace = true }
  sc-network-common = { workspace = true }
  sc-network-sync = { workspace = true }
  sc-offchain = { workspace = true }
  sc-rpc = { workspace = true }
  sc-service = { workspace = true }
  sc-sysinfo = { workspace = true }
  sc-telemetry = { workspace = true }
  sc-tracing = { workspace = true }
  sc-transaction-pool = { workspace = true }
  sc-transaction-pool-api = { workspace = true }
  sp-api = { workspace = true, features = ["std"] }
  sp-block-builder = { workspace = true, features = ["std"] }
  sp-blockchain = { workspace = true }
  sp-consensus = { workspace = true }
  sp-core = { workspace = true, features = ["std"] }
  sp-genesis-builder = { workspace = true, features = ["std"] }
  sp-inherents = { workspace = true, features = ["std"] }
  sp-io = { workspace = true, features = ["std"] }
  sp-keystore = { workspace = true, features = ["std"] }
  sp-offchain = { workspace = true, features = ["std"] }
  sp-runtime = { workspace = true, features = ["std"] }
  sp-session = { workspace = true, features = ["std"] }
  sp-storage = { workspace = true, features = ["std"] }
  sp-timestamp = { workspace = true, features = ["std"] }
  sp-transaction-pool = { workspace = true, features = ["std"] }
  sp-trie = { workspace = true, features = ["std"] }
  sp-state-machine = { workspace = true }
  sp-rpc = { workspace = true }
  sp-externalities = { workspace = true }
  substrate-frame-rpc-system = { workspace = true }
  substrate-prometheus-endpoint = { workspace = true }
  
  # Frontier
  fc-consensus = { workspace = true }
  fc-db = { workspace = true }
  fc-api = { workspace = true }
  fc-mapping-sync = { workspace = true, features = ["sql"] }
  fc-rpc = { workspace = true, features = [
  	"rpc-binary-search-estimate",
  	"txpool",
  ] }
  fc-rpc-core = { workspace = true }
  fc-rpc-v2-api = { workspace = true }
  fp-rpc = { workspace = true, features = ["std"] }
  pallet-ethereum = { workspace = true, features = [
  	"forbid-evm-reentrancy",
  	"std",
  ] }
  
  # Cumulus / Nimbus
  async-backing-primitives = { workspace = true }
  cumulus-client-cli = { workspace = true }
  cumulus-client-collator = { workspace = true }
  cumulus-client-consensus-common = { workspace = true }
  cumulus-client-consensus-proposer = { workspace = true }
  cumulus-client-service = { workspace = true }
  cumulus-primitives-core = { workspace = true }
  cumulus-primitives-parachain-inherent = { workspace = true }
  cumulus-client-parachain-inherent = { workspace = true }
  cumulus-relay-chain-inprocess-interface = { workspace = true }
  cumulus-relay-chain-interface = { workspace = true }
  cumulus-relay-chain-minimal-node = { workspace = true }
  cumulus-test-relay-sproof-builder = { workspace = true }
  nimbus-consensus = { workspace = true }
  # TODO we should be able to depend only on the primitives crate once we move the inherent data provider there.
  nimbus-primitives = { workspace = true }
  polkadot-primitives = { workspace = true }
  xcm-runtime-apis = { workspace = true }
  
  # Benchmarking
  frame-benchmarking = { workspace = true, features = ["std"] }
  
  [dev-dependencies]
  prometheus = { workspace = true }
  rand = { workspace = true }
  sc-block-builder = { workspace = true }
  tempfile = { workspace = true }
  
  # Polkadot dev-dependencies
  polkadot-runtime-common = { workspace = true }
  
  # Substrate dev-dependencies
  pallet-sudo = { workspace = true, features = ["std"] }
  substrate-test-client = { workspace = true }
  substrate-test-runtime = { workspace = true }
  substrate-test-runtime-client = { workspace = true }
  
  [build-dependencies]
  substrate-build-script-utils = { workspace = true }
  
  [features]
  default = [
  	"moonbase-native",
  	"moonbeam-native",
  	"moonriver-native",
  ]
  
  lazy-loading = ["parking_lot/send_guard"]
  
  moonbase-native = ["moonbase-runtime"]
  moonbeam-native = ["moonbeam-runtime"]
  moonriver-native = ["moonriver-runtime"]
  
  metadata-hash = [
  	"moonbase-runtime/metadata-hash",
  	"moonriver-runtime/metadata-hash",
  	"moonbeam-runtime/metadata-hash",
  ]
  
  runtime-benchmarks = [
  	"moonbase-native",
  	"moonbase-runtime/runtime-benchmarks",
  	"moonbeam-native",
  	"moonbeam-runtime/runtime-benchmarks",
  	"moonriver-native",
  	"moonriver-runtime/runtime-benchmarks",
  	"pallet-ethereum/runtime-benchmarks",
  ]
  
  try-runtime = [
  	"moonbase-runtime",
  	"moonbase-runtime/try-runtime",
  ]
  