Commit Graph

178 Commits

Author SHA1 Message Date
Svyatoslav Nikolsky a63635b952 Fix light connection issues (#2499)
* ignore light nodes in ConsensusGossip

* fixed method name

* temporary disabled penalty when block is announced

* remove traces of BLOCK_ANNOUNCE_REPUTATION_CHANGE
2019-05-08 12:24:20 +02:00
Pierre Krieger 5a820db7f5 Remove the dependency on heapsize (#2459)
* Remove heapsize dependency

* Finish removing heapsize

* Revert accidental change

* Fix Cargo.lock
2019-05-04 13:59:59 +02:00
Bastian Köcher bad3ce4e17 Cumulus changes version 2 (#2313)
* ensure imbalances are properly accounted for (#2183)

* ensure imbalances are properly accounted for

* bump runtime version

* Update node/runtime/src/lib.rs

* implement contract events (#2161)

* implement contract events

* update runtime

* renaming

* update test code hash

* improve complexity details

* add deposit event base cost

* add test

* Revert "add deposit event base cost"

This reverts commit 58ec010c0f4f4f0e16935ad41da32aedd17a8c57.

* update test

* Revert "update test"

This reverts commit 6fe61a593ccf0d41f09a0b97472b28ed8751a999.

* Revert "Revert "add deposit event base cost""

This reverts commit 145e8a9bac15313a4c380aa66b94fd4d36fa3f6d.

* Fix format a bit

*  Replace Vec<u8> with [u8; 32] for contract storage key (#2184)

* Replace Vec<u8> with [u8; 32] for contract storage key

* Read storage keys from sandbox memory into fixed size buffer

* Increment `impl_version`

* Remove redundant Ok(()) and explicitly specify StorageKey buffer type (#2188)

* Switch to `derive(Encode, Decode)` for `Call` (#2178)

* Add some tests

* More tests

* Switch to `derive(Encode, Decode)` for `Call`

* Update lock files

* Simplify the macro cases

* Cache changes trie config in db storage (#2170)

* cache changes trie config in db storage

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

Co-Authored-By: svyatonik <svyatonik@gmail.com>

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

Co-Authored-By: svyatonik <svyatonik@gmail.com>

* Fix version check for renamed runtime api methods (#2190)

* Add feature to disable including the test-runtime wasm blob

* Enable `std` feature for `consensus_authorities`

* Implement `skip_initialize_block` and `initialize_block` for runtime api

* Add test and fixes bug

* Begin to implement support for passing the `ProofRecorder`

* Make sure proof generation works as intended

* Fixes tests

* Make `BlockBuilder` generate proofs on request.

* Adds `TestClientBuilder` to simplify creating a test client

* Add `include-wasm-blob` to `test-client` as well

* Make `test-client` compile without including the wasm file

* Disable more stuff in test-client without wasm

* Reorganize the re-exports

* Use correct bounds

* Update docs

* Update core/client/src/block_builder/block_builder.rs

Co-Authored-By: bkchr <bkchr@users.noreply.github.com>

* Extend test to actually generated proof

* Switch to enum for `skip_initialize_block`

* Some wasm files updates
2019-04-29 16:55:20 +02:00
Michael Müller a0e0d9b03d Fix typos and markdown (#2388)
* Fix typos

* Align properly

* Update core/consensus/slots/src/lib.rs

Co-Authored-By: cmichi <mich@elmueller.net>

* Update core/network/src/test/mod.rs

Co-Authored-By: cmichi <mich@elmueller.net>

* Update core/finality-grandpa/src/communication/mod.rs

Co-Authored-By: cmichi <mich@elmueller.net>

* Update core/consensus/common/src/import_queue.rs

Co-Authored-By: cmichi <mich@elmueller.net>
2019-04-26 14:09:13 +02:00
Bastian Köcher f0862606b7 Forward port blake2 storage support (#2360)
* move storage maps to blake2_128 (#2268)

* remove default hash, introduce twox_128 and blake2

* use blake2_128 & create ext_blake2_128

* refactor code

* add benchmark

* factorize generator

* fix

* parameterizable hasher

* some fix

* fix

* fix

* fix

* metadata

* fix

* remove debug print

* map -> blake2_256

* fix test

* fix test

* Apply suggestions from code review

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* impl twox 128 concat (#2353)

* impl twox_128_concat

* comment addressed

* fix

* impl twox_128->64_concat

* fix test

* Fix compilation and cleanup some docs

* Apply suggestions from code review

Co-Authored-By: bkchr <bkchr@users.noreply.github.com>
2019-04-24 11:05:22 +02:00
Michael Müller c6d15e2cea Configurable state cache size and enforce exact state cache size (#2314)
* Allow configuring state cache size via cli

* Track used cache size

* Expose memory counter to informant

* Enforce max cache size constraint exactly

* Default to 64 MiB

Co-Authored-By: cmichi <mich@elmueller.net>

* Remove self as parameter
2019-04-23 18:47:11 +01:00
Tomasz Drwięga 08fda211d8 Fix MultiSigner, simplify tests (#2033)
* Fix MultiSigner, use `into_signed_tx`

* Rebuild.
2019-04-23 17:18:32 +01:00
Michael Müller 87776e63bb Adjust consensus telemetry (#2198)
* Send high-level consensus telemetry by default

* Notify telemetry on finalized

* Send used authority set to telemetry

* Do not send commit message telemetry by default

* Fix typo

* Allow for notifications on telemetry connect

...and send the current authority set on each connect.

* Send authority set to telemetry on change

* Revert "Send used authority set to telemetry"

This reverts commit 1deceead52bb7443a02879ac8138afad9a6ca5ff.

* Merge branch 'master' into 'cmichi-send-high-level-consensus-telemetry-by-default'

Squashed commit of the following:

commit 19d77cbc23
Author: Xiliang Chen <xlchen1291@gmail.com>
Date:   Wed Apr 10 20:26:29 2019 +1200

    update authers for rest of the node-template cargo.toml files (#2242)

commit 0afc357a97
Author: Bastian Köcher <bkchr@users.noreply.github.com>
Date:   Tue Apr 9 10:31:18 2019 +0200

    Throw a compile error for `on_finalise` and `on_initialise` (#2236)

commit e57e54ab9c
Author: Pierre Krieger <pierre.krieger1708@gmail.com>
Date:   Tue Apr 9 05:30:43 2019 -0300

    Add warning when using default protocol ID (#2234)

    * Add warning when using default protocol ID

    * Update core/service/src/lib.rs

commit cb766e5f5d
Author: Xiliang Chen <xlchen1291@gmail.com>
Date:   Tue Apr 9 17:22:20 2019 +1200

    update name and authors to placeholder text for node-template (#2222)

    * update name and authors to placeholder text

    * revert package name change

commit a1e15ae55a
Author: André Silva <andre.beat@gmail.com>
Date:   Mon Apr 8 12:50:34 2019 +0100

    grandpa: Voter persistence and upgrade to finality-grandpa v0.7 (#2139)

    * core: grandpa: migrate to grandpa 0.7

    * core: grandpa: store current round votes and load them on startup

    * core: grandpa: resend old persisted votes for the current round

    * core: grandpa: store base and votes for last completed round

    * core: grandpa: fix latest grandpa 0.7 changes

    * core: grandpa: update to grandpa 0.7.1

    * core: grandpa: persist votes for last two completed rounds

    * core: grandpa: simplify VoterSetState usage

    * core: grandpa: use Environment::update_voter_set_state

    * core: grandpa: fix aux_schema test

    * core: grandpa: add docs

    * core: grandpa: add note about environment assumption

    * core: grandpa: don't update voter set state on ignored votes

    * core: grandpa: add test for v1 -> v2 aux_schema migration

    * core: grandpa: add test for voter vote persistence

    * core: grandpa: use grandpa 0.7.1 from crates.io

    * core: grandpa: use try_init in test

    * core: grandpa: add comment about block_import in test

    * core: grandpa: avoid cloning HasVoted

    * core: grandpa: add missing docs

    * core: grandpa: cleanup up can_propose/prevote/precommit

commit ed3ae4ac39
Author: Gregory Terzian <2792687+gterzian@users.noreply.github.com>
Date:   Mon Apr 8 13:17:00 2019 +0200

    remove clone bound on specialization in testnet factory (#2157)

commit 03f3fb1442
Author: Andrew Jones <ascjones@gmail.com>
Date:   Sat Apr 6 12:23:56 2019 +0100

    Contract import/export validation (#2203)

    * Reject validation of contract with unknown exports

    * Validate imports eagerly

    * Increment spec version

commit decddaab0f
Author: Pierre Krieger <pierre.krieger1708@gmail.com>
Date:   Fri Apr 5 14:07:09 2019 -0300

    Fix state inconsistency between handler and behaviour (#2220)

    * Fix state inconsistency between handler and behaviour

    * Fix the error! being in the wrong place

commit dce0b4ea49
Author: Bastian Köcher <bkchr@users.noreply.github.com>
Date:   Fri Apr 5 18:50:38 2019 +0200

    Use `storage_root` of newly calculated header (#2216)

    Instead of calculating the `storage_root` a second time, we just can
    take the `storage_root` from the new header.

commit b01136c90d
Author: Marek Kotewicz <marek.kotewicz@gmail.com>
Date:   Fri Apr 5 14:44:46 2019 +0200

    Peerset::discovered accepts many peer ids (#2213)

    * Peerset::discovered accepts many peer ids

    * Improve tracing in peerset

commit 1142bcde97
Author: Marek Kotewicz <marek.kotewicz@gmail.com>
Date:   Thu Apr 4 19:40:40 2019 +0200

    simplification of peerset api (#2123)

    * Introduction of PeersetHandle

    * integrate PeersetHandle with the rest of the codebase

    * fix compilation errors

    * more tests for peerset, fixed overwriting bug in add_reserved_peer

    * Slots data structure and bugfixes for peerset

    * bend to pressure

    * updated lru-cache to 0.1.2 and updated linked-hash-map to 0.5.2

    * peerset discovered list is now a LinkedHashMap

    * fix review suggestions

    * split back Peerset and PeersetHandle

    * test for Peerset::discovered

    * applied review suggestions

    * fixes to peerset::incoming

    * peerset disconnects are all instantaneous

    * instantaneous drop in peerset finished

    * Peerset::set_reserved_only can also reconnect nodes

    * Peerset scores cache uses lru-cache

    * remove redundant function call and comment from Peerset::on_set_reserved_only

    * add_peer returns SlotState enum

    * apply review suggestions

    * is_reserved -> is_connected_and_reserved

commit 301844dd56
Author: Arkadiy Paronyan <arkady.paronyan@gmail.com>
Date:   Thu Apr 4 18:01:28 2019 +0200

    Disconnect on protocol timeout (#2212)

commit cb3c912b1a
Author: André Silva <andre.beat@gmail.com>
Date:   Thu Apr 4 15:56:49 2019 +0100

    core: grandpa: verify commit target in justification (#2201)

commit 6920b169cd
Author: Bastian Köcher <bkchr@users.noreply.github.com>
Date:   Thu Apr 4 16:56:16 2019 +0200

    Introduce `original_storage` and `original_storage_hash` (#2211)

    Both functions will ignore any overlayed changes and access the backend
    directly.

commit cb7a8161f5
Author: Xiliang Chen <xlchen1291@gmail.com>
Date:   Fri Apr 5 03:55:55 2019 +1300

    code cleanup (#2206)

commit acaf1fe625
Author: Arkadiy Paronyan <arkady.paronyan@gmail.com>
Date:   Wed Apr 3 15:52:46 2019 +0200

    Emberic elm testnet (#2197)

* Make telemetry onconnect hoook optional

* Merge branch 'master' into 'cmichi-send-high-level-consensus-telemetry-by-default'

* Introduce GrandpaParams struct to condense parameters

* Remove debug statement

* Fix tests

* Rename parameter

* Fix tests

* Rename struct

* Do not send verbosity level

* Combine imports

* Implement comments

* Run cargo build --all

* Remove noisy telemetry

* Add docs for public items

* Unbox and support Clone trait

* Fix merge

* Fix merge

* Update core/finality-grandpa/src/lib.rs

Co-Authored-By: cmichi <mich@elmueller.net>
2019-04-23 15:49:28 +02:00
Kian Peymani dcb1cafe2a Remove unused imports/ doc comments. (#2276)
* Remove unused imports/ doc comments

* Better doc for node template.
2019-04-14 12:42:45 +02:00
Andrew Jones 7f59cdb900 Replace error-chain for client error (#2231)
* WIP: convert client error

* Remove error_chain for client error

* Ignore tx-pool error deprecation warning

* Update Cargo.lock files

* Fix tests

* Increment impl_version

* Derive From impls, remove allow(missing_docs)

* Remove space

* Remove redundant into()s

* Blockchain Error source

* Bump impl version
2019-04-11 21:33:43 +02:00
Svyatoslav Nikolsky eec6f3b901 Cache changes trie config in db storage (#2170)
* cache changes trie config in db storage

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

Co-Authored-By: svyatonik <svyatonik@gmail.com>

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

Co-Authored-By: svyatonik <svyatonik@gmail.com>
2019-04-03 12:35:12 +02:00
cheme 669e79181e no_std support for substrate trie (#2146)
* no_std trie compile in test_runtime (require to set nightly feature due
to the way hashbrown currently works).

* No nightly with hashmap_core.

* using crate elastic-array

* switch to publish trie crates

* fix default array decl

* bump impl_version for ci

* set all semver when possible wasm, and remove redundant code.

* Actually test use_trie function

* impl version +1

* Bump impl version
2019-04-02 12:49:04 +02:00
thiolliere 7e3b2d464a skip phantom for decl_event (#2158)
* use parity-codec-derive from parity-codec everywhere

* codec v3.2 -> v3.3

* skip phantom when deriving event

* fix decl_module call

* update impl version of node + builds
2019-04-02 12:04:23 +02:00
Bastian Köcher 345145326b Implement support for renaming runtime api functions (#2160)
* Implement support for renaming runtime api functions

* Redelete the wasm files

* FIxes test

* Fix test correctly...

* Bring back old `authorities`

* Tag as deprecated

* Fixes compilation on WASM

* Add missing method implementations

* Fixes tests

* Increase `spec_version`
2019-04-02 10:05:35 +02:00
Gav Wood eca163ba64 Bump version to 1.0.0 globally (#2149)
* Bump versionb globally

* Rebuild and fix

* Rename fixes

* Rebuild

* Minor fix and code formatting for validator election

* Fix tests

* More test fixes

* Fix several bugs in phragmen elections.

* Rebuild, remove pointless closures
2019-04-01 15:16:06 +02:00
Stanislav Tkach fbbd79e778 Use [u8; 4] for well known cache keys (#2152)
* Use [u8; 4] for well known cache keys

* Use type alias
2019-03-31 19:56:49 -04:00
Stanislav Tkach cbfc36b39f Move authorities interface from Core to consensus (#1412)
* Move authorities interface from Core to consensus

f

* notify all caches of block insert + create with up-to-date best_fin

* merged authorities_are_cached from light_grandpa_import2

* Add ProvideCache trait

* Create helper function for 'get_cache'

* Fix some formatting

* Bump impl version

* Resolve wasm conflicts

* Apply review comments

* Use try_for_each

* Move authorities interface from Core to consensus

f

* notify all caches of block insert + create with up-to-date best_fin

* merged authorities_are_cached from light_grandpa_import2

* Add ProvideCache trait

* Create helper function for 'get_cache'

* Fix some formatting

* Bump impl version

* Resolve wasm conflicts

* Apply review comments

* Use try_for_each

* Move authorities interface from Core to consensus

f

* notify all caches of block insert + create with up-to-date best_fin

* merged authorities_are_cached from light_grandpa_import2

* Add ProvideCache trait

* Create helper function for 'get_cache'

* Fix some formatting

* Bump impl version

* Resolve wasm conflicts

* Apply review comments

* Use try_for_each

* Increment impl_version

* Update lib.rs
2019-03-29 17:41:22 +01:00
joe petrowski 0ddcbf747f Convert all UK spelling to US (#2138)
* all the ise

* forgot a misspelling

* a few more replacements

* bump impl

* rollback and fixes

* bump impl again

* Add aliases for RPC

* Update on_demand.rs
2019-03-29 14:11:45 +01:00
Arkadiy Paronyan 7046e13de2 Use prefixed keys for trie node. (#2130)
* Account for pending insertions when pruning

* Prefixed trie storage

* Comments

* Prefixed trie storage

* Fixed tests

* Fixed tests

* Bumped runtime version

* Bumped runtime version again
2019-03-28 18:46:21 +01:00
Tomasz Drwięga e2f5e40876 Initial: Offchain Workers (#1942)
* Refactor state-machine stuff.

* Fix tests.

* WiP

* WiP2

* Service support for offchain workers.

* Service support for offchain workers.

* Testing offchain worker.

* Initial version working.

* Pass side effects in call.

* Pass OffchainExt in context.

* Submit extrinsics to the pool.

* Support inherents.

* Insert to inherents pool.

* Inserting to the pool asynchronously.

* Add test to offchain worker.

* Implement convenience syntax for modules.

* Dispatching offchain worker through executive.

* Fix offchain test.

* Remove offchain worker from timestamp.

* Update Cargo.lock.

* Address review comments.

* Use latest patch version for futures.

* Add CLI parameter for offchain worker.

* Fix compilation.

* Fix test.

* Fix extrinsics format for tests.

* Fix RPC test.

* Bump spec version.

* Fix executive.

* Fix support macro.

* Address grumbles.

* Bump runtime
2019-03-25 23:22:11 +01:00
Arkadiy Paronyan 704d2a49c7 Don't sync on top of pruned blocks (#2079)
* Don't sync to pruned blocks

* Typo

Co-Authored-By: arkpar <arkady.paronyan@gmail.com>
2019-03-22 16:27:50 +01:00
Robert Habermeier e83a39fee3 remove aura inherent-checking compatibility shim (#2044) 2019-03-19 18:13:23 +01:00
thiolliere d743a8b71f Implement parameterisable modules (#1800)
* first implementation

* remove done comment

* origin done

* impl log for instance

* impl inherent for instance

* Fix wasm build + full example build

this requires parity codec implements codec for core::marker::PhantomData

* patch parity-codec link to github branch

* improve internal names and fix instance prefix

* Fix in macros

* add test modules for support

this allow to test for construct_runtime as well.

The reason to have put that in another crate is:
* if we put test in `tests/` dir of srml/support then decl_storage fails to get
  srml-support access because it believes it is inside srml-support
  crate and so derive access to `quote!{ crate }` but this is wrong
  (and I don't see any way to prevent that, and it only bother us so I
  don't think that matters that much)
* if we put test inside lib.rs then contruct_runtime cannot be used
  because it call some macros that are defined with macros
  (decl_outer_event and decl_outer_origin) and thus rustc complains.

* defaultinstance to its own struct to avoid errors

* enforce <T, I> for Event and Config, impl test

* add origin, log, inherent to test

* test more code generation

* basic storage test

* fix typo

* rename a few imports and field

* delete wip test in example and runtime

* change default prefix to make it backward compatible with test

* rename Instance to I and Instantiable to Instance

note: the name of generic parameter I is only enforce by decl_module!
and this could be rewritten

* doc

* clean old TODOs

* update parity-codec to 3.2

* update node impl version + builds

* fix warning

* fix unrelated grandpa test

* refactor code
2019-03-15 19:25:18 +01:00
Michael Müller c52c528ee8 Add grandpa telemetry (+ other minor improvements) (#1997)
* Support skipping the interactive purge prompt

Skip it via `cargo run -- purge-chain -y`.

* Fix typos

* Add Grandpa telemetry

* Address comments

* Revert unnecessary version bump

* Version bump to make CI run

* Remove unnecessary cast

* Do not bump version
2019-03-15 15:04:01 +01:00
Gav Wood d7fcf5dc9d Overhaul crypto (Schnorr/Ristretto, HDKD, BIP39) (#1795)
* Rijig to Ristretto

* Rebuild wasm

* adds compatibility test with the wasm module

* Add Ed25519-BIP39 support

* Bump subkey version

* Update CLI output

* New keys.

* Standard phrase/password/path keys.

* Subkey uses S-URI for secrets

* Move everything to use new HDKD crypto.

* Test fixes

* Ignore old test vector.

* fix the ^^ old test vector.

* Fix tests

* Test fixes

* Cleanups

* Fix broken key conversion logic in grandpa

CC @rphmeier

* Remove legacy Keyring usage

* Traitify `Pair`

* Replace Ed25519AuthorityId with ed25519::Public

* Expunge Ed25519AuthorityId type!

* Replace Sr25519AuthorityId with sr25519::Public

* Remove dodgy crypto type-punning conversions

* Fix some tests

* Avoid trait

* Deduplicate DeriveJunction string decode

* Remove cruft code

* Fix test

* Minor removals

* Build fix

* Subkey supports sign and verify

* Inspect works for public key URIs

* Remove more crypto type-punning

* Fix typo

* Fix tests
2019-03-13 14:08:31 +01:00
Bastian Köcher 7927054f86 Update copyrights to 2019 (#1932) 2019-03-06 15:04:28 +01:00
Robert Habermeier dfb48a2405 Offline fallback for GRANDPA (#1619)
Co-authored-by: André Silva <andre.beat@gmail.com>

* skeleton for finality tracker

* dispatch events when nothing finalized for a long time

* begin integrating finality tracker into grandpa

* add delay field to pending change

* add has_api_with function to sr_version for querying APIs

* partially integrate new force changes into grandpa

* implement forced changes

* get srml-grandpa compiling

* Update core/finality-grandpa/src/authorities.rs

Co-Authored-By: rphmeier <rphmeier@gmail.com>

* Update core/finality-grandpa/src/authorities.rs

Co-Authored-By: rphmeier <rphmeier@gmail.com>

* Update core/finality-grandpa/src/authorities.rs

Co-Authored-By: rphmeier <rphmeier@gmail.com>

* remove explicit dependence on CoreApi

* increase node runtime version

* integrate grandpa forced changes into node runtime

* add some tests to finality-tracker

* integrate finality tracking into node-runtime

* test forced-change logic

* test forced changes in the authority-set handler

* kill some unneeded bounds in client

* test forced-changes in finality-grandpa and fix logic

* build wasm and finality-tracker is no-std

* restart voter on forced change

* allow returning custom error type from lock_import_and_run

* extract out most DB logic to aux_schema and use atomic client ops

* unify authority set writing

* implement set pausing

* bump runtime version

* note on DB when we pause.

* core: grandpa: integrate forced changes with multiple pending standard changes

* core: grandpa: fix AuthoritySet tests

* runtime: bump impl_version

* core: clear pending justification requests after forced change import

* srml: finality-tracker: use FinalizedInherentData

* core: log requests for clearing justification requests

* core, node: update runtimes

* core: grandpa: fix tests

* core: grandpa: remove todos and add comments

* core: grandpa: use has_api_with from ApiExt

* core: fix tests

* core: grandpa: remove unnecessary mut modifier

* core: replace PostImportActions bitflags with struct

* core: grandpa: restrict genesis on forced authority set change

* core: grandpa: add more docs

* core: grandpa: prevent safety violations in Environment::finalize_block

* core: grandpa: register finality tracker inherent data provider

* core: grandpa: fix tests

* node: update runtime blobs

* core: grandpa: remove outdated todo

* core: aura: fix typo in log message

* core: grandpa: check re-finalization is on canonical chain

* srml: finality-tracker: fix initialization

* node: update runtime wasm

* srml: finality-tracker: don't re-initialize config keys
2019-03-05 15:41:35 +00:00
Hero Bird 128d164f2b Make use of parity-codec "derive" crate feature (#1919)
* Make use of parity-codec "derive" crate feature

* Bump impl_version

* Update wasm files and Cargo.lock files

* Transferred to parity_codec derive feature for the rest of the crates

* Update wasm binaries and lock files

* Update core and node wasm binaries
2019-03-05 09:00:37 +01:00
Michael Müller c485eb8fdc Get rid of wildcard imports (#1916)
* Get rid of wildcard imports

* Update core/service/src/lib.rs

Co-Authored-By: cmichi <mich@elmueller.net>

* Update core/client/src/client.rs

Co-Authored-By: cmichi <mich@elmueller.net>

* Import by namespace
2019-03-04 14:00:46 +01:00
Bastian Köcher 2e9b2be8fa Update parity-codec/-derive to 3.1 (#1900)
* Update parity-codec/-derive to 3.1

* Update wasm stuff
2019-03-01 09:04:53 +01:00
Svyatoslav Nikolsky 72b9df8237 fixed instant finalization of genesis block on light client (#1898) 2019-02-28 19:26:34 +01:00
Michael Müller 90e5c5ddfb Telemetry improvements (#1886)
* Fix typo

* Support multiple telemetry endpoints and verbosity levels

* Bump substrate-telemetry version

* Telemetrify Aura consensus

* Telemetrify Grandpa

* Fix CI version conflicts

* Implement style remarks

* Fix fixture

* Implement style remarks

* Clone only when necessary

* Get rid of Arc for URL

* Handle connection issues better
2019-02-28 12:22:05 +01:00
Robert Habermeier 64685c0536 Prune leaves on finality (#1871)
* support multiple leaves at same height in leaves set

* prune leaves on finalization

* test leaves behavior in client-db

* fix no-std compilation
2019-02-26 15:50:55 -05:00
Marcio Diaz 43e4544884 Client provide uncles (#1609)
* feat: add children function to backend

* feat: add test for children hashes

* feat: add uncles function to client

* fix: improve uncles function adds few more tests

* fix: remove children when reverting

* fix: typo and spec version
2019-02-25 11:21:36 +01:00
Tomasz Drwięga 63ec8b335b Refactor state machine to avoid repetitions (#1844)
* Refactor state-machine stuff.

* Fix tests.

* Fix core/client tests.
2019-02-22 13:49:36 +01:00
Svyatoslav Nikolsky 6a6c3155a6 Use DB backend in test client (#1779)
* use DB backend in test client

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

Co-Authored-By: svyatonik <svyatonik@gmail.com>
2019-02-15 11:03:22 +01:00
Stanislav Tkach ff5e4ca87e Migrate everything to the 2018 edition (#1758) 2019-02-13 11:45:59 +01:00
Tomasz Drwięga 9e2710246f EnumerableStorageMap (#1763)
* Refactor decl_storage a bit to allow easier impl of linked map.

* A bunch of refactorings for storage generation.

- Rename StorageMap and ChildrenStorageMap to avoid confusion with generator::StorageMap.
- Separate implementation from the procedural macro code to clean it up.
- Make sure that genesis is initialised using the `StorageValue/StorageMap`
  generated implementations instead of going RAW.

* WiP: Writing test.

* Basic implementation.

* Implement enumeration.

* Fix non-std issues.

* fix warning

* Fix test-client.

* Address review grumbles - part 1

* Avoid cloning the key, relax Storage requirements.

* Rebuild runtime.

* Remove dangling todo.
2019-02-13 08:52:52 +01:00
Wei Tang 22048dba60 Add standalone set head operations (#1600)
* Refactor head setting operation to a separate function

* Fix commit issue and implement set_head standalone in db

* Add standalone set head operations

* Address grumbles

* Change number_and_hash_to_lookup key in light mod to take reference

* Fix bug in set head commit

* Add a convenience fn

* Fix a deadlock

* Fix missing argument
2019-02-12 17:21:25 +01:00
Bastian Köcher 1f05a47cdb Set initialised_block if we called initialise_block (#1767) 2019-02-12 14:52:00 +01:00
Marcio Diaz b8bd49961a Adds new execution strategy nativeElseWasm (#1546)
* fix: adds new execution strategy nativeElseWasm and replace nativeWhenPossible with it

* feat: adds cmd line params for execution strategies

* fix: uses of cmd line execution strategies

* chore: remove white spaces

* chore: remove println

* chore: remove whitespace

* fix: generating functions with context

* feat: add function to generate with_context declarations

* fix: add implementation for with_context function calls

* fix: add execution context to call_api_at function

* fix: making use of context to select strategy for block_builder

* chore: cleaning up

* fix: merging issues

* fix tests

* add wasm files

* chore: small doc for context fields

* chore: delete redundant docs

* fix: use full path for ExecutionContext

* fix: add context functions from inside fold_item_impl

* chore: remove clone

* fix: moving generative function to utils, remove unused imports

* fix: add missing full path for ExecutionContext

* fix: merge issues

* update wasm files

* fix: update to keep up with changes in master

* chore: remove unused functions, clean up

* fix test

* fix grumbles

* fix: add more tests

* fix: some refactorings

* feat: add execution strategy to call

* chore: small improvements

* fix: add message to panic

* fix tests
2019-02-11 15:22:44 +01:00
Stanislav Tkach 31188dc013 Migrate rpc-servers, serializer, service and sr-io to the 2018 edition (#1732) 2019-02-08 13:10:05 +01:00
Arkadiy Paronyan 1dc15be5bd Check for block parent before verification. (#1714)
* Treat verification errors more seriously

* Track obsolete requests

* Check block parent before verification

* Style
2019-02-07 11:58:27 +01:00
Wei Tang 1d0049ee00 Update trie to v0.11 (#1704)
* Update trie to v0.11

* Update wasm runtimes
2019-02-06 14:50:52 +01:00
Bastian Köcher 190393d476 Make API backwards compatible with CC (#1697)
* Rework how a runtime api calls into the runtime

Now we generate a default implementation for each api call that calls
a generated method `method_runtime_api_impl`. This newly generated
method is the one that will be implemented by the `impl_runtime_apis`
macro in the runtime for the client side.

* Support `changed_in` to change runtime api function signatures

* Update documentation

* Fixes tests

* Implement checking the api version with a predicate

* Make the implementation backwards compatible with CC

* Update wasm files after merge

* Check for wasm runtime differences by building master and current branch

* Update spec_version and wasm files

* Fixes

* Revert my changes

* Remove `patch.crates-io` from test-runtime
2019-02-06 11:47:47 +01:00
Stanislav Tkach df685c9e53 Rename and use --max-heap-pages parameter (#1666) 2019-02-05 12:35:12 +01:00
Bastian Köcher ef4dc12a5d Don't panic if parameter can not be converted between node and native runtime (#1659)
* Don't panic if parameter can not be converted between node and native runtime

* FIxes after merge

* Use correct copyright year
2019-02-02 14:13:50 +01:00
Arkadiy Paronyan 641bb7cb46 Stop authoring blocks when offline (#1655)
* Don't author blocks when offline

* Increased canonicalization delay

* Fixed test
2019-02-01 17:17:53 +01:00
Tomasz Drwięga ecdd33a367 Allow both consensus and runtime to limit block building (#1581)
* Limit block size in runtime,

* Add test for basic authorship.

* Store length of extrinsics instead of computing it.

* Don't rely on note_extrinsic

* Use hashed version of storage and write test.

* Recompile runtime.
2019-02-01 13:58:23 +01:00
Svyatoslav Nikolsky 381cf26f55 Make genesis state locally-available on light client (#1622)
* make genesis state available on light client

* RemoteOrLocalCallExecutor

* code_is_executed_locally_or_remotely

* OnDemandOrGenesisState tests

* some comments
2019-02-01 10:27:54 +01:00