Commit Graph

16737 Commits

Author SHA1 Message Date
Bastian Köcher 06658e0c3c Fix tests compilation on master and remove warnings (#3525) 2019-09-01 15:17:17 +02:00
Svyatoslav Nikolsky 607ee0a4e4 Make chain && state RPCs async (#3480)
* chain+state RPCs are async now

* wrapped too long lines

* create full/light RPC impls from service

* use ordering

* post-merge fix
2019-08-31 17:20:10 -07:00
cheme 816e132cd7 Add missing child trie rpc on_custom_message handler (#3522)
* missing on_custom for child read.

* fix and complete, add test cases.

* shorten line.

* replace vecs of key value tuple with maps.
2019-08-31 17:19:54 -07:00
Sergei Pepyakin 63c15c9803 Minimum balance (#3519) 2019-08-31 17:19:31 -07:00
Tomasz Drwięga feecfc856d Submit (& sign) extrinsics from the runtime. (#3514)
* Abstract constructing extrinsic and signing.

* Initial impl of signer.

* Implement get payload.

* Clean up the code.

* Improve docs.

* Bump version.

* Update core/sr-primitives/src/generic/unchecked_extrinsic.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Fix tests & address grumbles.

* Fix build.

* Fix runtime tests.

* Fix bound test.

* Fix bound test.
2019-08-31 17:19:04 -07:00
Benjamin Kampmann 0cae7217d8 Remove client.backend (#2960)
* generalize tree_root to remove client.backend dependency

* replace client.backend.blockchain.header with client.header

* move used_state_cache_size into client info

* Create intermediate Setup State. Fixes #1134

* remove client.backend from finality proof

* update node-template

* move memory backend into test helper mode

* move test helper into client

* starting the big refactor, remove unused functions

* apply_finality

* apply_finality

* replacing more .backend from environment with client directly

* remove .backend from grandpa by using traits

* remove .backend from babe

* remove .backend from tests where it is not needed

* remove .backend from tests

* fixing tests

* fixing tests

* fixing more tests

* fixing tests

* fix all forks test

* fix style

* fixing unnecessary allocation

* remove old test.

* fix service docs

* apply suggestion

* minor clean ups

* turns out the test-helper features actually is being used!

* fixing line length.

* fix line length

* minor cleaning

* Apply suggestions from code review

thanks, @Basti

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* address grumbles

* simplify finalize block on client

* move block back into inner function

* Apply suggestions from code review

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* use as.ref instead of match

* Update core/client/src/backend.rs

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
2019-08-30 02:20:26 +02:00
thiolliere 26202c66f7 rename (#3516) 2019-08-29 17:43:04 +02:00
thiolliere 9900562389 srml_support storage reorganize (#3344)
* impl

* file split

* old comment

* better error message

* WIP

* basti test works

* comment

* remove old files

* impl swap for storage map

* fix

* fix and comment

* code refactor

* code refactor

* code format

* code refactor

* fix

* fix

* fix

* document generators

* license

* doc

* doc

* fmt

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* some comment addressed

* storage_items small refactor

* fix storage_items

* more precise returned type

* fix

* code fmt suggestion

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* remove box allocation

* bump version

* rename function as behavior has changed

* fix doc
2019-08-29 17:04:46 +02:00
gabriel klawitter 7126ade259 in order to make srml staking tests mandatory it is required to run on every pr (#3511) 2019-08-29 16:59:34 +02:00
Bastian Köcher ee16acdc14 Make public key mandatory in insert_key (#3512) 2019-08-29 16:11:26 +02:00
thiolliere b07fd450e2 Simplify deposit_event declaration in decl_module (#3506)
* simplify module deposit_event declaration

* fix

* bump version

* fix

* fix test

* fix doc
2019-08-29 14:34:02 +02:00
Robert Habermeier 55c4c830fe ICMP message-routing gossip (#304)
* core logic for ICMP gossip

* refactor gossip to make more extension friendly

* move files aroun

* extract attestation-gossip logic to its own module

* message validation and broadcast logic

* fix upstream crates' compilation

* add a test

* another test for overlapping

* Some grammar and phrasing tweaks

Co-Authored-By: Luke Schoen <ltfschoen@users.noreply.github.com>

* add since parameter to ingress runtime API

* broadcast out known unrouted message queues

* fix compilation of service and collator

* remove useless index_mapping

* some tests for icmp propagation

* fix decoding bug and test icmp queue validation

* simplify engine-id definition

Co-Authored-By: Sergei Pepyakin <sergei@parity.io>

* address some grumbles

* some cleanup of old circulation code

* give network a handle to extrinsic store on startup

* an honest collator ensures data available as well

* address some grumbles

* add docs; rename the attestation session to "leaf work"

* module docs

* move gossip back to gossip.rs

* clean up and document attestation-gossip a bit

* some more docs on the availability store

* store all outgoing message queues in the availability store

* filter `Extrinsic` out of validation crate

* expunge Extrinsic from network

* expunge Extrinsic from erasure-coding

* expunge Extrinsic from collator

* expunge from adder-collator

* rename ExtrinsicStore to AvailabilityStore everywhere

* annotate and clean up message-routing tests
2019-08-29 11:49:59 +02:00
Kian Paimani f830db9642 Decouple Phragmen from Staking. (#3498)
* Move phragmen to primitives

* Improved docs

* New crate.

* Update lock.

* Fix dependency.

* Fix build.

* Add basic testing and truth-value implementation with float types

* Update srml/staking/src/lib.rs

* Nits.

* Bump.

* Fix benchmarks.
2019-08-29 11:07:49 +02:00
Tomasz Drwięga 98f64b6b93 Extract RPC definitions from RPC crate. (#3502)
* Extract author API from the substrate-rpc crate.

* Split out API from RPC.

* Clean up naming.

* Fix tests.

* Shorten error translations.

* Update Cargo.lock
2019-08-29 11:32:55 +03:00
Bastian Köcher 4ff97bd856 Make it easier to just rebuild the WASM files (#3510)
* Adds `WASM_TARGET_DIRECTORY` env variable to `wasm-builder`

* Create the `wasm-builder-runner`'s in a common workspace

* Make `wasm-builder` trigger less rebuilds

* Version up

* Adds script for building only the WASM files

* Apply suggestions from code review

Co-Authored-By: André Silva <andre.beat@gmail.com>
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
2019-08-29 09:06:51 +02:00
Svyatoslav Nikolsky c26b7163a3 Use ranged changes trie configuration in CT functions (#3404)
* CT config methods are accepting zero

* intrduce && use configuration range in CT

* Update core/client/db/src/lib.rs

Co-Authored-By: cheme <emericchevalier.pro@gmail.com>

* full PR URI

* updated next_max_level_digest_range comment

* added skewed digest description

* added comment for loop

* call next_max_level_digest_range from prev_max_level_digest_block

* more test cases

* Update core/state-machine/src/changes_trie/surface_iterator.rs

Co-Authored-By: cheme <emericchevalier.pro@gmail.com>

* updated comment
2019-08-29 09:02:10 +03:00
André Silva cc903a126c readme: update working flaming fir node commit hash (#3509) 2019-08-28 20:15:22 +01:00
Sergei Pepyakin 98ddf5cb1b Codeowners, pt.2 (#3501)
* Add some more codeowners

* Add more rules

* Fixes

* Update CODEOWNERS

* Grandpa -> GRANDPA

Co-Authored-By: André Silva <andre.beat@gmail.com>

* self.add()
2019-08-28 20:28:09 +02:00
Tomasz Drwięga 4bc9b6f586 CheckEra affects longevity of transactions (#3507)
* Add test.

* Bump version.
2019-08-28 18:34:35 +01:00
André Silva 523c7f681e node: update flaming fir (#3508)
* node: reduce block time to 3s and add primary probability constant

* node: update flaming fir chain spec

* node: fix integration test
2019-08-28 18:03:54 +01:00
André Silva cc62ee60fe node: spawn babe epoch pruning in light client (#3505)
* node: use plain vec for tasks_to_spawn

* node: spawn background tasks in light client setup
2019-08-28 18:10:19 +02:00
André Silva da60b58025 grandpa: only send catch-up requests to authorities (#3499)
* grandpa: only send catch-up requests to authorities

* grandpa: fix gossip tests

* grandpa: test sending catch-up requests only to authorities

* grandpa: fix catch-up test

* grandpa: apply suggestions from code review
2019-08-28 14:37:23 +01:00
André Silva 574f68fd7e im-online: use generic crypto (#3500)
* im-online: support using ed25519 and sr25519 crypto

* app-crypto: add trait bounds to RuntimePublic::Signature

* im-online: add missing type annotations

* authority-discovery: depend on im-online module and use its crypto

* node: set i'm online crypto to sr25519

* node: bump spec_version

* rpc: don't generate i'm online pubkey in insert_key method

* im-online: fix docs

* im-online: move app crypto packages

* aura: move app crypto packages
2019-08-28 14:46:52 +02:00
Pierre Krieger b5c6cc3996 Some tweaks to offchain HTTP workers (#3488) 2019-08-28 11:35:51 +02:00
Sergei Pepyakin 36ef4c067b Eradicate native_equivalent (#3494)
* 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: Bastian Köcher <bkchr@users.noreply.github.com>
2019-08-27 22:20:47 +02:00
Kian Paimani 095c7de7ff Use optimized append and len storage methods in SRML. (#3071)
* expose len from codec to storage.

* refactor runtime with len and append.

* Undo example.

* Remove imports.

* Bump codec.

* Optionify.

* Make decode_len counscious.

* Refactor.

* Update srml/support/src/storage/hashed/generator.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Update srml/support/src/storage/hashed/generator.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Update srml/support/src/storage/hashed/generator.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Update srml/support/src/storage/hashed/generator.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Fix merge.

* fix some docs.

* Add NoDefault trait.

* Bump.

* Final nits.

* Update srml/support/src/traits.rs

* new approach toward len.

* re-create lock file.

* Fix build errors and Option handling.

* More test fix

* Use default for append as well.

* Fix runtime.

* Add support for linked_map

* More tweaks from review.

* Fix style

* Change api for none-values

* Bump.
2019-08-27 19:39:04 +02:00
Bastian Köcher 99a7492dbf Bump multistream-select to fix flaky tests (#3495) 2019-08-27 17:01:06 +02:00
Pierre Krieger bd8ebbfee5 Update to latest Substrate (#407)
* Update to latest Substrate

* Fix main.rs
2019-08-27 15:50:24 +02:00
Pierre Krieger efe32f370a Minor tweak to requirements of AbstractService (#3493) 2019-08-27 15:07:26 +02:00
Arkadiy Paronyan cab8fb5dc6 Fixed uncle pruning (#3491)
* Fixed uncle pruning

* Version bump
2019-08-27 14:07:43 +02:00
Bastian Köcher 10b032bb0d Make sure that on_before_session_ending is called (#3487)
* Make sure that `on_before_session_ending` is called

* Move the call above the validtor set being set

* Bump spec_version
2019-08-27 11:57:35 +02:00
Pierre Krieger 5b8ebf7baf Service factory refactor (#3382)
* 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: Gavin Wood <i@gavwood.com>

* Address some concerns

* Remove TelemetryOnConnect

* Remove informant::start

* Update jsonrpc

* Rename factory to builder

* Line widths 😩
2019-08-27 11:18:41 +02:00
Bastian Köcher 144bd228af Improve insert_key error message on unsupported key type (#3490) 2019-08-27 10:59:33 +02:00
Tomasz Drwięga 0128d0db84 Introduce capabilities filtering for off-chain runtime calls. (#3454)
* Introduce capabilities filtering for calls.

* Bump impl version.

* Allow RichOffchainCall to only read offchain db.

* Fix code.

* Panic on invalid calls.

* Merge execution contexts and expose capabilities.

* Fix repr

* Re-enable keystore for offchain calls.
2019-08-27 10:07:30 +02:00
Bastian Köcher d81df14391 Make node-template-release create a workspace (#3484) 2019-08-27 07:43:10 +02:00
Svyatoslav Nikolsky 8f29199076 init cache on restart (#3486) 2019-08-26 20:30:09 +02:00
joe petrowski b80e611218 fix typos in readme (#3481) 2019-08-26 10:56:00 +02:00
Andrew Jones aae31831fb Custom deserialize impl for ApisVec (#3471) 2019-08-26 09:37:42 +02:00
Chevdor 7612b7b56e Better filter to speed and reduce the size passed to the first stage image (#405) 2019-08-25 08:59:34 -07:00
Xiliang Chen da03850eed add Copy to Moment type (#3476)
* add Copy to Moment type

* bump version

* add Copy to support::Traits::Time::Moment and removed few clones
2019-08-25 12:57:31 +02:00
Gavin Wood 974b400020 Update substrate (#404) 2019-08-24 20:41:16 +02:00
Gavin Wood 672e62fe0f Allow root to force transfers (#3475)
* Allow root to force transfers

* Bump version

* Avoid changing pre-existing encodings
2019-08-24 20:12:29 +02:00
Gavin Wood 6c4ac65f5f Spelling and update (#402) 2019-08-24 18:58:20 +02:00
Kian Paimani c14afe4352 Clean runtime constants (#3459)
* Remove bogus constants.

* Bump.
2019-08-24 18:00:26 +02:00
Svyatoslav Nikolsky e9273329ae fix digest in check_execution_proof (#3469) 2019-08-24 17:42:57 +02:00
thiolliere a528b7dc56 improve error msg on wrong closure signature (#3467) 2019-08-24 17:41:45 +02:00
Robert Habermeier b50596428e GRANDPA links set IDs to sessions. (#3472)
* introduce some type aliases for round and set-id

* overhaul session "changed" flag and document better

* do_initialize in BABE when getting new session

* grandpa module tracks set IDs

* update runtime versions

* doc comment -> comment

* Include docs fixes from Gav

Co-Authored-By: Gavin Wood <gavin@parity.io>

* some more review changes

* fix srml-grandpa compilation
2019-08-24 17:17:01 +02:00
Logan Saether a554e72e91 Add Kusama to the README (#399) 2019-08-24 13:42:15 +02:00
Gavin Wood ccfa2b1828 Bump all versions to 0.6.0 (#397) 2019-08-24 13:40:57 +02:00
Gav Wood 4ee086f80a Bump runtime version 2019-08-24 03:06:08 -07:00