- Mar 11, 2021
-
-
asynchronous rob authored
* more tracing for av-store * Update node/core/av-store/src/lib.rs Co-authored-by:
Bastian Köcher <[email protected]> * Update node/core/av-store/src/lib.rs Co-authored-by:
Bastian Köcher <[email protected]> * Update node/core/av-store/src/lib.rs Co-authored-by:
Bastian Köcher <[email protected]> * Update tracing everywhere * Fix build * More fixes * Push cargo.lock * Update Co-authored-by:
Bastian Köcher <[email protected]> Co-authored-by:
Bastian Köcher <[email protected]>
-
Cecile Tonglet authored
Companion for https://github.com/paritytech/substrate/pull/8143
-
- Mar 10, 2021
-
-
asynchronous rob authored
* make approval voting resilient to dropped requests * some more * skip whole chain if encountering spurious error
-
asynchronous rob authored
-
ordian authored
* prefix parachain log targets with parachain:: * even more consistent
-
Ashley authored
* Add a config field to babe epochs * Fix test * Add BABE_GENESIS_EPOCH_CONFIG consts * Use PrimaryAndSecondaryVRFSlots and remove newlines * Make epoch_configs Some * Fix tests * Fix test service tests * Add a BabeEpochConfigMigrations OnRuntimeUpgrade * Apply suggestions * Use PrimaryAndSecondaryPlainSlots in kusama * Remove migration from test runtime and rococo * Add HasPalletPrefix * Rename to BabePalletPrefix and change BabeApi -> Babe * "Update Substrate" * Update substrate * Resolve parantheses errors Co-authored-by: parity-processbot <>
-
- Mar 09, 2021
-
-
ordian authored
* approval-voting metrics * metric: approvals produced
-
asynchronous rob authored
* add a magic number to backing statements encoded * fix fallout in statement table * fix some fallout in backing * add magic to approval votes * remove last references to Candidate variant * update size-hint
-
Robert Klotzner authored
* Statement distribution is now validator only. * Avoid Arc creation where it is not necessarily needed.
-
- Feb 26, 2021
-
-
Robert Klotzner authored
* WIP * availability distribution, still very wip. Work on the requesting side of things. * Some docs on what I intend to do. * Checkpoint of session cache implementation as I will likely replace it with something smarter. * More work, mostly on cache and getting things to type check. * Only derive MallocSizeOf and Debug for std. * availability-distribution: Cache feature complete. * Sketch out logic in `FetchTask` for actual fetching. - Compile fixes. - Cleanup. * Format cleanup. * More format fixes. * Almost feature complete `fetch_task`. Missing: - Check for cancel - Actual querying of peer ids. * Finish FetchTask so far. * Directly use AuthorityDiscoveryId in protocol and cache. * Resolve `AuthorityDiscoveryId` on sending requests. * Rework fetch_task - also make it impossible to check the wrong chunk index. - Export needed function in validator_discovery. * From<u32> implementation for `ValidatorIndex`. * Fixes and more integration work. * Make session cache proper lru cache. * Use proper lru cache. * Requester finished. * ProtocolState -> Requester Also make sure to not fetch our own chunk. * Cleanup + fixes. * Remove unused functions - FetchTask::is_finished - SessionCache::fetch_session_info * availability-distribution responding side. * Cleanup + Fixes. * More fixes. * More fixes. adder-collator is running! * Some docs. * Docs. * Fix reporting of bad guys. * Fix tests * Make all tests compile. * Fix test. * Cleanup + get rid of some warnings. * state -> requester * Mostly doc fixes. * Fix test suite. * Get rid of now redundant message types. * WIP * Rob's review remarks. * Fix test suite. * core.relay_parent -> leaf for session request. * Style fix. * Decrease request timeout. * Cleanup obsolete errors. * Metrics + don't fail on non fatal errors. * requester.rs -> requester/mod.rs * Panic on invalid BadValidator report. * Fix indentation. * Use typed default timeout constant. * Make channel size 0, as each sender gets one slot anyways. * Fix incorrect metrics initialization. * Fix build after merge. * More fixes. * Hopefully valid metrics names. * Better metrics names. * Some tests that already work. * Slightly better docs. * Some more tests. * Fix network bridge test.
-
- Feb 25, 2021
-
-
asynchronous rob authored
* some initial spans for approval voting * add stage earlier
-
- Feb 24, 2021
-
-
Bastian Köcher authored
* Companion for Substrate #8185 https://github.com/paritytech/substrate/pull/8185 * "Update Substrate" Co-authored-by: parity-processbot <>
-
- Feb 23, 2021
-
-
asynchronous rob authored
* add tracing to approval voting * notify if session info is not working * add dispute period to chain specs * propagate genesis session to parachains runtime * use `on_genesis_session` * protect against zero cores in computation * tweak voting rule to be based off of best and add logs * genesis configuration should use VRF slots only * swallow more keystore errors * add some docs * make validation-worker args non-optional and update clap * better tracing for bitfield signing and provisioner * pass amount of bits in bitfields to inclusion instead of recomputing * debug -> warn for some logs * better tracing for availability recovery * a little av-store tracing * bridge: forward availability recovery messages * add missing try_from impl * some more tracing * improve approval distribution tracing * guide: hold onto pending approval messages until NewBlocks * Hold onto pending approval messages until NewBlocks * guide: adjust comment * process all actions for one wakeup at a time * vec * fix network bridge test * replace randomness-collective-flip with Babe * remove PairNotFound
-
- Feb 22, 2021
-
-
Bastian Köcher authored
* Substrate companion for #8163 https://github.com/paritytech/substrate/pull/8163 * "Update Substrate" Co-authored-by: parity-processbot <>
-
- Feb 19, 2021
-
-
Bernhard Schuster authored
* feat/jaeger: more spans, more stages Stage numbers are still arbitrarily picked. * feat/jaeger: additional spans * chore/spellcheck: improve the dictionary * fix/jaeger JaegerSpan -> jaeger::Span
-
- Feb 18, 2021
-
-
asynchronous rob authored
* Use KeyValueDB in approval-voting * use KVDB instead of AuxStore * add rocksdb to cargo toml * add a Config struct * create new DB in service * fix dep for regular node * make optional * post merge fix Co-authored-by:
Andronik Ordian <[email protected]>
-
Bernhard Schuster authored
* feat/jaeger: unify all used tags, introduce builder pattern, additional candidate annotations * chores * fixes, incomplete fn rename * another fix * more fixes * silly doctests
-
- Feb 17, 2021
-
-
asynchronous rob authored
* guide changes for a fast-path requesting from backing validators * add backing group to availability recovery message * add new phase to interaction * typos * add full data messages * handle new network messages * dispatch full data requests * cleanup * check chunk index * test for invalid recovery * tests * Typos. * fix some grumbles * be more explicit about error handling and control flow * fast-path param * use with_chunks_only in Service Co-authored-by:
Robert Klotzner <[email protected]>
-
asynchronous rob authored
-
ordian authored
* insta-approval for low-node testnets * fix * handle 0 needed_approvals and add some logs * downgrade logs to debug, per block * fix a warning * more useful logs * test * finish test
🎉 * not so fast * the test passes, but is it enough? -
ordian authored
-
asynchronous rob authored
* guide: max one candidate with upgrade per block * max one candidate with upgrade per block * ignore on runtime level too
-
- Feb 16, 2021
-
-
ordian authored
* tests: use future::join * fix panic in cache_session_info_for_head * fix test assertion * fix infinite loop in determine_new_blocks * fix ordering in determine_new_blocks * fix expected ancestry in tests
-
asynchronous rob authored
* integrate approval voting into overseer * expose public API and make keystore arc * integrate overseer in service * guide: `ApprovedAncestor` returns block number * return block number along with hash from ApprovedAncestor * introduce a voting rule for reporting on approval checking * integrate the delay voting rule * Rococo configuration * fix compilation and add slack * fix web-wasm build * tweak parameterization * migrate voting rules to asycn * remove hack comment
-
- Feb 15, 2021
-
-
Sergey Pepyakin authored
* Update shared-memory to new version & refactor This two are combined in a single commit because the new version of shared-memory doesn't provide the used functionality anymore. Therefore in order to update the version of this crate we implement the functionality that we need by ourselves, providing a cleaner API along the way. * Significantly decrease the required memory for a workspace For some reason it was allocating an entire GiB of memory. I suspect this has something to do with the current memory size limit of a PVF execution environment (the prior name suggests that). However, we don't need so much memory anywhere near that amount. In fact, we could reduce the allocated size even more, but that maybe for the next time. * Unlink shmem just after opening That will make sure that we don't leak the shmem accidentally. * Do not compile workspace mod for androind and wasm * Address some review comments * Fix the test runner * Fix missed +1 for the attached flag * Use .expect rather than .unwrap * Add a rustdoc for the workspace module * fixup! Use .expect rather than .unwrap * Add some doc comments to pub members * Warn on error removing shm_unlink * Change the alignment implementation * Fix the comment nit
-
Bastian Köcher authored
* Polkadot companion for 8114 https://github.com/paritytech/substrate/pull/8114 * "Update Substrate" Co-authored-by: parity-processbot <>
-
- Feb 14, 2021
-
-
Bastian Köcher authored
* Notify collators about seconded collation This pr adds functionality to inform a collator that its collation was seconded by a parachain validator. Before this signed statement was only gossiped over the validation substream. Now, we explicitly send the seconded statement to the collator after it was validated successfully. Besides that it changes the `CollatorFn` to return an optional result sender that is informed when the build collation was seconded by a parachain validator. * Add test * Make sure we only send `Seconded` statements * Make sure we only receive valid statements * Review feedback
-
- Feb 11, 2021
-
-
asynchronous rob authored
* skeleton * skeleton aux-schema module * start approval types * start aux schema with aux store * doc * finish basic types * start approval types * doc * finish basic types * write out schema types * add debug and codec impls to approval types * add debug and codec impls to approval types also add some key computation * add debug and codec impls to approval types * getters for block and candidate entries * grumbles * remove unused AssignmentId * load_decode utility * implement DB clearing * function for adding new block entry to aux store * start `canonicalize` implementation * more skeleton * finish implementing canonicalize * tag TODO * implement a test AuxStore * add allow(unused) * basic loading and deleting test * block_entry test function * add a test for `add_block_entry` * ensure range is exclusive at end * test clear() * test that add_block sets children * add a test for canonicalize * extract Pre-digest from header * utilities for extracting RelayVRFStory from the header-chain * add approval voting message types * approval distribution message type * subsystem skeleton * state struct * add futures-timer * prepare service for babe slot duration * more skeleton * better integrate AuxStore * RelayVRF -> RelayVRFStory * canonicalize * implement some tick functionality * guide: tweaks * check_approval * more tweaks and helpers * guide: add core index to candidate event * primitives: add core index to candidate event * runtime: add core index to candidate events * head handling (session window) * implement `determine_new_blocks` * add TODO * change error type on functions * compute RelayVRFModulo assignments * compute RelayVRFDelay assignments * fix delay tranche calc * assignment checking * pluralize * some dummy code for fetching assignments * guide: add babe epoch runtime API * implement a current_epoch() runtime API * compute assignments * candidate events get backing group * import blocks and assignments into DB * push block approval meta * add message types, no overseer integration yet * notify approval distribution of new blocks * refactor import into separate functions * impl tranches_to_approve * guide: improve function signatures * guide: remove Tick from ApprovalEntry * trigger and broadcast assignment * most of approval launching * remove byteorder crate * load blocks back to finality, except on startup * check unchecked assignments * add claimed core to approval voting message * fix checks * assign only to backing group * remove import_checked_assignment from guide * newline * import assignments * abstract out a bit * check and import approvals * check full approvals from assignment import too * comment * create a Transaction utility * must_use * use transaction in `check_full_approvals` * wire up wakeups * add Ord to CandidateHash * wakeup refactoring * return candidate info from add_block_entry * schedule wakeups * background task: do candidate validation * forward candidate validation requests * issue approval votes when requested * clean up a couple TODOs * fix up session caching * clean up last unimplemented!() items * fix remaining warnings * remove TODO * implement handle_approved_ancestor * update Cargo.lock * fix runtime API tests * guide: cleanup assignment checking * use claimed candidate index instead of core * extract time to a trait * tests module * write a mock clock for testing * allow swapping out the clock * make abstract over assignment criteria * add some skeleton tests and simplify params * fix backing group check * do backing group check inside check_assignment_cert * write some empty test functions to implement * add a test for non-backing * test that produced checks pass * some empty test ideas * runtime/inclusion: remove outdated TODO * fix compilation * av-store: fix tests * dummy cert * criteria tests * move `TestStore` to main tests file * fix unused warning * test harness beginnings * resolve slots renaming fallout * more compilation fixes * wip: extract pure data into a separate module * wip: extract pure data into a separate module * move types completely to v1 * add persisted_entries * add conversion trait impls * clean up some warnings * extract import logic to own module * schedule wakeups * experiment with Actions * uncomment approval-checking * separate module for approval checking utilities * port more code to use actions * get approval pipeline using actions * all logic is uncommented * main loop processes actions * all loop logic uncommented * separate function for handling actions * remove last unimplemented item * clean up warnings * State gives read-only access to underlying DB * tests for approval checking * tests for approval criteria * skeleton test module for import * list of import tests to do * some test glue code * test reject bad assignment * test slot too far in future * test reject assignment with unknown candidate * remove loads_blocks tests * determine_new_blocks back to finalized & harness * more coverage for determining new blocks * make `imported_block_info` have less reliance on State * candidate_info tests * tests for session caching * remove println * extricate DB and main TestStores * rewrite approval checking logic to counteract early delays * move state out of function * update approval-checking tests * tweak wakeups & scheduling logic * rename check_full_approvals * test that assignment import updates candidate * some approval import tests * some tests for check_and_apply_approval * add 'full' qualifier to avoid confusion * extract should-trigger logic to separate function * some tests for all triggering * tests for when we trigger assignments * test wakeups * add block utilities for testing * some more tests for approval updates * approved_ancestor tests * new action type for launch approval * process-wakeup tests * clean up some warnings * fix in_future test * approval checking tests * tighten up too-far-in-future * special-case genesis when caching sessions * fix bitfield len Co-authored-by:
Andronik Ordian <[email protected]>
-
- Feb 02, 2021
-
-
Sergey Pepyakin authored
* PVD: `block_number`->`relay_parent_number` * ValidationParams: `relay_chain_height`->`relay_parent_number` * Expose DMQ MQC hash as a well-known-key This way the relay storage merkle proofs will be able to obtain the DMQ MQC hash and we will be able to remove the it from the PersistedValidationData struct. * PersistedValidationData: Remove HRMP MQC heads * PersistedValidationData: Remove `dmq_mqc_head` * Expose the HRMP ingress channel index as a well-known-key This way a parachain (PVF and collator) can find all the parachains that have an outbound channel to the given one. That allows in turn to find all the inbound channels for the given para. Having access to that allows the parachain to get the same information as the hrmp_mqc_heads now provide. * Rename `relay_storage_root` to `relay_parent_storage_root`
-
- Jan 29, 2021
-
-
thiolliere authored
* upgrade codec and bitvec * "Update Substrate" Co-authored-by: parity-processbot <>
-
- Jan 28, 2021
-
-
Bastian Köcher authored
* Companion for #7997 https://github.com/paritytech/substrate/pull/7997 * rename slot_number to slot * rename SlotNumber type in overseer docs * "Update Substrate" Co-authored-by:
André Silva <[email protected]> Co-authored-by: parity-processbot <>
-
Peter Goodspeed-Niklaus authored
* use proper descriptive generic type names * cleanup * Table stores a list of detected misbehavior per authority * add Table::drain_misbehaviors_for * WIP: unify misbehavior types; report multiple misbehaviors per validator Code checks, but tests don't yet pass. * update drain_misbehaviors: return authority id as well as specific misbehavior * enable unchecked construction of Signed structs in tests * remove test-features feature & unnecessary generic * fix backing tests This took a while to figure out, because where we'd previously been passing around `SignedFullStatement`s, we now needed to construct those on the fly within the test, to take advantage of the signature- checking in the constructor. That, in turn, necessitated changing the iterable type of `drain_misbehaviors` to return the validator index, and passing that validator index along within the misbehavior report. Once that was sorted, however, it became relatively straightforward: just needed to add appropriate methods to deconstruct the misbehavior reports, and then we could construct the signed statements directly. * fix bad merge
-
- Jan 26, 2021
-
-
Fedor Sakharov authored
* Add memory-lru cache to runtime-api * Add cache.rs * Adds MallocSizeOf * Review nits * Add a cached requests metric * More review nits * Some more review nits
-
- Jan 25, 2021
-
-
Bastian Köcher authored
* Put parachain head hash into `CandidateDescriptor` * Update guide * Add some checks
-
- Jan 18, 2021
-
-
Sergey Pepyakin authored
* collation-generation: use persisted validation data * node: remote FullValidationData API * runtime: remove FullValidationData API * backing tests: use persisted validation data * FullCandidateReceipt: use persisted validation data This is not a big change since this type is not used anywhere * Remove ValidationData and TransientValidationData Also update the guide
-
asynchronous rob authored
* skeleton * skeleton aux-schema module * start approval types * start aux schema with aux store * doc * finish basic types * start approval types * doc * finish basic types * write out schema types * add debug and codec impls to approval types * add debug and codec impls to approval types also add some key computation * add debug and codec impls to approval types * getters for block and candidate entries * grumbles * remove unused AssignmentId * load_decode utility * implement DB clearing * function for adding new block entry to aux store * start `canonicalize` implementation * more skeleton * finish implementing canonicalize * tag TODO * implement a test AuxStore * add allow(unused) * basic loading and deleting test * block_entry test function * add a test for `add_block_entry` * ensure range is exclusive at end * test clear() * test that add_block sets children * add a test for canonicalize * Update node/core/approval-voting/src/aux_schema/mod.rs Co-authored-by:
Peter Goodspeed-Niklaus <[email protected]> * Update node/core/approval-voting/src/aux_schema/tests.rs Co-authored-by:
Peter Goodspeed-Niklaus <[email protected]> * Update node/core/approval-voting/src/aux_schema/mod.rs Co-authored-by:
Peter Goodspeed-Niklaus <[email protected]> Co-authored-by:
Peter Goodspeed-Niklaus <[email protected]>
-
dependabot[bot] authored
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.11 to 0.3.12. - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.11...0.3.12 ) Signed-off-by:
dependabot[bot] <[email protected]> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Jan 17, 2021
-
-
Bastian Köcher authored
* Improve logging to make debugging parachains easier This pr should make debugging parachains easier, by printing more information about the validation process. *
🤦 * moare * Convert to debug
-
- Jan 15, 2021
-
-
dependabot[bot] authored
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.10 to 0.3.11. - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.10...0.3.11 ) Signed-off-by:
dependabot[bot] <[email protected]> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Jan 12, 2021
-
-
dependabot[bot] authored
Bumps [log](https://github.com/rust-lang/log) from 0.4.11 to 0.4.13. - [Release notes](https://github.com/rust-lang/log/releases) - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/log/compare/0.4.11...0.4.13 ) Signed-off-by:
dependabot[bot] <[email protected]> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-