- 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
-
Kian Paimani authored
* Remove some dead code from staking * Fix var name.
-
- 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]>
-
Bastian Köcher authored
* Implement `TryInto` for outer events * Remove invalid comment * Fix compilation
-
Shawn Tabrizi authored
* Fix some instances of `runtime-io` * Patch a bunch * More patches for consistancy * more patch * Fix various build issues * Fix tests * Patch `srml-support-*` crates * Fix doc tests * Revert "Fix doc tests" This reverts commit ba2ec61da7acc36821a70e76a31a6a5bf13bbe95. * Revert "Patch `srml-support-*` crates" This reverts commit 9a6070450107dec17784ba34af4b871023f6dc81. * Missed one * Fix doc tests
-
- Sep 02, 2019
-
-
Sergey Pepyakin authored
-
- Sep 01, 2019
-
-
Sergey Pepyakin authored
-
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 29, 2019
-
-
thiolliere authored
-
thiolliere authored
* impl * file split * old comment * better error message * WIP * basti test works * comment * remove old files * impl swap for storage map * fix * fix and comment * code refactor * code refactor * code format * code refactor * fix * fix * fix * document generators * license * doc * doc * fmt Co-Authored-By: Bastian Köcher <[email protected]> * some comment addressed * storage_items small refactor * fix storage_items * more precise returned type * fix * code fmt suggestion Co-Authored-By: Bastian Köcher <[email protected]> * remove box allocation * bump version * rename function as behavior has changed * fix doc
-
thiolliere authored
* simplify module deposit_event declaration * fix * bump version * fix * fix test * fix doc
-
Kian Paimani authored
* Move phragmen to primitives * Improved docs * New crate. * Update lock. * Fix dependency. * Fix build. * Add basic testing and truth-value implementation with float types * Update srml/staking/src/lib.rs * Nits. * Bump. * Fix benchmarks.
-
- Aug 28, 2019
-
-
Tomasz Drwięga authored
* Add test. * Bump version.
-
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
-
-
Kian Paimani authored
* expose len from codec to storage. * refactor runtime with len and append. * Undo example. * Remove imports. * Bump codec. * Optionify. * Make decode_len counscious. * Refactor. * Update srml/support/src/storage/hashed/generator.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update srml/support/src/storage/hashed/generator.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update srml/support/src/storage/hashed/generator.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update srml/support/src/storage/hashed/generator.rs Co-Authored-By: Bastian Köcher <[email protected]> * Fix merge. * fix some docs. * Add NoDefault trait. * Bump. * Final nits. * Update srml/support/src/traits.rs * new approach toward len. * re-create lock file. * Fix build errors and Option handling. * More test fix * Use default for append as well. * Fix runtime. * Add support for linked_map * More tweaks from review. * Fix style * Change api for none-values * Bump.
-
Arkadiy Paronyan authored
* Fixed uncle pruning * Version bump
-
Bastian Köcher authored
* Make sure that `on_before_session_ending` is called * Move the call above the validtor set being set * Bump spec_version
-
- Aug 25, 2019
-
-
Xiliang Chen authored
* add Copy to Moment type * bump version * add Copy to support::Traits::Time::Moment and removed few clones
-
- Aug 24, 2019
-
-
Gavin Wood authored
* Allow root to force transfers * Bump version * Avoid changing pre-existing encodings
-
Kian Paimani authored
* Remove bogus constants. * Bump.
-
thiolliere authored
-
asynchronous rob authored
* introduce some type aliases for round and set-id * overhaul session "changed" flag and document better * do_initialize in BABE when getting new session * grandpa module tracks set IDs * update runtime versions * doc comment -> comment * Include docs fixes from Gav Co-Authored-By: Gavin Wood <[email protected]> * some more review changes * fix srml-grandpa compilation
-
thiolliere authored
* fix linkedmap swap * version bump
-
- Aug 23, 2019
-
-
Kian Paimani authored
* New doc for signed extensions. * Cleanup. * review nits.
-
- Aug 22, 2019
-
-
thiolliere authored
-
- Aug 21, 2019
-
-
thiolliere authored
-
thiolliere authored
-
Jim Posen authored
* Add ability to destroy a contract in the overlay. * Don't allow contracts to be destroyed in recursive execution. * Tests for contract self-destruction. * Don't allow constructor to exit with insufficient balance. * Remove dead code. * Bump node runtime spec version.
-
- Aug 20, 2019
-
-
Bryant Eisenbach authored
-
thiolliere authored
* tests * fix * bump version
-
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`) cf80af92 obsolete and thus removes it.
-
- Aug 19, 2019
-
-
Michael Müller authored
* Introduce srml/scored-pool * Bump impl_version * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> * Remove unnecessary pub use * Remove unnecessary import * Adapt to InitializeMembers * Bump impl_version * Implement remarks (shortens code) * Improve complexity of score() Search and remove and search again for the new spot and insert then => O(2LogN). * Get rid of a clone() * Reduce complexity of issue_candidacy() * Add CandidateScored event + Improve comments * Fix naming * Use Lookup instead of AccountId as param * Use set_members_sorted instead of computing diff * Remove function which is only used during genesis * Get rid of rev() by changing sort order of Pool * Rename issue_candidacy to submit_candidacy * Shorten code * Remove find_in_pool() and have transactor submit index * Remove unnecessary dependency * Improve error messages * Improve naming * Improve comments * Make code clearer wrt which receiver to invoke * Adapt to new system trait * Refactor to request CandidateDeposit only once * Refactor to request Pool only once * Improve structure and comments
-
- Aug 18, 2019
-
-
Gavin Wood authored
* Signed transactions now has affinity with runtime versions * Bump runtime version
-
- Aug 17, 2019
-
-
Kian Paimani authored
* Fix how we treat loser candidates. * Bump. * Improve doc. * Update srml/elections/src/lib.rs * Fix test
-
Kian Paimani authored
* Fix staking tests.
-
Bastian Köcher authored
* Implements `FindAuthor<u32>` for `srml-aura` * Update lib.rs * Build
-
- Aug 16, 2019
-
-
Bastian Köcher authored
* Move checks for renamed functions to `__check_reserved_function_names` * Fix trybuild test
-
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.
-
André Silva authored
* babe: initial implementation of secondary slots * babe: validate secondary slot author * babe: implement weight based fork choice * babe: remove unused * aura: cleanup unused imports * babe: pass in parent weight when authoring and verifying * babe: use epoch randomness for picking secondary slot authors * babe: fix tests * babe: fix wasm build * babe: node-side code for disabling secondary slots * babe: allow enabling/disabling secondary slots from runtime * babe: fix test * babe: use blake2_256 for secondary slot assignment * babe: run block initialization in should_end_session * node: increase slot duration to 6s * babe: add docs * node: bump spec_version * Apply suggestions from code review Co-Authored-By: joe petrowski <[email protected]> * babe: simplify secondary slot assignment calculation * babe: remove unnecessary comment * node: bump spec_version * babe: fix bad merge
-
Tomasz Drwięga authored
* Verify signature and session index during apply phase of im-online. * Bump impl_version. * Add docs to SignedExtension
-