Commit Graph

1855 Commits

Author SHA1 Message Date
Tomasz Drwięga d4e1bb518d Bump structopt and fix compilation. (#2736) 2019-05-30 17:30:21 +02:00
Tomasz Drwięga 7af8604cbe Add RPC to remove and ban transactions from the pool. (#2732) 2019-05-30 13:50:23 +02:00
DemiMarie-parity 683fd5d364 Update runtime dependencies (#2721) 2019-05-29 16:07:01 +02:00
Tomasz Drwięga 25b9c12c20 Remove InherentsPool and introduce non-propagateable transactions. (#2695)
* Remove InherentsPool.

* Introduce transactions that are not propagated over the network.

* Bump spec version.

* Use separate flag for propagation.

* Fix tests.
2019-05-29 16:06:49 +02:00
DemiMarie-parity 8d378cb293 Update dependencies (#2718)
I am taking charge of ~monthly dependency updates, as per a suggestion
from @rphmeier.
2019-05-29 15:35:31 +02:00
André Silva 7e591a8f4d core: import equivocated aura and babe blocks (#2709)
* core: import equivocated aura and babe blocks

* core: cleanup check_equivocation handling

* fix: use map_err on Aura

* core: slots: remove unneeded Arc and minimize cloning

* core: fix slots equivocation tests

* core: slots: remove unused import

* core: remove unnecessary comments
2019-05-29 15:25:02 +02:00
Gavin Wood fccc55160a Maps are appendable too (#2716)
* Maps are appendable too

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

Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Update srml/support/src/storage/mod.rs

Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Fix docs

* Make Appendable public

* Bump runtime version
2019-05-29 15:15:10 +02:00
Kian Peymani 810d2712da Limited Unbonding Chunks. (#2700)
* Limit number of unlocking chunks.

* Bump.
2019-05-29 14:17:58 +02:00
thiolliere 91a241ad5b derive codec for inherent data (#2714)
* derive codec for inherent data

* increase spec version
2019-05-29 14:16:37 +02:00
DemiMarie-parity c7d1204ce5 Introduce inherent digests (#2466)
* Introduce inherent digests

* Implement inherent digests

* fix silly error

* Implementation of inherent digests in BABE

All tests pass. There are still limitations:

1. The runtime strips out inherent digests, so BABE must re-add them.
2. The test runtime checks that it can re-compute all digests.  It
   can’t, so I had to comment out that test.

* Fix compilation and seal import

Seals were not imported correctly: the pre-digest was imported twice,
instead of both it and the seal being imported.  Also, other parts of
the code did not compile due to incomplete refactoring.

* Remove bogus assertion

* Fix testsuite compilation

* Remove unused import

* Fix compiler diagnostics

* Add inherent digest parameters to block constructors

This enforces that inherent digests are added first.

* Fixup Cargo.lock

* Fix build errors

* Re-add an incorrectly removed import

* Bump primitive-types version

* Update Cargo.lock

* Refactoring

* Use inherent digests for AuRa

They do reach the runtime, but get stripped.  I have not figured out
where.

* Fix compilation errors

* Fix compilation errors due to incorrect types

* Fix whitespace

Suggested-by: Tomasz Drwiega <tomasz@parity.io>

* Add preamble

Suggested-by: Tomasz Drwiega <tomasz@parity.io>

* Fix silly compile error

* Refactor pre-digest finding code into a separate function

* Remove unwanted assertion

It is too likely to bring down the entire blockchain.

Suggested-by: Tomasz Drwiega <tomasz@parity.io>

* Use `find_pre_digest` after runtime, too

Also, use `Member` trait rather than rolling our own requirements.

Suggested-by: Tomasz Drwiega <tomasz@parity.io>

* Fix various warnings

mostly due to upgrading the dependency on `error_chain`.

* Pre-digests nearly complete

This nearly completes the implementation of pre-runtime digests.

* `Seal2` → `Seal` and fix test suite

* Try to fix the storage error

* Try to fix storage (again)

* Fix tests

* Hopefully finish pre-runtime digests

The key is to pass *only* the pre-runtime digests to the runtime.  The
others must be stripped out by `initialize_block`.

* Fix silly typo

* Fix another silly mistake

* Remove unnecessary filtering of BABE pre-digests

We no longer get duplicate BABE pre-digests, so if they appear, the
header should be rejected outright.

* Update Cargo.lock files

* Reformatting

* Fix silly typo in inherent digest code

Also, revert `error.rs` files that contained calls to the `error_chain!`
macro.

* Try to keep the runtime from stripping pre-digests

Currently runs into the “Storage root must match that calculated”
assertion.

* Don’t compute storage root until storage changes are done.

Also, fix a compilation error.

* Fix compile-time error

* Fix compilation errors

* Fix more compile errors

* Hopefully it compiles this time…

* Fix compilation and add docs

* Prevent BABE from adding duplicate pre-runtime digests

Found by comparing with the AuRa code.  I also did some refactoring.

* Respond to review and fix some warnings

* Delete some dead code introduced earlier

* More dead code goes away

* `ref mut` → `&mut`

* Respond to review and fix some warnings

* Fix compilation error

* Remove unneeded `HashT` type parameter

Suggested-by: Robert Habermeier <robert@parity.io>

* Remove spurious #[allow(deprecated)]

* Document inherent digest parameter to `build_block`

* Delete `Simple` trait

It wasn’t needed

* delete wrongly added files

* Fix trait bounds

* Digest serialization tests

I also did some reformatting and cleanup.

* Apply suggestions from code review

Reformatting

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

* Swap two arguments to `propose` and `propose_with`

Also, remove some needless unsafe code.

* Remove bogus `#![allow(deprecated)]` annotations

With the removal of the deprecated `Seal` variant, these are not needed.

* Add a missing `#[allow(deprecated)]` in the AuRa tests

* Fix silly compile error

* Fix silly compiler error

RLS did not tell me that I hadn’t fixed `babe/lib.rs`, so I missed it.

* Fixes made automatically by Cargo
2019-05-29 14:13:38 +02:00
Pierre Krieger e9a4c80c40 Rewrite sync and network layers to use futures (#2683)
* 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
2019-05-29 11:58:02 +02:00
Pierre Krieger 643e309411 Fix compilation (#2708) 2019-05-28 18:01:20 +02:00
Stanislav Tkach 1df8ac9751 Use $crate inside of native_executor_instance and parameter_types macros (#2702)
* Use  inside of native_executor_instance macro

* Same for the parameter_types macro
2019-05-28 17:14:48 +02:00
Pierre Krieger f329908887 Split the send_request method in multiple requests (#2696) 2019-05-28 17:13:54 +02:00
Michael Müller a706d994cb Transaction factory (#2481)
* Fix typos

* Add transaction factory

`cargo run -- purge-chain -y --chain dev && cargo run -- --dev --transaction-factory 10`

* Fix comment and remove build deps

* Move crate to test-utils

* Switch from flag to subcommand

`cargo run -- factory --dev --num 5`

* Decouple factory from node specifics

* Introduce different manufacturing modes

* Remove unrelated changes

* Update Cargo.lock

* Use SelectChain to fetch best block

* Improve expect proof

* Panic if factory executed with unsupported chain spec

* Link ToDo comments to follow-up ticket

* Address comments and improve style

* Remove unused dependencies

* Fix indent level

* Replace naked unwrap

* Update node/cli/src/factory_impl.rs

* Fix typo

* Use inherent_extrinsics instead of timestamp

* Generalize factory and remove saturated conversions

* Format imports

* Make it clearer that database needs to be empty

* Ensure factory settings

* Apply suggestions from code review

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

* Update test-utils/transaction-factory/src/lib.rs

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

* Fix match guard syntax

* Simplify import, remove empty line

* Update node/cli/Cargo.toml

* Update lockfile
2019-05-28 17:01:43 +02:00
Luke Schoen 811124234d docs: Try fix typo (#2677) 2019-05-28 16:59:09 +02:00
Luke Schoen 94d4ef9105 Fix typo in block_builder.rs (#2674)
* Fix typo in block_builder.rs

* Fix the typo fix again in block_builder.rs

Co-Authored-By: Gavin Wood <github@gavwood.com>
2019-05-28 16:58:31 +02:00
Jordan Beauchamp 1638f6690e Pass through authority key with --dev (#2603) 2019-05-28 16:51:10 +02:00
Pierre Krieger f8303a6b57 The network configuration now makes more sense (#2706)
* The network configuration now makes more sense

* Reexport ProtocolConfig
2019-05-28 16:50:36 +02:00
Pierre Krieger 3a0c52f2b1 Make RocksDB optional in client-db (#2686) 2019-05-28 15:12:55 +02:00
Shawn Tabrizi 902c9d03f2 Update docs on Imbalance in the Balances module (#2704)
* Update docs on `Imbalance` in the Balances module

* Update lib.rs
2019-05-28 15:10:18 +02:00
Pierre Krieger 165716a0fe Deprecate NetworkSpecialization::on_abort (#2697) 2019-05-28 15:07:55 +02:00
Svyatoslav Nikolsky 48b2ba041f Synchronous import queue + fix async inport queue shutdown (#2701)
* sync implementation of ImportQueue

* fix import queue shutdown

* never clone import queue
2019-05-28 15:07:35 +02:00
Svyatoslav Nikolsky 549d9e1da1 Remove BlockNumber <-> u64 conversions from light-client related code (#2666)
* Remove As usage from CHT

* Remove As usage from CHT (continue)

* Restrict BN <-> int conversions in CT

* more BN <-> u64 conversions removed

* upd spec_version

* Apply suggestions from code review

Co-Authored-By: Gavin Wood <github@gavwood.com>

* Apply suggestions from code review

Co-Authored-By: Gavin Wood <github@gavwood.com>

* more grumbles

* fix last grumbles + compilation

* too long lines

* too long lines
2019-05-28 15:07:16 +02:00
Pierre Krieger 25b88f1a1f Allow passing an optional transport to network-libp2p (#2680)
* Allow passing an optional transport

* Fix tests

* Fix Cargo.lock

* Fix Cargo.lock again?!?!
2019-05-28 12:54:02 +02:00
Benjamin Kampmann 22d3043917 Silence known deprecation warnings (#2651)
* Silence known deprecation warnings

1. Prefixes known instances of usages of client.backend and client.import_lock with `#[allow(deprecated)]` to silence the warnings. 2. Remove file-global `#![allow(deprecated)]` used in these cases. Both to prevent us overlooking externally caused deprecation messages.

* fixing missing ;

* fix missing test cases

* move deprecated markers to make CI happy

* move deprecated markers to make CI happy

* attempt to fix the test

* bumping impl_version of node runtime

* Minor cleanup
2019-05-28 10:34:59 +02:00
Pierre Krieger b10ecd7931 Peerset should never return Ready(None) (#2684) 2019-05-27 20:08:03 +02:00
TriplEight 672b72f44a some prettiness, fix dockerfile's metadata (#2682) 2019-05-27 14:06:38 +02:00
Pierre Krieger e7d12e2915 Fix not connected peers being connected peers (#2692) 2019-05-27 12:01:07 +02:00
André Silva 10c1dfcffb Register previous rounds' votes with gossip service on startup (#2676)
* grandpa: register previous round votes with gossip service on startup

* gossip: fix tests

* grandpa: optionally register previous round votes on startup

* grandpa: fix tests
2019-05-26 23:05:02 +02:00
Bastian Köcher e2d1d0c951 Fix doc propagation for Call enum (#2690)
* Fix doc propagation for `Call` enum

* Fix warnings while generating `srml-staking` docs

* Make the line check happy
2019-05-25 21:03:27 +02:00
Bastian Köcher cf39cbc1f0 Check for exact wasm blob size in RPC tests (#2687) 2019-05-25 21:02:50 +02:00
Tomasz Drwięga 22d40435a2 Lower the required code threshold. (#2685) 2019-05-24 15:21:19 +02:00
TriplEight fa08a1e35c rust versions (#2681) 2019-05-24 12:24:37 +02:00
Tomasz Drwięga c162fc5ff1 Expunge error-chain (feat. tomaka) (#2662)
* Remove error_chain

* Expunge error-chain from rpc and service.

* Expunge from transaction pool.

* Expunge from node/cli

* Expunge from keystore.

* Remove some boilerplate.

* Fix remaining stuff.

* Improve on deprecation message.

* Fix issues.

* Fix trnsaction pool tests.

* Fix the rest.

* Fix borked merge.

* Update lock
2019-05-24 10:35:31 +01:00
Tengfei Niu 69ffec5822 remove unused import (#2678)
remove unused import
2019-05-24 08:44:09 +03:00
Pierre Krieger 24c08a780d Make peerset ban nodes under a reputation (#2667) 2019-05-23 20:17:58 +01:00
Pierre Krieger ff479c4e23 Rework the OnDemand service (#2670)
* Rework the OnDemand service

* Try fix line widths
2019-05-23 20:13:23 +01:00
thiolliere ffce18b994 Contract restoration (#2502)
* partial impl

* more checks

* improve TestExternalities + tests

* make tombstone raw to derive Eq

* remove before merge

* add test

* fmt

* update test

* doc

* bump version

* fix testing

* update runtime

* Fix TrieIdGenerator

* fix dummy trie id generator

* update test

* bump version

* format

* Update core/state-machine/src/testing.rs

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

* document test

* Apply suggestions from code review

Co-Authored-By: DemiMarie-temp <50585338+DemiMarie-temp@users.noreply.github.com>

* refactor

* fix

* fmt

* address review

* impl last_write

* Fix storage size, test, remove size in tombstone

* fix

* Update srml/contract/src/lib.rs

Co-Authored-By: Sergei Pepyakin <s.pepyakin@gmail.com>

* comment

* child_storage_root as &[u8]
2019-05-23 15:09:16 +02:00
Pierre Krieger c357854015 More extractions from the Protocol struct (#2641)
* Pass the TransactionPool explicitly

* Extract finality_proof_provider

* Remove Protocol::connected_peers

* Add note and rename function

* Fix tests

* More test fixing

* Revert the WASM locks, I guess

* Add space

* Remove space
2019-05-23 12:07:51 +02:00
André Silva 563a67b8e4 core: allow setting max ws rpc connections (#2632)
* core: allow setting max ws rpc connections

* style: break long lines

* core: fix service tests
2019-05-23 10:50:36 +01:00
Sergei Pepyakin 12f052ce9d srml-contract: update ext_random(_seed) (#2635)
* Initial implementation.

* Rename random_seed to random

* Update rustdocs

* Update COMPLEXITY.md

* Fix comment.

* Limit the size of subject.

* Bump the runtime version.

* Fix doc

* Update node/runtime/src/lib.rs

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>
2019-05-23 10:34:17 +01:00
Luke Schoen b017e683dc docs: Update Support SRML to link to StorageDoubleMap in Rustdocs (#2646)
* docs: Update Support SRML to link to StorageDoubleMap in Rustdocs

* review-fix: Add missing backticks. Add trait text for consistency. Fix typo

* review-fix: Move trait text out of link
2019-05-23 10:34:00 +01:00
Niklas Adolfsson 5ca761c033 fix(bump protobuf): fix vulnerability (#2654) 2019-05-23 10:28:49 +01:00
Pierre Krieger dda04eef38 Remove dependency on parity-crypto (#2655) 2019-05-23 10:28:35 +01:00
thiolliere 1e35552c14 get rid of refcell, use &mut storage (#2659) 2019-05-23 10:08:19 +01:00
Pierre Krieger d05f35f764 Make info! string less ambiguous (#2661) 2019-05-23 10:06:38 +01:00
Pierre Krieger 6431cdf601 Remove TaskExecutor from the API of the informant (#2642)
* Remove TaskExecutor from the API of the informant

* Fix node-template
2019-05-23 09:44:36 +01:00
Gavin Wood 3860d7c810 Remove As (#2602)
* 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
2019-05-22 23:11:38 +01:00
Robert Habermeier 36987c0205 propagate round messages after verification (#2660) 2019-05-22 18:01:36 +02:00