Skip to content
  1. Aug 27, 2019
    • Sergey Pepyakin's avatar
      Eradicate native_equivalent (#3494) · 36ef4c06
      Sergey Pepyakin authored
      
      
      * Add ability to supply extra storage in test-client
      
      * Don't use native_equivalent in tests.
      
      * Get rid of native_equivalent
      
      * Try to make fields private
      
      * Apply Basti's suggestions
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      36ef4c06
    • Pierre Krieger's avatar
      Service factory refactor (#3382) · 5b8ebf7b
      Pierre Krieger authored
      * Move Service::new to a macro
      
      * Move function calls to macros
      
      * Extract offchain_workers and start_rpc in separate function
      
      In follow-up commits, we want to be able to directly call maintain_transaction_pool, offchain_workers, and start_rpc, without having to implement the Components trait.
      This commit is a preliminary step: we extract the code to freestanding functions.
      
      * Introduce an AbstractService trait
      
      * Introduce NewService as an implementation detail of Service
      
      * Implement traits on NewService instead
      
      Instead of implementing AbstractService, Future, and Executor on Service, we implement them on NewService instead.
      
      The implementations of AbstractService, Future, and Executor on Service still exist, but they just wrap to the respective implementations for NewService.
      
      * Move components creation back to macro invocation
      
      Instead of having multiple $build_ parameters passed to the macro, let's group them all into one.
      
      This change is necessary for the follow-up commits, because we are going to call new_impl! only after all the components have already been built.
      
      * Add a $block parameter to new_impl
      
      This makes it possible to be explicit as what the generic parameter of the NewServiceis, without relying on type inference.
      
      * Introduce the ServiceBuilder struct
      
      Introduces a new builder-like ServiceBuilder struct that creates a NewService.
      
      * Macro-ify import_blocks, export_blocks and revert_chain
      
      Similar to the introduction of new_impl!, we extract the actual code into a macro, letting us get rid of the Components and Factory traits
      
      * Add export_blocks, import_blocks and revert_chain methods on ServiceBuilder
      
      Can be used as a replacement for the chain_ops::* methods
      
      * Add run_with_builder
      
      Instead of just run, adds run_with_builder to ParseAndPrepareExport/Import/Revert. This lets you run these operations with a ServiceBuilder instead of a ServiceFactory.
      
      * Transition node and node-template to ServiceBuilder
      
      * Transition transaction-factory to the new service factory
      
      This is technically a breaking change, but the transaction-factory crate is only ever used from within substrate-node, which this commit updates as well.
      
      * Remove old service factory
      
      * Adjust the AbstractService trait to be more usable
      
      We slightly change the trait bounds in order to make all the methods usable.
      
      * Make substrate-service-test compile
      
      * Fix the node-cli tests
      
      * Remove the old API
      
      * Remove the components module
      
      * Fix indentation on chain_ops
      
      * Line widths
      
      * Fix bad line widths commit
      
      * Line widths again 🤦
      
      
      
      * Fix the sync test
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Address some concerns
      
      * Remove TelemetryOnConnect
      
      * Remove informant::start
      
      * Update jsonrpc
      
      * Rename factory to builder
      
      * Line widths 😩
      5b8ebf7b
  2. Aug 20, 2019
    • Max Inden's avatar
      srml/authority-discovery: Introduce srml module to sign and verify (#3385) · 2c0e73b7
      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.
      2c0e73b7
    • Tomasz Drwięga's avatar
      Custom RPC implementation for `node`. (#3109) · 56296386
      Tomasz Drwięga authored
      * Allow RPCs to be customized.
      
      * Implement node-rpc extensions.
      
      * Working on a test.
      
      * Add node-testing crate.
      
      * Fix genesis test config
      
      * Fix nonce lookups.
      
      * Clean up.
      
      * Fix expected block type.
      
      * Make the RPC extension function optional.
      
      * Fix service doc test.
      
      * Bump jsonrpc.
      
      * Bump client version.
      
      * Update Cargo.lock
      
      * Update jsonrpc.
      
      * Fix build.
      
      * Remove unused imports.
      
      * Fix signed extra.
      
      * Post merge clean up.
      
      * Fix tests.
      
      * Patch hashmap-core.
      
      * Fix build.
      
      * Fix build.
      
      * Remove hashmap_core patches.
      56296386
  3. Aug 19, 2019
    • cheme's avatar
      Update trie crate to hashbrown usage. (#3440) · 95abffc8
      cheme authored
      * Update trie crate to non hashmap_core one.
      
      * bump runtime impl.
      95abffc8
    • Gautam Dhameja's avatar
      Make node-template in sync with node. (#3422) · 0bb44f50
      Gautam Dhameja authored
      * Make node-template in sync with node.
      
      * Update service.rs
      
      * Updated babe constants.
      
      * Added SignedExtra for CheckVersion in node-template and subkey.
      
      * Added CheckVersion SignedExtra for node.
      
      * Fixed tests.
      
      * Try fix integration test.
      
      * Attempt 2 at fixing integration test.
      
      * Update node-template/runtime/src/lib.rs
      0bb44f50
  4. Aug 18, 2019
  5. 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
  6. Aug 13, 2019
    • Marcio Diaz's avatar
      Add transaction pool to Aura and Babe import queue (#3225) · 7b451301
      Marcio Diaz authored
      * Add transaction pool to babe import queue
      
      * Add transaction pool to Babe check header
      
      * Fix tests
      
      * Add tx pool to Aura import_queue
      
      * Fix tests, node-template
      
      * Add comments regarding unused _transaction_pool
      
      * Make tx pool optional in check_header
      7b451301
  7. Aug 12, 2019
  8. Aug 11, 2019
    • Pierre Krieger's avatar
      Refactor parse_and_execute (#3358) · 6fa84bae
      Pierre Krieger authored
      
      
      * Refactor `parse_and_execute`
      
      Adds a new function named `parse_and_prepare`, which prepares the environment and parses the command.
      Contrary to `parse_and_execute`, `parse_and_prepare` returns a struct that permis the user to execute the command, as opposed to execute it itself.
      
      `parse_and_execute` has been modified to use `parse_and_prepare` internally.
      
      * Embed dispatch functions directly into run()
      
      After the previous commit, we now have a lot of functions whose only one is to call other functions. And these other functions are called only from one location.
      Let's merge these two for clarity.
      
      * Deprecate parse_and_execute and replace it in node and node-template
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      6fa84bae
    • Gavin Wood's avatar
      Scale trait and move to u32 blocknumbers (#3357) · 14bb1151
      Gavin Wood authored
      
      
      * Scale trait and move to u32 blocknumbers.
      
      * Fixes
      
      * Cleanups
      
      * Update node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Fix up some of the factory stuff.
      
      * Update core/sr-primitives/src/traits.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Move Nonce/Index to u32 (#3361)
      
      * Force a non-borked version of upstream crate
      
      * Line lengths and runtime version bump
      14bb1151
  9. Aug 09, 2019
  10. Aug 08, 2019
    • Pierre Krieger's avatar
      Service various cleanups (#3238) · bafc7202
      Pierre Krieger authored
      * Remove generic from sign()
      
      * Remove mandatory RuntimeGenesis trait req
      
      * Remove requirement from Configuration
      
      * Relax trait bounds of core/cli
      
      * Move method
      
      * The config field is no longer public
      
      * Remove Components from bounds of functions
      
      * Implement DerefMut for LightComponents
      
      * Implement Executor for Full/LightComponents
      
      * Fix bad merge
      
      * Fix forgotten config()
      
      * Fix build
      bafc7202
    • 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
  11. 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
  12. Aug 06, 2019
    • thiolliere's avatar
      Update to parity-scale-codec (#3232) · 4ed67e03
      thiolliere authored
      
      
      * WIP: update codec
      
      * WIP
      
      * compiling
      
      * WIP
      
      * rename parity-scale-codec to codec
      
      * WIP
      
      * fix
      
      * remove old comments
      
      * use published crates
      
      * fix expected error msg
      
      * bump version
      
      * fmt and fix
      
      * remove old comment
      
      * fix wrong decoding impl
      
      * implement encode like for structures
      
      * undo removal of old pending changes
      
      * trailingzeroinput
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * update codec
      
      * fmt
      
      * version is 1.0.0
      
      * show more error
      
      * fmt
      4ed67e03
  13. Aug 02, 2019
    • cheme's avatar
      Trie simplification. (#2815) · da8b91ae
      cheme authored
      * switch to simple codec, trie broken for now
      
      * Actualy use trie_root_noext
      
      * align some hash, failing test on EMCH comment
      
      * Fix trie code over layout instead of hash, revert legacy code for legacy
      mainnet ??
      
      * stub behind LayOut
      
      * fix no_std
      
      * temp solution for legacy trie behind feature legacy-key in various crate
      
      * use remote project
      
      * rc client db need prefix
      
      * update trie deps
      
      * bum spec runtime version
      
      * Removing legacy as default.
      
      * Switch mode to non legacy.
      
      * bump runtime version
      
      * Remove legacy trie compatibility features.
      
      * fix warning
      
      * bump version
      
      * change hash on new test.
      
      * Move dependency (#11 trie PR) patched to a parity repo.
      Bench reverted to correct hasher.
      Some renaming and doc improvments.
      
      * ChildBitmap renaming to BitMap.
      
      * Renaming of LayOut to Layout.
      
      * formatting.
      
      * Removing abreviation such as _ix nb_ or bm.
      
      * Update deps and apply renaming 'Buff' -> 'Buffer'.
      
      * Align to latest trie crates naming changes.
      
      * Update trie dependency.
      
      * Update trie dependency.
      
      * change block_import test hash
      
      * update trie deps (trie use new scale codec but it does not seems to be
      an issue).
      
      * update to use latest trie version (no mgmt of multiple radix).
      
      * tabify
      
      * Restoring test to 10 000.
      
      * Use published crate, trie bench is currently down until publishing
      (require another pr to update version).
      
      * Update trie-bench.
      da8b91ae
  14. Jul 28, 2019
    • Pierre Krieger's avatar
      Clean up the basic-authorship crate (#3206) · 9370a4a6
      Pierre Krieger authored
      * Switch consensus-common to new futures
      
      * Fix tests
      
      * More tests fixing
      
      * Make Proposer, OnSlot and SyncOracle mut
      
      * Make the Environment mut as well
      
      * Fix test
      
      * Fix Babe tests
      
      * Babe fixes
      
      * Fix CLI service tests
      
      * Fix Babe tests
      
      * Remove unnecessary trait bound
      
      * Inline the code of BlockBuilder and AuthoringApi
      
      * Remove warning lint
      
      * Bounds simplification
      
      * Imports simplification
      
      * Don't panic on bad generated block
      
      * Code style
      
      * Add doc example
      
      * Remove dependency on aura
      
      * Order dependencies alphabetically
      
      * Minor style
      9370a4a6
  15. Jul 26, 2019
    • André Silva's avatar
      Use milliseconds for timestamp resolution (#3210) · a5efdd05
      André Silva authored
      
      
      * node: tabify constants file
      
      * node: define minimum period and slot duration in milliseconds
      
      * core: srml: use milliseconds for timestamp resolution
      
      * core: update slot_duration to millis in tests
      
      * node: bump spec_version
      
      * node: fix integration test
      
      * node: fix executor test
      
      * Update node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarKian Peymani <[email protected]>
      
      * node: fix docs on timestamp resolution
      
      * node: add docs on u64 for millis
      a5efdd05
  16. Jul 25, 2019
    • Sergey Pepyakin's avatar
      Fair reusing of wasm runtime instances (#3011) · af914e9f
      Sergey Pepyakin authored
      * Add test from original bug report
      
      Original is from @pepyakin
      
       in 3d7b27f3421818e8d6de568e02fbc2947a06246b.
      I adapted it to work with the latest master.
      
      * No longer cleanup module instance
      
      * Replace runtime cache with synchronous clone
      
      * Fix test
      
      * Preserve initial runtime memory and restore it on fetch
      
      * Remove leftover comment
      
      * Fix style
      
      * Improve variable naming
      
      * Replace get_into() with get()
      
      * Handle missing memory export better
      
      * Return earlier when creating runtime first time
      
      * Improve comments
      
      * fmt
      
      * Fix #2967.
      
      * Eradicate `code` from `Error::InvalidCode`
      
      * tidy
      
      * A state snapshot doc.
      
      * Store multiple runtimes by hash.
      
      * Get rid of deref.
      
      * Docs
      
      * Use Self for instantiate_module
      
      * REVERT ME
      
      * Should be ok
      
      * Commit
      
      * Remove dbg
      
      * Use fast-memory's erase
      
      * Clean and undo hacks.
      
      * Introduce a dedicated error for heap_base
      
      * Ban the start function.
      
      * Clean, docs and refactor
      
      * Add rustflags.
      
      * Update Cargo.lock
      
      * Apply Basti's suggestions
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Rename allocates_huge_stack_array
      
      * Extend TestClientBuilder with set_heap_pages
      
      * Update the test.
      
      * Update core/executor/src/wasm_executor.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/executor/src/wasm_runtimes_cache.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/executor/src/error.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/executor/src/error.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Fix tests.
      
      * Update cargo-lock
      
      * Use wasmi master
      
      * Use master wasmi
      
      * Move tests.
      
      * Use wasmi crates.io
      
      * Update Cargo.lock
      
      * Fix build.rs
      
      * Bump runtime version
      
      * Revert initial_heap_pages renaming
      
      * Bump wasmi up to 0.5.0
      
      * Bump runtime version
      
      * Don't restore an instance every now and then
      
      * Update core/executor/src/wasm_runtimes_cache.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Propagate error in CacheError
      
      * Clarify the get_heap_base call in instantiation
      
      * Supply --export=__heap_base
      
      See https://reviews.llvm.org/D62744
      
      
      
      Co-authored-by: default avatarJim Posen <[email protected]>
      
      * Bump version.
      
      * Use combinators for segments.
      
      * Fix build.rs
      
      * Fix build.rs for runtime-test
      af914e9f
    • 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
  17. 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
    • David Craven's avatar
      Refactors the offchain worker api (#3150) · a3d19bae
      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
      a3d19bae
  18. Jul 20, 2019
    • Michael Müller's avatar
      Introduce srml/im-online (#3079) · c70b8144
      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 73fbc29ff3e5ed71d99436318260b4f007e837f4.
      
      * 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
      c70b8144
  19. 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
  20. Jul 11, 2019
  21. Jul 09, 2019
    • Pierre Krieger's avatar
      Change the import queue traits to take &mut self instead of &self (#3058) · d7b67206
      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
      d7b67206
    • 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
  22. Jul 08, 2019
  23. Jul 05, 2019
  24. Jul 04, 2019
    • Bastian Köcher's avatar
      Make `wasm-builder` less spammy (#3020) · 7a2165cf
      Bastian Köcher authored
      * Don't clutter the output that much
      
      * Support building from `crates` or from `path`
      
      * Upgrade the versions
      
      * Update `Cargo.lock`
      7a2165cf
    • cheme's avatar
      Update trie dependencies. (#3017) · fb8bb001
      cheme authored
      * Update trie dependencies.
      
      * bump rutime impl version.
      fb8bb001
    • David Craven's avatar
      Generic keystore (#3008) · 51e345c9
      David Craven authored
      * Add KeyTypeId.
      
      * Implement clone for sr25519::Pair.
      
      * Extend Pair with to_raw_vec.
      
      * Implement TypedKey for Signature and Pair.
      
      * Add trait Public.
      
      * Make keystore generic.
      
      * Fixup clone.
      
      * Fix tests.
      
      * Update service.
      
      * Fix imports.
      
      * Fix build.
      
      * Fix babe build.
      
      * Fix subkey build.
      
      * Make authority setup generic.
      
      * Update node-template.
      
      * Fix build.
      
      * Remove unsafe code.
      
      * Fix tests.
      51e345c9
    • Bastian Köcher's avatar
      Build WASM binaries as part of cargo build (#2868) · fe082214
      Bastian Köcher authored
      
      
      * Introduce `wasm-builder` and `wasm-builder-runner` to retire `build.sh`
      
      Make use of `wasm-builder` in `test-runtime`.
      
      * Add build script and remove the wasm project
      
      * Port `node-runtime` to new wasm-builder
      
      * Make `substrate-executor` tests work with `wasm-builder`
      
      * Move `node-template` to `wasm-builder`
      
      * Remove `build.sh` :)
      
      * Remove the last include_bytes
      
      * Adds the missing build.rs files
      
      * Remove `build.sh` from CI
      
      * Debug CI
      
      * Make it work in CI
      
      * CI attempt 3
      
      * Make `substrate-runtime-test` compile on stable
      
      * Ahhh, some missed `include_bytes!`
      
      * AHH
      
      * Add suggestions
      
      * Improve search for `Cargo.lock` and don't panic if it is not found
      
      * Searching from manifest path was no good idea
      
      * Make the `wasm-builder` source better configurable
      
      * Expose the bloaty wasm binary as well
      
      * Make sure to rerun WASM recompilation on changes in dependencies
      
      * Introduce new `WASM_BUILD_TYPE` env and make sure to call `build.rs` on
      changes to env variables
      
      * Remove `build.sh` from READMEs
      
      * Rename the projects
      
      * Fixes CI
      
      * Update lock file
      
      * Fixes merge-conflict
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTriplEight <[email protected]>
      
      * Try to make windows happy
      
      * Replace all back slashes in paths with slashes
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarPierre Krieger <[email protected]>
      
      * Use cargo from `CARGO` env variable
      
      * Fix compilation
      
      * Use `rustup` for running the nightly build
      
      * Make individual projects skipable
      
      * Fix compilation
      
      * Fixes compilation
      
      * Build all WASM projects in one workspace
      
      * Replace more back slashes!
      
      * Remove `inlcude_bytes!`
      
      * Adds some documentation
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * More review comments
      
      * Update `Cargo.lock`
      
      * Set license
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * More review comments + adds `TRIGGER_WASM_BUILD` env
      
      * Fix doc tests
      
      * Increase version + update README
      
      * Switch crates.io version of `wasm-builder`
      
      * Update README
      
      * Switch to released version of `wasm-builder-runner`
      fe082214
  25. Jul 03, 2019
    • DemiMarie-parity's avatar
      BABE Randomness using PreRuntime digests (#2929) · 81d8a5d0
      DemiMarie-parity authored
      
      
      * Initial work on exposing pre-runtime digests
      
      This provides the primitive API, as well as exposing it from BABE.
      
      * Initial work on using pre-digests in runtimes
      
      This includes both code to expose them from `srml_system`, as well as
      using it in (currently dead) code in `srml_babe`.
      
      * Bump `{spec,impl}_version`
      
      * Add `u64_backend` feature to curve25519-dalek
      
      Otherwise, it errors out at compile-time.
      
      * Bump `Cargo.lock`
      
      * Do not depend on the schnorrkel crate in the runtime
      
      The schnorrkel crate does not work on `#![no_std]`, but the runtime only
      needs constants from it.  This adds our own definitions of those
      constants, and checks them for correctness at compile-time.
      
      * Actually implement storage of VRF outputs
      
      * Trivial formatting change
      
      * Provide a `hash_randomness` function in BABE
      
      for processing VRF outputs.
      
      * Implement a basic randomness generating function
      
      It just XORs the VRF outputs together.
      
      * Actually implement on-chain randomness
      
      Blake2b is used for hashing.
      
      * Update dependencies
      
      * Run `cargo update` where needed
      
      * Re-add a newline at EOF
      
      * Remove broken and unsafe code
      
      XOR is not a hash function, and must not be used as such.  The
      implementation was also needlessly unsafe.
      
      * Run `cargo update` where needed
      
      * Remove spurious dependency
      
      * Document security guarantees of BABE randomness
      
      * Add a `RandomnessBeacon` trait
      
      * Document `RandomnessBeacon::random`
      
      * Fix silly compile error (unexpected type arguments)
      
      * Fix BABE randomness
      
      * Implement `FindAuthor` for `babe::Module`
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Respond to suggestions from code review and fix bugs
      
      * Store an authority index, not the authority itself.
      * Avoid unnecessary decoding.
      * Implement relative slots and BABE randomness fully and correctly.
      
      * Remove spurious dependency
      
      * Fix error reported by rust-analyzer
      
      * Update Cargo.lock files
      
      * `wrapping_add` → `checked_add`
      
      The epoch index will not overflow.  Panic if it does.
      
      * Move randomness documentation to trait
      
      * Fix compile error in test suite
      
      * Explain 2^64 limit
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      81d8a5d0
  26. Jul 02, 2019
    • David Craven's avatar
      Turn storage items into parameters (#2883) · cf036f68
      David Craven authored
      * balances: Turn storage items into parameters.
      
      * contract: Turn storage items into parameters.
      
      * council: Turn storage items into parameters.
      
      * finality-tracker: Turn storage items into parameters.
      
      * treasury: Turn storage items into parameters.
      
      * democracy: Fix tests.
      
      * example: Fix tests.
      
      * executive: Fix tests.
      
      * staking: Fix tests.
      
      * Update runtime.
      
      * Update template-node.
      
      * Update runtime version.
      
      * Fix executor tests.
      
      * Fix node cli tests.
      
      * Address grumbles.
      
      * Add removed default values to docs.
      
      * Make gas price a storage item.
      
      * Set associated consts must be callable outside of build.
      
      * Fix not enough gas to pay for transfer fee.
      
      * Fix build.
      
      * Emit metadata.
      
      * Fix build.
      
      * Add default values for all parameter types.
      
      * Fix build.
      
      * Fix build.
      
      * Fix build.
      
      * Fix build.
      cf036f68
    • Gavin Wood's avatar
      Initial mechanics for 80:20 fee split (#2912) · 9c6ebfec
      Gavin Wood authored
      
      
      * Initial mechanics for 80:20 fee split
      
      Also:
      - Introduce extra functions for Imbalance manipulation;
      - Store treasury pot in an account, letting total issuance account for
        it.
      
      * Fix some tests
      
      * Fix some tests
      
      * Minor cleanups
      
      * Update parity-codec version (#2855)
      
      * Update parity-codec version
      
      * Update grandpa, rhododendron and trie-bench
      
      * Use primitive-types from crates.io
      
      * Bump impl version
      
      * Fix trie-bench version
      
      * Fix lock files
      
      * Fix versions
      
      * Update codec to 4.1
      
      * merge fix
      
      * Revert merge
      
      * More reversions
      
      * Remove accidental code
      
      * Update locks
      
      * Bump runtime
      
      * Update locks
      
      * Tweaks and label TODO
      
      * Update srml/treasury/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Update issue number
      
      * Update core/sr-primitives/src/traits.rs
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Fix wasm build
      
      * Fix subkey build
      9c6ebfec
  27. Jul 01, 2019