* Remove necessity to pass ConsensusEngineId when registering notifications protocol
* Line width
* Fix tests protocol name
* Other renames
* Doc update
* Change issue in TODO
* Connect to different validators on different leaves
* Implement ConnectionRequests
* Replace existing connection request
* Do not terminate if there are no ongoing requests
* Adds tests
* Remove the loop
* Add replacement test
* Use find
* Update node/subsystem-util/src/validator_discovery.rs
Co-authored-by: Andronik Ordian <write@reusable.software>
* Add requests revocation to cleanup
* Revert "Add requests revocation to cleanup"
This reverts commit d0ac1d7a0672f0ba803c923a32ca6ca84538f549.
Co-authored-by: Andronik Ordian <write@reusable.software>
* Use inbound peerslot slots when a substream is received, rather than a connection
* Refactor PeerState
* Some bugfixes
* Fix warnings so that CI runs, gmlrlblbl
* Bugfixes
* Update docs
* Apply suggestions from code review
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
* Clean up Banned state
* Refactor connections state
* Fix possibility of Enabled with no Opening or Open connection
* Line width
* Add some debug_asserts! and fix TODO
* Refactor legacy handler
* Rewrite group.rs entirely [part 1]
* Rewrite group.rs entirely [part 2]
* Remove faulty assertion
Because of the asynchronous nature of the behaviour <-> handler communications, it is possible to receive notifications while in the Closing state
* Don't poll the legacy substream is not Open
* Tolerate when not all substreams are accepted
* Remove TODOs
* Dummy commit to make CI log interesting things
* Try race condition fix
* Revert "Try race condition fix"
This reverts commit 0675c659d06195c30f8c5bc13e2d88141d57a3ba.
* Correctly rebuild pending_opening
* Minor tweaks
* Printlns for CI debugging
* Revert "Printlns for CI debugging"
This reverts commit e7852a231f4fc418898767aaa27c9a4358e12e8b.
* Revert "Dummy commit to make CI log interesting things"
This reverts commit 259ddd74088e53e7c6a9b0a62a8d1573a0063ce3.
* mv group.rs ../handler.rs
* Apply suggestions from code review
Co-authored-by: Max Inden <mail@max-inden.de>
* Banned => Backoff
* Mention the actual PeerStates
* OpenDesired -> OpenDesiredByRemote
* OpeningThenClosing
* Add doc links to PeerState
* Simplify increment logic
* One more debug_assert
* debug_assert!
* OpenDesiredByRemote
* Update client/network/src/protocol/generic_proto/behaviour.rs
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
* Guide: Split router module in guide.
Now we have: DMP, UMP and Router module.
* Add a glossary entry for what used to be called Router
* Extract DMP
* Extract UMP
* Extract HRMP
* Switch over to new modules
* Router: goodbye sweet prince
* Link to messaging overview for details.
* Update missed rococo and test runtimes.
* Commit destroyed by rebase changes
* Don't deprecate Router but rather make it a meta-project
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
* Fix typos suggestion
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
* Fix repetition in the impl guide
* Clarify that processed_downward_messages has the u32 type
* Remove the router subdir.
* Deabbreviate DMP,UMP,HRMP
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
* WIP: add initial check_extrinsics_ordering.sh script
* iterate through runtimes, add gitlab job
* move job to publish
* temp force build-linux-release to run
* update check_extrinsics_ordering.sh
* maybe we have to fetch release
* use node docker image
* revert before opening pr: force bad extrinsic ordering
* revert commits to prepare for PR
* move job to build stage, use bin from test-linux-release
* remove FIXME
* fix PR nags
This is mostly a copy of the predating version with exception of some
renaming and alterations (e.g. the message handler takes an inbound
downward message by value, not by reference).
We call `offchain_worker` with the state of the imported block and pass
the header of this block. However in the runtime we call all
`offchain_worker` functions with the number of the parent block. Besides
that we also pass all digests and not only the pre runtime digests. In
the context where the offchain worker is executed we have all digests, so
there is no real reason to only pass pre runtime digests. Another fix is
that we also insert the hash of the current header into the block hash map.
* Enable local addresses in DHT when chain type == `Local` | `Development`
This pr changes when to add local addresses to DHT. Instead of only
checking if `--discover-local` and `--dev` are present, we now also
check if the chain type is `Local` or `Development`.
* Update the docs!
* Don't log with colors when we are writing to a tty
This fixes a regression that was introduced by the switch to tracing.
Before we killed all colors before writing to a tty, this pr brings the
behaviour back.
* Remove accidentally added crate
* Review feedback
* More feedback
* Update client/cli/src/logging.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Update client/cli/src/logging.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Revert "Restrict collating_using_adder_collator test on feature real-overseer (#1947)"
This reverts commit 75da335d66.
* Revert "Revert "Restrict collating_using_adder_collator test on feature real-overseer (#1947)""
This reverts commit 4e92cdfb1046b0e3da7627297050ae71ae3dd6e3.
* Test something
* Add --raw flag to export-genesis-state
* Switch export-genesis-wasm to hex by default
Also add --raw flag. This makes it similar to `export-genesis-state`.
* Export app-crypto specific keystore functions
* Also add back the insert function
* Switch KeystoreContainer to an enum
* Only export the bare minimal for LocalKeystore and fix service compile
* fix: should return Arc
* Add docs stating that functions only available in local keystore
* Remove insert and generate functions
* fix: generate function should be available in test
* Add keypair function to trait
* Revert "Add keypair function to trait"
This reverts commit ad921b09ca73d3c09298e3a51b562ef8e0067781.
* Add note for local_keystore function in service
* babe: backoff authoring blocks when finality lags
* babe: move backoff authoring params to default constructor
* babe: deduplicate the test a bit
* babe: set backoff constants in service
* babe: use better names for backoff authoring block parameters
* babe: remove last unwrap
* babe: slight style tweak
* babe: fix comment
* slots: move backoff block authorship logic to SimpleSlotWorker
* aura: append SlotInfo in on_slot
* slots: use the correct types for parameters
* slots: fix review comments
* aura: add missing backoff authoring blocks parameters
* slots: add comments for default values
* slots: add additional checks in test
* slots: update implementation for new master
* slots: revert the change to SlotInfo
* Fix review comments
* slots: rework unit tests for backing off claiming slots
* slots: add test for asymptotic behaviour for slot claims
* slots: address review comments
* slots: add test for max_interval
* slots: add assertion for intervals between between claimed slots
* slots: remove rustfmt directive
* slots: another attempt at explaining authoring_rate
* slots: up unfinalized_slack to 50 by default
* slots: add tests for time to reach max_interval
* slots: fix typo in comments
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* slots: additional tweaks to comments and info calls
* slots: rename to BackoffAuthoringOnFinalizedHeadLagging
* slots: make the backing off strategy generic
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* slots: implement backoff trait for () for simplicity
* slots: move logging inside backing off function to make it more specific
* aura: add missing function parameter
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
The genesis header doesn't have the BABE pre-digest and we insert `0` as
slot number. The slot lenience calculation will return the maximum in
this situation. Besides returning the maximum which is not bad at all,
it also prints some a debug message that can be confusing in the first
moment. To prevent printing this debug message, we now just return early
when we see that the parent block is the genesis block.
* test
* switch to branch
* Use modified.
* Use sp_externalities environmental primitives
* Change to latest no_std version, add missing host function boilerplate.
* remove comment (was used for debugging).
* fixes
* with_externalities factor
* Read merged change from overlay.
* Rename ExecutionMode to IsolationStrategy
Execution mode is too generic name and can imply a lot of different
aspects of execution. The notion of isolation better describes the
meant aspect.
And while I am at it, I also renamed mode -> strategy cause it seems a
bit more appropriate, although that is way more subjective.
* Fix compilation in wasm_executor tests.
* Add a comment to IsolationStrategy
* Update comments on IsolationStrategy
* Update node/core/candidate-validation/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Accomodate the point on interruption
* Update parachain/src/wasm_executor/mod.rs
Co-authored-by: Andronik Ordian <write@reusable.software>
* Naming nits
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Andronik Ordian <write@reusable.software>
* pallet_contracts: Inline benchmark helper that is only used once
* Move all max_* Schedule items into a new struct
* Limit the number of globals a module can declare
* The current limits are too high for wasmi to even execute
* Limit the amount of parameters any wasm function is allowed to have
* Limit the size the BrTable's immediate value
* Add instruction benchmarks
* Add new benchmarks to the schedule and make use of it
* Add Benchmark Results generated by the bench bot
* Add proc macro that implements `Debug` for `Schedule`
* Add missing imports necessary for no_std build
* Make the WeightDebug macro available for no_std
In this case a dummy implementation is derived in order to not
blow up the code size akin to the RuntimeDebug macro.
* Rework instr_memory_grow benchmark to use only the maximum amount of pages allowed
* Add maximum amount of memory when benching (seal_)call/instantiate
* cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_contracts
* Added utility benchmark that allows pretty printing of the real schedule
* review: Add missing header to the proc-macro lib.rs
* review: Clarify why #[allow(dead_code)] attribute is there
* review: Fix pwasm-utils line
* review: Fixup rand usage
* review: Fix typo
* review: Imported -> Exported
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* contracts: Adapt to new weight structure
* contracts: Fixup runtime WeightInfo
* contracts: Remove unneeded fullpath of WeightInfo type
* Apply suggestions from code review
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* Fix typo in schedule.rs
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* Fix docs in schedule.rs
* Apply suggestions from code review
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
* Don't publish proc-macro crate until 3.0.0 is ready
* Optimize imports for less repetition
* Break overlong line
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
Co-authored-by: Andrew Jones <ascjones@gmail.com>
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>