mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-17 06:41:02 +00:00
74baed8b39
* crate skeleton and type definitions * add ChainSelectionMessage * add error type * run loop * fix overseer * simplify determine_new_blocks API * write an overlay struct and fetch new blocks * add new function to overlay * more flow * add leaves to overlay and add a strong type around leaves-set * add is_parent_viable * implement block import, ignoring reversions * add stagnant-at to overlay * add stagnant * add revert consensus log * flow for reversions * extract and import block reversions * recursively update viability * remove redundant parameter from WriteBlockEntry * do some removal of viable leaves * address grumbles * refactor * address grumbles * add comment about non-monotonicity * extract backend to submodule * begin the hunt for viable leaves * viability pivots for updating the active leaves * remove LeafSearchFrontier * partially -> explicitly viable and untwist some booleans * extract tree to submodule * implement block finality update * Implement block approval routine * implement stagnant detection * ensure blocks pruned on finality are removed from the active leaves set * write down some planned test cases * floww * leaf loading * implement best_leaf_containing * write down a few more tests to do * remove dependence of tree on header * guide: ChainApiMessage::BlockWeight * node: BlockWeight ChainAPI * fix compile issue * note a few TODOs for the future * fetch block weight using new BlockWeight ChainAPI * implement unimplemented * sort leaves by block number after weight * remove warnings and add more TODOs * create test module * storage for test backend * wrap inner in mutex * add write waker query to test backend * Add OverseerSignal -> FromOverseer conversion * add test harnes * add no-op test * add some more test helpers * the first test * more progress on tests * test two subtrees * determine-new-blocks: cleaner genesis avoidance and tighter ancestry requests * don't make ancestry requests when asking for one block * add a couple more tests * add to AllMessages in guide * remove bad spaces from bridge * compact iterator * test import with gaps * more reversion tests * test finalization pruning subtrees * fixups * test clobbering and fix bug in overlay * exhaustive backend state after finalizaiton tested * more finality tests * leaf tests * test approval * test ChainSelectionMessage::Leaves thoroughly * remove TODO * avoid Ordering::is_ne so CI can build * comment algorithmic complexity * Update node/core/chain-selection/src/lib.rs Co-authored-by: Bernhard Schuster <bernhard@ahoi.io> Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
133 lines
3.6 KiB
TOML
133 lines
3.6 KiB
TOML
[[bin]]
|
|
name = "polkadot"
|
|
path = "src/main.rs"
|
|
|
|
[package]
|
|
name = "polkadot"
|
|
description = "Implementation of a https://polkadot.network node in Rust based on the Substrate framework."
|
|
license = "GPL-3.0-only"
|
|
version = "0.9.5"
|
|
authors = ["Parity Technologies <admin@parity.io>"]
|
|
edition = "2018"
|
|
readme = "README.md"
|
|
|
|
[dependencies]
|
|
polkadot-cli = { path = "cli", features = [ "kusama-native", "westend-native", "rococo-native" ] }
|
|
color-eyre = { version = "0.5.11", default-features = false }
|
|
parity-util-mem = { version = "*", default-features = false, features = ["jemalloc-global"] }
|
|
|
|
[dev-dependencies]
|
|
assert_cmd = "1.0.2"
|
|
nix = "0.19.1"
|
|
tempfile = "3.2.0"
|
|
|
|
[workspace]
|
|
members = [
|
|
"cli",
|
|
"core-primitives",
|
|
"erasure-coding",
|
|
"primitives",
|
|
"runtime/common",
|
|
"runtime/common/slot_range_helper",
|
|
"runtime/parachains",
|
|
"runtime/polkadot",
|
|
"runtime/kusama",
|
|
"runtime/rococo",
|
|
"runtime/westend",
|
|
"runtime/test-runtime",
|
|
"statement-table",
|
|
"xcm",
|
|
"xcm/xcm-builder",
|
|
"xcm/xcm-executor",
|
|
"xcm/pallet-xcm",
|
|
"node/client",
|
|
"node/collation-generation",
|
|
"node/core/approval-voting",
|
|
"node/core/av-store",
|
|
"node/core/backing",
|
|
"node/core/bitfield-signing",
|
|
"node/core/candidate-validation",
|
|
"node/core/chain-api",
|
|
"node/core/chain-selection",
|
|
"node/core/dispute-coordinator",
|
|
"node/core/dispute-participation",
|
|
"node/core/parachains-inherent",
|
|
"node/core/provisioner",
|
|
"node/core/pvf",
|
|
"node/core/runtime-api",
|
|
"node/network/approval-distribution",
|
|
"node/network/bridge",
|
|
"node/network/protocol",
|
|
"node/network/statement-distribution",
|
|
"node/network/bitfield-distribution",
|
|
"node/network/availability-distribution",
|
|
"node/network/availability-recovery",
|
|
"node/network/collator-protocol",
|
|
"node/network/gossip-support",
|
|
"node/overseer",
|
|
"node/malus",
|
|
"node/primitives",
|
|
"node/service",
|
|
"node/subsystem",
|
|
"node/subsystem/dispatch-gen",
|
|
"node/subsystem-test-helpers",
|
|
"node/subsystem-util",
|
|
"node/jaeger",
|
|
"node/metered-channel",
|
|
"node/test/client",
|
|
"node/test/service",
|
|
"parachain/test-parachains",
|
|
"parachain/test-parachains/adder",
|
|
"parachain/test-parachains/adder/collator",
|
|
]
|
|
|
|
# We want to be able to build the bridge relayer without pulling it (and all of its
|
|
# dependencies into the Polkadot workspace)
|
|
exclude = ["bridges/relays/bin-substrate", "bridges/bin/rialto/runtime", "bridges/bin/millau/runtime"]
|
|
|
|
[badges]
|
|
maintenance = { status = "actively-developed" }
|
|
|
|
# make sure dev builds with backtrace do
|
|
# not slow us down
|
|
[profile.dev.package.backtrace]
|
|
opt-level = 3
|
|
|
|
[profile.release]
|
|
# Polkadot runtime requires unwinding.
|
|
panic = "unwind"
|
|
|
|
[features]
|
|
runtime-benchmarks= [ "polkadot-cli/runtime-benchmarks" ]
|
|
try-runtime = [ "polkadot-cli/try-runtime" ]
|
|
|
|
# Configuration for building a .deb package - for use with `cargo-deb`
|
|
[package.metadata.deb]
|
|
name = "polkadot"
|
|
extended-description = "Implementation of a https://polkadot.network node in Rust based on the Substrate framework."
|
|
section = "misc"
|
|
maintainer = "martin@parity.io"
|
|
license-file = ["LICENSE", "0"]
|
|
# https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html
|
|
maintainer-scripts = "scripts/packaging/deb-maintainer-scripts"
|
|
assets = [
|
|
["target/release/polkadot", "/usr/bin/", "755"],
|
|
["scripts/packaging/polkadot.service", "/lib/systemd/system/", "644"]
|
|
]
|
|
conf-files = [
|
|
"/etc/default/polkadot"
|
|
]
|
|
|
|
# Configuration for building an .rpm package - for use with `cargo-rpm`
|
|
[package.metadata.rpm]
|
|
package = "polkadot"
|
|
|
|
[package.metadata.rpm.cargo]
|
|
buildflags = ["--release"]
|
|
|
|
[package.metadata.rpm.targets]
|
|
polkadot = { path = "/usr/bin/polkadot" }
|
|
|
|
[package.metadata.rpm.files]
|
|
"../scripts/packaging/polkadot.service" = { path = "/usr/lib/systemd/system/polkadot.service", mode = "644" }
|