Skip to content
  1. Jul 23, 2019
    • DemiMarie-parity's avatar
      BABE Epochs (#3028) · a626ba78
      DemiMarie-parity authored and asynchronous rob's avatar asynchronous rob committed
      
      
      * Add `epoch` field to `SlotInfo`
      
      * Add slot calculations
      
      * More work on epochs in BABE
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Typo: `/` not `%` for division
      
      * Delete useless `LastSlotInEpoch::put(false)`
      
      * Bump `spec_version`
      
      * Make test suite pass again
      
      * Implement BABE epoch randomness signing
      
      * Try to fix compilation
      
      Currently causes a stack overflow in the compiler
      
      * Fix rustc stack overflow
      
      * Add missing `PartialEq` and `Eq` implementations
      
      * Fix compile errors in test suite
      
      * Another silly compile error
      
      * Clone `epoch`
      
      * Fix compile error in benchmarks
      
      * Implement `clone` for `Epoch`
      
      * Merge master
      
      * AUTHORING TEST PASSES!!!
      
      * Fix compilation
      
      * Bump `spec_version`
      
      * Fix compilation
      
      * Fix compilation (again)
      
      * Remove an outdated FIXME
      
      * Fix run.sh and move it to scripts/
      
      * Delete commented-out code
      
      * Fix documentation
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * Fix BABE initialization and refactor
      
      * Respond to review
      
      * typo
      
      * Remove useless data in `CheckedHeader::Deferred`
      
      * Remove `slot_number` from Epoch
      
      It is not needed, and only served to waste space and cause confusion.
      
      * Remove epoch from BABE digests
      
      * Move digest.rs to primitives
      
      * Fix incorrect warning names
      
      * Fix compile error
      
      * Consistent field naming for BABE digests
      
      * More compiler error fixex
      
      * Unbound variable
      
      * more compile errors
      
      * another compile error
      
      * Fix compile errors in runtime
      
      * another compile error
      
      * Another compile error
      
      * Fix wasm build
      
      * missing import
      
      * Fix more compile errors
      
      * yet another compile error
      
      * compile fix in test runtime
      
      * Fix and simplify the BABE runtime
      
      The BABE runtime was massively overcomplicated and also wrong.  It
      assumed it needed to:
      
      1. delay new authorities taking effect until the next epoch
      2. not delay emitting `Consensus` digests to mark epoch changes
      
      However, the first is handled by the `srml_session` crate, and the
      second is flat-out incorrect: `Consensus` digests take effect
      immediately.  Furthermore, `srml_babe` tried to duplicate the
      functionality of `srml_session::PeriodicSession`, but did it both
      clumsily and incorrectly.  Fortunately, the new code is simpler and far
      more likely to be correct.
      
      * Use `system` to get the test authorities
      
      The genesis block used by tests defines no authorities.  Only the test
      suite is affected.
      
      * Fix test runtime impl for BabeApi::epoch() with std
      
      * Fix compilation
      
      * Cached authorities are in the form of an epoch
      
      not a `Vec<AuthorityId>`.
      
      * `slots_per_epoch` is not fixed in general
      
      The BABE code previously assumed `slots_per_epoch` to be a constant,
      but that assumption is false in general.  Furthermore, removing this
      assumption also allows a lot of code to go away.
      
      * fix compile error
      
      * Implement epoch checker
      
      * Fix runtime compilation
      
      * fork-tree: add method for finding a node in the tree
      
      * babe: register epoch transitions in fork tree and validate them
      
      * fork-tree: add method for arbitrary pruning
      
      * Expose the queued validator set to SRML modules
      
      BABE needs to know not only what the current validator set is, but also
      what the next validator set will be.  Expose this to clients of the
      session module.
      
      * Bump hex-literal
      
      Hopefully this will fix the panic
      
      * babe: prune epoch change fork tree on finality
      
      * babe: validate epoch index on transition
      
      * babe: persist epoch changes tree
      
      * Fix compile error in tests
      
      * Fix compile error in tests
      
      * Another compile error in tests
      
      * Fix compilation of tests
      
      * core: move grandpa::is_descendent_of to client utils
      
      * babe: use is_descendent_of from client utils
      
      * babe: extract slot_number from pre_digest in import_block
      
      * Move BABE testsuite to its own file
      
      * Initial part of test code
      
      * Missing `WeightMultiplierUpdate` in test-runtime
      
      * bump `spec_version`
      
      * Add a test that a very bogus is rejected
      
      * Run the tests again
      
      * Fix compiler diagnostics
      
      * Bump `spec_version`
      
      * Initial infrastructure for mutation testing
      
      * Mutation testing of block import
      
      * babe: revert epoch changes in case of block import error
      
      * babe: fix logging target
      
      * babe: BabeBlockImport doesn't box inner BlockImport
      
      * babe: fix epoch check in block import
      
      * babe: populate authorities cache on block authorship
      
      * babe: remove unused functions
      
      * babe: use RANDOMNESS_LENGTH const
      
      * babe: remove unneeded config parameters
      
      * core: revert change to hex dependency version
      
      * cleanup gitignore
      
      * babe: add docs to aux_schema
      
      * babe: remove useless drops in tests
      
      * babe: remove annoying macos smart quotes
      
      * fork-tree: docs
      
      * fork-tree: add tests
      
      * babe: style
      
      * babe: rename randomness config variable
      
      * babe: remove randomness helper function
      
      * babe: style fixes
      
      * babe: add docs
      
      * babe: fix tests
      
      * node: bump spec_version
      
      * babe: fix tests
      a626ba78
  2. Jul 22, 2019
    • Gavin Wood's avatar
      Extensible transactions (and tips) (#3102) · 2b43a43d
      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.
      2b43a43d
    • Pierre Krieger's avatar
      8d1c8c61
    • Gautam Dhameja's avatar
      Timestamp off-chain API (#3144) · 27b9db6d
      Gautam Dhameja authored
      * timestamp offchain api impl
      
      * Addressed review comments
      
      * fixed expect message
      
      * fixed compile error
      
      * fixed line width
      27b9db6d
    • David Craven's avatar
      Refactors the offchain worker api (#3150) · 5453dd17
      David Craven authored
      * Update offchain primitives.
      
      * Update offchain worker.
      
      * Update im-online.
      
      * Update service.
      
      * Update node and node-template.
      
      * Update runtime version.
      
      * Fix build.
      
      * Fix offchain worker tests.
      
      * Generalize authority_pubkey.
      
      * Add test.
      
      * Update lib.rs
      5453dd17
  3. Jul 21, 2019
  4. Jul 20, 2019
    • Gavin Wood's avatar
      SS58 versioning (Network IDs) (#3147) · cf98501f
      Gavin Wood authored
      * Introduce network IDs for SS58
      
      * Fix
      
      * Allow numeric overrides.
      
      * Improve docs
      
      * String rather than str
      
      * Comment out code that will become valid after other PR
      
      * Fix
      cf98501f
    • Michael Müller's avatar
      Introduce srml/im-online (#3079) · aa8c06a0
      Michael Müller authored
      
      
      * Fix grammar and typo
      
      * Extend network service
      
      * Extend offchain API
      
      * Support creating unsigned UncheckedExtrinsic
      
      * Introduce srml/im-online
      
      * Bump impl and spec version
      
      * Fix web-wasm test
      
      * Apply suggestions from code review
      
      Remove parity-multiaddr dependency
      
      Co-Authored-By: default avatarPierre Krieger <[email protected]>
      
      * Replace transmute with from_raw_parts
      
      * Replace PeerId.to_string() with .to_base58()
      
      Co-Authored-By: default avatarPierre Krieger <[email protected]>
      
      * Update Cargo.lock
      
      * Bump impl and spec version (again)
      
      It was updated in master in the meantime.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Address comments
      
      * Add public function is_online_in_current_session()
      
      * Bump spec_version
      
      * Fix doc tests
      
      * Improve comments
      
      * Remove superfluous line
      
      * Name parameters consistently
      
      * Implement comments
      
      * Switch From to TryFrom
      
      * Use Vec instead of HashSet
      
      * Fix tests
      
      * Revert me: local testing
      
      * Fix check if already sent during session
      
      We gossip each session, hence we need to check
      if already sent in this session (not era).
      
      * Fix typos
      
      * Consistent terminology
      
      * Revert "Revert me: local testing"
      
      This reverts commit 73fbc29f.
      
      * Introduce IsMember trait
      
      * Implement misc comments
      
      * Remove unused function
      
      * Fix test
      
      * Fix external_addresses being written
      
      * Fix test
      
      * Add necessary trait bound
      
      * Do not increment version
      
      * Update lib.rs
      aa8c06a0
  5. Jul 19, 2019
    • Amar Singh's avatar
      Transaction Fee Multiplier (#2854) · afa58301
      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
      afa58301
    • André Silva's avatar
      srml: grandpa: Pause/resume current authority set (#3068) · 77d0cb24
      André Silva authored
      * grandpa: add pause/resume signals to runtime module
      
      * grandpa: add tests for srml pause/resume transitions
      
      * node: bump spec_version
      
      * Apply suggestions from code review
      
      * Update core/finality-grandpa/primitives/src/lib.rs
      
      * Update core/finality-grandpa/primitives/src/lib.rs
      77d0cb24
  6. Jul 18, 2019
  7. Jul 16, 2019
  8. Jul 15, 2019
  9. Jul 14, 2019
    • Pierre Krieger's avatar
      Improvements to the import queue (#3101) · fb9871a7
      Pierre Krieger authored
      * Remove block_imported
      
      * Move blocks results processing to sync
      
      * Remove methods from Link
      
      * Better errors
      
      * Allow cancelling the import queue
      
      * Restore the import trace
      
      * Fix network tests
      
      * Line widths
      
      * Use has_error instead
      
      * Minor style
      fb9871a7
  10. Jul 13, 2019
  11. Jul 12, 2019
    • Toralf Wittner's avatar
      Remove `sync::Context` trait. (#3105) · 5c22d05d
      Toralf Wittner authored
      Instead of passing a context around to each method, thereby introducing
      side-effecting I/O actions everywhere, with this PR `sync::ChainSync`
      only contains state which is updated by invoking various callback
      methods (`on_*`) and actionable items are returned as regular results
      from method calls, often iterators yielding requests that should be
      issued to peers. It is up to the caller to handle these in an
      appropriate way, currently `protocol` will send those as messages.
      5c22d05d
  12. Jul 11, 2019
  13. Jul 10, 2019
  14. Jul 09, 2019
    • thiolliere's avatar
      Make use of child storage for testExternalities and basicExternalities (#3009) · 0bc753ff
      thiolliere authored
      * impl test using both storage and child_storage
      
      * few fixes
      
      * remove unused code
      
      * impl PartialEq with children keys
      
      * fmt
      
      * implementation of basic with children + rename new
      
      * assert and test
      
      * no panic in runtime
      
      * address comments
      
      * fix
      0bc753ff
    • Max Inden's avatar
      Introduce flag to enable sentry nodes to participate in grandpa gossip (#3018) · cf5b132b
      Max Inden authored
      Given the following situation: A validator 'A' is not supposed to be
      connected to the public internet to protect it from e.g. a DoS attack.
      Instead it connects to a sentry node 'sentry-A' which connects to the
      public internet. Validator 'B' can reach validator 'A' via sentry node
      'sentry-A' and vice versa.
      
      A sentry node needs to participate in the grandpa gossip without
      becoming a validator itself in order to forward these message to its
      validator. This commit adds a new command line flag (`--grandpa-voter`)
      forcing a node to participate in the grandpa voting process even though
      no `--key` was specified. Due to the fact that it does not have a key,
      it does not become a validator in the network.
      
      In order to simulate the above situation this commit also adds a Docker
      Compose file (`scripts/sentry-node/docker-compose.yml`) with further
      documentation.
      cf5b132b
    • Gavin Wood's avatar
      Allow sub accounts to be derived from an TypeId. (#3039) · 180e30ea
      Gavin Wood authored
      * Allow sub accounts to be derived from an TypeId.
      
      * Deduplicate
      
      * Fix
      
      * Rephrase.
      180e30ea
    • Pierre Krieger's avatar
      Change the import queue traits to take &mut self instead of &self (#3058) · 3e6f9051
      Pierre Krieger authored
      * SharedFinalityProofRequestBuilder -> BoxFinalityProofRequestBuilder
      
      * SharedThings -> BoxThings
      
      * Fix tests
      
      * build_request_data now takes &mut self
      
      * The other traits now also take &mut self
      
      * More or less fix tests
      
      * Fix tests
      
      * Fix more tests
      
      * Moar tests
      
      * Don't call make_block_import multiple time
      
      * Fix doctest
      3e6f9051
    • Tomasz Drwięga's avatar
      [offchain] Support for sign & verify for crypto keys (#3023) · 4dc625ff
      Tomasz Drwięga authored
      * Implement sign & verify.
      
      * Use phrases and password.
      
      * Sign & verify with authority keys.
      
      * Fix tests.
      
      * WiP
      
      * WiP
      
      * Allow the caller to decide on 'CryptoKind'.
      
      * Remove TODO.
      
      * Make seed private back.
      
      * Fix non-std build and bump version.
      
      * Use Into<u32> instead of asses.
      
      * Add missing typedef.
      4dc625ff
  15. Jul 08, 2019
    • Pierre Krieger's avatar
      d5dc301e
    • asynchronous rob's avatar
      Dispatch on-disabled digests from consensus modules (#3055) · bdd6e8bd
      asynchronous rob authored
      * on-disable primitives for engines
      
      * dispatch on-disabled digests from SRML consensus
      
      * bump runtime versions
      
      * use find_map
      bdd6e8bd
    • Bastian Köcher's avatar
      Make `RUSTFLAGS` configurable in `wasm-builder` (#3057) · 198e5c9f
      Bastian Köcher authored
      * Make `RUSTFLAGS` configurable in `wasm-builder`
      
      * Version ups
      
      * Update `Cargo.lock`
      198e5c9f
    • Pierre Krieger's avatar
      9be1ee8b
    • Pierre Krieger's avatar
      Network crate cleanups (#3049) · 09086cf7
      Pierre Krieger authored
      * Remove useless internal messages
      
      * Remove NetworkService::disconnect_peer
      
      * Remove NetworkMsg altogether
      
      * Rename ProtocolMsg ServerToWorkerMsg
      
      * Remove useless code
      
      * Add example for parse_str_addr
      
      * Move parse_str_addr and ProtocolId to config
      
      * Don't reexport the content of config
      
      * Rework the imports
      
      * More reexports rework
      
      * Add documentation
      
      * Move finalization report to network future
      
      * Move on_block_imported to worker
      
      * get_value/put_value no longer locking
      
      * local_peer_id() no longer locks
      
      * Remove FetchFuture
      
      * Service imports cleanup
      
      * Produce the network state in the network task
      
      * Merge network task and RPC network task
      
      * Move network methods to NetworkWorker
      
      * Remove Arc peers system from network
      
      * add_reserved_peer now goes through the channel
      
      * Remove Mutex around network swarm
      
      * Remove the FnOnce alias traits
      
      * Replace is_offline with num_connected
      
      * Improve style of poll()
      
      * Fix network tests
      
      * Some doc in service module
      
      * Remove macro export
      
      * Minor doc changes
      
      * Remove the synchronized() method of the import queue
      
      * Line width
      
      * Line widths
      
      * Fix import queue tests
      
      * Fix CLI tests
      09086cf7
    • asynchronous rob's avatar
      Slash and prove membership of prior sessions (#2970) · 60c54f0d
      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
      60c54f0d
    • Arkadiy Paronyan's avatar
      a44650f1