Commit Graph

14687 Commits

Author SHA1 Message Date
Toralf Wittner 818c05bbc2 Add command-line flag to enable yamux flow control. (#4892)
* Add command-line flag to enable yamux flow control.

We never enabled proper flow-control for yamux streams which may cause
stream buffers to exceed their configured limit when the stream
producer outpaces the stream consumer. By switching the window update
mode to on-read, producers will only receive more sending credit when
all data has been consumed from the stream buffer. Using this option
creates backpressure on producers. However depending on the protocol
there is a risk of deadlock, if both endpoints concurrently attempt to
send more data than they have credit for and neither side reads before
finishing their writes. To facilitate proper testing, this PR adds a
command-line flag `use-yamux-flow-control`.

* Replace comment with generic message.
2020-02-12 11:24:25 +01:00
Marcio Diaz ae70b10326 Benchmark Timestamp Pallet (#4891)
* Add selected_benchmark! macro.

* Use selected_benchmark! in Identity pallet.

* Implement timestamp pallet benchmark.

* Fix some nits.

* Bump impl_version.
2020-02-12 11:00:08 +01:00
Bastian Köcher 2eb7621759 Adds some debug logging (#837) 2020-02-11 22:01:45 +01:00
Hayden Bakkum b34df420f8 Add a sub command to generate a node key file (#4884)
* Add a sub command to generate a node key file in the format required by a substrate node

* Update lock file

* Apply suggestions from code review

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

* Updates as per code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-02-11 21:17:08 +01:00
Pierre Krieger 9ecbb420f4 Increase the penality for being offline (#4889) 2020-02-11 20:38:56 +01:00
Robert Habermeier 295151338d Introduce a maximum code size and head data size (#835)
* add a maximum code size and head data size

* get existing tests passing

* add tests for slots logic

* test registrar behavior

* introduce maximums and bump versions

* address review grumbles

* work around publicizing derive

* remove unneeded and wrong doc
2020-02-11 19:21:56 +01:00
Wei Tang b7582a4645 pallet-evm: optional nonce parameter (#4893)
* pallet-evm: optional nonce parameter

* Consume all gases when nonce mismatches

* Bump node runtime version
2020-02-11 18:52:59 +01:00
Marcio Diaz a90b4fdb8c Refactor tx factory 1 (#4870)
* Remove modes.

* Refactor.
2020-02-11 13:59:52 +01:00
Cecile Tonglet a042fc601e Disable mdns polkadot (#58)
Deactivate mdns for polkadot node as it prevents the process to exit properly

Fixes #57
2020-02-11 13:11:21 +01:00
Pierre Krieger b0a749548d Pause Kademlia if too many connections (#4828)
* Pause Kademlia if too many connections

* Fix test

* Update client/network/src/discovery.rs

Co-Authored-By: Toralf Wittner <tw@dtex.org>

* Change the limit

Co-authored-by: Toralf Wittner <tw@dtex.org>
2020-02-11 12:22:25 +01:00
Robert Habermeier ea69238d03 impl Randomness trait for Babe and remove unused RandomBeacon trait (#4886)
* impl Randomness trait for Babe and remove unused RandomBeacon trait

* bump runtime version
2020-02-11 11:07:14 +01:00
Hayden Bakkum 0d45d12e3f Add support for json output in subkey (#4882)
* Add support for json output in subkey

* Updates as per code review

* Apply suggestions from code review

Co-Authored-By: Nikolay Volf <nikvolf@gmail.com>

* Apply suggestions from code review

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

* Clean up error handler as per code review

* Apply suggestions from code review

Co-Authored-By: Marcio Diaz <marcio@parity.io>

* Fix compilation error

* Remove accidental file commit

Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Marcio Diaz <marcio@parity.io>
2020-02-11 10:35:58 +01:00
cheme da42d7408c Use prefixed iterator from trie. (#4858) 2020-02-11 10:00:56 +01:00
Tomasz Drwięga 05b3e1f654 Run offchain workers at hash, not number. (#4878)
* Run offchain workers at particular hash, not number.

* Don't run if not new best.

* Don't run if not new best.

* Update client/service/src/builder.rs

Co-Authored-By: Nikolay Volf <nikvolf@gmail.com>

* Update client/service/src/builder.rs

Co-Authored-By: Nikolay Volf <nikvolf@gmail.com>

* Update client/service/src/builder.rs

Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
2020-02-11 00:41:59 +01:00
Nikolay Volf ef7d19ed93 update primitive types to 0.6.2 (#4866) 2020-02-10 22:21:38 +03:00
Cecile Tonglet 0abdaed8d7 Update polkadot & substrate (#55) 2020-02-10 18:01:59 +01:00
Robert Habermeier 9b23f3f1f0 rewrite network code to use notifications_protocol APIs from Substrate (#788)
* extract all network code to legacy submodule

* update references to legacy proto

* skeleton of futures-based protocol

* refactor skeleton to use background task

* rename communication_for to build_table_router

* implement internal message types for validation network

* basic ParachainNetwork and TableRouter implementations

* add some module docs

* remove exit-future from validation

* hack: adapt legacy protocol to lack of exit-future

* generalize RegisteredMessageValidator somewhat

* instantiate and teardown table routers

* clean up RouterInner drop logic

* implement most of the statement import loop

* implement statement loop in async/await

* remove unneeded TODO

* most of the collation skeleton

* send session keys and validator roles

* also send role after status

* use config in startup

* point TODO to issue

* fix test compilation
2020-02-10 15:20:45 +01:00
Bastian Köcher 973d2c7253 Fix runtime-interface tests on windows (#4805) 2020-02-10 14:49:42 +01:00
Marcio Diaz fa27c8145d Add trait to get module and call names. (#4854)
* Add trait to get module and call names.


Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-02-10 14:27:40 +01:00
Gavin Wood aff0445b24 Avoid challenging those that can't be suspended anyway (#4804)
* Merge branch 'gav-split-balanecs-vesting' into gav-upsub

# Conflicts:
#	Cargo.lock
#	cli/Cargo.toml
#	collator/Cargo.toml
#	primitives/Cargo.toml
#	runtime/common/Cargo.toml
#	runtime/common/src/claims.rs
#	runtime/kusama/Cargo.toml
#	runtime/polkadot/Cargo.toml
#	service/Cargo.toml

* Fix tests
2020-02-10 14:04:50 +01:00
Sergei Pepyakin 5aa5c71107 Refactor and document allocator (#4855)
* Clarify code a bit.

* Move code around.

* Introduce `Order`.

* Introduce `Link` structure.

* Get rid of ptr_offset

This is beneficial since ptr_offset is essentially makes us handle two different address spaces, global (i.e. `mem`) and heap local and without it things are becoming simpler.

* Rename PREFIX_SIZE to HEADER_SIZE.

This will come in the next commits.

* Introduce a separate `Memory` trait.

This is not necessary, but will come in handy for the upcoming changes.

* Rename `ptr` to `header_ptr` where makes sense.

* Introduce a `Header` type.

* Make `bump` dumber.

This allows us to pull `HEADER_SIZE` to see that we actually allocate `order.size() + HEADER_SIZE`.

* Clean up.

* Introduce a freelists struct.

* Update documentation.

* Make Sized requirement optional to make the PR truly back-compatible.

* Apply suggestions from code review

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

* Apply suggestions from code review

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

Co-authored-by: Gavin Wood <github@gavwood.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-02-10 13:37:10 +01:00
Marcio Diaz 6a62ec9c75 Add trace on import block. (#4871) 2020-02-10 13:25:20 +01:00
Cecile Tonglet 6051a2b272 Fix invalid argument order (#832)
Make sure that --dev purge-chain is rejected

```
[0] [11:24:02] ~/r/polkadot master > ./target/debug/polkadot purge-chain --dev -y
"/home/cecile/.local/share/polkadot/chains/dev/db" did not exist.
[0] [11:25:36] ~/r/polkadot cecton-fix-invalid-argument-order > ./target/debug/polkadot --dev purge-chain -y
error: Found argument 'purge-chain' which wasn't expected, or isn't valid in this context

USAGE:
    polkadot --dev

For more information try --help
```
2020-02-10 13:21:21 +01:00
Bastian Köcher 4254fbf56d Don't expose Benchmarking host functions by default (#4875)
* Don't expose `Benchmarking` host functions by default

* Fix tests

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-02-10 13:13:04 +01:00
Cecile Tonglet de4ab321f4 Update CLI (#53)
* Initial commit

Forked at: 4a3ffe07e7
Parent branch: master

* Update substrate: more CLI improvement

* Update substrate and polkadot to cecton-cumulus-branch

* WIP

Forked at: 4a3ffe07e7
Parent branch: master

* Update Cargo.lock

* WIP

Forked at: 4a3ffe07e7
Parent branch: master

* WIP

Forked at: 4a3ffe07e7
Parent branch: master

* Update Cargo.lock

* WIP

Forked at: 4a3ffe07e7
Parent branch: master

* WIP

Forked at: 4a3ffe07e7
Parent branch: master

* Test running node and interrupts

* WIP

Forked at: 4a3ffe07e7
Parent branch: master

* Update Cargo.lock

* Update test/parachain/tests/running_the_node_and_interrupt.rs

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

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-02-10 12:39:32 +01:00
Ashley ead6815ae4 Fix timer panics in the wasm light client (#4561)
* Make WASM browser thing compile

* Fix

* updated exit-future (github repo)

* Switch to broadcast crate

* Migrate client/cli

* Switch exit-future to modernize branch

* Small changes

* Switch to cargo version and fix fg tests

* fix basic-authorship

* Fix crash on grafana macro

* Fix grafana macro

* Switch node python version

* Disable record_metrics_slice in grafana macro on wasm

* Update client/grafana-data-source/src/lib.rs

* Revert "Update client/grafana-data-source/src/lib.rs"

This reverts commit 888009a8e0b7051bd4bfbbfdb0448bcf2e2aae93.

* Add wasm support for state machine

* Switch to my own libp2p version

* Revert "Switch to my own libp2p version"

This reverts commit ce613871b59264b3165b45c37943e6560240daa7.

* Revert "Add wasm support for state machine"

This reverts commit de7eaa0694d9534fc3b164621737968e9a6a7c5f.

* Add sc-browser

* Squash

* remove sc-browser

* Fix keystore on wasm

* stubs for removed functions to make env compatible with old runtimes

* Add test (that doesn't work)

* Fix build scripts

* Revert basic-authorship due to no panics

* Revert cli/informant

* Revert consensus

* revert offchain

* Update utils/browser/Cargo.toml

Co-Authored-By: Benjamin Kampmann <ben@gnunicorn.org>

* export console functions

* Add new chainspec

* Fix ws in chain spec

* revert chainspec

* Fix chainspec

* Use an Option<PathBuf> in keystore instead of cfg flags

* Remove crud

* Only use wasm-timer for instant and systemtime

* Remove telemetry changes

* Assuming this is ok

* Add a KeystoreConfig

* Add stubs back in

* Update libp2p

* Revert "Add stubs back in"

This reverts commit 4690cf1882aa0f99f7f00a58c4080c8aa9b77c36.

* Remove commented js again

* Bump kvdb-web version

* Fix cli

* Switch branch on futures-timer

* Fix tests

* Remove sc-client test build in check-web-wasm because there isn't a good way to build futures-timer with wasm-bindgen support in the build

* Remove more things ^^

* Switch branch on futures-timer back

* Put DB io stats behind a cfg flag

* Fix things

* Don't timeout transports on wasm

* Update branch of futures-timer and fix bad merge

* Spawn informant

* Fix network test

* Fix delay resets

* Changes

* Fix tests

* use wasm_timer for transaction pool

* Fixes

* Switch futures-timer to crates

* Only diagnose futures on native

* Fix sc-network-test tests

* Select log level in js

* Fix syncing ;^)

* Allow disabling colours in the informant

* Use OutputFormat enum for informant

* MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master

* Update futures-diagnose

* Revert "MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master"

This reverts commit baa4ffc94fd968b6660a2c17ba8113e06af15548.

* Pass whole chain spec in start_client

* Get Instant::now to work in transaction pool again

* Informant dep reordering

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
Co-authored-by: Benjamin Kampmann <ben.kampmann@googlemail.com>
Co-authored-by: Demi Obenour <48690212+DemiMarie-parity@users.noreply.github.com>
2020-02-10 12:23:55 +01:00
Cecile Tonglet 34bf0caa05 Update trie-db to the latest (#4874) 2020-02-10 11:51:56 +01:00
Bastian Köcher eefbaffe4f Be specific about the BitVec generic arguments (#830)
* Be specific about the `BitVec` generic arguments

Currently we use the default generic arguments for `BitVec`. This means
we use `BigEndian` and `u8`. These default values are not stable, with
`0.17` of the `BitVec` crate this changes. To make sure we don't break
anything in the future, make sure we explictly set the generics.

* Update `spec_version`
2020-02-10 10:32:34 +01:00
Cecile Tonglet c93b142692 Test node exits properly (#831)
* Initial commit

Forked at: 703ac8bbbc
Parent branch: origin/master

* Test running node and interrupts

* WIP

Forked at: 1942ae27ae23809a40f955545dfbf0467faa7750
Parent branch: origin/cumulus-branch

* Update Cargo.lock

* WIP

Forked at: 1942ae27ae23809a40f955545dfbf0467faa7750
Parent branch: origin/cumulus-branch

* WIP

Forked at: 1942ae27ae23809a40f955545dfbf0467faa7750
Parent branch: origin/cumulus-branch

* WIP

Forked at: 1942ae27ae23809a40f955545dfbf0467faa7750
Parent branch: origin/cumulus-branch
2020-02-10 10:32:10 +01:00
Robert Habermeier 27bf34522d enable migrations in polkadot and kusama runtimes (#824)
* enable migrations in polkadot and kusama runtimes

* bump runtime version
2020-02-10 10:31:50 +01:00
Gavin Wood 78a8d9f3b6 Fix vesting logic (#4864)
* Fix vesting logic

* Bump runtime version

* Docs.
2020-02-10 10:30:42 +01:00
Shawn Tabrizi e5a7fcc8ea Create Benchmarking Setup for Identity Pallet #4695 (#4818)
* Starting

* closer

* Compiles!

* comments

* Create seperate mock

* Remove changes to test env

* Fix step calculation

* Add host function

* Add runtime api

* compiles

* Update to use offchain timestamp

* Gives a result

* added some CLI wip

* make generic

* Update instance

* Remove CLI stuff

* Remove last cli stuff

* undo more changes

* Update benchmarks

* Update Cargo.lock

* remove test

* Move loop out of runtime

* Benchmarking externalities

* Benchmarking state

* Implemented commit

* Make CLI work, move loop back into runtime

* Wipe resets to genesis

* Speedup benchmarks

* Use enum to select extrinsic within pallet

* CLI controls which module and extrinsic to call

* Select a pallet with cli

* Add steps and repeats to cli

* Output as CSV format

* Introduce benchmark pallet

* Append bench

* Use Results

* fix merge

* Clear Identity benchmark

* Bench request judgment and cancel request

* Add final benchmarks

* Fix CSV output

* Start cleaning up for PR

* Bump numbers in `wasmtime` integration tests.

* More docs

* Add rockdb feature to bench

* Fix formatting issues

* Add test feature to bench

* Add test feature to bench

* Add rocksdb feature flag

* Update bench.rs

Co-authored-by: Arkadiy Paronyan <arkady.paronyan@gmail.com>
Co-authored-by: Gavin Wood <github@gavwood.com>
2020-02-10 10:23:08 +01:00
Robert Habermeier 1c2aff5b4d Include parent head in CandidateReceipt (#826)
* runtime: candidate receipt must pass parent head

* construct parachain candidates using correct parent_head

* validate that the parent header is correct in candidate receipt

* fix test fallout

* bump runtime versions
2020-02-10 10:14:12 +01:00
h4x3rotab 376deef36f Export GRANDPA AuthorityPair when full_crypto is enabled (#4872)
* Export crypto_full feature in primitives/finality-grandpa

* Export GRANDPA AuthorityPair when full_crypto is enabled
2020-02-10 09:26:09 +01:00
h4x3rotab 916a3392b2 Remove the unnecessary std dependency from 'blake2-rfc' (#4868) 2020-02-09 20:29:45 +01:00
h4x3rotab 62b60c32de Wrap runtime_print! macro in its own scope (#4867)
* Wrap runtime_print! macro in its own scope

Before this fix runtime_print! can be used only once in a scope
because of the name pollution.

* Bump runtime impl versioin (no logic change)
2020-02-09 20:11:53 +01:00
Gavin Wood 703ac8bbbc Bump Substrate (#816)
* Amalgamate pieces of balance module

* Fixes for vesting split

* Refactoring for vesting/balances split

* Build fixes

* Remove on_free_balance_zero and some docs.

* Indentation.

* Revert branch

* Fix.

* Update substrate: fixes after CLI refactoring

* Reverting removal of exit

* Removed too much again

* Update Cargo.lock

* Cargo.lock

* Update Substrate, ready for #4820

* Fixes

* Update to latest substrate master

* Fix network tests

* Update lock

* Fix tests

* Update futures to get bug fixes

* Fix tests for new balances/vesting logic

* Cargo fix

* Another fix

Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-02-09 17:50:17 +01:00
Nikolay Volf 147155359f Alter usage collection a bit (#4863)
* alter usage collection a bit

* replace with mutex
2020-02-09 13:11:22 +01:00
Alexander Popiak cb567d6b8b Rename StorageMap::exists to ::contains_key (Resolves #4839) (#4847)
* rename StorageMap::exists(key) to ::contains_key(key)

* bump impl_version
2020-02-08 20:31:35 +01:00
Cecile Tonglet 503bfc9da9 WIP: Test: does cargo update work? (#4844)
* Initial commit

Forked at: be075893b5
Parent branch: origin/master

* Update Cargo.lock

* Cargo.lock

* Add missing features of libsecp256k1

* Update dependencies
2020-02-07 17:38:13 +01:00
Shawn Tabrizi 164f620918 Implement From<DispatchError> for '&static str (#4856) 2020-02-07 16:25:20 +01:00
Bastian Köcher ec562fe937 Fix CLI setup again (#4851)
* Fix CLI setup again

We need to set `config_dir` and `database_path` for almost every
command.
This fixes `purge-chain` and also adds a test to make sure we don't
break it again.

* Adds missing test files

* Split methods
2020-02-07 15:00:51 +01:00
Cecile Tonglet 60bd49ff0d Update parity-multiaddr dependency (#4852) 2020-02-07 13:22:06 +01:00
Bastian Köcher 9277a53052 Move tracing cli args to ImportParams (#4850) 2020-02-07 13:21:46 +01:00
Wei Tang bf437cda8e pow: re-add support for algorithms where only linear verification is possible (#4843)
* pow: re-add support for algorithms where only linear verification is possible

* Remove unused generic parameters

* Clone impl for PowBlockImport
2020-02-07 11:58:31 +01:00
Nikolay Volf 41967186e4 Subsystems memory tracking: 1. Transaction pool (#4822)
* update sp-runtime

* total update

* usage informant

* update to crates.io version

* update Cargo.lock

* update dummy update

* fix todo

* cleanup

* avoid custom impl

* Update client/transaction-pool/graph/src/future.rs

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

* remove another custom impl

* remove another custom impl

* add kb in report

* update Cargo.lock

* review suggestions

* --amend

* --amend

* bump parity-util-mem to 0.5.0

* bumps

* update macro and versions

* add to grafana

* naming

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
2020-02-07 11:53:11 +01:00
Marcio Diaz 41644c2ae8 Enable trace timings logs for transaction factory (#4845)
* Enable trace timings logs for transaction factory.
2020-02-07 08:12:19 +01:00
Nikolay Volf 8c373916a4 easy with threads (#4848) 2020-02-06 23:32:48 +01:00
Wei Tang 14b0c9a746 babe: pass epoch data via intermediates (#4807)
* babe: pass epoch data via intermediates

* Switch to use Box<dyn Any> for intermediates

* Set intermediate.epoch to be Option

* Fix proposer should put out an empty intermediate

* Remove unnecessary encode/decode

* Add EpochData to block_import_params in slot worker

* Fix aura compile

* Fix integration test
2020-02-06 17:52:30 +00:00
Wei Tang 4df27e760e Refactor epoch changes to a separate crate (#4785)
* Init epoch changes module

* Initial integration of new epoch changes module for BABE

* Fix all initial compile errors

* rename: digest -> digests

* Fix babe tests

* Bump impl_version

* Fix more test issues

* Remove test flag for tree

It unfortunately won't work for multiple crates.

* Update cargo lock

* Fix duplicate parking_lot version

* Add missing license header
2020-02-06 16:48:38 +01:00