Commit Graph

4702 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
gabriel klawitter c7a7197f97 ci: enable build for pre-tags (#4836)
* build for pre-tags

* shallow clone rustdocs
2020-02-06 16:47:44 +01:00
Bastian Köcher 07daa525b9 Allocator improvements/clean ups (#4838)
* FreeingBumpAllocator: Initialize the heads to `u32::max_value()`

`self.heads` can point to an element with the index `0` in the heap.
This would make the allocator fail to reuse this element.

* Simplify the `PREFIX_SIZE` handling
2020-02-06 16:08:11 +01:00
Cecile Tonglet be075893b5 CLI improvements & fixes (#4812)
These are a few changes I missed during the refactoring.

1. Initialization issue and boilerplate

    Most importantly: part of the `Configuration` initialization was done in `sc_cli::init`. This means the user can not benefit from this initialization boilerplate if they have multiple `Configuration` since `sc_cli::init` can only be called once.

2. Boilerplate for `VersionInfo` and `Configuration`

    I'm also answering to the critic of @bkchr on the initialization using version: https://github.com/paritytech/substrate/pull/4692/files/bea809d4c14a2ede953227ac885e3b3f9771c548#r372047238 This will allow initializing a `Configuration` and provide the version by default.

3. Loading the `chain_spec` explicitly

    In the past it was done automatically but in some cases we want to delay this. I moved the code to `Configuration.load_spec()` so it can be called later on. `chain_spec` can also be written directly to the `Configuration` without using this `load_spec` helper.

4. [deleted]

5. Fixing issue that prevents the user to override the port

    In the refactoring I introduced a bug by mistake that could potentially prevent the CLI user to override the ports if defaults where provided for these ports (only on cumulus).

6. Change task_executor from Box to Arc

    This is useful for cumulus where we have 2 nodes with 2 separate Configuration that need to spawn tasks to the same runtime.

7. Renamed TasksExecutorRequired to TaskExecutor

    For consistency.

This is related to https://github.com/paritytech/cumulus/issues/24

This is the continuation (and hopefully the end of) #4692
2020-02-06 15:46:49 +01:00
Marcio Diaz f891342f20 Fix broken factory by adding keystore back. (#4840) 2020-02-06 14:48:19 +01:00
Bastian Köcher c7867e5125 Fix memory leak in runtime interface (#4837)
* Fix memory leak in runtime interface

We used `slice::from_raw_parts` in runtime-interface which did not free
the memory afterwards. This pr changes it to `Vec::from_raw_parts` to
make sure `drop` is called properly and the values are freed.

* Check that `len` is non-zero

* Adds comment
2020-02-06 14:26:41 +01:00
Arkadiy Paronyan 3c79e6d03c Fixed a few warnings (#4841) 2020-02-06 14:06:53 +01:00
Jimmy Chu acb66f0699 Node template folders restructuring (#4811)
* Restructure node-template so it is clear that node, runtime, and pallets are separated
* Separating to mock and tests
* restructuring runtime to top-level
* updated release script
* updated Cargo.lock
2020-02-06 20:13:44 +08:00
Nikolay Volf 6148c7ce15 do join_all (#4832) 2020-02-06 13:07:52 +01:00
André Silva db4c8c03bb node: disable grandpa automatic finality fallback (#4835)
* node: disable grandpa automatic finality fallback

* node: bump spec_version
2020-02-06 00:10:35 +01:00
André Silva d53bb5ec50 grandpa: bump version to v0.11.1 (#4813) 2020-02-05 21:47:11 +01:00
Sergei Pepyakin 1af9e4f3ee executor: Simplify the SandboxCapabilities interface (#4825)
* Don't require `store` and `store_mut` in `SandboxCapabilities`.

* Simplify the sandbox a bit
2020-02-05 18:20:25 +01:00
Gavin Wood 9202cd87e0 Additional RPC for dumping all main storage key pairs under a prefix (#4803)
* 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

* Update client/src/client.rs

* Update client/src/client.rs

* Fix merge conflict

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-02-05 17:27:50 +01:00
Sergei Pepyakin 1185f3ea30 Get rid of in-substrate usages of core_intrinsics feature (#4823)
* Remove usage of unneeded Rust feature core_intrinsics

* core::intrinsics::abort -> arch::wasm32::unreachable

* Don't publish `core::intrinsics`.

* Disable panic_handler and alloc_error_handler for no_std non wasm builds
2020-02-05 17:26:48 +01:00
Wei Tang c0af995362 Avoid losing values in intermediate take (#4833) 2020-02-05 17:26:07 +01:00
Pierre Krieger 54c10893ab Print an error if listener is closed (#4830)
* Print an error if listener is closed

* Oops, forgot to commit this
2020-02-05 17:25:14 +01:00
Pierre Krieger a3439999cf Remove support for secio (#4831) 2020-02-05 16:56:49 +01:00
Pierre Krieger 39c037ab22 Fix missing overrides of NetworkBehaviour (#4829) 2020-02-05 11:56:59 +01:00
Wei Tang 710ffebcca pallet-evm: log created address (#4821)
* pallet-evm: log created address

* Bump spec_version

* Only emit Created event when ExitReason is Succeed
2020-02-04 16:58:23 +01:00
Demi Obenour 0ab013bddb Bump parking_lot (#4817)
Hopefully this can be merged if the tests pass.
2020-02-04 16:56:50 +01:00
Bastian Köcher cd0d2fd791 Fix flaky messed signature test (#4819)
When messing with the signature, we need to make sure that we acutally
mess-up the signature. As the generated private/public key is random,
the signature is random as well. It can happen that `bytes[0] ==
bytes[2]` which makes the test fail. We fix this problem by just
inverting the bytes at `0` and `2`.
2020-02-04 12:39:56 +01:00
Gautam Dhameja 78006d0523 Added GetCallMetadata for extrinsic calls. (#4791)
* Added GetCallMetadata for extrinsic calls.

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

* Improved test for outer call metadata.

* fixed review comments

* removed dead code

* fixed review suggestions

* Update frame/support/src/dispatch.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-02-04 11:25:04 +01:00