- Feb 04, 2021
-
-
André Silva authored
* transaction-pool: drop unpropagable txs if local node cant author blocks * fix test compilation * transaction-pool: remove unnecessary static bound on CanAuthor Co-authored-by: Tomasz Drwięga <[email protected]> * rpc-api: add translation for PoolError::Unactionable * transaction-pool: add test for rejecting unactionable transactions * basic-authorship: fix doc test * transaction-pool: fix benchmark compilation * transaction-pool: rename CanAuthor to IsValidator * transaction-pool: nit in error message Co-authored-by: Tomasz Drwięga <[email protected]>
-
Benjamin Kampmann authored
Updates dependencies: parity-db 0.2.2 paste prometheus 0.11 cfg-if 1.0 strum 0.20 env_logger 0.8 pin-project prost nix platforms quickcheck 1.0
-
- Feb 03, 2021
-
-
Robert Klotzner authored
-
Pierre Krieger authored
Co-authored-by: parity-processbot <>
-
Arkadiy Paronyan authored
* IPFS server for transactions * Style * Indent * Log message * CLI option * Apply suggestions from code review Co-authored-by: Pierre Krieger <[email protected]> * Style * Style * Minor fixes Co-authored-by: Pierre Krieger <[email protected]>
-
- Feb 02, 2021
-
-
Robert Klotzner authored
* Add a `send_request` to `NetworkService`. This function delivers responses via a provided sender and also allows for sending requests to currently not connected peers. * Document caveats of send_request better. * Fix compilation in certain cases. * Update docs + introduce IfDisconnected enum for more readable function calls. * Doc fix. * Rename send_request to detached_request. * Whitespace fix - arrrgh * Update client/network/src/service.rs spaces/tabs Co-authored-by: Pierre Krieger <[email protected]> * Update client/network/src/request_responses.rs Documentation fix Co-authored-by: Roman Borschel <[email protected]> * Update client/network/src/service.rs Typo. Co-authored-by: Roman Borschel <[email protected]> * Update client/network/src/service.rs Better docs. Co-authored-by: Roman Borschel <[email protected]> * Update client/network/src/service.rs Typo. Co-authored-by: Roman Borschel <[email protected]> * Update client/network/src/service.rs Doc improvements. Co-authored-by: Roman Borschel <[email protected]> * Remove error in logs on dialing a peer. This is now valid behaviour. * Rename detached_request to start_request. As suggested by @romanb. * Fix merged master. * Fix too long lines. Co-authored-by: Pierre Krieger <[email protected]> Co-authored-by: Roman Borschel <[email protected]>
-
Pierre Krieger authored
-
Pierre Krieger authored
* Disable Kademlia random walk when --reserved-nodes is passed * Update client/network/src/discovery.rs Co-authored-by: Roman Borschel <[email protected]> Co-authored-by: Roman Borschel <[email protected]>
-
Bastian Köcher authored
* Fix tracing tests The tests were not working properly. 1. Some test was setting a global subscriber, this could lead to racy conditions with other tests. 2. A logging test called `process::exit` which is completly wrong. * Update client/tracing/src/lib.rs Co-authored-by: David <[email protected]> * Review comments Co-authored-by: David <[email protected]>
-
- Feb 01, 2021
-
-
Max Inden authored
* client/network: Re-enable light_client_handler.rs unit tests * client/network: Add scaffolding for light client using req-resp * client/network: Make it compile * client/network: Rename OutEvent SendRequest * client/network: Restructure light client request client and handler * client/network: Rename light client request client to sender * client/network: Remove light client prepare_request * client/network/src/light: Rework configuration * client/network: Formatting * client/network/light: Remove RequestId * client/network/light: Make request functions methods * client/network/light: Refactor request wrapping * client/network/light: Fix warnings * client/network/light: Serialize request in method * client/network/light: Make returning response a method * client/network/light: Depend on request response to timeout requests * client/network: Fix test compilation * client/network/light: Re-enable connection test * client/network/light: Re-enable timeout test * client/network/light: Re-enable incorrect_response test * client/network/light: Re-enable wrong_response_type test * client/network/light: Re-enable retry_count_failures test * client/network/light: Re-enable issue_request tests * client/network/light: Re-enable send_receive tests * client/network/light: Deduplicate test logic * client/network/light: Remove unused imports * client/network/light: Handle request failure * client/network/light: Move generate_protocol_config * client/network: Fix test compilation * client/network: Rename light client request client to sender * client/network: Handle too-many-requests error * client/network: Update outdated comments * client/network/light: Choose any peer if none has best block defined * .maintain: Replace sentry-node with local-docker-test-network Sentry nodes are deprecated. Thus there is no need for `.maintain/sentry-node` to spin up a sentry node test environment. Instead this commit rewrites the setup to contain two full-connected validators and one light client. With the steps below one can now spin up a local test network with two validators, one light-client, Prometheus and Grafana. - cargo build --release - sudo docker-compose -f .maintain/local-docker-test-network/docker-compose.yml up * client/network/light: Handle oneshot cancellation * client/network/light: Do not reduce retry count on missing peer * client/network/request-response: Assert in debug request id to be unique * client/network/light: Choose same limit as block request protocol * client/network: Report reputation changes via response Allow request response protocol handlers to issue reputation changes, by sending them back along with the response payload. * client/network: Remove resolved TODOs
-
Bastian Köcher authored
* Fix tracing spans are not being forwarded to spawned task There is a bug that tracing spans are not forwarded to spawned task. The problem was that only the telemetry span was forwarded. The solution to this is to use the tracing provided `in_current_span` to capture the current active span and pass the telemetry span explictely. We will now always enter the span when the future is polled. This is essentially the same strategy as tracing is doing with its `Instrumented`, but now extended for our use case with having multiple spans active. * More tests
-
- Jan 29, 2021
-
-
Bastian Köcher authored
* Sync: Fix issue of not freeing a block announcement slot There was a bug that when the block announcement validation returned an error, the slot reserved for this validation wasn't freed. This could lead to a situation where we rejected any block announcement from such a peer for that the block announcement returned an error multiple times. * Better logging * Fuck I'm dumb *
🤦 -
thiolliere authored
* update cargo.toml * use 2.0 in mmmr
-
Cecile Tonglet authored
* WIP * WIP * Test * bug fix * WIP * Revert "WIP" This reverts commit 4e51e9adfdf0dc7cf37b562b60a0e83ca1d0b00d. * doc * Improve comment on why all spans are preserved * Added missing suggestion from previous PR * Use BoxFuture * Move TelemetrySpan creation to sc-cli, need to test... * Test code * Adapt user code * Revert "Test code" This reverts commit 333806b2fe1626efaa2691f9f44d0b4dd979bc36. * Update client/service/src/task_manager/mod.rs Co-authored-by: David <[email protected]> * Better & simpler solution Co-authored-by: David <[email protected]>
-
Cecile Tonglet authored
* Doc fixes for sc-telemetry * Fix flag to disable log reloading * Forgot to reverse the conditions * Apply suggestion * Rename pattern to directives * Rename GlobalLoggerBuilder to LoggerBuilder * Return instead of expect * Use transparent outside the enum * Update client/tracing/src/logging/directives.rs Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Bastian Köcher <[email protected]>
-
Pierre Krieger authored
* Introduce sc_peerset::DropReason * Fix peerset tests
-
- Jan 28, 2021
-
-
Bastian Köcher authored
* Introduce a `Slot` type Instead of having some type definition that only was used in half of the code or directly using `u64`, this adds a new unit type wrapper `Slot`. This makes it especially easy for the outside api to know what type is expected/returned. * Change epoch duratioC * rename all instances of slot number to slot * Make the constructor private Co-authored-by: André Silva <[email protected]>
-
- Jan 27, 2021
-
-
Arkadiy Paronyan authored
* Fix state cache for cumulus * Apply suggestions from code review Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Bastian Köcher <[email protected]>
-
Pierre Krieger authored
-
- Jan 26, 2021
-
-
Jon Häggblad authored
Remove checks that involve cross checking authorities in the runtime against what we have stored in the AuthoritySetChanges.
-
Pierre Krieger authored
-
Max Inden authored
* client/network: Report reputation changes via response When handling a request by a remote peer in a request response handler, one might want to in- or de-crease the reputation of the peer. E.g. one might want to decrease the reputation slightly for each request, given that it forces the local node to do work, or one might want to issue a larger reputation change due to a malformed request by the remote peer. Instead of having to pass a peerset handle to each request response handler, this commit suggests to allow handlers to isssue reputation changes via the provided `pending_response` `oneshot` channel. A reputation change issued by a request response handler via the `pending_response` channel is received by the `RequestResponsesBehaviour` which passes the reputation change up as an event to eventually be send to a peerset via a peerset handle. * client/network/req-resp: Use Vec::new instead of None::<Vec<_>> * client/network: Rename Response to OutgoingResponse Given that a request-response request is not called `Request` but `InomingRequest`, rename a request-response response to `OutgoingResponse`. * client/finality-grandpa-warp: Send empty rep change via response
-
- Jan 25, 2021
-
-
Max Inden authored
* client/network/req-resp: Add unit test for request id collision * client/network/req-resp: Prevent request id collision `RequestId` is a monotonically increasing integer, starting at `1`. A `RequestId` is unique for a single `RequestResponse` behaviour, but not across multiple `RequestResponse` behaviours. Thus when handling `RequestId` in the context of multiple `RequestResponse` behaviours, one needs to couple the protocol name with the `RequestId` to get a unique request identifier. This commit ensures that pending requests (`pending_requests`) and pending responses (`pending_response_arrival_time`) are tracked both by their protocol name and `RequestId`. * client/network/req-resp: Remove unused import * client/network/req-resp: Introduce ProtocolRequestId struct * client/network/req-resp: Update test doc comment Treat `RequestId` as an opaque type. * client/network/req-resp: Improve expect proof
-
- Jan 24, 2021
-
-
Arkadiy Paronyan authored
-
- Jan 22, 2021
-
-
cheme authored
* Moving offchain change set to state machine overlay change set, preparing use of change set internally. * Make change set generic over key and value, and use it for offchain indexing. * test ui change * remaining delta * generating with standard method * Remove 'drain_committed' function, and documentation. * Default constructor for enabling offchain indexing. * Remove offchain change specific iterators. * remove pub accessor * keep previous hierarchy, just expose iterator instead. * Update primitives/state-machine/src/overlayed_changes/mod.rs Co-authored-by: Tomasz Drwięga <[email protected]> * fix line break * missing renamings * fix import * fix new state-machine tests. * Don't expose InnerValue type. * Add test similar to set_storage. * Remove conditional offchain storage (hard to instantiate correctly). * fix * offchain as children cannot fail if top doesn't Co-authored-by: Addie Wagenknecht <[email protected]> Co-authored-by: Tomasz Drwięga <[email protected]>
-
- Jan 21, 2021
-
-
Jon Häggblad authored
* grandpa: persist block number for last block of authority set * grandpa: fix authority_set_changes field in tests * grandpa: fix date on copyright notice * grandpa-rpc: implement cleaner api for prove finality rpc * grandpa-rpc: replace the old prove_finality with the new one * grandpa: undo accidental whitespace change * grandpa-rpc: start work on redo of the finality_proof RPC API * grandpa: manual impl of Decode for AuthoritySet * grandpa: add comment about appending changes for forced changes * grandpa: flip order in set changes, tidy up some comments * grandpa: update some of the doc comments * grandpa: store authority set changes when applying forced changes * grandpa: simplify finality_proof.rs * grandpa: move checks and extend tests in finality_proof * grandpa: address first set of review comments * grandpa: check that set changes have well-defined start * grandpa: rework prove_finality and assocated tests * grandpa: make AuthoritySetChanges tuple struct * grandpa: add assertions for tracking auth set changes * grandpa: remove StorageAndProofProvider trait * grandpa: return more informative results for unexpected input to RPC * grandpa: tiny tweak to error msg * grandpa: fix tests * grandpa: add error specific to finality_proof * grandpa: fix review comments * grandpa: proper migration to new AuthoritySet * grandpa: fix long lines * grandpa: fix unused warning after merge Co-authored-by: André Silva <[email protected]>
-
Ashley authored
* Made a start * So the proof between authority set is phragmen one, this is crazy big, or is there some signing of the result : that is the storage key, damn? * ok getting from header digest seems doable. * for testing * get set id from storage directly (should use runtime to handler change). * move test to init * correct auth key * fix iteration * Correct proof content * actually update block number. * actually check last justif against its header * justification relation to new authorities through header hash check is needed here. This assumes the hash from header is calculated. * Few changes * Connected up cheme's branch * Clean up * Move things around a bit so that adding the grandpa warp sync request response protocol happens in the node code * Nits * Changes to comments * Cheme changes * Remove todos and test compile. * Rename _authority_ related proof function to _warp_sync_ . * Update client/grandpa-warp-sync/src/lib.rs quick fix * Put the warp sync request response protocol behind a feature flag because we dont' need it on a light client. * Update client/grandpa-warp-sync/src/lib.rs Quick fix * Update Cargo.lock * Adding test, comment on limitation related to 'delay', this could be implemented but with a cost. * Set between a delay override last fragment. * Check for pending authority set change at start. * adjust index * custom cache is not a good idea. * Use a simple cache instead. * restore broken indentation * Address crate rename * Merge conflict badly resolved, sorry Co-authored-by: cheme <[email protected]> Co-authored-by: Pierre Krieger <[email protected]>
-
Bastian Köcher authored
* Make offchain indexing work This fixes some bugs with offchain indexing to make it actually working ;) * Fix tests * Fix browser build * Update client/db/src/offchain.rs Co-authored-by: cheme <[email protected]> * Remove seperation between prefix and key Co-authored-by: cheme <[email protected]>
-
- Jan 20, 2021
-
-
Cecile Tonglet authored
-
Pierre Krieger authored
* Disable Nagle algorithm * Oops, didn't compile
-
- Jan 19, 2021
-
-
Bastian Köcher authored
* Sync: Propagate block announcement data This pr adds a feature to the sync protocol to propagate the data that we received alongside a block announcement. This is done by adding a cache that caches the last X block announcement data where X is set to the number of `in_peers` (giving every peer the chance to send us a different block). This will be required by parachains to ensure that even peers who are not connected to a collator receive the data alongside the block announcement to properly validate it and request the block. * Review comment * Bring back the code and add new variant to ensure we don't insert block announce data when something wasn't checked * Also use out_peers
-
Pierre Krieger authored
* Add explicit limits to notifications sizes and adjust yamux buffer size * Docfix * Tests * Document these 10 bytes
-
- Jan 18, 2021
-
-
André Silva authored
* babe: log block and slot number on verification * babe: debug log formatting Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Bastian Köcher <[email protected]>
-
Pierre Krieger authored
-
Pierre Krieger authored
-
- Jan 15, 2021
-
-
Pierre Krieger authored
-
Pierre Krieger authored
-
Max Inden authored
* *: Update to libp2p v0.34.0 * client/network: Update bytes, unsigned-varint and asynchronous-codec * client: Update to prost v0.7
-
- Jan 14, 2021
-
-
Arkadiy Paronyan authored
* CLI options and DB upgrade * Transaction storage * Block pruning * Block pruning test * Style * Naming * Apply suggestions from code review Co-authored-by: Bastian Köcher <[email protected]> * Apply suggestions from code review Co-authored-by: Bastian Köcher <[email protected]> * Style Co-authored-by: Bastian Köcher <[email protected]>
-
Bastian Köcher authored
* Log target before prefix for more consistent logging As requested, this moves the target before the prefix to have consistent logging between logs with and without a prefix. * Add a space
-