[package] authors = ['Axiom-Team Developers <https://axiom-team.fr>'] build = 'node/build.rs' description = 'Crypto-currency software (based on Substrate framework) to operate Ğ1 libre currency' edition = "2021" homepage = 'https://duniter.org' license = 'AGPL-3.0' name = 'duniter' repository = 'https://git.duniter.org/nodes/rust/duniter-v2s' version = '0.7.1' [package.metadata.docs.rs] targets = ['x86_64-unknown-linux-gnu'] [[bin]] bench = false name = 'duniter' path = "node/src/main.rs" [features] default = ["gdev", "distance-oracle"] gdev = ["gdev-runtime"] # gdev feature enables gdev runtime and gdev command line options g1 = ["g1-runtime"] constant-fees = ["common-runtime/constant-fees"] # Activate constant fees model, 1 extrinsic = 2 cG gtest = ["gtest-runtime"] embed = [] # embed feature enables embedding raw chainspecs that must be in ./specs/gdev-raw.json runtime-benchmarks = [ #'g1-runtime', #'g1-runtime/runtime-benchmarks', 'gdev-runtime', 'gdev-runtime/runtime-benchmarks', #'gtest-runtime', #'gtest-runtime/runtime-benchmarks', 'sc-client-db/runtime-benchmarks', ] try-runtime = [ #"g1-runtime/try-runtime", "gdev-runtime/try-runtime", #"gtest-runtime/try-runtime", "try-runtime-cli", ] [build-dependencies] clap = { version = "4.0" } #clap_complete = { version = "4.0" } substrate-build-script-utils = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.42' } [dev-dependencies] rusty-hook = "^0.11.2" # Dependencies for specific targets [target.'cfg(any(target_arch="x86_64", target_arch="aarch64"))'.dependencies] sc-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-service = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-trie = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42" } [dependencies] # local dependencies common-runtime = { path = 'runtime/common' } dc-distance = { path = 'client/distance' } distance-oracle = { path = 'distance-oracle', default-features = false, optional = true } g1-runtime = { path = 'runtime/g1', optional = true } gdev-runtime = { path = 'runtime/gdev', optional = true } gtest-runtime = { path = 'runtime/gtest', optional = true } pallet-certification = { path = 'pallets/certification' } pallet-oneshot-account = { path = 'pallets/oneshot-account' } sp-distance = { path = 'primitives/distance' } sp-membership = { path = 'primitives/membership' } # crates.io dependencies async-io = { version = "1.6.0", default-features = false } bs58 = "0.5.0" clap = { version = "4.0.9", default-features = false, features = ["derive"] } clap_complete = { version = "4", default-features = false } futures = { version = "0.3.28", default-features = false, features = ["compat"] } hex = { version = "0.4.3", default-features = false } jsonrpsee = { version = "0.16.2", default-features = false, features = ["server"] } lazy_static = { version = "1.4.0", default-features = false } log = { version = "0.4", default-features = false } maplit = { version = '1.0.2', default-features = false } memmap2 = { version = "0.5.10", default-features = false } serde = { version = "1.0", default-features = false } serde_json = { version = "1.0.64", default-features = false } serde_yaml = { version = "0.9.27", default-features = false } tracing-core = { version = "0.1.28", default-features = false } enum-as-inner = { version = "=0.5.1", default-features = false } #https://github.com/bluejekyll/trust-dns/issues/1946 num-format = "0.4.4" # substrate dependencies frame-benchmarking = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } frame-benchmarking-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } frame-system = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } pallet-grandpa = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } pallet-im-online = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } pallet-transaction-payment = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } pallet-transaction-payment-rpc = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } pallet-treasury = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-basic-authorship = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-chain-spec = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-client-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-consensus = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-consensus-babe = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-consensus-babe-rpc = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-consensus-manual-seal = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-client-db = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-executor = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-keystore = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-network = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-network-common = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-rpc-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-service = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-telemetry = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-transaction-pool = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sc-transaction-pool-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-authority-discovery = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-transaction-storage-proof = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-block-builder = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-blockchain = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-consensus = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-consensus-babe = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-consensus-grandpa = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.42', default-features = false } sc-consensus-grandpa = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.42', default-features = false } sp-core = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-inherents = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-io = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-offchain = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-keyring = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-keystore = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-runtime = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-session = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-storage = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-timestamp = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-transaction-pool = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } sp-trie = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } substrate-frame-rpc-system = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", default-features = false } try-runtime-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42", optional = true, default-features = false } [workspace] resolver = "2" members = [ 'client/distance', 'distance-oracle', 'end2end-tests', 'live-tests', 'pallets/certification', 'pallets/quota', 'pallets/distance', 'pallets/duniter-test-parameters', 'pallets/duniter-test-parameters/macro', 'pallets/duniter-wot', 'pallets/identity', 'pallets/membership', 'pallets/oneshot-account', 'pallets/authority-members', 'pallets/smith-members', 'pallets/universal-dividend', 'pallets/upgrade-origin', 'primitives/membership', 'primitives/distance', 'runtime/common', 'runtime/gdev', 'xtask', 'resources/weight_analyzer' ] # The list of dependencies below (which can be both direct and indirect dependencies) are crates # that are suspected to be CPU-intensive, and that are unlikely to require debugging (as some of # their debug info might be missing) or to require to be frequently recompiled. We compile these # dependencies with `opt-level=3` even in "dev" mode in order to make "dev" mode more usable. # The majority of these crates are cryptographic libraries. # # This list is only relevant when running `cargo build` from within # the Duniter-v2s workspace. # # If you see an error mentioning "profile package spec ... did not match any packages", it # probably concerns this list. # # This list is ordered alphabetically. [profile.dev.package] blake2 = { opt-level = 3 } blake2b_simd = { opt-level = 3 } chacha20poly1305 = { opt-level = 3 } cranelift-codegen = { opt-level = 3 } cranelift-wasm = { opt-level = 3 } crc32fast = { opt-level = 3 } crossbeam-deque = { opt-level = 3 } crypto-mac = { opt-level = 3 } curve25519-dalek = { opt-level = 3 } ed25519-dalek = { opt-level = 3 } flate2 = { opt-level = 3 } futures-channel = { opt-level = 3 } hashbrown = { opt-level = 3 } hash-db = { opt-level = 3 } hmac = { opt-level = 3 } httparse = { opt-level = 3 } integer-sqrt = { opt-level = 3 } keccak = { opt-level = 3 } libm = { opt-level = 3 } libsecp256k1 = { opt-level = 3 } libz-sys = { opt-level = 3 } mio = { opt-level = 3 } nalgebra = { opt-level = 3 } num-bigint = { opt-level = 3 } parking_lot = { opt-level = 3 } parking_lot_core = { opt-level = 3 } percent-encoding = { opt-level = 3 } primitive-types = { opt-level = 3 } ring = { opt-level = 3 } rustls = { opt-level = 3 } sha2 = { opt-level = 3 } sha3 = { opt-level = 3 } smallvec = { opt-level = 3 } snow = { opt-level = 3 } twox-hash = { opt-level = 3 } uint = { opt-level = 3 } wasmi = { opt-level = 3 } x25519-dalek = { opt-level = 3 } yamux = { opt-level = 3 } zeroize = { opt-level = 3 } [profile.release] lto = "thin" # Substrate runtime requires unwinding. panic = "unwind" [patch.crates-io] # # the following patch can be useful to debug substrate dependency # # added by tuxmain on 0.9.32 update # # updated by hugo on 0.9.42 update (benjamin) # [patch.'https://github.com/duniter/substrate'] # pallet-balances = {path = '../substrate/frame/balances'} # fork-tree = { path = "../substrate/utils/fork-tree" } # frame-support = { path = "../substrate/frame/support" } # frame-support-procedural = { path = "../substrate/frame/support/procedural" } # frame-support-procedural-tools = { path = "../substrate/frame/support/procedural/tools" } # frame-system = { path = "../substrate/frame/system" } # frame-benchmarking = { path = "../substrate/frame/benchmarking" } # frame-benchmarking-cli = { path = "../substrate/utils/frame/benchmarking-cli" } # sc-basic-authorship = { path = "../substrate/client/basic-authorship" } # sc-block-builder = { path = "../substrate/client/block-builder" } # sc-chain-spec = { path = "../substrate/client/chain-spec" } # sc-cli = { path = "../substrate/client/cli" } # sc-client-api = { path = "../substrate/client/api" } # sc-client-db = { path = "../substrate/client/db" } # sc-network-common = { path = "../substrate/client/network/common" } # sc-consensus = { path = "../substrate/client/consensus/common" } # sc-consensus-aura = { path = "../substrate/client/consensus/aura" } # sc-consensus-babe = { path = "../substrate/client/consensus/babe" } # sc-consensus-babe-rpc = { path = "../substrate/client/consensus/babe/rpc" } # sc-consensus-manual-seal = { path = "../substrate/client/consensus/manual-seal" } # sc-consensus-slots = { path = "../substrate/client/consensus/slots" } # sc-executor = { path = "../substrate/client/executor" } # sc-executor-common = { path = "../substrate/client/executor/common" } # sc-executor-wasmi = { path = "../substrate/client/executor/wasmi" } # sc-executor-wasmtime = { path = "../substrate/client/executor/wasmtime" } # sc-keystore = { path = "../substrate/client/keystore" } # sc-network = { path = "../substrate/client/network" } # sc-rpc-api = { path = "../substrate/client/rpc-api" } # sc-service = { path = "../substrate/client/service" } # sc-utils = { path = "../substrate/client/utils" } # sc-telemetry = { path = "../substrate/client/telemetry" } # sc-transaction-pool = { path = "../substrate/client/transaction-pool" } # sc-transaction-pool-api = { path = "../substrate/client/transaction-pool/api" } # sc-peerset = { path = "../substrate/client/peerset" } # sp-api = { path = "../substrate/primitives/api" } # sp-application-crypto = { path = "../substrate/primitives/application-crypto" } # sp-arithmetic = { path = "../substrate/primitives/arithmetic" } # sp-authority-discovery = { path = "../substrate/primitives/authority-discovery" } # sp-block-builder = { path = "../substrate/primitives/block-builder" } # sp-blockchain = { path = "../substrate/primitives/blockchain" } # sp-consensus = { path = "../substrate/primitives/consensus/common" } # sp-consensus-babe = { path = "../substrate/primitives/consensus/babe" } # sp-consensus-slots = { path = "../substrate/primitives/consensus/slots" } # sp-core = { path = "../substrate/primitives/core" } # sp-core-hashing = { path = "../substrate/primitives/core/hashing" } # sp-core-hashing-proc-macro = { path = "../substrate/primitives/core/hashing/proc-macro" } # sp-debug-derive = { path = "../substrate/primitives/debug-derive" } # sp-externalities = { path = "../substrate/primitives/externalities" } # sp-consensus-grandpa = { path = "../substrate/primitives/consensus/grandpa" } # sp-inherents = { path = "../substrate/primitives/inherents" } # sp-io = { path = "../substrate/primitives/io" } # sp-keyring = { path = "../substrate/primitives/keyring" } # sp-keystore = { path = "../substrate/primitives/keystore" } # sp-maybe-compressed-blob = { path = "../substrate/primitives/maybe-compressed-blob" } # sp-offchain = { path = "../substrate/primitives/offchain" } # sp-panic-handler = { path = "../substrate/primitives/panic-handler" } # sp-rpc = { path = "../substrate/primitives/rpc" } # sp-runtime = { path = "../substrate/primitives/runtime" } # sp-session = { path = "../substrate/primitives/session" } # sp-staking = { path = "../substrate/primitives/staking" } # sp-state-machine = { path = "../substrate/primitives/state-machine" } # sp-std = { path = "../substrate/primitives/std" } # sp-storage = { path = "../substrate/primitives/storage" } # sp-timestamp = { path = "../substrate/primitives/timestamp" } # sp-tracing = { path = "../substrate/primitives/tracing" } # sp-transaction-pool = { path = "../substrate/primitives/transaction-pool" } # sp-transaction-storage-proof = { path = "../substrate/primitives/transaction-storage-proof" } # sp-trie = { path = "../substrate/primitives/trie" } # sp-version = { path = "../substrate/primitives/version" } # sp-weights = { path = "../substrate/primitives/weights" } # substrate-prometheus-endpoint = { path = "../substrate/utils/prometheus" }