Skip to content
  1. Sep 23, 2019
    • asynchronous rob's avatar
      Fixing BABE epochs to change between blocks (#3583) · c200ce75
      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: default avatarBastian 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: default avatarAndré 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: default avatarAndré Silva <[email protected]>
      
      * address grumbles
      c200ce75
  2. Sep 04, 2019
    • Shawn Tabrizi's avatar
      Normalize Crate Names in SRML/Node Template (#3543) · c284ca21
      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
      c284ca21
  3. Aug 18, 2019
  4. Aug 16, 2019
    • Tomasz Drwięga's avatar
      Offences reporting and slashing (#3322) · 6cc44957
      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: default avatarRobert 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: default avatarGavin 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: default avatarGavin Wood <[email protected]>
      
      * Update srml/offences/src/lib.rs
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update srml/babe/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe 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: default avatarLogan 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.
      6cc44957
  5. Aug 08, 2019
    • cheme's avatar
      Child storage tests and genesis fix. (#3185) · b0e1212d
      cheme authored
      * Using child storage, (srml-support only), test failing .
      
      * fix simple tests.
      
      * Enumerable by requiring owned struct (previous form only allow
      &'static).
      Broken tests are from genesis init.
      
      * implement for_child_keys_with_prefix
      
      * indent
      
      * clear_child_prefix fix.
      
      * clear_child_prefix fix 2.
      
      * fix for storage_impl, if/when allowing child and not child this could be
      reverted.
      
      * Fix lot of urlinked child genesis, still need to look upon actual
      genesis srml module code.
      Probably still a lot of broken code needing debugging.
      
      * switch well_known_key to their associated module child trie.
      Fix a genesis init (balance).
      Complete some testing.
      Comment some tests before using.
      
      * fixing test runtime child keys
      
      * latest commit fix broken genesis init
      
      * fix system balances child name.
      
      * Important fix: storage_root from test externalities need children (it is
      already the case for ext).
      
      * executive root with child calculation
      
      * Avoid empty trie on test ext.
      
      * Symetric removal of key for system.
      
      * commenting changes related tests.
      
      * Remove child module specifics.
      
      * fix issues.
      
      * fix some formatting
      
      * fix bench and bump runtime
      
      * Remove extend_storage_overlays, assimilate_storage do the same as is
      proper considering srml macro.
      
      * Fix warning for assimilate.
      
      * Removing kill as they do not impact any test cases.
      
      * Use tuple of storage map instead of two parameters. This changes the
      behavior of decl_storage genesis build closure (breaking api).
      
      * Do not use build storage before assimilate.
      
      * fix error
      
      * Update core/state-machine/src/backend.rs
      b0e1212d
  6. Aug 07, 2019
    • Gavin Wood's avatar
      Refactor key management (#3296) · 1a524b82
      Gavin Wood authored
      
      
      * Add Call type to extensible transactions.
      
      Cleanup some naming
      
      * Merge Resource and BlockExhausted into just Exhausted
      
      * Fix
      
      * Another fix
      
      * Call
      
      * Some fixes
      
      * Fix srml tests.
      
      * Fix all tests.
      
      * Refactor crypto so each application of it has its own type.
      
      * Introduce new AuthorityProvider API into Aura
      
      This will eventually allow for dynamic determination of authority
      keys and avoid having to set them directly on CLI.
      
      * Introduce authority determinator for Babe.
      
      Experiment with modular consensus API.
      
      * Work in progress to introduce KeyTypeId and avoid polluting API
      with validator IDs
      
      * Finish up drafting imonline
      
      * Rework offchain workers API.
      
      * Rework API implementation.
      
      * Make it compile for wasm, simplify app_crypto.
      
      * Fix compilation of im-online.
      
      * Fix compilation of im-online.
      
      * Fix more compilation errors.
      
      * Make it compile.
      
      * Fixing tests.
      
      * Rewrite `keystore`
      
      * Fix session tests
      
      * Bring back `TryFrom`'s'
      
      * Fix `srml-grandpa`
      
      * Fix `srml-aura`
      
      * Fix consensus babe
      
      * More fixes
      
      * Make service generate keys from dev_seed
      
      * Build fixes
      
      * Remove offchain tests
      
      * More fixes and cleanups
      
      * Fixes finality grandpa
      
      * Fix `consensus-aura`
      
      * Fix cli
      
      * Fix `node-cli`
      
      * Fix chain_spec builder
      
      * Fix doc tests
      
      * Add authority getter for grandpa.
      
      * Test fix
      
      * Fixes
      
      * Make keystore accessible from the runtime
      
      * Move app crypto to its own crate
      
      * Update `Cargo.lock`
      
      * Make the crypto stuff usable from the runtime
      
      * Adds some runtime crypto tests
      
      * Use last finalized block for grandpa authority
      
      * Fix warning
      
      * Adds `SessionKeys` runtime api
      
      * Remove `FinalityPair` and `ConsensusPair`
      
      * Minor governance tweaks to get it inline with docs.
      
      * Make the governance be up to date with the docs.
      
      * Build fixes.
      
      * Generate the inital session keys
      
      * Failing keystore is a hard error
      
      * Make babe work again
      
      * Fix grandpa
      
      * Fix tests
      
      * Disable `keystore` in consensus critical stuff
      
      * Build fix.
      
      * ImOnline supports multiple authorities at once.
      
      * Update core/application-crypto/src/ed25519.rs
      
      * Merge branch 'master' into gav-in-progress
      
      * Remove unneeded code for now.
      
      * Some `session` testing
      
      * Support querying the public keys
      
      * Cleanup offchain
      
      * Remove warnings
      
      * More cleanup
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * More cleanups
      
      * JSONRPC API for setting keys.
      
      Also, rename traits::KeyStore* -> traits::BareCryptoStore*
      
      * Bad merge
      
      * Fix integration tests
      
      * Fix test build
      
      * Test fix
      
      * Fixes
      
      * Warnings
      
      * Another warning
      
      * Bump version.
      1a524b82
  7. Jul 29, 2019
    • Kian Paimani's avatar
      Refactor sr_primitives. (#3214) · 79feb23a
      Kian Paimani authored
      * refactor sr_primitives.
      
      * Fix try build error.
      
      * Line-width
      
      * Ui test.
      
      * Final fixes.
      
      * Fix build again.
      
      * bring back ui test.
      
      * Fix unsigned import.
      
      * Another ui fix.
      
      * Also refactor substrate-primitives
      
      * Fix benchmarks.
      
      * Fix doc test.
      
      * fix doc tests
      79feb23a
  8. Jul 25, 2019
    • Kian Peymani's avatar
      Weight annotation. (#3157) · 002acb93
      Kian Peymani authored
      
      
      * Make extrinsics extensible.
      
      Also Remove old extrinsic types.
      
      * Rest of mockup. Add tips.
      
      * Fix some build issues
      
      * Runtiem builds :)
      
      * Substrate builds.
      
      * Fix a doc test
      
      * Compact encoding
      
      * Extract out the era logic into an extension
      
      * Weight Check signed extension. (#3115)
      
      * Weight signed extension.
      
      * Revert a bit + test for check era.
      
      * Update Cargo.toml
      
      * Update node/cli/src/factory_impl.rs
      
      * Update node/executor/src/lib.rs
      
      * Update node/executor/src/lib.rs
      
      * Don't use len for weight - use data.
      
      * Operational Transaction; second attempt (#3138)
      
      * working poc added.
      
      * some fixes.
      
      * Update doc.
      
      * Fix all tests + final logic.
      
      * more refactoring.
      
      * nits.
      
      * System block limit in bytes.
      
      * Silent the storage macro warnings.
      
      * More logic more tests.
      
      * Fix import.
      
      * Refactor names.
      
      * Fix build.
      
      * Update srml/balances/src/lib.rs
      
      * Final refactor.
      
      * Bump transaction version
      
      * Fix weight mult test.
      
      * Fix more tests and improve doc.
      
      * Bump.
      
      * Make some tests work again.
      
      * Fix subkey.
      
      * Remove todos + bump.
      
      * First draft of annotating weights.
      
      * Refactor weight to u64.
      
      * More refactoring and tests.
      
      * New convert for weight to fee
      
      * more tests.
      
      * remove merge redundancy.
      
      * Fix system test.
      
      * Bring back subkey stuff.
      
      * a few stress tests.
      
      * fix some of the grumbles.
      
      * Final nits.
      
      * Update srml/system/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Scale weights by 1000.
      
      * Bump.
      
      * Fix decl_storage test.
      002acb93
  9. Jul 22, 2019
    • Gavin Wood's avatar
      Extensible transactions (and tips) (#3102) · 78bc5edc
      Gavin Wood authored
      * Make extrinsics extensible.
      
      Also Remove old extrinsic types.
      
      * Rest of mockup. Add tips.
      
      * Fix some build issues
      
      * Runtiem builds :)
      
      * Substrate builds.
      
      * Fix a doc test
      
      * Compact encoding
      
      * Extract out the era logic into an extension
      
      * Weight Check signed extension. (#3115)
      
      * Weight signed extension.
      
      * Revert a bit + test for check era.
      
      * Update Cargo.toml
      
      * Update node/cli/src/factory_impl.rs
      
      * Update node/executor/src/lib.rs
      
      * Update node/executor/src/lib.rs
      
      * Don't use len for weight - use data.
      
      * Operational Transaction; second attempt (#3138)
      
      * working poc added.
      
      * some fixes.
      
      * Update doc.
      
      * Fix all tests + final logic.
      
      * more refactoring.
      
      * nits.
      
      * System block limit in bytes.
      
      * Silent the storage macro warnings.
      
      * More logic more tests.
      
      * Fix import.
      
      * Refactor names.
      
      * Fix build.
      
      * Update srml/balances/src/lib.rs
      
      * Final refactor.
      
      * Bump transaction version
      
      * Fix weight mult test.
      
      * Fix more tests and improve doc.
      
      * Bump.
      
      * Make some tests work again.
      
      * Fix subkey.
      
      * Remove todos + bump.
      
      * Ignore expensive test.
      
      * Bump.
      78bc5edc
  10. Jul 19, 2019
    • Amar Singh's avatar
      Transaction Fee Multiplier (#2854) · a757dfb2
      Amar Singh authored
      
      
      * added fee calculations; need some type conversions
      
      * cleaned up make_payment and other stuff
      
      * rename vars to compile
      
      * add WeightToFee type
      
      * clean test files after new type added to balances
      
      * fmting
      
      * fix balance configs in tests
      
      * more fixing mocks and tests
      
      * more comprehensive block weight limit test
      
      * fix compilation errors
      
      * more srml/executive tests && started fixing node/executor tests
      
      * new fee multiplier; still overflows :(
      
      * perbill at the end attempt; needs to be changed
      
      * clean fmting, rename some vars
      
      * new PoC implementation.
      
      * test weight_to_fee range and verify functionality
      
      * 12 of 15 tests in node executor are passing
      
      * 1 test failing; big_block imports are failing for wrong reasons
      
      * Update srml/executive/src/lib.rs
      
      Co-Authored-By: default avatarKian Peymani <[email protected]>
      
      * Some cleanup.
      
      * consolidate tests in runtime impls
      
      * clean and condition executive for stateful fee range test
      
      * remove comments to self
      
      * Major cleanup.
      
      * More cleanup.
      
      * Fix lock files.
      
      * Fix build.
      
      * Update node-template/runtime/Cargo.toml
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update node/executor/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update node/executor/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update node/executor/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update node/executor/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update node/executor/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update node/executor/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Per-block update.
      
      * nit.
      
      * Update docs.
      
      * Fix contracts test.
      
      * Stateful fee update.
      
      * Update lock files.
      
      * Update node/runtime/src/impls.rs
      
      * Revamped again with fixed64.
      
      * fix cargo file.
      
      * nits.
      
      * Some cleanup.
      
      * Some nits.
      
      * Fix build.
      
      * Bump.
      
      * Rename to WeightMultiplier
      
      * Update node/executor/src/lib.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Add weight to election module mock.
      
      * Fix build.
      
      * finalize merge
      
      * Update srml/system/src/lib.rs
      
      * Bring back fees.
      
      * Some nits.
      
      * Code shifting for simplicity.
      
      * Fix build + more tests.
      
      * Update weights.rs
      
      * Update core/sr-primitives/src/weights.rs
      
      * Update lib.rs
      
      * Fix test build
      a757dfb2
  11. Jul 11, 2019
    • Gavin Wood's avatar
      Convert unnecessary storage item to static. (#3093) · e4d45481
      Gavin Wood authored
      * Convert unnecessary storage item to static.
      
      * Polish
      
      * 6 second blocks.
      
      * Compile fixes
      
      * Bump runtime
      
      * Fix
      
      * Another fix
      
      * Import `srml_support::traits::Get`
      
      * Export MinimumPeriod from `decl_module!`
      
      * Remove `config` from Timestamp
      
      * Clean up warnings
      e4d45481
  12. Jul 10, 2019
    • Gavin Wood's avatar
      Technical Committee (#3041) · df938676
      Gavin Wood authored
      * Add copy of council seats as elections module.
      
      * Split council into collective and elections modules.
      
      Make collective instanceable.
      
      * Propagate changes to the runtime and fix origin/event
      
      * insert_ref and put_ref to avoid copies.
      
      * Add tests
      
      * Fix up collective's tests
      
      * One more test
      
      * Fix elections module tests
      
      * Missed merge line
      
      * Minor fix
      
      * Test fixes
      
      * Line widths
      
      * Line widths
      
      * Rntime version
      
      * Remove comment
      
      * Deduplicate
      
      * Bump runtime again
      
      * Fix test
      df938676
  13. Jul 09, 2019
    • André Silva's avatar
      srml: system: prune block hash mapping (#3062) · ed630e5e
      André Silva authored
      * srml: system: prune block number to hash mapping
      
      * srml: system: add test for block hash mapping pruning
      
      * node: bump runtime version
      
      * srml: system: wrap long line
      
      * srml: system: use parameter type for block hash count
      
      * srml: system: prune block hash mapping before storage root calculation
      
      * srml: system: keep the genesis hash in block number map
      ed630e5e
  14. Jul 08, 2019
    • asynchronous rob's avatar
      Slash and prove membership of prior sessions (#2970) · 7df8e52c
      asynchronous rob authored
      
      
      * skeleton for tracking historical sessions
      
      * refactor OpaqueKeys
      
      * some more skeleton work
      
      * adjust session to new OpaqueKeys API
      
      * further refactoring of key-type-ids
      
      * session gets validator ID parameter
      
      * run up against compiler
      
      * tweak staking to support new session changes
      
      * first run at child storage for deduplication
      
      * Make session use `AccountId` as `ValidatorId`
      
      * run up against child trie issues
      
      * switch to using normal trie but with a fixed prefix
      
      * clear out some println
      
      * add dedup test
      
      * flesh out historical module more
      
      * introduce ExposureOf for staking
      
      * test the historical module
      
      * WASM compiles
      
      * tests all compile
      
      * do some mock change
      
      * fix bulk of tests
      
      * fix staking tests
      
      * test obsolecence mechanic
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * some more style nits
      
      * a couple more nits
      
      * tweak tries
      
      * fix typo thie -> this
      7df8e52c
  15. Jun 27, 2019
    • Bastian Köcher's avatar
      Implement a proper generic resolution in `decl_storage!` (#2913) · 62b7c05d
      Bastian Köcher authored
      
      
      * Add failing test case
      
      * move storage maps to blake2_128 (#2268)
      
      * remove default hash, introduce twox_128 and blake2
      
      * use blake2_128 & create ext_blake2_128
      
      * refactor code
      
      * add benchmark
      
      * factorize generator
      
      * fix
      
      * parameterizable hasher
      
      * some fix
      
      * fix
      
      * fix
      
      * fix
      
      * metadata
      
      * fix
      
      * remove debug print
      
      * map -> blake2_256
      
      * fix test
      
      * fix test
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * impl twox 128 concat (#2353)
      
      * impl twox_128_concat
      
      * comment addressed
      
      * fix
      
      * impl twox_128->64_concat
      
      * fix test
      
      * Fix compilation and cleanup some docs
      
      * Lol
      
      * Remove traits from storage types that are not generic
      
      * Get instance test almost working as wanted
      
      * Make `srml-support-test` compile again :)
      
      * Fixes test of srml-support
      
      * Fix compilation
      
      * Break some lines
      
      * Remove incorrect macro match arm
      
      * Integrates review feedback
      
      * Update documentation
      
      * Fix compilation
      62b7c05d
  16. Jun 14, 2019
    • Gavin Wood's avatar
      New sessions, kill consensus module (#2802) · bda86418
      Gavin Wood authored
      
      
      * Draft of new sessions
      
      * Reintroduce tuple impls
      
      * Move staking module to new session API
      
      * More work on staking and grandpa.
      
      * Use iterator to avoid cloning and tuple macro
      
      * Make runtime build again
      
      * Polish the OpaqueKeys devex
      
      * Move consensus logic into system & aura.
      
      * Fix up system module
      
      * Get build mostly going. Stuck at service.rs
      
      * Building again
      
      * Update srml/staking/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Refactoring out Consensus module, AuthorityIdOf, &c.
      
      * Refactored out DigestItem::AuthoritiesChanged. Building.
      
      * Remove tentative code
      
      * Remove invalid comment
      
      * Make Seal opaque and introduce nice methods for handling opaque items.
      
      * Start to use proper digest for Aura authorities tracking.
      
      * Fix up grandpa, remove system::Raw/Log
      
      * Refactor Grandpa to use new logging infrastructure.
      
      Also make authorityid/sessionkey static. Switch over to storing
      authorities in a straight Vec.
      
      * Building again
      
      * Tidy up some AuthorityIds
      
      * Expunge most of the rest of the AuthorityKey confusion.
      
      Also, de-generify Babe and re-generify Aura.
      
      * Remove cruft
      
      * Untangle last of the `AuthorityId`s.
      
      * Sort out finality_tracker
      
      * Refactor median getting
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Session tests works
      
      * Update core/sr-primitives/src/generic/digest.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Session tests works
      
      * Fix for staking from @dvc94ch
      
      * log an error
      
      * fix test runtime build
      
      * Some test fixes
      
      * Staking mock update to new session api.
      
      * Fix build.
      
      * Move OpaqueKeys to primitives.
      
      * Use on_initialize instead of check_rotate_session.
      
      * Update tests to new staking api.
      
      * fixup mock
      
      * Fix bond_extra_and_withdraw_unbonded_works.
      
      * Fix bond_with_little_staked_value_bounded_by_slot_stake.
      
      * Fix bond_with_no_staked_value.
      
      * Fix change_controller_works.
      
      * Fix less_than_needed_candidates_works.
      
      * Fix multi_era_reward_should_work.
      
      * Fix nominating_and_rewards_should_work.
      
      * Fix nominators_also_get_slashed.
      
      * Fix phragmen_large_scale_test.
      
      * Fix phragmen_poc_works.
      
      * Fix phragmen_score_should_be_accurate_on_large_stakes.
      
      * Fix phragmen_should_not_overflow.
      
      * Fix reward_destination_works.
      
      * Fix rewards_should_work.
      
      * Fix sessions_and_eras_should_work.
      
      * Fix slot_stake_is_least_staked_validator.
      
      * Fix too_many_unbond_calls_should_not_work.
      
      * Fix wrong_vote_is_null.
      
      * Fix runtime.
      
      * Fix wasm runtime build.
      
      * Update Cargo.lock
      
      * Fix warnings.
      
      * Fix grandpa tests.
      
      * Fix test-runtime build.
      
      * Fix template node build.
      
      * Fix stuff.
      
      * Update Cargo.lock to fix CI
      
      * Re-add missing AuRa logs
      
      Runtimes are required to know about every digest they receive ― they
      panic otherwise.  This re-adds support for AuRa pre-runtime digests.
      
      * Update core/consensus/babe/src/digest.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Kill log trait and all that jazz.
      
      * Refactor staking tests.
      
      * Fix ci runtime wasm check.
      
      * Line length 120.
      
      * Make tests build again
      
      * Remove trailing commas in function declarations
      
      The `extern_functions!` macro doesn’t like them, perhaps due to a bug in
      rustc.
      
      * Fix type error
      
      * Fix compilation errors
      
      * Fix a test
      
      * Another couple of fixes
      
      * Fix another test
      
      * More test fixes
      
      * Another test fix
      
      * Bump runtime.
      
      * Wrap long line
      
      * Fix build, remove redundant code.
      
      * Issue to track TODO
      
      * Leave the benchmark code alone.
      
      * Fix missing `std::time::{Instant, Duration}`
      
      * Indentation
      
      * Aura ConsensusLog as enum
      bda86418
  17. Mar 28, 2019
  18. Mar 22, 2019
  19. Mar 06, 2019
  20. Feb 09, 2019
  21. Feb 05, 2019
  22. Jan 22, 2019
    • Bastian Köcher's avatar
      Rewrite Inherent data (#1488) · 70b1af7b
      Bastian Köcher authored
      
      
      * Implement new inherent data
      
      * Fixes compilation on wasm
      
      * Fixes after rebase
      
      * Switch back to generate inherent stuff by macro
      
      * Update after rebase
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarbkchr <[email protected]>
      
      * Fix compilation after rebase
      
      * Address grumbles
      
      * Remove `InherentDataProviders` from `Client`
      
      * Update wasm files after rebase
      
      * Address grumbles
      
      * Fixes compilation after latest merge
      
      * Last fix
      70b1af7b
  23. Jan 16, 2019
    • Gav Wood's avatar
      Split Indices module from Balances (#1404) · c9f047fe
      Gav Wood authored
      * Indices module
      
      * Remove indices stuff from balances
      
      * Rejob node, move Lookup into system.
      
      * Fix up some modules.
      
      * Fix democracy tests
      
      * Fix staking tests
      
      * Fix more tests
      
      * Final test fixes
      
      * Bump runtime versions
      
      * Assets uses compact dispatchers
      
      * Contracts module uses indexed addressing
      
      * Democracy has more compact encoding
      
      * Example now demonstrates compact eencoding
      
      * Sudo uses indexed address
      
      * Upgrade key also uses indexed lookups
      
      * Assets more compact types.
      
      * Fix test
      
      * Rebuild runtime, whitespace
      
      * Remove TOODs
      
      * Remove TODOs
      
      * Add a couple of tests back to balances.
      
      * Update lib.rs
      
      * Update lib.rs
      c9f047fe
  24. Jan 08, 2019
    • Wei Tang's avatar
      Make AuthorityId generic (#1296) · 71d889b6
      Wei Tang authored and Benjamin Kampmann's avatar Benjamin Kampmann committed
      * BlockAuthorityId convenience type
      
      * Rename AuthorityId -> Ed25519AuthorityId to make it more precise
      
      * Generalize AuthorityId up to substrate-client
      
      * Fix in client-db
      
      * rename: BlockAuthorityId -> AuthorityIdFor
      
      * typo: should be digest item
      
      * Fix test-runtime authorityId mismatch
      
      One states that AuthorityId is u64 while the other states that it's Ed25519AuthorityId.
      
      * Fix more u64 - Ed25519AuthorityId mismatch
      
      * Fix compile of most of the srml modules
      
      * Continue to pin aura and grandpa with ed25519 and fix compile
      
      * Add MaybeHash trait
      
      * Fix node-runtime compile
      
      * Fix network tests
      71d889b6
  25. Dec 10, 2018
    • asynchronous rob's avatar
      Punish offline validators, aura-style (#1216) · 6299b42a
      asynchronous rob authored
      * make offline-reporting infrastructure more generic
      
      * add a listener-trait for watching when the timestamp has been set
      
      * prevent inclusion of empty offline reports
      
      * add test for exclusion
      
      * generate aura-offline reports
      
      * ability to slash many times for being offline "multiple" times
      
      * Logic for punishing validators for missing aura steps
      
      * stub tests
      
      * pave way for verification of timestamp vs slot
      
      * alter aura import queue to wait for timestamp
      
      * check timestamp matches seal
      
      * do inherent check properly
      
      * service compiles
      
      * all tests compile
      
      * test srml-aura logic
      
      * aura tests pass
      
      * everything builds
      
      * some more final tweaks to block authorship for aura
      
      * switch to manual delays before step
      
      * restore substrate-consensus-aura to always std and address grumbles
      
      * update some state roots in executor tests
      
      * node-executor tests pass
      
      * get most tests passing
      
      * address grumbles
      6299b42a
  26. Dec 09, 2018
    • cheme's avatar
      `decl_storage` as a proc_macro (#1176) · ed5b78ea
      cheme authored
      
      
      * `decl_storage` parsing of the macro (TODO change tool crate structure)
      
      * Start formatting, for now use inner macro.
      Still missing optional formating last part (genesis ...).
      
      * Calling extra genesis macro
      
      * decl_storage lines parsing.
      
      * genesis macro as quote (need some cleaning reorg)
      
      * dirty $crate substitute
      
      * proc crate reorg.
      
      * PR impl : skip usage of phantom data, it only applies in test and
      council (others required it).
      
      * Remaining macro of decl_storage, warning stringify behave sometime
      oddly.
      
      * Formatting code and some cleaning.
      
      * Include line parsing to main struct (cannot use existing macro anymore).
      
      * Remove genesis phantom data when there is already a field with type
      parameter.
      
      * Revert wasm files
      
      * Remove old version of `decl_storage`.
      
      * Fix false positive for phantom trait (additional type check on config
      build).
      
      * slight changes:
      - return token errors instead of panic
      - do not use useless intermediate vec
      
      * Update srml/support/procedural/tools/derive/src/lib.rs
      
      remove indent
      
      Co-Authored-By: default avatarcheme <[email protected]>
      
      * Switch iterations to fold, remove unused import.
      ed5b78ea
  27. Nov 21, 2018
    • asynchronous rob's avatar
      Minimal switch of substrate-node to GRANDPA /Aura (#1128) · 11fe84a7
      asynchronous rob authored
      
      
      * add beginnings of SRML grandpa library
      
      * get srml-grandpa compiling
      
      * tests for srml-grandpa
      
      * add optional session integration to grandpa SRML
      
      * start integration into node runtime
      
      * Allow extracting pending change from header digest
      
      * Make it compile on wasm
      
      * make tests compile again
      
      * Move Authority Key fetching into service, simplify service factory construction
      
      * Generalize Authority Consensus Setup system
      
      * Add Authority Setup Docs
      
      * Allow CLI params to be extensible
      
       - move params to structopts
       - split parsing and default command execution
       - add custom config to node
       - extended parsing of custom config
       - extending params via structop's flatten
      
      * Minor fixes on cli extension params:
       - added docs
       - re-add actual app name, rather than node-name
       - make strategy and subcommand optional
      
      * better cli params
      
      * synchronize GRANDPA and normal node authorities
      
      * Implement grandpa::network for gossip consensus
      
      * run_grandpa in Node
      
      * Fix missed merge error
      
      * Integrate grandpa import queue
      
      * more specific type def
      
      * link up linkhalf and import block
      
      * make grandpa future send
      
      * get compiling
      
      * Fix new params convention and license header
      
      * get it running
      
      * rebuild node runtime WASM
      
      * change logging level
      
      * Update node/cli/src/params.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/cli/src/params.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/cli/src/lib.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/cli/src/lib.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Clean up and Fixme for mutable config
      
      * Move GrandpaService Integration into grandpa, feature gated but on per default
      
      * Fixing grandpa runtime module test
      
      * Update wasm runtime hashes for tests
      
      * GRANDPA: use post-header hash when logging scheduled changes
      
      * add an extra bit of logging to authorities
      
      * fixing missing constrain
      
      * remove old code
      
      * move `NewAuthorities` to an event in srml-grandpa
      
      * fix node-executor tests to use grandpa log
      
      * Remove GossipConsensus from tests, use newly provided sync-feature, fixes tests
      
      * Update to latest wasm runtimes
      
      * address grumbles
      
      * address grumbles
      
      * only derive deserialize when using std
      
      * Clean up use of Deserialize
      11fe84a7
  28. Nov 18, 2018
    • Bastian Köcher's avatar
      Revert and redo #952 (#1133) · d149f335
      Bastian Köcher authored
      * Revert "Pruning changes trie without digests (#952)"
      
      This reverts commit 6f9a505f.
      
      * pruning changes tries without digests
      
      * u64::max_value()
      
      * Update wasm files and fix merge conflict
      
      * Fixes tests
      d149f335
  29. Nov 17, 2018
  30. Nov 16, 2018
  31. Nov 01, 2018
  32. Sep 25, 2018
    • Gav Wood's avatar
      Switch to shiny new fast, RLP-less trie (#795) · 82d6ca34
      Gav Wood authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * Bump codec
      
      * Fix tests
      
      * Patricia trie builds
      
      * Introduce trie
      
      * Some yak shaving.
      
      * Some fixes
      
      * Remove RLP ref
      
      * Fixes
      
      * It builds!
      
      * Some tests fixed
      
      * Another test fix
      
      * Rejig more hashes
      
      * substrate-trie::iterator_works test
      
      * Update lock
      
      * Polish
      
      * Docs
      
      * Undo incorrect "fix" for tests
      
      * Fix nits
      82d6ca34
  33. Sep 19, 2018