* Take 2 at the upward messages
* Trying to restore stuff from unsuccesful rebase
* Fix whitespace
* Clean up
* Change rustdoc to comment
* Pivot to a less stricter, w.r.t. to acceptance, model
* Rename `max_upward_message_num_per_candidate`
* Update docs for DownwardMessage
* Apply suggestions from code review
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Rephrase "Dispatchable objects ready to ..."
* Finish the sentence
* Add a note about imprecision of the current weight formula
* Elaborate on potential use-cases for the upward message kinds.
* s/later/below
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Update to libp2p-0.23.
Thereby incorporate bandwidth measurement along the
lines previously done by libp2p itself.
* Tweak dependencies for wasm32 compilation.
For wasm32 we need to enable unstable features to
make `task::Builder::local` available.
* Simplify dependencies.
* Simplify.
Leave the calculation of bytes sent/received per second
to the outer layers of the code, subject to their own
individual update intervals.
* Cleanup
* Re-add lost dev dependency.
* Avoid division by zero.
* Remove redundant metric.
* Enable sending of noise legacy handshakes.
* Add comment about monotonic gauge.
* CI
* Make parachain validation wasm executor functional
- Increase the size of the validation result in the shared memory. The
validation result holds the new runtime when a runtime upgrade is
scheduled. So, we need to give it enough memory to send the data between
the validator and the wasm execution host.
- Add the `CallInWasmExt`. This is required when doing a runtime upgrade
to check that we upgrade to something meaningful.
* Update parachain/src/wasm_executor/mod.rs
* Update parachain/src/wasm_executor/mod.rs
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
* guide: validation data refactoring
* address grumbles from review
* Update roadmap/implementers-guide/src/types/candidate.md
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
* last comments from review
Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
Actually I use this quite often when debugging some WASM bugs and there
is no harm in enabling it by default. Before I just always copied it
everytime I needed it.
* service/src/lib: Update authority discovery construction
https://github.com/paritytech/substrate/pull/6760 introduces the concept
of an authority discovery `Service` allowing one to communicate with an
authority discovery `Worker`, e.g. to learn the `Multiaddr`s for a given
`AuthorityId`.
Along with the new `Service` structure it also alters the authority
discovery constructor to return both a worker and a service. This
commit adjusts the callside of the constructor, ignoring the `Service`
for now.
* "Update Substrate"
* Revert ""Update Substrate""
This reverts commit 04fb79c465f91b55422e22d4ea266f08f4072854.
* Update Substrate
Co-authored-by: parity-processbot <>
* client/authority-discovery: Rename AuthorityDiscovery to XXXWorker
* client/authority-discovery: Introduce AuthorityDiscoveryService
Add a basic `AuthorityDiscoveryService` implementation which enables
callers to get the addresses for a given `AuthorityId` from the local
cache.
* client/authority-discovery: Split into worker and service mod
Move `Service` and `Worker` to their own Rust modules resulting in the
following file structure.
├── build.rs
├── Cargo.toml
└── src
├── error.rs
├── lib.rs
├── service.rs
├── tests.rs
├── worker
│ ├── addr_cache.rs
│ ├── schema
│ │ └── dht.proto
│ └── tests.rs
└── worker.rs
* client/authority-discovery: Cache PeerId -> AuthorityId mapping
* client/authority-discovery: Update priority group on interval
Instead of updating the authority discovery peerset priority group each
time a new DHT value is found, update it regularly on an interval.
This removes the need for deterministic random selection. Instead of
trying to return a random stable set of `Multiaddr`s, the `AddrCache`
now returns a random set on each call.
* client/authority-discovery: Implement Service::get_authority_id
* client/authority-discovery: Use HashMap instead of BTreeMap
* client/authority-discovery: Rework priority group interval
* client/authority-discovery: Fix comment
* bin/node/cli: Update authority discovery constructor
* client/authority-discovery: Fuse from_service receiver
* client/authority-discovery: Remove Rng import
* client/authority-discovery: Ignore Multiaddr without PeerId
* client/authority-discovery/service: Add note on returned None
* client/authority-discovery/addr_cache: Replace double clone with deref
While editing the impl guide markdowns I tried to be inline with what seemingly more
common way to indent them: spaces. However, despite that I changed it kept reseting.
Turned out the culprit is the .editorconfig file.
This commit addresses this issue. I didn't try to deduplicate the rules since
I found that the formal specification is a bit ambigious and it is not a big
deal anyway.
* update networking types
* port over overseer-protocol message types
* Add the collation protocol to network bridge
* message sending
* stub for ConnectToValidators
* add some helper traits and methods to protocol types
* add collator protocol message
* leaves-updating
* peer connection and disconnection
* add utilities for dispatching multiple events
* implement message handling
* add an observedrole enum with equality and no sentry nodes
* derive partial-eq on network bridge event
* add PartialEq impls for network message types
* add Into implementation for observedrole
* port over existing network bridge tests
* add some more tests
* port bitfield distribution
* port over bitfield distribution tests
* add codec indices
* port PoV distribution
* port over PoV distribution tests
* port over statement distribution
* port over statement distribution tests
* update overseer and service-new
* address review comments
* port availability distribution
* port over availability distribution tests
* Augment Implementer's Guide XCMP docs
* Remove the note about the third category
* Make Cross-Chain Message Passing a h3
Co-authored-by: Sergei Shulepov <sergei@parity.io>
* Add a warning if users pass --sentry or --sentry-nodes
* Apply suggestions from code review
Co-authored-by: Max Inden <mail@max-inden.de>
* Fix text
Co-authored-by: parity-processbot <>
Co-authored-by: Max Inden <mail@max-inden.de>
* refactor globals snapshot
* ignore test
* update pwasm-utils ref
* line width
* add doc comment for internal struct
* add explanation for iteration
* Demote rustdoc to a comment
* use 0.14
Co-authored-by: Sergei Shulepov <sergei@parity.io>
* Support `build-spec` for other chains than Polkadot
The problem when building a chain specification is that you require the
native runtime to parse the json file (assuming the chain spec is not
raw yet). Before this pr we could only overwrite the native runtime when
running the node using `force_*`. This pr now adds support to load the
native runtime when the filename starts with the name of the chain. So,
when usng `build-spec --chain rococo-something-else.jon` it will use the
rococo native runtime to load the chain spec.
* Apply suggestions from code review
Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: Andronik Ordian <write@reusable.software>
* seal: Change prefix "ext_" to "seal_" for contract callable functions
The word Ext is a overloaded term in the context of substrate. It usually
is a trait which abstracts away access to external resources usually in order
to mock them away for the purpose of tests. The contract module has its own
`Ext` trait in addition the the substrate `Ext` which makes things even more
confusing.
In order to differentiate the contract callable functions more clearly from
this `Ext` concept we rename them to use the "seal_" prefix instead.
This should change no behaviour at all. This is a pure renaming commit.
* seal: Rename import module from "env" to "seal0"
* seal: Fixup integration test
* seal: Add more tests for new import module names