- Oct 28, 2019
-
-
Max Inden authored
The authority discovery module enables authorities to be discoverable and discover other authorities to improve interconnection among them. In order to achieve this the module needs to know when the authority set changes, thus when a session changes. One has to register a module as a *session handler* in order for it to be notified of changing sessions. The order and number of these *session handlers* **MUST** correspond to the order and number of the *session keys*. Commit 7fc21cea added the authority discovery to the `SessionHandlers`. Given that the authority discovery module piggybacks on the Babe session keys the commit violated the above constraint. This commit reverts most of 7fc21cea, leaving `core/authority-discovery` and `srml/authority-discovery` untouched.
-
- Oct 27, 2019
-
-
Gavin Wood authored
This reverts commit a57c72be.
-
Nikolay Volf authored
* Transaction pool watch intristics. * Track extrinsic rpc methods. * Test for pool watcher. * Track extrinsic rpc test. * Fix rpc naming. * review fixes * Update jsonrpc and use une subcription. * Naming and dependencies.
-
Xiliang Chen authored
* fix node-template Use MultiSignature to maintain compatibility with substrate-node Reset version to 1 Remove unused const * fix chain_spec * line width
-
- Oct 24, 2019
-
-
thiolliere authored
* Now construct_runtime must include treasury config so account is created at genesis. * if it doesn't though it is ok, account will be created when the amount put is more than existential deposit.
-
Pierre Krieger authored
* Rename NewService to Service * Move new_impl! macro to builder module * Inline new_impl! * Minor cleanup * Inline the offchain_workers() function * Fix indentation level * Inline start_rpc * Remove RpcBuilder trait
-
Gavin Wood authored
* Add SECP256k1/ECDSA support for transaction signing. * Refactoring and fixes * Fix for contracts * Avoid breaking runtime host function * Build fixes, make subkey work more generaically. * Fix tests * Dedpulicate a bit of code, remove unneeded code, docs * Bump runtime version * Fix a test and clean up some code. * Derivation can derive seed. * Whitespace * Bump runtime again. * Update core/primitives/src/crypto.rs Co-Authored-By: Kian Paimani <[email protected]> * Update core/primitives/src/ecdsa.rs Co-Authored-By: Kian Paimani <[email protected]> * Fix AppVerify
-
André Silva authored
* node: spawn grandpa voter as essential task * node: stop babe authoring task on exit * node: remove unnecessary future boxing * Apply suggestions from code review
-
- Oct 23, 2019
-
-
Kian Paimani authored
* Fix phragmen-election compile to wasm * Fix chain_spec stuff * Fix panic with no term duration
-
Bastian Köcher authored
* Throw an error if a bootnode is registered with two different peer ids * Rename error * Fix compilation :( * Review feedback
-
- Oct 18, 2019
-
-
* grandpa: support pluggable custom voting rules * grandpa: add docs to grandpa voting rule * grandpa: make voting rule mandatory * grandpa: add test for voting rule * node: add GRANDPA voting rule * grandpa: pass backend to VotingRule * core: fix docs in SelectChain::finality_target * grandpa: implement 3/4 of unfinalized chain restriction as voting rule * grandpa: rename AlwaysBehindBestBlock voting rule * grandpa: fix tests * grandpa: remove useless test * grandpa: extend environemnt voting rule test * grandpa: add proofs to unreachable statements * grandpa: fix typo * grandpa: fix docs
-
- Oct 17, 2019
-
-
Kian Paimani authored
* Initial draft that compiles * Extract payment stuff from balances * Extract multiplier update stuff from system * Some fixes. * Update len-fee as well * some review comments. * Remove todo * bump
-
- Oct 12, 2019
-
-
André Silva authored
-
André Silva authored
-
- Oct 02, 2019
-
-
DemiMarie-parity authored
* Update all dependencies * Upgrade dependencies whenever “easy” “easy” means that there are no major changes required. * Fix build and bump paste dependency to 0.1.6 * Remove dead code * Re-add = dependency for futures-preview * Add missing std features for runtime-io * Remove git dependencies as updated versions have been published to crates.io * try to debug bug * For sr-io, "std" should imply "no_oom" and "no_panic_handler". Otherwise, rustc complains (correctly) about duplicate lang items. * Add missing "runtime-io/std" features * Fix compilation errors * Prevent duplicate lang items Rust does not allow duplicate lang items. When compiled without the `std` feature, `sr-io` defines two lang items. Therefore, `sr-io` compiled without `feature = "std"` must not be linked with `std`. However, `pwasm-utils` and `wasmi-validation` both bring in `std` unless compiled with `default-features = "false"`. This caused a duplicate lang item error. Building both with `default-features = "false"` prevents this error. When building with `feature = "std"`, they should both be built with the `std` feature, so this feature needs to be explicitly depended on. * Bump `impl_version` * Make tests pass Three tests used 1 less gas than they had previously. * Try to un-break build * Add a Cargo.lock file * Revert offchain code * Revert "Revert offchain code" This reverts commit d216d08c . * Don’t try to send a body with a GET request without adding a Transfer-Encoding or Content-Length header. This has always been wrong, but hyperium/hyper#1925 hid the bug until hyper was upgraded to 0.12.35. * Change some more GET requests to POST requests * Fix excess line width and remove an `extern crate` * Delete commented-out extern crate Co-Authored-By: Sergei Pepyakin <[email protected]> * Fix regression in Cargo.toml files dev-dependencies need `default-features = false`, too. * Bump parity-wasm dependency * Bump `futures-preview` * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> * Update Cargo.lock files * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> * Update core/service/src/chain_ops.rs Co-Authored-By: Sergei Pepyakin <[email protected]>
-
- Oct 01, 2019
-
-
Svyatoslav Nikolsky authored
* async txpool API * Update core/rpc/src/author/mod.rs Co-Authored-By: Tomasz Drwięga <[email protected]> * Update core/transaction-pool/graph/src/pool.rs Co-Authored-By: Tomasz Drwięga <[email protected]> * Pool -> Pool + ValidatedPool * removed lost block_on when importing xt from network * fix grumbles * alias for future::Executor in rpc * removed executor from Author RPCs * Pool + SharedValidatedPool -> Pool * fix compilation after merge * another fix * another fix
-
- Sep 28, 2019
-
-
Tomasz Drwięga authored
* Add some chainspec tests and make sure we validate it. * Manual implementation of Extension + Forks definitions. * Move chain spec to separate crate. * Allow using ChainSpec with extensions. * Renames. * Implement Extension derive. * Implement Extension for Forks. * Support specifying fork blocks. * make for_blocks work * Support forks correctly. * Add a bunch of docs. * Make fork blocks optional. * Add missing docs. * Fix build. * Use struct for check_block params. * Fix tests? * Clean up.
-
- Sep 27, 2019
-
-
Alexey authored
* added new_full_concrete for service * line width fix * Update node/cli/src/service.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update node/cli/src/service.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update node/cli/src/service.rs Co-Authored-By: Bastian Köcher <[email protected]> * replaced new_full * empty * added backticks to pass ci
-
- Sep 24, 2019
-
-
* node: reduce grandpa justification period to 512 blocks * node: update flaming fir chainspec
-
asynchronous rob authored
* fix #2177: port GRANDPA node-side code to use Consensus digests * bump runtime version * fix service compilation * document change precedence rules
-
- Sep 23, 2019
-
-
asynchronous rob authored
* always fetch epoch from runtime * node integration tests don't test light nodes * give stand-in full node a FULL role * rejig babe APIs * introduce next-epoch-descriptor type * overhaul srml-BABE epoch logic * ensure VRF outputs end up in the right epoch-randomness * rewrite `do_initialize` to remove unnecessary loop * begin accounting for next epoch in epoch function * slots passes header to epoch_data * pass slot_number to SlotWorker::epoch_data * begin extracting epoch-change logic into its own module * aux methods for block weight * aux methods for genesis configuration * comment-out most, refactor header-check pipeline * mostly flesh out verifier again * reinstantiate babe BlockImport implementation * reinstate import-queue instantiation * reintroduce slot-worker implementation * reinstate pretty much all the rest * move fork-choice logic to BlockImport * fix some, but not all errors * patch test-runtime * make is_descendent of slightly more generic * get skeleton compiling when passing is_descendent_of * make descendent-of-builder more succinct * restore ordering of authority_index / slot_number * start fiddling with tests * fix warnings * improve initialization architecture and handle genesis * tests use correct block-import * fix BABE tests * fix some compiler errors * fix node-cli compilation * all crates compile * bump runtime versions and fix some warnings * tweak fork-tree search implementation * do backtracking search in fork-tree * node-cli integration tests now work * fix broken assumption in test_connectivity * babe tests fail for the right reasons. * test genesis epoch logic for epoch_changes * test that epochs can change between blocks * First BABE SRML test * Testing infrastructure for BABE Also includes a trivial additional test. * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> * A little more test progress * More work on BABE testing * Try to get the tests working * Implement `UintAuthorityId`-based test mocks * Fix compilation errors * Adjust to upstream changes * Block numbers are ignored in BABE epoch calculation * authority_index() should ignore invalid authorities * Fix compile error * Add tests that session transitions happen * Check if BABE produces logs It currently does not. * Fix test suite This was really nasty, due to a type confusion that showed up as an off-by-1 buffer error. * Add additional tests Most of these were derived from the current output, so they are only useful to guard against regressions. * Make the tests more readable Also bump impl_version. * Fix excessive line width * Remove unused imports * Update srml/babe/src/lib.rs Co-Authored-By: André Silva <[email protected]> * try to fix imports * Fix build errors in test suite * tests did not pass * Try to get at least one digest to be output Currently, the code emits either no digests (if I don’t call `Session::rotate_session()` or two digests (if I do), which is wrong. * More tests They still don’t work, but this should help debugging. * fix silly error * Don’t even try to compile a broken test * remove broken check_epoch test and add one for genesis epoch * Check that the length of the pre-digests is correct * Bump `impl_version` * use epoch_for_descendent_of even for genesis * account for competing block 1s * finish srml-babe docs Co-Authored-By: André Silva <[email protected]> * address grumbles
-
- Sep 20, 2019
-
-
Hernando Castano authored
* Bump futures-timer to v0.3 * Bump futures-preview to v0.3.0-alpha.18 * Replace ThreadPoll::spawn() with ThreadPoll::spawn_ok()
-
- Sep 17, 2019
-
-
* Add contracts RPC to full node. * Instantiate both RPC extensions for light & full.
-
- Sep 13, 2019
-
-
Tomasz Drwięga authored
* Add meta rpc_methods call. * Sort methods. * Bump runtime. * Change format a bit to support versioning.
-
Michael Müller authored
* Clear up import/export misunderstandings * Fetch minimum period from runtime * Remove unnecessary comment This variable is already fetched from the runtime in the line below. * Fix bug in factory The `best_block_id` stayed the same, it was always the genesis hash. This resulted in the factory failing after 4096 blocks, since `client/db` discards hashes (in this case the genesis hash) after 4096 blocks from the database. * Fix tense in error message * Improve allocator documentation * Fix bug in allocator Under certain circumstances an invalid pointer was returned: when the `ptr` was calculated as equal to the `max_heap_size`. This is an invalid pointer since there is no access allowed after the heap limit. The way to provoke this was to repeatedly allocate with sizes which were previously not allocated and immediately deallocate right afterwards. What this did was to increment the `bumper` with each allocation, whilst keeping the `total_size` of the heap `0`. If this repeated allocation/deallocation scheme resulted in `max_heap_size == ptr` the `ptr` was still returned. The allocator only checked if the `total_size` was still within the `max_heap_size` limits, and not if the resulting `ptr` was still within the valid heap region. This commit introduces a check to validate if the calculated `ptr` is within the heap. * Add test for zero byte allocation and document behavior * Improve code readability by introducing a const * Fix error message in test * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> * Fix code review suggestions * Replace early return with assertion * Remove test for zero size allocations * Shorten test code * Shorten comment * Make bump() return Result * Add comment for bump() * Remove ambiguous comment * Replace value with const * Use proof for panic message * Fix merge * Add comment regarding minimum allocation size
-
- Sep 12, 2019
-
-
Svyatoslav Nikolsky authored
* removing fetcher dependency from light backend * fix compilation
-
Sergey Pepyakin authored
* Sketch * Some work on docs. * Doc improvements. * More docs. * Some more docs. * Yet another comment. * Bump impl_version. * Accept the block hash * Use NumberOrHex * Update node/rpc/src/contracts.rs Co-Authored-By: Tomasz Drwięga <[email protected]> * Move rpc/primitives
-
- Sep 10, 2019
-
-
Bastian Köcher authored
* Augment every task spawned by Service with `on_exit` * Add CI test that the node exits
-
- Sep 06, 2019
-
-
Max Inden authored
With the *authority-discovery* module an authoritative node makes itself discoverable and is able to discover other authorities. Once discovered, a node can directly connect to other authorities instead of multi-hop gossiping information. 1. **Making itself discoverable** 1. Retrieve its external addresses 2. Adds its network peer id to the addresses 3. Sign the above 4. Put the signature and the addresses on the libp2p Kademlia DHT 2. **Discovering other authorities** 1. Retrieve the current set of authorities 2. Start DHT queries for the ids of the authorities 3. Validate the signatures of the retrieved key value pairs 4. Add the retrieved external addresses as ~reserved~ priority nodes to the peerset * node/runtime: Add authority-discovery as session handler The srml/authority-discovery module implements the OneSessionHandler in order to keep its authority set in sync. This commit adds the module to the set of session handlers. * core/network: Make network worker return Dht events on poll Instead of network worker implement the Future trait, have it implement the Stream interface returning Dht events. For now these events are ignored in build_network_future but will be used by the core/authority-discovery module in subsequent commits. * *: Add scaffolding and integration for core/authority-discovery module * core/authority-discovery: Implement module logic itself
-
- Sep 04, 2019
-
-
Bastian Köcher authored
* srml-system checks * wip * more modules compiles * node-runtime checks * build.sh passes * include dispatch error in failed event * revert some unnecessary changes * refactor based on comments * more compile error fixes * avoid unnecessary into * reorder code * fixes some tests * manually implement encode & decode to avoid i8 workaround * more test fixes * more fixes * more error fixes * Apply suggestions from code review Co-Authored-By: Tomasz Drwięga <[email protected]> * address comments * test for DispatchError encoding * tyep alias for democracy * make error printable * line width * fix balances tests * fix executive test * fix system tests * bump version * ensure consistent method signature * Apply suggestions from code review Co-Authored-By: Gavin Wood <[email protected]> * changes based on review * Add issue number for TODOs * fix * line width * fix test * Update core/sr-primitives/src/lib.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update core/sr-primitives/src/traits.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update srml/council/src/motions.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update srml/council/src/motions.rs Co-Authored-By: Bastian Köcher <[email protected]> * update based on review * More concrete macro matching * fix test build issue * Update hex-literal dependency version. (#3141) * Update hex-literal dep version. * Update lock file. * Start to rework the new error handling * More work to get it back compiling * Start to fix after master merge * The great transaction error handling refactoring * Make `decl_error` errors convertible to `&'static str` * Make srml-executive build again * Fix `sr-primitives` tests * More fixes * Last round of fix ups * Fix build * Fix build * Apply suggestions from code review Co-Authored-By: Tomasz Drwięga <[email protected]> * Rename some stuff * Fixes after master merge * Adds `CheckBlockGasLimit` signed extension * Remove debug stuff * Fix srml-balances test * Rename `InvalidIndex` to `CannotLookup` * Remove weird generic parameters * Rename function again * Fix import * Document the signed extension * Change from `Into` to `From` * Update srml/contracts/src/lib.rs Co-Authored-By: Sergei Pepyakin <[email protected]> * Fix compilation * Update srml/contracts/src/lib.rs Co-Authored-By: Tomasz Drwięga <[email protected]> * Update core/sr-primitives/src/transaction_validity.rs Co-Authored-By: Tomasz Drwięga <[email protected]> * Remove unused code * Fix compilation * Some cleanups * Fix compile errors * Make `TransactionValidity` a `Result` * Apply suggestions from code review Co-Authored-By: Gavin Wood <[email protected]> * Beautify the code a little bit and fix test * Make `CannotLookup` an inherent error declared by `decl_error!` * Adds some documentation * Make `ApplyOutcome` a result * Up the spec_version * Apply suggestions from code review Co-Authored-By: Gavin Wood <[email protected]> Co-Authored-By: DemiMarie-parity <[email protected]>
-
- Sep 01, 2019
-
-
Tomasz Drwięga authored
* Abstract constructing extrinsic and signing. * Initial impl of signer. * Implement get payload. * Clean up the code. * Improve docs. * Bump version. * Update core/sr-primitives/src/generic/unchecked_extrinsic.rs Co-Authored-By: Bastian Köcher <[email protected]> * Fix tests & address grumbles. * Fix build. * Fix runtime tests. * Fix bound test. * Fix bound test.
-
- Aug 30, 2019
-
-
Benjamin Kampmann authored
* generalize tree_root to remove client.backend dependency * replace client.backend.blockchain.header with client.header * move used_state_cache_size into client info * Create intermediate Setup State. Fixes #1134 * remove client.backend from finality proof * update node-template * move memory backend into test helper mode * move test helper into client * starting the big refactor, remove unused functions * apply_finality * apply_finality * replacing more .backend from environment with client directly * remove .backend from grandpa by using traits * remove .backend from babe * remove .backend from tests where it is not needed * remove .backend from tests * fixing tests * fixing tests * fixing more tests * fixing tests * fix all forks test * fix style * fixing unnecessary allocation * remove old test. * fix service docs * apply suggestion * minor clean ups * turns out the test-helper features actually is being used! * fixing line length. * fix line length * minor cleaning * Apply suggestions from code review thanks, @Basti Co-Authored-By: Bastian Köcher <[email protected]> * address grumbles * simplify finalize block on client * move block back into inner function * Apply suggestions from code review Co-Authored-By: DemiMarie-parity <[email protected]> * use as.ref instead of match * Update core/client/src/backend.rs Co-Authored-By: DemiMarie-parity <[email protected]>
-
- Aug 28, 2019
-
-
André Silva authored
* node: reduce block time to 3s and add primary probability constant * node: update flaming fir chain spec * node: fix integration test
-
André Silva authored
* node: use plain vec for tasks_to_spawn * node: spawn background tasks in light client setup
-
André Silva authored
* im-online: support using ed25519 and sr25519 crypto * app-crypto: add trait bounds to RuntimePublic::Signature * im-online: add missing type annotations * authority-discovery: depend on im-online module and use its crypto * node: set i'm online crypto to sr25519 * node: bump spec_version * rpc: don't generate i'm online pubkey in insert_key method * im-online: fix docs * im-online: move app crypto packages * aura: move app crypto packages
-
- Aug 27, 2019
-
-
Pierre Krieger authored
* Move Service::new to a macro * Move function calls to macros * Extract offchain_workers and start_rpc in separate function In follow-up commits, we want to be able to directly call maintain_transaction_pool, offchain_workers, and start_rpc, without having to implement the Components trait. This commit is a preliminary step: we extract the code to freestanding functions. * Introduce an AbstractService trait * Introduce NewService as an implementation detail of Service * Implement traits on NewService instead Instead of implementing AbstractService, Future, and Executor on Service, we implement them on NewService instead. The implementations of AbstractService, Future, and Executor on Service still exist, but they just wrap to the respective implementations for NewService. * Move components creation back to macro invocation Instead of having multiple $build_ parameters passed to the macro, let's group them all into one. This change is necessary for the follow-up commits, because we are going to call new_impl! only after all the components have already been built. * Add a $block parameter to new_impl This makes it possible to be explicit as what the generic parameter of the NewServiceis, without relying on type inference. * Introduce the ServiceBuilder struct Introduces a new builder-like ServiceBuilder struct that creates a NewService. * Macro-ify import_blocks, export_blocks and revert_chain Similar to the introduction of new_impl!, we extract the actual code into a macro, letting us get rid of the Components and Factory traits * Add export_blocks, import_blocks and revert_chain methods on ServiceBuilder Can be used as a replacement for the chain_ops::* methods * Add run_with_builder Instead of just run, adds run_with_builder to ParseAndPrepareExport/Import/Revert. This lets you run these operations with a ServiceBuilder instead of a ServiceFactory. * Transition node and node-template to ServiceBuilder * Transition transaction-factory to the new service factory This is technically a breaking change, but the transaction-factory crate is only ever used from within substrate-node, which this commit updates as well. * Remove old service factory * Adjust the AbstractService trait to be more usable We slightly change the trait bounds in order to make all the methods usable. * Make substrate-service-test compile * Fix the node-cli tests * Remove the old API * Remove the components module * Fix indentation on chain_ops * Line widths * Fix bad line widths commit * Line widths again
🤦 * Fix the sync test * Apply suggestions from code review Co-Authored-By: Gavin Wood <[email protected]> * Address some concerns * Remove TelemetryOnConnect * Remove informant::start * Update jsonrpc * Rename factory to builder * Line widths😩
-
- Aug 20, 2019
-
-
Max Inden authored
In order to have authorities (validators) discover each other, they need to publish their public addresses by their ip address on the Kademlia Dht indexed by their public key. This payload needs to be signed by a key identifying them as a valid authority. Code inside `/core` does not know the current set of authorities nor can it assume what kind of cryptography primitives are currently in use. Instead it can retrieve its public key and the current set of authorities from the runtime and have it sign and verify Dht payloads. This commit enables code in `/core` to do so by introducing a srml module and runtime api to: 1. Retrieve own public key. 2. Retrieve public keys of current authority set. 3. Sign a Dht payload. 4. Verify a Dht payload. This commit makes the logic from the previous commit (`core/consensus/common/primitives.ConsensusApi`) 444bf719 obsolete and thus removes it.
-
Tomasz Drwięga authored
* Allow RPCs to be customized. * Implement node-rpc extensions. * Working on a test. * Add node-testing crate. * Fix genesis test config * Fix nonce lookups. * Clean up. * Fix expected block type. * Make the RPC extension function optional. * Fix service doc test. * Bump jsonrpc. * Bump client version. * Update Cargo.lock * Update jsonrpc. * Fix build. * Remove unused imports. * Fix signed extra. * Post merge clean up. * Fix tests. * Patch hashmap-core. * Fix build. * Fix build. * Remove hashmap_core patches.
-
- Aug 19, 2019
-
-
Gautam Dhameja authored
* Make node-template in sync with node. * Update service.rs * Updated babe constants. * Added SignedExtra for CheckVersion in node-template and subkey. * Added CheckVersion SignedExtra for node. * Fixed tests. * Try fix integration test. * Attempt 2 at fixing integration test. * Update node-template/runtime/src/lib.rs
-
- Aug 16, 2019
-
-
Tomasz Drwięga authored
* Remove offline slashing logic from staking. * Initial version of reworked offence module, can report offences * Clean up staking example. * Commit SlashingOffence * Force new era on slash. * Add offenders in the SlashingOffence trait. * Introduce the ReportOffence trait. * Rename `Offence`. * Add on_before_session_ending handler. * Move offence related stuff under sr-primitives. * Fix cargo check. * Import new im-online implementation. * Adding validator count to historical session storage as it's needed for slash calculations * Add a comment about offence. * Add BabeEquivocationOffence * GrandpaEquivocationOffence * slash_fraction and fix * current_era_start_session_index * UnresponsivnessOffence * Finalise OnOffenceHandler traits, and stub impl for staking. * slash_fraction doesn't really need &self * Note that offenders count is greater than 0 * Add a test to ensure that I got the math right * Use FullIdentification in offences. * Use FullIndentification. * Hook up the offences module. * Report unresponsive validators * Make sure eras have the same length. * Slashing and rewards. * Fix compilation. * Distribute rewards. * Supply validators_count * Use identificationTuple in Unresponsivness report * Fix merge. * Make sure we don't slash if amount is zero. * We don't return an error from report_offence anymo * We actually can use vec! * Prevent division by zero if the reporters is empty * offence_forces_new_era/nominators_also_get_slashed * advance_session * Fix tests. * Update srml/staking/src/lib.rs Co-Authored-By: Robert Habermeier <[email protected]> * slashing_performed_according_exposure * Check that reporters receive their slice. * Small clean-up. * invulnerables_are_not_slashed * Minor clean ups. * Improve docs. * dont_slash_if_fraction_is_zero * Remove session dependency from offences. * Introduce sr-staking-primitives * Move offence under sr_staking_primitives * rename session_index * Resolves todos re using SessionIndex * Fix staking tests. * Properly scale denominator. * Fix UnresponsivnessOffence * Fix compilation. * Tests for offences. * Clean offences tests. * Fix staking doc test. * Bump spec version * Fix aura tests. * Fix node_executor * Deposit an event on offence. * Fix compilation of node-runtime * Remove aura slashing logic. * Remove HandleReport * Update docs for timeslot. * rename with_on_offence_fractions * Add should_properly_count_offences * Replace ValidatorIdByIndex with CurrentElectedSet ValidatorIdByIndex was querying the current_elected set in each call, doing loading (even though its from cache), deserializing and cloning of element. Instead of this it is more efficient to use `CurrentElectedSet`. As a small bonus, the invariant became a little bit easier: now we just rely on the fact that `keys` and `current_elected` set are of the same length rather than relying on the fact that `validator_id_by_index` would work similar to `<[T]>::get`. * Clarify babe equivocation * Fix offences. * Rename validators_count to validator_set_count * Fix squaring. * Update core/sr-staking-primitives/src/offence.rs Co-Authored-By: Gavin Wood <[email protected]> * Docs for CurrentElectedSet. * Don't punish only invulnerables * Use `get/insert` instead of `mutate`. * Fix compilation * Update core/sr-staking-primitives/src/offence.rs Co-Authored-By: Gavin Wood <[email protected]> * Update srml/offences/src/lib.rs Co-Authored-By: Robert Habermeier <[email protected]> * Update srml/im-online/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/im-online/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/im-online/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/babe/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update core/sr-staking-primitives/src/offence.rs Co-Authored-By: joe petrowski <[email protected]> * Update core/sr-staking-primitives/src/offence.rs Co-Authored-By: joe petrowski <[email protected]> * Update core/sr-staking-primitives/src/offence.rs Co-Authored-By: joe petrowski <[email protected]> * Update core/sr-staking-primitives/src/offence.rs Co-Authored-By: joe petrowski <[email protected]> * Update core/sr-staking-primitives/src/offence.rs Co-Authored-By: joe petrowski <[email protected]> * Add aura todo. * Allow multiple reports for single offence report. * Fix slash_fraction calculation. * Fix typos. * Fix compilation and tests. * Fix staking tests. * Update srml/im-online/src/lib.rs Co-Authored-By: Logan Saether <[email protected]> * Fix doc on time_slot * Allow slashing only on current era (#3411) * only slash in current era * prune journal for last era * comment own_slash * emit an event when old slashing events are discarded * Pave the way for pruning * Address issues. * Try to refactor collect_offence_reports * Other fixes. * More fixes.
-