- Aug 02, 2021
-
-
Shawn Tabrizi authored
* cargo +nightly fmt * add cargo-fmt check to ci * update ci * fmt * fmt * skip macro * ignore bridges
-
- Jul 27, 2021
-
-
ordian authored
* change ActiveLeaves to contain at most one activated * fix test
-
- Jul 26, 2021
-
-
Bernhard Schuster authored
* finality_target adjustments * fn finality_target * partially address review comments * fixins * more rustic if condition * fix tests * fixins * Update node/core/approval-voting/src/lib.rs Co-authored-by:
Andronik Ordian <[email protected]> * Update node/core/approval-voting/src/lib.rs Co-authored-by:
Robert Habermeier <[email protected]> * review comments part one * rename candidates -> block_descriptions * testing outline (incomplete, WIP) * test foo * split RelayChainSelection into RelayChainSelection{,WithFallback}, introduce HeaderProvider{,Provider} * make some stuff public (revert this soon™) * some test improvements * slips of pens * test fixins * add another trait abstraction * pending edge case tests + warnings fixes * more test cases * fin * chore fmt * fix cargo.lock * Undo obsolete changes * // comments * make mod pub(crate) * fix * minimize static bounds * resolve number() as before * fmt * post merge fix * address some nits Co-authored-by:
Andronik Ordian <[email protected]> Co-authored-by:
Robert Habermeier <[email protected]>
-
ordian authored
* initial integration and migration code * fix tests * fix counting test * assume the current version on missing file * use SelectRelayChain * remove duplicate metric * Update node/service/src/lib.rs Co-authored-by:
Robert Habermeier <[email protected]> * remove ApprovalCheckingVotingRule * address my concern * never mode for StagnantCheckInterval * REVERTME: some logs * w00t * it's ugly but it works * Revert "REVERTME: some logs" This reverts commit e210505a2e83e31c381394924500b69277bb042e. * it's handle, not handler * fix a few typos Co-authored-by:
Robert Habermeier <[email protected]>
-
- Jul 21, 2021
-
-
Lldenaurois authored
* node/dispute-coordinator: Introduce resume capability This commit introduces a resume capability for the dispute coordinator subsystem. Specifically, this will allow to recover data for disputes for which we have no local statements. * node/dispute-coordinator: Add resume function to TestState and modify Harness This commit modifies the TestHarness to return a TestState. We subsequently define a resume function on TestState that allows to interrupt the test and test specifically for behavior on startup of the subsystem. * node/dispute-coordinator: Implement resume functionality This commit implements the resume functionality for the subsystem. In addition, we will forward any DisputeParticipation::Participate message in order to ensure that disputes for which we do not have local statements may be recovered in due time. * Address Feedback * Modify to run handle_leaf on first import * Modify missing_local_statement logic * node/dispute-coordinator: Add simple test to ensure we adequately handle local_statements that are not missing. * Add missing keystore tests
-
- Jul 19, 2021
-
-
dependabot[bot] authored
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.91 to 0.2.98. - [Release notes](https://github.com/rust-lang/libc/releases) - [Commits](https://github.com/rust-lang/libc/compare/0.2.91...0.2.98 ) --- updated-dependencies: - dependency-name: libc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <[email protected]> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
Bumps [async-process](https://github.com/smol-rs/async-process) from 1.0.1 to 1.1.0. - [Release notes](https://github.com/smol-rs/async-process/releases) - [Changelog](https://github.com/smol-rs/async-process/blob/master/CHANGELOG.md) - [Commits](https://github.com/smol-rs/async-process/compare/v1.0.1...v1.1.0 ) Signed-off-by:
dependabot[bot] <[email protected]> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Jul 14, 2021
-
-
Denis_P authored
* CI: add spellcheck * revert me * CI: explicit command for spellchecker * spellcheck: edit misspells * CI: run spellcheck on diff * spellcheck: edits * spellcheck: edit misspells * spellcheck: add rules * spellcheck: mv configs * spellcheck: more edits * spellcheck: chore * spellcheck: one more thing * spellcheck: and another one * spellcheck: seems like it doesn't get to an end * spellcheck: new words after rebase * spellcheck: new words appearing out of nowhere * chore * review edits * more review edits * more edits * wonky behavior * wonky behavior 2 * wonky behavior 3 * change git behavior * spellcheck: another bunch of new edits * spellcheck: new words are koming out of nowhere * CI: finding the master * CI: fetching master implicitly * CI: undebug * new errors * a bunch of new edits * and some more * Update node/core/approval-voting/src/approval_db/v1/mod.rs Co-authored-by:
Andronik Ordian <[email protected]> * Update xcm/xcm-executor/src/assets.rs Co-authored-by:
Andronik Ordian <[email protected]> * Apply suggestions from code review Co-authored-by:
Andronik Ordian <[email protected]> * Suggestions from the code review * CI: scan only changed files Co-authored-by:
Andronik Ordian <[email protected]>
-
- Jul 13, 2021
-
-
Lldenaurois authored
* node/dispute-coordinator: Modify db to return SubsystemResult. In preparation of moving to the overlayed backend pattern, this commit moves the db to return SubsystemResult values. * node/dispute-coordinator: Add the Backend and OverlayedBackend. This commit adds the backend and overlayed backend structs to the dispute-coordinator subsystem. * node/dispute-coordinator: Implement backend and overlayed-backend. This commit finalizes the move from the previous transactional model to the common overlay pattern in subsystem persistency. This can be observed in the ApprovalVoting and ChainSelection subsystems. * Add module docs + license * Touchup merge
-
Lldenaurois authored
* disputes: Allow batch queries in dispute-coordinator This commit moves to batch queries when responding to QueryCandidateVotes messages. This simplifies the code in the provisioner and dispute-coordinator by no longer requiring to make use of a FuturesOrdered when awaiting multiple quries. Instead, the provisioner need only request the batch itself. * node/approval-voting: Address Feedback to fail on query element missing. * Address feedback * Fix implementer's guide
-
- Jul 12, 2021
-
-
ordian authored
* finer grained runtime-api caching * fix av-store * simplify a request * remove unused imports * fix tests
-
- Jul 09, 2021
-
-
asynchronous rob authored
* add a from_backing_statement to SignedDisputeStatement * inform dispute coordinator of all backing statements * add dispute coordinator message to backing tests * send positive dispute statement with every approval * issue disputes when encountering invalid candidates. * try to fix flaky test for CI (passed locally) * guide: keep track of concluded-positive disputes until pruned * guide: block implications * guide: new dispute inherent flow * mostly implement recency changes for dispute coordinator * add a clock to dispute coordinator * adjust DB tests * fix and add new dispute coordinator tests * provisioner: select disputes * import all validators' approvals * address nit: refactor backing statement submission * gracefully handle disconnected dispute coordinator * remove `review` comment * fix up old_tests * fix approval-voting compilation * fix backing compilation * use known-leaves in WaitForActivation * follow-up test fixing * add back allow(dead_code)
-
Bernhard Schuster authored
* remove duplicate thiserror annotations * chore: cargo spellcheck
-
Robert Klotzner authored
* Dispute protocol. * Dispute distribution protocol. * Get network requests routed. * WIP: Basic dispute sender logic. * Basic validator determination logic. * WIP: Getting things to typecheck. * Slightly larger timeout. * More typechecking stuff. * Cleanup. * Finished most of the sending logic. * Handle active leaves updates - Cleanup dead disputes - Update sends for new sessions - Retry on errors * Pass sessions in already. * Startup dispute sending. * Provide incoming decoding facilities and use them in statement-distribution. * Relaxed runtime util requirements. We only need a `SubsystemSender` not a full `SubsystemContext`. * Better usability of incoming requests. Make it possible to consume stuff without clones. * Add basic receiver functionality. * Cleanup + fixes for sender. * One more sender fix. * Start receiver. * Make sure to send responses back. * WIP: Exposed authority discovery * Make tests pass. * Fully featured receiver. * Decrease cost of `NotAValidator`. * Make `RuntimeInfo` LRU cache size configurable. * Cache more sessions. * Fix collator protocol. * Disable metrics for now. * Make dispute-distribution a proper subsystem. * Fix naming. * Code style fixes. * Factored out 4x copied mock function. * WIP: Tests. * Whitespace cleanup. * Accessor functions. * More testing. * More Debug instances. * Fix busy loop. * Working tests. * More tests. * Cleanup. * Fix build. * Basic receiving test. * Non validator message gets dropped. * More receiving tests. * Test nested and subsequent imports. * Fix spaces. * Better formatted imports. * Import cleanup. * Metrics. * Message -> MuxedMessage * Message -> MuxedMessage * More review remarks. * Add missing metrics.rs. * Fix flaky test. * Dispute coordinator - deliver confirmations. * Send out `DisputeMessage` on issue local statement. * Unwire dispute distribution. * Review remarks. * Review remarks. * Better docs.
-
- Jul 08, 2021
-
-
Bernhard Schuster authored
-
Lldenaurois authored
* node/approval-voting: Introduce Backend trait and Overlaybackend This commit introduces a Backend trait and attempts to move away from the Action model via an OverlayBackend as in the ChainSelection subsystem. * node/approval-voting: Add WriteOps for StoredBlockRange and BlocksAtHeight * node/approval-voting: Add load_all_blocks to overlay * node/approval-voting: Get all module tests to pass. This commit modifies all tests to ensure tests are passing. * node/approval-voting: Address oversights in the previous commit This commit addresses some oversights in the prior commit. 1. Inner errors in backend.write were swallowed 2. One-off write functions removed to avoid useless abstraction 3. Touch-ups in general * node/approval-voting: Move from TestDB to dyn KeyValueDB This commit removes the TestDB from tests.rs and replaces it with an in-memory kvdb. * node/approval-voting: Address feedback * node/approval-voting: Add license to ops.rs * node/approval-voting: Address second-pass feedback * Add TODO * node/approval-voting: Bump spec_version * node/approval-voting: Address final comments. * node/approval-voting: Introduce framework for full subsystem tests * node/approval-voting: Introduce basic tests to attempt to provide coverage via full subsystem tests * node/approval-voting: Introduce Chainbuilder
-
Lldenaurois authored
* node/approval-voting: Introduce Backend trait and Overlaybackend This commit introduces a Backend trait and attempts to move away from the Action model via an OverlayBackend as in the ChainSelection subsystem. * node/approval-voting: Add WriteOps for StoredBlockRange and BlocksAtHeight * node/approval-voting: Add load_all_blocks to overlay * node/approval-voting: Get all module tests to pass. This commit modifies all tests to ensure tests are passing. * node/approval-voting: Address oversights in the previous commit This commit addresses some oversights in the prior commit. 1. Inner errors in backend.write were swallowed 2. One-off write functions removed to avoid useless abstraction 3. Touch-ups in general * node/approval-voting: Move from TestDB to dyn KeyValueDB This commit removes the TestDB from tests.rs and replaces it with an in-memory kvdb. * node/approval-voting: Address feedback * node/approval-voting: Add license to ops.rs * node/approval-voting: Address second-pass feedback * Add TODO * node/approval-voting: Bump spec_version * node/approval-voting: Address final comments.
-
- Jul 07, 2021
-
-
Shawn Tabrizi authored
* update benchmark * add host function * update Substrate * fix unused Co-authored-by: parity-processbot <>
-
Sergey Pepyakin authored
* Add `canonicalize_nans` and enable `stack_depth_metering` * Update to the latest change in the substrate PR * Explain why the numbers are what they are. * Update Substrate to the latest master Co-authored-by: parity-processbot <>
-
Sergey Pepyakin authored
* PVF: unresponsive worker doesn't mean the candidate is bad * s/if let Some/.is_some
-
- Jul 06, 2021
-
-
asynchronous rob authored
* DB skeleton * key formats * lexicographic test * custom types for DB * implement backend for db-v1 * remove VoidBackend and integrate with real DbBackend * detect stagnant blocks on in interval * fix tests * add tests for stagnant * send ChainSelectionMessage::Approved * tests for DB backend * unused import * upgrade kvdb-memorydb Co-authored-by:
Andronik Ordian <[email protected]>
-
- Jul 05, 2021
-
-
ordian authored
* bump a bunch of deps in parity-common * update Substrate * fix browser check Co-authored-by: parity-processbot <>
-
Bastian Köcher authored
This is useful for tests where something is failing :D
-
- Jul 02, 2021
- Jun 30, 2021
-
-
thiolliere authored
* minro refactor * Update node/core/runtime-api/src/lib.rs Co-authored-by:
Keith Yeung <[email protected]> * Update node/core/runtime-api/src/lib.rs Co-authored-by:
Bastian Köcher <[email protected]> Co-authored-by:
Keith Yeung <[email protected]> Co-authored-by:
Bastian Köcher <[email protected]>
-
- Jun 28, 2021
-
-
Squirrel authored
-
Bastian Köcher authored
* Use wasm-builder from git This brings new features like compressed runtimes out of the box. * chore: update wasm builder dep. from 3.0.0 to master * Fix tests * Update node/core/pvf/tests/it/main.rs Co-authored-by:
Sergei Shulepov <[email protected]> Co-authored-by:
chevdor <[email protected]> Co-authored-by:
Sergei Shulepov <[email protected]>
-
- Jun 23, 2021
-
-
ordian authored
* av-store: use determine_new_blocks * fix tests * update the guide * rename KnownBlocks * fix iteration order * add a test
-
- Jun 22, 2021
-
-
Lldenaurois authored
* node/approval-voting: Introduce LruCache for pending Approval work This commit adds an LruCache that is intended to track the approval work submitted as background tasks in order to ensure that the validator needn't launch duplicate approval work for the same candidate across multiple blocks. A simple state machine is also introduced in order to differentiate pending and completed tasks. In addition, this LruCache will retain ValidationResults from the completed approval work once the task has completed. As per LruCache implementation, the oldest tasks will get evicted as new approval work is submitted to this cache. * node/approval-voting: Revert changes to master This commit reverts changes from the previous commit in order to simplify addressing the architecture discussion raised in the PR. * node/approval-voting: remove background task mpsc construct This diff removes the mpsc construct for background tasks in preparation for a move to leveraging RemoteHandles to launch approvals, rather than passing ApprovalRequests to a mpsc channel and handling the ApprovalRequests in the main subsystem task. * node/approval-voting: Introduce LRU Cache This commit introduces an LRU Cache but does not yet make use of it. * node/approval-voting: Remove BackgroundTasksMap and memoize currently_checking This commit removes the BackgroundTasksMap in the main subsystem task and introduces a method to keep track of RemoteHandles in such a way that we can ensure that a task is spawned once for a CandidateHash and relay parent tuple. * node/approval-voting: Remove BackgroundTasksMap and memoize currently_checking This commit removes the BackgroundTasksMap in the main subsystem task and introduces a map of FuturesUnordered per BlockNumber. In addition, a FusedFuture is generated by iterating across all FuturesUnordered for the BlockNumbers for which at least one candidate has approvals work running in the subsystem. * node/approval-voting: Address Rob's comments This diff removes the prior HashMap<BlockNumber, FuturesUnordered> construction and instead moves to a simple FuturesUnordered where all the work is await with Timeout. * node/approval-voting: Update Cargo.lock Due to a mismatch in rustc versions * node/approval-voting: Make use of actions when issuing_approval This commit fixes a small oversight in the logic of the prior commit. * node/approval-voting: Address Rob's feedback * node/approval-voting: Introduce lazy launch_approval evaluation * node/approval-voting: Send DistibruteApproval message on every LaunchApproval In addition to fixed the DistributeApproval bug, this commit also increases the size of the approvals cache and ensures the StaleGuard is removed when the advantageous approval state is reached. * node/approval-voting: Address final comments This commit removes the CandidateIndex from the ApprovalVoteRequest. Instead, the launch_approval function will compute the candidate_index from the block entry. In addition, a comment has been added explaining the difficulty of issuing approvals in the handle_actions function. * node/approval-voting: Set timeout to be 120s rather than 2s * Update Cargo.lock
-
Arkadiy Paronyan authored
* Fixed build * Bumped trie-db * update Substrate * impl-guide: fix broken links Co-authored-by: parity-processbot <> Co-authored-by:
Andronik Ordian <[email protected]>
-
ordian authored
* make spawn sync * improve error type
-
- Jun 21, 2021
-
-
asynchronous rob authored
* 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 <[email protected]> Co-authored-by:
Bernhard Schuster <[email protected]>
-
- Jun 20, 2021
-
-
ordian authored
* downgrade to debug * another thick log * bump spec versions in kusama, polkadot and westend again IV
-
- Jun 19, 2021
-
-
dependabot[bot] authored
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.2 to 0.8.4. - [Release notes](https://github.com/env-logger-rs/env_logger/releases) - [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md) - [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.2...v0.8.4 ) --- updated-dependencies: - dependency-name: env_logger dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <[email protected]> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
asynchronous rob authored
* guide: ChainApiMessage::BlockWeight * node: BlockWeight ChainAPI * fix compile issue * implement ChainApi::BlockWeight * add test for ChainApi::BlockWeight * update substrate Co-authored-by:
André Silva <[email protected]>
-
Lldenaurois authored
* node/approval-voting: test for invalid validator index in assignments This commit adds a unit test to show that, currently, validator indexes greater than n_validators (or the length of the approvals bitvector) are counted in n_assignments. In the subsequent commit we will correct this behavior. * node/approval-voting: ignore invalid validator indexes in n_assignments This commit ignores any validator assignments whose index is beyond n_validators. Without this check, an improperly crafted assignment would be counted towards the approval. It still remains that n_assignments and count_no_shows inspect the number of validators and approvals, respectively. Ideally we would add greater safety around ensuring these two values cannot differ.
-
- Jun 18, 2021
-
-
dependabot[bot] authored
Bumps [derive_more](https://github.com/JelteF/derive_more) from 0.99.11 to 0.99.14. - [Release notes](https://github.com/JelteF/derive_more/releases) - [Changelog](https://github.com/JelteF/derive_more/blob/master/CHANGELOG.md) - [Commits](https://github.com/JelteF/derive_more/compare/v0.99.11...v0.99.14 ) --- updated-dependencies: - dependency-name: derive_more dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <[email protected]> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Jun 17, 2021
-
-
Lldenaurois authored
* node/approval-voting: extract and test count_no_shows method This commit extracts no_show computation into a pure function so that it can be extensively unit tested. * node/approval-voting: ignore invalid validator indexes in count_no_show Previously indexes that were past the length of the approvals bitvector would contribute to the no_show count or the next_no_show value. This commit changes the behavior to ignore garbage values. * node/approval-voting: add comment for next_no_show adding clock_drift
-
ordian authored
* cleanup more tests and spaces * oops
-