mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-30 09:37:55 +00:00
cfe5e8a8dfd7e2d5720903e84ecde4e7b1d40670
2157 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
3c50838dc3 |
CI: markdown link checker (#7145)
* change (CI): markdown link checker * Fix some invalid doc links (re-run of cargo-unleash gen-readme w/ fixes). * Fix some invalid doc links * Fix some invalid doc links * Fix some links * Fix some links * Apply @bkchr suggestions from code review Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Fix more links * Fix more links * typo * Fix more links * Fix more links * Ignore valid link .. check wrongly sees it as invalid * Fix style issue * Fix style issue * change (CI): update style guide link * change (lib): suggestions Co-authored-by: Dan Forbes <dan@danforbes.dev> Co-authored-by: Steve Degosserie <steve@parity.io> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> |
||
|
|
47815a5936 |
grandpa: store the authority id that is used for voting per round (#7454)
* grandpa: store the authority id that is used for voting per round * grandpa: fix tests |
||
|
|
6328f8740c |
Allow BabeConsensusDataProvider fork existing chain (#7078)
* parent
|
||
|
|
ff1707cc7f |
Update to libp2p-0.29. (#7341)
* Update to libp2p-0.29. * Update dependencies. * Update Cargo.toml Co-authored-by: Max Inden <mail@max-inden.de> * Fix tests. * Fix tests. * Fix more tests. * Update to 0.29.1 * Update ed25519-dalek dependency of sp-core. * Update Cargo.lock. Co-authored-by: Max Inden <mail@max-inden.de> Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com> |
||
|
|
86d5d9609d |
Make authority discovery configurable (#7465)
* Make authority discovery configurable This pr makes the authority discovery configurable. So, instead of having default values for the query interval, publish interval etc this pr adds a configuration to make these values changeable. This will be useful for tests where authority discovery is required. * Update client/authority-discovery/src/worker.rs Co-authored-by: Max Inden <mail@max-inden.de> * Update client/authority-discovery/src/lib.rs Co-authored-by: Max Inden <mail@max-inden.de> * Update client/authority-discovery/src/lib.rs Co-authored-by: Max Inden <mail@max-inden.de> * Update client/authority-discovery/src/lib.rs Co-authored-by: Max Inden <mail@max-inden.de> * Fix compilation * line width Co-authored-by: Max Inden <mail@max-inden.de> |
||
|
|
950861e558 |
Print an error if an unregistered notifications protocol is used (#7457)
* Print an error if an nregistered notifications protocol is used * Print an error if an nregistered notifications protocol is used * Update client/network/src/service.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> |
||
|
|
f346e1c629 |
add Sync + Send + 'static to Box<dyn Error> bound (#7450)
Co-authored-by: Bernhard Schuster <bernhard@parity.io> |
||
|
|
9687759774 |
error rework, for polkadot convenience (#7446)
Co-authored-by: Bernhard Schuster <bernhard@parity.io> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> |
||
|
|
05af334bbc |
Make consensus SlotWorker don't assume a slot is time / duration (#7441)
* Make consensus `SlotWorker` don't assume a slot is time / duration This removes the last bit of assumption that a slot is always `time / duration`. This will be required by parachains where a slot will be the relay chain block number. Besides this there are also some other drive by changes. One more notable is that `on_slot` now returns a `SlotResult` that holds the block and a potential storage proof. To simplify the implementation and usage of the `SimpleSlotWorker` the `SlotWorker` trait is now implemented for each type that implements `SimpleSlotWorker`. * Update client/consensus/slots/src/lib.rs Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> * Update client/consensus/slots/src/lib.rs Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> |
||
|
|
f373ecbcf0 |
improve error handling in cli (#7436)
* other error variant should carry a dyn Error * introduce thiserror for error derive, add explicit error variants, cleanup dependencies * cleanup handle dev-deps of sc-cli too * Update client/cli/src/error.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: Bernhard Schuster <bernhard@parity.io> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> |
||
|
|
21d1cd0c89 | Fix typo in toml (#7431) | ||
|
|
74910c4806 |
WASM Local-blob override (#7317)
* Provide WASM overwrite functionality in LocalCallExecutor - add a new module `wasm_overwrite.rs` in client - scrapes given folder for runtimes - add two new CLI Options `wasm-overwrite` and `wasm_overwrite_path` * formatting * Make comment clearer remove sc-runtime-test from dev-dependencies * comments * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Fix spaces, remove call into backend for 'heap_pages' in 'try_replace' * Error if path is not a directory, Comments, Doc Comment for WasmOverwrite * make WasmOverwrite Option<> * Change to one CLI argument for overwrites - move getting runtime version into LocalCallExecutor * change unwrap() to expect() * comment * Remove `check_overwrites` * Encapsulate checking for overwrites in LocalCallExecutor * move duplicate code into function * Update client/cli/src/params/import_params.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * comma * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * cache hash in WasmBlob * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/service/src/client/client.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * move getting overwrite into its own function * fix error when directory is not a directory * Error on duplicate WASM runtimes * better comment, grammar * docs * Revert StateBackend back to _ * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/service/src/client/call_executor.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Add two tests, fix doc comments Add a test for the runtime_version method of WasmOverwrite Add a test for check_overwrite method of LocalCallExecutor * remove redundant `Return` from expect msg * Update client/cli/src/params/import_params.rs Co-authored-by: David <dvdplm@gmail.com> * Update client/service/src/client/call_executor.rs Co-authored-by: David <dvdplm@gmail.com> * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: David <dvdplm@gmail.com> * Update client/service/src/config.rs Co-authored-by: David <dvdplm@gmail.com> * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: David <dvdplm@gmail.com> * Add Module Documentation, match on '.wasm' extension * Add test for scraping WASM blob * fix expect * remove creating another block in LocalCallExecutor test * remove unused import * add tests for duplicates and scraping wasm * make tests a bit nicer * add test for ignoring non-.wasm files * check error message in test * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * remove println * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * make tests prettier * Update client/service/src/client/wasm_overwrite.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * comment for seemingly random client * locally-built -> custom * remove unused import * fix comment * rename all references to overwrite with override * fix cli flag in module documentation Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: David <dvdplm@gmail.com> |
||
|
|
f2925f96a2 |
grandpa: don't send equivocation reports for local identities (#7372)
* grandpa: don't send equivocation reports for local identities * grandpa: add test for self-report * grandpa: fix test compilation this works on rust nightly but breaks on ci which is using rust stable |
||
|
|
568dd6fd42 |
grandpa: fix early enactment of forced changes (#7321)
* grandpa: fix early enactment of forced authority set changes * grandpa: add test for early enactment of forced changes * grandpa: fix typo in log message * grandpa: only allow one pending forced change per fork * grandpa: fix tests |
||
|
|
653868c01e |
client/authority-discovery: Remove sentry node logic (#7368)
* client/authority-discovery: Remove sentry node logic The notion of sentry nodes has been deprecated (see [1] for details). This commit removes support for sentry nodes in the `client/authority-discovery` module. While removing `Role::Sentry` this commit also introduces `Role::Discover`, allowing a node to discover addresses of authorities without publishing ones own addresses. This will be needed in Polkadot for collator nodes. [1] https://github.com/paritytech/substrate/issues/6845 * client/authority-discovery/service: Improve PeerId comment |
||
|
|
5808f467c5 |
Make Substrate compile with latest nightly (#7381)
* Try to get it compiling * One more * Make stable happy * Make stable even more happy ;) * Update shell.nix |
||
|
|
d847c9b019 | Small fix for log line prefix (#7373) | ||
|
|
0fcf9d6c60 |
client/network: Make NetworkService::set_priority_group async (#7352)
As done with `NetworkService::{add_to,remove_from}_priority_group`, make
`NetworkService::set_priority_group` async as well. This future-proofs
the API should we ever decide to use a bounded channel between
`NetworkService` and `NetworkWorker`.
|
||
|
|
96e939f42e |
client/network: Remove original_request in block request events (#7369)
The `original_request` field of each `block_request::Event` variant is not used. With that in mind, this commit removes the field. |
||
|
|
8cebbd142d |
Add node name to the log lines (#7328)
* Initial commit Forked at: |
||
|
|
4e9256aba2 |
client/network: Allow configuring Kademlia's disjoint query paths (#7356)
The Rust libp2p-kad implementation can require iterative queries to use disjoint paths for increased resiliency in the presence of potentially adversarial nodes. Allow Substrate users to enable this feature via the `--kademlia-disjoint-query-paths` flag. |
||
|
|
a062bc2f1d |
Runtime worker threads (#7089)
* std variant * principal work * format and naming * format and naming continued * working nested fork * add comment * naming and tabs * line width * fix wording * address review * refactor dynamic dispatch * update wasmtime * some care * move ext * more refactor * doc effort * simplify * doc effort * tests and docs * address review * naming * explain some args * add example * unwinding for native and tests * rename stray * fix refs * fix tests * fix warnings * stray naming * fixes and comments * Update primitives/io/src/tasks.rs Co-authored-by: cheme <emericchevalier.pro@gmail.com> * make examples "compile" * dyn_dispatch -> spawn_call * fix impl * address review * Update primitives/io/src/lib.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Update primitives/io/src/tasks.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Update primitives/io/src/async_externalities.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Update primitives/io/src/tasks.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Update frame/example-parallel/src/lib.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * fix compilation * Update client/executor/common/src/wasm_runtime.rs Co-authored-by: Sergei Shulepov <sergei@parity.io> * address review * Update client/executor/wasmtime/src/instance_wrapper.rs Co-authored-by: Sergei Shulepov <sergei@parity.io> * Update client/executor/src/native_executor.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update primitives/io/src/tasks.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/executor/src/native_executor.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update primitives/io/src/tasks.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/executor/wasmtime/src/instance_wrapper.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * address some issues * address more issues * wasm_only interface * define sp_tasks * avoid anyhow * fix example Co-authored-by: cheme <emericchevalier.pro@gmail.com> Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: Sergei Shulepov <sergei@parity.io> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> |
||
|
|
918a0c8077 |
*: Bump async-std to v1.6.5 (#7306)
* *: Bump async-std to v1.6.5 Prevent users from using v1.6.4 which faces issues receiving incoming TCP connections. See https://github.com/async-rs/async-std/issues/888 for details. * client/network/src/gossip: Use channel instead of condvar `async_std::sync::Condvar::wait_timeout` uses `gloo_timers::callback::Timeout` when compiled for `wasm32-unknown-unknown`. This timeout implementation does not fulfill the requirement of being `Send`. Instead of using a `Condvar` use a `futures::channel::mpsc` to signal progress from the `QueuedSender` to the background `Future`. * client/network/Cargo.toml: Remove async-std unstable feature * client/network/src/gossip: Forward all queued messages * client/network/gossip: Have QueuedSender methods take &mut self * client/network/gossip: Move queue_size_limit into QueuedSender The `queue_size_limit` field is only accessed by `QueuedSender`, thus there is no need to share it between the background future and the `QueuedSender`. * client/network/gossip: Rename background task to future To be a bit picky the background task is not a task in the sense of an asynchonous task, but rather a background future in the sense of `futures::future::Future`. |
||
|
|
bd2dbc055c |
client/network: Remove option to disable yamux flow control (#7358)
With the `OnRead` flow control option yamux "send[s] window updates only when data is read on the receiving end" and not as soon as "a Stream's receive window drops to 0". Yamux flow control has proven itself. This commit removes the feature flag. Yamux flow control is now always enabled. |
||
|
|
9f61b5b9f4 |
grandpa: remove duplicate function to fetch local authority id (#7359)
* grandpa: remove duplicate authority_id function * grandpa: rename is_voter to local_authority_id * grandpa: cleanup rebuild_voter telemetry event |
||
|
|
74e8691aa8 |
Make queryStorage and storagePairs unsafe RPC functions (#7342)
The RPC calls can be rather expensive and can easily bring a RPC node in some problems ;) |
||
|
|
158fdecc0b |
Adds support for inspecting a hex encoded public key (#7344)
* Adds support for inspecting a hex encoded public key This adds support for inspecting hex encoded public keys to subkey. The command looks like: `subkey inspect --public 0xPUBLICHEX` * Update client/cli/src/commands/utils.rs Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> |
||
|
|
385c4ddf69 |
No longer actively open legacy substreams (#7076)
* Allow remotes to not open a legacy substream * No longer actively open legacy substreams * Misc fixes * Line width * Special case first protocol as the one bearing the handshake * Legacy opening state no longer keeps connection alive * Remove now-unused code * Simplify inject_dial_upgrade_error * [chaos:basic] * [chaos:basic] * [chaos:basic] |
||
|
|
0dcb16b513 |
sync: only restart peers not doing finality related requests (#7322)
* sync: only restart peers not doing finality related requests * sync: add test for sync restart * sync: add better docs to restart method |
||
|
|
f3ea1624f6 |
frame: remove finality-tracker (#7228)
* frame: remove finality-tracker * node: remove unused parameter types * node: bump spec_version |
||
|
|
d1ef8507d7 |
Add missing fields to the light sync state (#7225)
* Initial draft * Add an iterator that helps us get most items * Revert changes to grandpa * Change fields to just be the grandpa authority set and babe epoch changes * Only use the fields we need from the shared authority set * Switch to RPC call * Revert "Only use the fields we need from the shared authority set" This reverts commit 6ede87b0c5fe53f251d7cb45951006a7dc8f9b83. * Add babe_finalized_block_weight from `ashley-improve-sync-state-WIP-loading` * Fix rpc test * Move sync state rpc stuff into sc-sync-state-rpc * Remove as_json_value and remove unwraps from sc-sync-state-rpc * Add clone_inner to SharedAuthoritySet |
||
|
|
b427bbb363 |
Make run_node_until_exit take a future (#7318)
The function takes a closure that resolved before to a `TaskManager`, now it resolves to a `Future` which output is a `TaskManager`. This is required for node setups that are async. |
||
|
|
bcde7b4f3f |
Add an system_syncState RPC method (#7315)
* Add system_syncState RPC method * Update client/rpc-api/src/system/helpers.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> |
||
|
|
246cb29627 |
Add profiling targets to tracing_subscriber (#7308)
* Add profiling targets to tracing_subscriber * comment Co-authored-by: Matt <mattrutherford@users.noreply.github.com> |
||
|
|
1a01bca647 |
Fixes bug in wasm-builder with cargo publish (#7299)
* Fixes bug in wasm-builder with cargo publish There was a bug in wasm-builder which resulted in generating a `Cargo.lock` in the project directory because of running `cargo metadata`. This resulted in commands like `cargo publish` to fail (if there was no `Cargo.lock` before building), because it checks that the project directory isn't modified. * Update utils/wasm-builder/src/wasm_project.rs Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> |
||
|
|
44bb722861 |
sc-network: expose add_to_priority_group and `remove_from_priority_… (#7247)
* sc-network: expose `add_to_priority_group` and `remove_from_priority_group` in `NetworkService` * sc-network: fix a typo * Update client/network/src/service.rs Co-authored-by: Max Inden <mail@max-inden.de> * s/parse_multiaddr/split_multiaddr_and_peer_id/g * sc-network: mark new functions as async and add comments * Apply suggestions from code review Co-authored-by: Max Inden <mail@max-inden.de> Co-authored-by: Max Inden <mail@max-inden.de> |
||
|
|
4f447efb65 |
Release new version of wasm-builder-runner (#7283)
* Release new version of wasm-builder-runner Besides the new version this merges `SKIP_WASM_BUILD` and `BUILD_DUMMY_WASM_BINARY`, this means a file is generated with `SKIP_WASM_BUILD` if no file existed before. * Update utils/wasm-builder-runner/Cargo.toml * Update utils/wasm-builder-runner/src/lib.rs Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> * Update versions Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> |
||
|
|
3aa4bfacfc |
Async keystore + Authority-Discovery async/await (#7000)
* Asyncify sign_with * Asyncify generate/get keys * Complete BareCryptoStore asyncification * Cleanup * Rebase * Add Proxy * Inject keystore proxy into extensions * Implement some methods * Await on send * Cleanup * Send result over the oneshot channel sender * Process one future at a time * Fix cargo stuff * Asyncify sr25519_vrf_sign * Cherry-pick and fix changes * Introduce SyncCryptoStore * SQUASH ME WITH THE first commit * Implement into SyncCryptoStore * Implement BareCryptoStore for KeystoreProxyAdapter * authority-discovery * AURA * BABE * finality-grandpa * offchain-workers * benchmarking-cli * sp_io * test-utils * application-crypto * Extensions and RPC * Client Service * bin * Update cargo.lock * Implement BareCryptoStore on proxy directly * Simplify proxy setup * Fix authority-discover * Pass async keystore to authority-discovery * Fix tests * Use async keystore in authority-discovery * Rename BareCryptoStore to CryptoStore * WIP * Remote mutable borrow in CryptoStore trait * Implement Keystore with backends * Remove Proxy implementation * Fix service builder and keystore user-crates * Fix tests * Rework authority-discovery after refactoring * futures::select! * Fix multiple mut borrows in authority-discovery * Merge fixes * Require sync * Restore Cargo.lock * PR feedback - round 1 * Remove Keystore and use LocalKeystore directly Also renamed KeystoreParams to KeystoreContainer * Join * Remove sync requirement * Fix keystore tests * Fix tests * client/authority-discovery: Remove event stream dynamic dispatching With authority-discovery moving from a poll based future to an `async` future Rust has difficulties propagating the `Sync` trade through the generated state machine. Instead of using dynamic dispatching, use a trait parameter to specify the DHT event stream. * Make it compile * Fix submit_transaction * Fix block_on issue * Use await in async context * Fix manual seal keystore * Fix authoring_blocks test * fix aura authoring_blocks * Try to fix tests for auth-discovery * client/authority-discovery: Fix lookup_throttling test * client/authority-discovery: Fix triggers_dht_get_query test * Fix epoch_authorship_works * client/authority-discovery: Remove timing assumption in unit test * client/authority-discovery: Revert changes to termination test * PR feedback * Remove deadcode and mark test code * Fix test_sync * Use the correct keyring type * Return when from_service stream is closed * Convert SyncCryptoStore to a trait * Fix line width * Fix line width - take 2 * Remove unused import * Fix keystore instantiation * PR feedback * Remove KeystoreContainer * Revert "Remove KeystoreContainer" This reverts commit ea4a37c7d74f9772b93d974e05e4498af6192730. * Take a ref of keystore * Move keystore to dev-dependencies * Address some PR feedback * Missed one * Pass keystore reference - take 2 * client/finality-grandpa: Use `Arc<dyn CryptoStore>` instead of SyncXXX Instead of using `SyncCryptoStorePtr` within `client/finality-grandpa`, which is a type alias for `Arc<dyn SyncCryptoStore>`, use `Arc<dyn CryptoStore>`. Benefits are: 1. No additional mental overhead of a `SyncCryptoStorePtr`. 2. Ability for new code to use the asynchronous methods of `CryptoStore` instead of the synchronous `SyncCryptoStore` methods within `client/finality-granpa` without the need for larger refactorings. Note: This commit uses `Arc<dyn CryptoStore>` instead of `CryptoStorePtr`, as I find the type signature more descriptive. This is subjective and in no way required. * Remove SyncCryptoStorePtr * Remove KeystoreContainer & SyncCryptoStorePtr * PR feedback * *: Use CryptoStorePtr whereever possible * *: Define SyncCryptoStore as a pure extension trait of CryptoStore * Follow up to SyncCryptoStore extension trait * Adjust docs for SyncCryptoStore as Ben suggested * Cleanup unnecessary requirements * sp-keystore * Use async_std::task::block_on in keystore * Fix block_on std requirement * Update primitives/keystore/src/lib.rs Co-authored-by: Max Inden <mail@max-inden.de> * Fix wasm build * Remove unused var * Fix wasm compilation - take 2 * Revert async-std in keystore * Fix indent * Fix version and copyright * Cleanup feature = "std" * Auth Discovery: Ignore if from_service is cloed * Max's suggestion * Revert async-std usage for block_on * Address PR feedback * Fix example offchain worker build * Address PR feedback * Update Cargo.lock * Move unused methods to test helper functions * Restore accidentally deleted cargo.lock files * Fix unused imports Co-authored-by: Max Inden <mail@max-inden.de> Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> |
||
|
|
db8a0cafa9 |
Fixes logging of target names with dashes (#7281)
* Fixes logging of target names with dashes There was a bug in tracing-core which resulted in not supporting dashes in target names. This was fixed upstream. Besides that a test was added to ensure that we don't break this again. * Extend test |
||
|
|
601e2fa139 | client: improve log formatting (#7272) | ||
|
|
c40cfe917e |
Split block announce processing into two parts (#6958)
* Split block announce processing into two parts
This pull requests splits the block announce processing into two parts.
Into a phase that is called pre-validation that will be async and call
the block announce validator and into a second phase that processes the
result of the pre-validation.
The important change here is that the pre-validation phase is async.
This will be required by Cumulus/parachains. When a parachain announces
a block, it adds the candidate message send by the relay chain as extra
data into the block announcement. To verify this candidate message, the
relay chain parent is required that was used when building this message.
Now it can happen that we first receive the block announcement before
fully importing the relay chain block and this leads to the parachain
block not being imported. By making the pre-validation async, we will be
able to wait for the relay chain block to be imported to verify the
candidate message.
* Apply suggestions from code review
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* Update client/network/src/protocol/sync.rs
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* client/authority-discovery: Append PeerId to Multiaddr at most once (#6933)
* client/authority-discovery/worker: Extract address getter
* client/authority-discovery: Test for no duplicate p2p components
* client/authority-discovery: Append PeerId to Multiaddr at most once
When collecting the addresses to be published for the local node,
`addresses_to_publish` adds the local nodes `PeerId` to each
`Multiaddr`. Before doing so, ensure the `Multiaddr` does not already
contain one.
* client/authority-discovery: Remove explicit return
* expose Deposit (#6943)
* Add a `LightSyncState` field to the chain spec (#6894)
* Reset code, almost ready for PR
* Improved build_hardcoded_spec
* Fix line widths
* Fix tests
* Fix sc-service-test
* Suggestions from code review
* Rename to LightSyncState
* It's not syncing :^(
* It syncs!
* Remove rpc call
* Convert spaces to tabs
* Moved sc-service things to export_sync_state.rs
* Fix tests
* Wait for syncing with network_status_sinks
* Remove sc-network from node-template
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Various changes, split the flag up into 2 pieces to make testing easier.
* Update client/cli/src/commands/build_spec_cmd.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Revert a lot of changes
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Dynamically generate CHT roots on a full client (#6944)
* Generate CHT roots on a full client
* add changes_trie_root function
* Add a test
* Line widths
* Fix sc-service-test
* Clarify comments
* Revert comments
* Enable verification logic when executing benchmarks (#6929)
* Add `--verify` flag to benchmark execution
* make it so `--verify` can be used for getting the actual benchmarks
* undo manual testing
* oops
* use benchmark config struct
* verify is default on, docs update
* remove clone
* improve formatting
* fix test
* bump impl for ci
* grandpa: always create and send justification if there are any subscribers (#6935)
* grandpa: use bytes type for justification rpc notification
* grandpa: always create justification if there are rpc subscribers
* grandpa: wording
* grandpa: replace notify_justification macro with function
* grandpa: prefer Option<&T> over &Option<T>
* .maintain/monitoring/alerting-rules: Add fd alert (#6946)
Alert on high file descriptor allocation.
* Fix benchmark read/write key tracker for keys in child storages. (#6905)
* WIP: read child trie and write child trie
* add test
* refactor a bit + improve log
* better naming
* trigger CI
* Revert "trigger CI"
This reverts commit d0aadaeb6a12fc6c39f01b3c1b5725d19f085865.
* client/authority-discovery: Limit number of addresses per authority (#6947)
* client/authority-discovery: Test addresses per authority limit
* client/authority-discovery: Limit number of addresses per authority
* ⛓ ✨Add ShiftNrg Network SS58 address type (#6942)
* update tracing attribute (#6950)
* Fix unwraps and other issues with benchmarks (#6957)
* Fix unwraps and other issues with benchmarks
* undo changes to contracts pallet
* Remove implementation of `Randomness for ()` (#6959)
* Fix staking fuzzer. (#6954)
* Enforce that ProtocolId is a string (#6953)
* Enforce that ProtocolId is a string
* Fix test
* Support Staking Payout to Any Account (#6832)
* Support staking payout to any account
* fix offences benchmarks
* Better prime election. (#6939)
* Better prime election.
* improve docs
* more sensible variable names
* link to Borda count wiki
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* babe: fix report_equivocation weight (#6936)
* babe: fix report_equivocation weight
* node: bump spec_version
* babe: fix floor in report_equivocation weight calculation
Co-authored-by: Gavin Wood <gavin@parity.io>
* grandpa: fix floor in report_equivocation weight calculation
* babe, grandpa: add test for weight_for::report_equivocation
Co-authored-by: Gavin Wood <gavin@parity.io>
* fix bench db wipe (#6965)
* Implement request-responses protocols (#6634)
* Implement request-responses protocols
* Add tests
* Fix sc-cli
* Apply suggestions from code review
Co-authored-by: Max Inden <mail@max-inden.de>
* Fix naming
* Fix other issues
* Other naming fix
* Fix error logging
* Max sizes to u64
* Don't kill connections on refusal to process
* Adjust comment
Co-authored-by: Max Inden <mail@max-inden.de>
* add generated weight info for pallet-collective (#6789)
* add benchmark for disapprove_proposal
* use generated WeightInfo for pallet-collective weights
* order collective benchmark params alphabetically to get a consistent ordering
* address review comments
* remove default impl of WeightInfo for ()
* remove comments about weight changes
* add default weights
* Apply suggestions from code review
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* whitelist voter account in benchmark
* update weights
* MaxMembers configurable
* remove base weight comment
* add weight to technical collective
* another DB whitelist optimization
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* client/*: Treat protocol name as str and not [u8] (#6967)
* client/*: Treat protocol name as str and not [u8]
Notification protocol names are in practice always valid utf8 strings.
Instead of treating them as such in the type system, thus far they were
casted to a [u8] at creation time.
With this commit protocol names are instead treated as valid utf8
strings throughout the codebase and passed as `Cow<'static, str>`
instead of `Cow<'static, [u8]>`. Among other things this eliminates the
need for string casting when logging.
* client/network: Don't allocate when protocol name is borrowed
* update kvdb-rocksdb to 0.9.1 and rocksdb to 6.11.4 (#6963)
* Use AsyncReadExt::read_exact, not just read (#6977)
* client/cli/src/config: Warn on low file descriptor limit (#6956)
* client/cli/src/config: Warn on low file descriptor limit
Substrate sets the soft file descriptor limit to the hard limit at
startup. In the case of the latter being low already (< 10_000) a
Substrate node under high demand might run into issues e.g. when opening
up new TCP connections or persisting data to the database.
With this commit a warn message is printed to stderr.
* client/cli/Cargo.toml: Update to fdlimit 0.2.0
* Update substrate bip39 version. (#6955)
* update bip39 version
* and lock
* Inverting events set and changed in nicks pallet (#6989)
Fixing #6988
* Silence the error about non-registered protocols (#6987)
* Silence the error about non-registered protocols
* Silence the other two locations as well
* Change browser-demo build.sh to use python 3 again (#6992)
* fix pallet-evm features (#6995)
* Move subcommands from sc-cli to nodes (#6948)
* ci: deploy alerting rules: fix run on changes (#6998)
* ci: deploy alerting rules: fix run on changes
Co-authored-by: Max Inden <mail@max-inden.de>
* *: Update to Prometheus v0.10.0 (#6964)
* *: Update to Prometheus v0.10.0-rc.1
* *: Update to Prometheus v0.10.0
* Ensure that handshake is sent back even in case of back-pressure (#6979)
* Ensure that handshake is sent back even in case of back-pressure
* Update client/network/src/protocol/generic_proto/handler/group.rs
Co-authored-by: Max Inden <mail@max-inden.de>
* Also process OpenRequest and Closed
* Fix bad merge
* God I'm so lost with all these merges
* Immediately return Closed
Co-authored-by: Max Inden <mail@max-inden.de>
* frame/authority-discovery: Have authorities() return both current and next (#6788)
* frame/authority-discovery: Have authorities() return both current and next
Authority address lookups on the DHT happen periodically (every 10
mintues) and are rather slow (~10 seconds).
In order to smooth the transition period between two sessions, have the
runtime module return both the current as well as the next authority
set. Thereby the client authority module will:
1. Publish its addresses one session in advance.
2. Prefetch the addresses of authorities of the next session in advance.
* frame/authority-discovery: Deduplicate authority ids
* frame/authority-discovery: Don't dedup on_genesis authorities
* frame/authority-discovery: Remove mut and sort on comparison in tests
* frame/authority-discovery: Use BTreeSet for deduplication
* Stop sending messages on legacy substream altogether (#6975)
* Stop sending messages on legacy substream altogether
* Ensure that handshake is sent back even in case of back-pressure
* Update client/network/src/protocol/generic_proto/handler/group.rs
Co-authored-by: Max Inden <mail@max-inden.de>
* Also process OpenRequest and Closed
* Also process OpenRequest and Closed
* Fix bad merge
* God I'm so lost with all these merges
* Immediately return Closed
* Add warning for sending on non-registered protocol
* Register GrandPa protocol in tests
* Update client/network/src/protocol/generic_proto/handler/group.rs
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Max Inden <mail@max-inden.de>
* manual seal is now consensus agnostic (#7010)
* manual seal is now consensus agnostic
* pr grumbles
* grandpa: report metrics on prevotes and precommits cast (#6970)
* grandpa: report metrics on prevotes and precommits cast
* Update client/finality-grandpa/src/environment.rs
Co-authored-by: Max Inden <mail@max-inden.de>
* Update client/finality-grandpa/src/environment.rs
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Max Inden <mail@max-inden.de>
* Fix compact npos solution edge count calculation (#7021)
This edge count is used for weighing, and it is somewhat trivial to review and verify that the current implementation was ignoring `votes16` field of the struct. As reminder, the struct is like this:
```rust
struct Compact {
votes1: ... ,
votes2: ...,
...,
votes16: ...,
}
```
I already will fix this in https://github.com/paritytech/substrate/pull/7007, but since it might take a while, this one can go in asap and make it to the very next runtime.
* Refactor & detach network metrics. (#6986)
* Refactor sc-network/service metrics.
1. Aggregate sc-network metrics into a submodule, introducing
two more sourced metrics to avoid duplicate atomics.
2. Decouple periodic sc-service network metrics from other
metrics, so that they can be updated independently.
* Update client/service/src/metrics.rs
* Update client/service/src/metrics.rs
* Node template complete import pipeline (#7014)
* Use complete import pipeline
* Line length
Co-authored-by: Dan Forbes <dan@danforbes.dev>
* client/authority-discovery: Throttle DHT requests (#7018)
* client/authority-discovery: Throttle DHT requests
Instead of passing one DHT query for each authority down to the network
every query interval, only pass MAX_IN_FLIGHT_LOOKUPS at a given point
in time, triggering new ones when previous ones return.
* client/authority-discovery/worker/test: Fix wrong constant
* Update Nicks docs to clarify that it is not production-ready (#6990)
* Ignore wasm_gc for debug build. (#6962)
* Ignore gc for debug build.
* alternate implementation
* Update utils/wasm-builder/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* fix
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Make `--file` optional for `generate-node-key` (#7043)
This pr makes the `--file` argument optional to `generate-node-key`.
If the argument is not given, the secret node key will be printed to
`stdout`. The public node key will always be printed to `stderr`.
* Downgrade wabt = 0.9.1 (#7042)
* Add metadata shadows to multisig pallet (#7029)
* Add metadata shadows to multisig pallet
* Update frame/multisig/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Fix broken link to democracy pallet. (#7026)
Old link was broken, and I put a new one.
* Revert "Fix broken link to democracy pallet. (#7026)" (#7047)
This reverts commit
|
||
|
|
a772eb27a2 |
client/cli: Update to fdlimit 0.2.1 (#7249)
fdlimit 0.2.1 contains a small patch allowing compilation on platforms where libc represents rlimits as u32. |
||
|
|
47b53a26ee | Fix typo cranelift_wasm (#7248) | ||
|
|
d10404dca4 | Remove hack around secondary connections handshakes (#7246) | ||
|
|
dbf4558633 |
Remove runtime registered extensions after execution (#7236)
* Remove runtime registered extensions after execution This prevents a bug when an extension was registered in native, but the native execution aborted without removing the extension again. Now, when executing the wasm code the extension is still registered and it fails of being registered. So, the wasm execution fails as well. This can happen for example for the `VerificationExt`. * Make it better |
||
|
|
6fe17000d0 |
client: fix log filters (#7241)
* client: fix multiple logger filters * client: add test for log filters setup |
||
|
|
2520ba3d97 | client: remove stale file (#7239) | ||
|
|
7142a16df8 | No longer display the legacy representation of the PeerId (#7230) | ||
|
|
5c0413aced |
client/network: Stop sending noise legacy handshake (#7211)
Stop sending legacy handshake payloads, i.e. length-prefixed protobuf payloads inside a length-prefixed noise frame. Receiving of such legacy handshakes is still supported, thus backwards compatibility is given. |
||
|
|
54c7e3e9fb |
Tidy some CLI stuff. (#7227)
Co-authored-by: Gav Wood <gavin@parity.io> |