Skip to content
  1. Oct 01, 2019
    • Bastian Köcher's avatar
      Let `construct_runtime!` generate `ALL_MODULES` as nested tuples (#3732) · 2f50ef55
      Bastian Köcher authored
      So, instead of:
      `type ALL_MODULES = (Module1, Module2, Module3)`;
      Generate it like this:
      `type ALL_MODULES = ((Module1, Module2), Module3,);`
      
      This should make `construct_runtime!` support an "unlimited" number of
      modules.
      2f50ef55
    • Max Inden's avatar
      srml/authority-discovery: Abstract session key type (#3698) · a7b1284f
      Max Inden authored
      * srml/authority-discovery: Abstract session key type
      
      Previously `srml/authority-discovery` dependet on the `srml/im-online`
      session key type directly. With this patch `srml/authority-discovery` is
      generic over the session key type it is going to use, as long as it
      implements the RuntimeAppPublic trait.
      
      With this patch one can use the `srml/authority-discovery` module
      without the `srml/im-online` module.
      
      Next to the above, this patch configures `node/runtime` to use the babe
      session keys for the authority discovery module.
      
      * srml/authority-discovery: Fix line length
      
      * srml/authority-discovery/Cargo: Move babe to dev-dependencies
      
      * node/runtime: Bump implementation version
      
      * srml/authority-discovery: Add doc comment for authority discovery Trait
      a7b1284f
    • André Silva's avatar
      srml: system: add kill_prefix (#3729) · facf31f7
      André Silva authored
      * srml: system: add kill_prefix
      
      * node: bump spec_version
      facf31f7
  2. Sep 30, 2019
  3. Sep 28, 2019
  4. Sep 27, 2019
  5. Sep 26, 2019
  6. Sep 25, 2019
  7. Sep 24, 2019
  8. 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
    • thiolliere's avatar
      Refactor reward curve (#3668) · e6d4a765
      thiolliere authored
      * move test in tests dir
      
      * comment
      
      * refactor
      e6d4a765
    • Ashley's avatar
      Rename more things related to contract instantiation (#3664) · 0a469666
      Ashley authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
      * Rename more things related to contract instantiation
      
      * rename `creator_ch`
      
      * Fix node runtime
      
      * fix contracts tests
      
      * Little fix
      0a469666
  9. Sep 21, 2019
  10. Sep 20, 2019
  11. Sep 19, 2019
  12. Sep 18, 2019
  13. Sep 17, 2019
    • Bastian Köcher's avatar
      Enable nice wasm panic messages by default (#3619) · 96c78183
      Bastian Köcher authored
      By accident it was already enabled in master for quite some time. To
      make sure that we don't blow up the wasm binary size, I compiled the
      binary with the feature enabled and disabled. With nice panic messages
      enabled, the binary size increases by 908 bytes. Given the value that
      this feature brings, I think it is okay to have these panic messages
      enabled by default.
      96c78183
  14. Sep 13, 2019
    • Bastian Köcher's avatar
      Clean up sr-io (#3609) · 45d64a71
      Bastian Köcher authored
      * Move trait `Printable` into `sr-primitives`
      
      * Cleanup runtime io trie_root interfaces
      
      * Remove last generic bits from sr-io interface
      
      * Fix srml-sudo after master merge
      
      * Fix benchmarks
      
      * Runtime bump
      45d64a71
    • Tomasz Drwięga's avatar
      Fix tracking validator set in ImOnline (#3596) · b7c6bc1e
      Tomasz Drwięga authored
      
      
      * Use session::validators instead of staking::current_elected
      
      * Basic test framework.
      
      * Initialize validators, attempt to heartbeat.
      
      * Use dummy crypto for im-online testing.
      
      * Remove printlns.
      
      * Finish test, make it invalid.
      
      * Add reporting test.
      
      * Finalize the test.
      
      * Remove dumbness.
      
      * Updates.
      
      * Update AuRa
      
      * Update srml/im-online/src/tests.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Derive Ord
      
      * Add some more tests.
      
      * Remove stray todo.
      
      * Bump runtime version.
      
      * Bump impl-trait-for-tuples.
      
      * Enforce new version of trait-for-tuples.
      b7c6bc1e
    • Kian Paimani's avatar
      Fix Staking and Democracy locking (#3606) · a7f35680
      Kian Paimani authored
      * Fix locking.
      
      * Some reformattings.
      
      * Fix build.
      
      * Fix doc comment.
      
      * Bump.
      a7f35680
    • Kian Paimani's avatar
      Move phragmen benchmarks out of Staking (#3588) · a6b5d1d1
      Kian Paimani authored
      * Move phragmen benches to.. phragmen.
      
      * Move some basic phragmen tests to.. phragmen.
      
      * Line-width
      
      * Add phragmen equ implementation as flot
      
      * Add phragmen equ implementation as flot
      
      * Add mock and test file.
      a6b5d1d1
  15. Sep 12, 2019
  16. Sep 11, 2019
  17. Sep 10, 2019
    • Bastian Köcher's avatar
      First step for generating host externals out of the function definition in `sr-io` (#3567) · 1450719a
      Bastian Köcher authored
      
      
      * Adds new wrapper traits for wasm executor
      
      * Add new crate `substrate-wasm-interface`
      
      Thew new crate holds types and traits for the communicating between the
      wasm runtime and the host.
      
      * Rewrite externals with new macro etc
      
      * Fix vec initialization
      
      * Make executor tests working
      
      * Remove unused code + warnings
      
      * Introduce `Pointer` and `WordSize` for working with wasm
      
      * Fix tests and compilation
      
      * Fix compilation
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Review feedback
      
      * Remove unused conversions
      
      * Make each host function its own struct
      
      `HostFunctions` now just returns these function structs. Each function
      can be executed by using one of the function structs. The inherent host
      functions are now moved to the "normal" host functions.
      
      * Remove byteorder
      
      * Add floating point types
      
      * Make pointer interface more safe
      
      * Add type alias for wasm-interface Result
      
      * More review comments
      1450719a
  18. Sep 06, 2019
    • Kian Paimani's avatar
      Better testing for lock types in staking/democracy. (#3565) · a381f033
      Kian Paimani authored
      
      
      * Better testing for lock types in staking/democracy.
      
      * Update docs.
      
      * Update srml/executive/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/executive/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Fix test
      a381f033
    • Max Inden's avatar
      core/authority-discovery: Enable authorities to discover each other (#3452) · 027d8879
      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
      027d8879
    • Kian Paimani's avatar
      Remove dead code in Staking (#3559) · 202271d0
      Kian Paimani authored
      * Remove some dead code from staking
      
      * Fix var name.
      202271d0
  19. Sep 04, 2019
    • Bastian Köcher's avatar
      Custom runtime module errors (#3433) · c6f37980
      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: default avatarTomasz 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: default avatarGavin 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: default avatarBastian Köcher <[email protected]>
      
      * Update core/sr-primitives/src/traits.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/council/src/motions.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/council/src/motions.rs
      
      Co-Authored-By: default avatarBastian 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: default avatarTomasz 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: default avatarSergei Pepyakin <[email protected]>
      
      * Fix compilation
      
      * Update srml/contracts/src/lib.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update core/sr-primitives/src/transaction_validity.rs
      
      Co-Authored-By: default avatarTomasz 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: default avatarGavin 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: default avatarGavin Wood <[email protected]>
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      c6f37980