* Can now disable the keystore
* Fix service test
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Fix cli
* Remove dependencies on tokio
* Make service not depend on tokio
* Fix service tests
* Manually poll the import queue if failed to start
* Spawn all tasks at the end
* Remove executor from TelemetryOnConnect
* Remove TaskExecutor from offchain workers
* Remove TaskExecutor from AuthoritySetup
* Remove TaskExecutor from service
* Remove tokio dependency from RPC
* Remove finality-grandpa from WASM checks
* Fix offchain tests
* Line widths
* Fix RPC tests
* Fix service tests
* Fix bad futures polling
* Address some concerns
* Better error handling
* Is it the connectivity test that's not passing? I don't know, let's try
* Revert "Is it the connectivity test that's not passing? I don't know, let's try"
This reverts commit 28bbe51f0e2e4885fe1f901e11078604604cb212.
* Fix test
* Draft of new sessions
* Reintroduce tuple impls
* Move staking module to new session API
* More work on staking and grandpa.
* Use iterator to avoid cloning and tuple macro
* Make runtime build again
* Polish the OpaqueKeys devex
* Move consensus logic into system & aura.
* Fix up system module
* Get build mostly going. Stuck at service.rs
* Building again
* Update srml/staking/src/lib.rs
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Refactoring out Consensus module, AuthorityIdOf, &c.
* Refactored out DigestItem::AuthoritiesChanged. Building.
* Remove tentative code
* Remove invalid comment
* Make Seal opaque and introduce nice methods for handling opaque items.
* Start to use proper digest for Aura authorities tracking.
* Fix up grandpa, remove system::Raw/Log
* Refactor Grandpa to use new logging infrastructure.
Also make authorityid/sessionkey static. Switch over to storing
authorities in a straight Vec.
* Building again
* Tidy up some AuthorityIds
* Expunge most of the rest of the AuthorityKey confusion.
Also, de-generify Babe and re-generify Aura.
* Remove cruft
* Untangle last of the `AuthorityId`s.
* Sort out finality_tracker
* Refactor median getting
* Apply suggestions from code review
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
* Session tests works
* Update core/sr-primitives/src/generic/digest.rs
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Session tests works
* Fix for staking from @dvc94ch
* log an error
* fix test runtime build
* Some test fixes
* Staking mock update to new session api.
* Fix build.
* Move OpaqueKeys to primitives.
* Use on_initialize instead of check_rotate_session.
* Update tests to new staking api.
* fixup mock
* Fix bond_extra_and_withdraw_unbonded_works.
* Fix bond_with_little_staked_value_bounded_by_slot_stake.
* Fix bond_with_no_staked_value.
* Fix change_controller_works.
* Fix less_than_needed_candidates_works.
* Fix multi_era_reward_should_work.
* Fix nominating_and_rewards_should_work.
* Fix nominators_also_get_slashed.
* Fix phragmen_large_scale_test.
* Fix phragmen_poc_works.
* Fix phragmen_score_should_be_accurate_on_large_stakes.
* Fix phragmen_should_not_overflow.
* Fix reward_destination_works.
* Fix rewards_should_work.
* Fix sessions_and_eras_should_work.
* Fix slot_stake_is_least_staked_validator.
* Fix too_many_unbond_calls_should_not_work.
* Fix wrong_vote_is_null.
* Fix runtime.
* Fix wasm runtime build.
* Update Cargo.lock
* Fix warnings.
* Fix grandpa tests.
* Fix test-runtime build.
* Fix template node build.
* Fix stuff.
* Update Cargo.lock to fix CI
* Re-add missing AuRa logs
Runtimes are required to know about every digest they receive ― they
panic otherwise. This re-adds support for AuRa pre-runtime digests.
* Update core/consensus/babe/src/digest.rs
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Kill log trait and all that jazz.
* Refactor staking tests.
* Fix ci runtime wasm check.
* Line length 120.
* Make tests build again
* Remove trailing commas in function declarations
The `extern_functions!` macro doesn’t like them, perhaps due to a bug in
rustc.
* Fix type error
* Fix compilation errors
* Fix a test
* Another couple of fixes
* Fix another test
* More test fixes
* Another test fix
* Bump runtime.
* Wrap long line
* Fix build, remove redundant code.
* Issue to track TODO
* Leave the benchmark code alone.
* Fix missing `std::time::{Instant, Duration}`
* Indentation
* Aura ConsensusLog as enum
* Make test-client generic over runtime.
* Make sure genesis storage is constructed correctly.
* Use prelude in tests.
* Add an example of how to use test-client with node/runtime.
* Bump version.
* Rename test-clients.
* Drop import_lock from client, move it into backend, impl default version via static mutex
* still need to allow depcretion because of client.backend
* additional docs
* Remove default impl of get_import_lock, impl on instances
* Bump parking_lot to 0.8.0 accross the board
* Switch to `TestClientBuilder` and support generating LongestChain
* Make sure test-client works without the wasm blob
* Use `TestClientBuilder` in more places
* Remove InherentsPool.
* Introduce transactions that are not propagated over the network.
* Bump spec version.
* Use separate flag for propagation.
* Fix tests.
* Remove background thread from network
* Primarily use tokio-timer instead of tokio
* Minor style fix
* Reintroduce tokio as an optional dependency
* Renames
* Line width
* Ctxt -> Context
* Merge NetworkWorker and NetworkService
* Start to remove the `As` bound on `SimpleArtithmetic`
This just introduces standard numeric bounds, assuming a minimum of
`u32`. Also included is a saturating from/into trait allowing ergonomic
infallible conversion when you don't care if it saturates.
* Remove As from Balances trait
* Remove As from Aura module
* Remove As from Babe module
* Expunge `As` from contract
* Council module
* Democracy
* Finality tracker
* Grandpa
* First bit of indices
* indices
* Line lengths
* session
* system
* Staking
* Square up all other uses of As.
* RHD update
* Fix build/test
* Remove As trait
* line widths
* Remove final As ref
* Update srml/staking/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Update core/client/src/cht.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Update core/client/db/src/light.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* whitespace
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
Co-Authored-By: André Silva <andre.beat@gmail.com>
* Bring back u32 check for number on CLI
* Add tty password input
* Move password from core/service to core/cli
* Fix test build error
* Password should be entered only once if it's for decoding
* Update Cargo.lock from rebuild
* 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>
* Add `start_aura2`.
* .gitignore patch conflict files
and remove one that accidentally got committed
* Fix build
The tests still don’t work.
* Fix compilation errors
* Fix compile errors (again)
* Try (and fail) to fix tests
* Properly deserialize data
Previously, `DigestItem::Consensus` had no separate `DigestItemType`,
so it did not get properly serialized and deserialized.
* Add extra debug logging. Always allow old seals.
A `RUST_LOG=substrate_aura_consensus cargo test --all -- --nocapture \
tests::authoring_blocks` revealed that old seals were being and
rejected, causing the test to hang. As a temporary debug measure, allow
old seals unconditionally, so that CI can test if this fixes the
problem.
* Forcibly disable rejection of old seals
* Use old trait, but newer serialization
The old trait for `CompatibleDigestItem` actually worked. By changing
its implementation, one can ensure that all *new* seals have the modern
form, but *legacy* seals are still decoded correctly.
* Bump impl version
* Squash spurious deprecation warning
`rustc` should not be emitting a deprecation warning in deprecated
code, but it does, so silence it.
* Rip out unused Cargo feature
* Move AURA to aura_primitives
* Respond to code review
* Wrap overly-long line
* Reduce logging verbosity and add target
* Add dependency on `sr-primitives` to `aura_primitives`
* Fix build
It failed with a message about Cargo.lock being out of date.
* core: aura: rename aura engine id const
* core: aura: remove superfluous logging
* core: primitives: add removed semicolons
* core: aura: remove unused import
* core: network: style fix
* runtime: update wasm blobs
* runtime: bump impl_version
* core: primitives: tag all DigestItemType variants explicitly
* 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
* use channels to implement basic import queue
* async justification import
* better conditional for is_done in tests
* reword the test for presence of link
* fix conditional
* trace instead of panic when no link present
* reword expectations when sending to importers
* fix
* debug justification import error
* update expectations
* use NumberFor
* nits
* add general description
* move error handling into closure
* 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
* Avoid excessive hashing. Store extrinsic len.
* Implement pool limits.
* Fix issues.
* Make sure we return error in case it doesn't make into the pool.
* Pass parameters from CLI.
* Remove redundant todo.
* Fix tests.