Commit Graph

4173 Commits

Author SHA1 Message Date
Bastian Köcher ad2e832289 Don't require module name in inherents (#6576)
* Start

* Cleanup `construct_runtime!`

* Add tests

* Fix after merge

* Update the docs
2020-07-06 10:29:17 +00:00
Shawn Tabrizi 2019f70768 Benchmarks Writer CLI (#6567)
* initial mockup

* add and wipe

* track writes

* start to add to pipeline

* return all reads/writes

* Log reads and writes from bench db

* causes panic

* Allow multiple commits

* commit before ending benchmark

* doesn't work???

* fix

* Update lib.rs

* switch to struct for `BenchmarkResults`

* add to output

* fix test

* line width

* @kianenigma review

* Add Whitelist to DB Tracking in Benchmarks Pipeline (#6405)

* hardcoded whitelist

* Add whitelist to pipeline

* Remove whitelist pipeline from CLI, add to runtime

* clean-up unused db initialized whitelist

* Add regression analysis to DB Tracking (#6475)

* Add selector

* add tests

* debug formatter for easy formula

* initial idea

* use all benchmarks

* broken

* working without trait

* Make work for multiple pallets

* Fix merge issues

* writer appends to file

* implement () for balances weight trait

* update name of trait

* Weights to WeightInfo

* auto trait writer

* Heap pages are configurable

* clean out runtime changes

* more clean up

* Fix string generation

* Update comments

* Update bin/node/runtime/src/lib.rs

Co-authored-by: arkpar <arkady.paronyan@gmail.com>
2020-07-06 09:34:24 +00:00
André Silva a9c21b8b84 babe: report equivocations (#6362)
* slots: create primitives crate for consensus slots

* offences: add method to check if an offence is unknown

* babe: initial equivocation reporting implementation

* babe: organize imports

* babe: working equivocation reporting

* babe: add slot number to equivocation proof

* session: move duplicate traits to session primitives

* babe: move equivocation stuff to its own file

* offences: fix test

* session: don't have primitives depend on frame_support

* babe: use opaque type for key owner proof

* babe: cleanup client equivocation reporting

* babe: cleanup equivocation code in pallet

* babe: allow sending signed equivocation reports

* node: fix compilation

* fix test compilation

* babe: return bool on check_equivocation_proof

* babe: add test for equivocation reporting

* babe: add more tests

* babe: add test for validate unsigned

* babe: take slot number in generate_key_ownership_proof API

* babe: add benchmark for equivocation proof checking

* session: add benchmark for membership proof checking

* offences: fix babe benchmark

* babe: add weights based on benchmark results

* babe: adjust weights after benchmarking on reference hardware

* babe: reorder checks in check_and_report_equivocation
2020-07-04 12:18:13 +02:00
Wei Tang 61635e75c1 pallet-evm: return Ok(()) when EVM execution fails (#6493)
* pallet-evm: return Ok(()) when EVM execution fails

* Bump spec version

* Init test module

* Add fail_call_return_ok test

* Fix tests and use full match pattern

Co-authored-by: Gav Wood <gavin@parity.io>
2020-07-04 11:57:50 +02:00
André Silva e3ba163714 ci: fix merge on polkadot companion job (#6574) 2020-07-03 21:07:11 +02:00
Gavin Wood f744d6911e Make the encoded-Call Vec<u8> explicitly so in metadata (#6566) 2020-07-03 19:29:35 +02:00
Cecile Tonglet 9c566f54b8 Remove polkadot companion detection from branch name (#6568)
* Initial commit

Forked at: 2ddbbd7c08
Parent branch: origin/master

* Remove polkadot companion detection from branch name

Even though it was nice it was also error prone as there were no indication whatsoever on the PR
that a polkadot companion branch exists.
2020-07-03 19:16:32 +02:00
André Silva fb2fa25331 primitives: use generic Header in testing runtime (#6561)
* primitives: use generic Header in testing runtime

* frame: remove unused imports

* Remove warning

Co-authored-by: Bastian Köcher <git@kchr.de>
2020-07-03 17:07:46 +00:00
Cecile Tonglet 2ddbbd7c08 Remove polkadot companion detection from branch name (#6565)
* Initial commit

Forked at: f54614e256
Parent branch: origin/master

* Remove polkadot companion detection from branch name

Even though it was nice it was also error prone as there were no indication whatsoever on the PR
that a polkadot companion branch exists.
2020-07-03 17:29:08 +02:00
Cecile Tonglet f54614e256 New testing helpers (#6555)
* Initial commit

Forked at: 424d5c722d
Parent branch: origin/master

* Add send_transaction to RpcHandlers

* Extension trait for RpcHandlers

* Revert "Add send_transaction to RpcHandlers"

This reverts commit 03c89e13d404bae3f3123387dd50f026061bca82.

* Add an extension trait for BlockchainEvents

* Update test-utils/client/src/lib.rs

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

* Update test-utils/client/src/lib.rs

* fix

* deps fix

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-07-03 09:49:42 +00:00
Max Inden 635310c8d4 client/network: Remove unused Result returned by NetworkWorker (#6552) 2020-07-02 15:18:08 +02:00
Bastian Köcher 4f7f312be5 Move create_inherents into the block-builder (#6553)
* Move `create_inherents` into the block-builder

This moves the `create_inherents` call into the block-builder. This has
the advantage that `create_inherents` will be able to reuse the same
context that will be used when applying the extrinsics and we also save
one call to `on_initialize`. To make sure that `create_inherents` does
not modify any state, we execute it in a transaction that is
rolled-back after doing the runtime call.

* Feedback and build fix

* Update primitives/runtime/src/lib.rs

Co-authored-by: Sergei Shulepov <sergei@parity.io>

* Update client/block-builder/src/lib.rs

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2020-07-02 15:17:14 +02:00
Xiliang Chen e1d0f84c67 Allow specify schedule dispatch origin (#6387)
* allow specify schedule dispatch origin

* fix tests

* use caller origin for scheduled

* fix tests

* line width

* check origin for cancel

* line width

* fix some issues for benchmarking

* fix doc test

* another way to constraint origin

* fix build issues

* fix cancel

* line width

* fix benchmarks

* bump version

* enable runtime upgrade

* add migration code and test

* Update frame/scheduler/src/lib.rs

Co-authored-by: Gavin Wood <github@gavwood.com>

* expose migration method

* add notes

* bump version

* remove on_runtime_upgrade

* fix test

Co-authored-by: Gavin Wood <github@gavwood.com>
2020-07-02 15:05:15 +02:00
pscott 540ae1c161 Update SubstrateCli to return String (#6550)
* Update SubstrateCli to return String

* Add default implementation for executable_name()

* Use display instead of PathBuf

* Get file_name in default impl of executable_name

* Remove String::from and use .into()

* Use default impl for executable_name()

* Use .as_str() and remove useless .to_string()

* Update only sp-io when running companion build

* Remove unneeded update of sp-io in CI

Co-authored-by: Cecile Tonglet <cecile@parity.io>
2020-07-02 13:34:56 +02:00
Cecile Tonglet 7b0028d75a Drop the tokio runtime before the task_manager (#6548)
* Initial commit

Forked at: ece0364170
Parent branch: origin/master

* Drop the tokio runtime before the task_manager

The tokio runtime must be dropped before the task_manager. Otherwise the objects the task_manager
keep alive are dropped before the tasks are finished.
2020-07-02 13:02:08 +02:00
Ashley 5f751e4472 Remove ServiceBuilderCommand and implement the chain ops as standalone functions instead. (#6543)
* :)

* Slight tidy

* Remove ServiceBuilderCommand

* Remove whitespace

* Keep task manager alive for check_block/import_blocks

* Pass task_manager to run_until_exit

* Make task_manager in run_until_exit and make subcommands async

* Change the async_run fn to return a future and task manager

* async_run should take a result fn

* Apply suggestions from code review

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

* Fix spaces in export_raw_state

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-07-02 12:57:56 +02:00
cheme 424d5c722d Restrict Protected to some heap types. (#6471)
* Restrict `Protected` to some heap types.

* Comment abut Protected usage.

* Remove Protected from crypto, use secrecy crate for existing uses.

* use a parse function

* fix error convert

* Rename and move secretY string function.

* std result
2020-07-01 09:59:07 +00:00
s3krit ece0364170 [CI] Add Github Action to notify devops of PRs labelled with A1-needsburnin (#6525)
* add burnin-label-notification.yml

* fix burnin-label-notification.yml

* fix burnin-label-notification.yml

* fix burnin-label-notification.yml

* fix burnin-label-notification.yml

* Update .github/workflows/burnin-label-notification.yml

Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org>

Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org>
Co-authored-by: Gav Wood <gavin@parity.io>
2020-07-01 11:33:28 +02:00
s3krit c3ee172804 Fix auto-label-issues.yml (#6536)
statements in github actions cannot use ", must use '

Co-authored-by: Gav Wood <gavin@parity.io>
2020-07-01 11:33:10 +02:00
Max Inden 585ea531a3 .maintain/monitoring/alerting-rules: Adjust transaction queue size alert (#6426)
The transaction queue size alert has been firing with a constant 10
transactions in the queue. While maybe problematic those 10 transactions
don't need to be the same across scrape intervals.

Instead of alerting with a size above 10, alert based on two things:

1. Monotonically increasing queue size

2. Upper limit queue size reached
2020-07-01 10:31:56 +02:00
David d73de3bed7 Fix mocking multiple http calls in the same function call (#6510)
* Fix mocking multiple http calls in the same function call

Fixes an issue where a function call would perform more than one http request and wait for each to complete before proceeding. The `RequestId` comes from the length of the `requests` collection in the `OffchainState` and if a request is completed before the next one starts it will be removed and the "next expected" will be off by one. This PR tries to fix that by using a request counter that tracks how many requests have been performed so that we can `remove()` items from the `expected_requests` at the right index.

I suspect that this is a sub-optimal soluton and perhaps requests and their mocks should live side by side in the same collection, e.g. in a tuple of `(PendingRequest, Option<ExpectedRequest>)`.

* Update primitives/core/src/offchain/testing.rs

Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>

* Update primitives/core/src/offchain/testing.rs

Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>

* Panic on overflow

* Update primitives/core/src/offchain/testing.rs

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

* Use a Deque and push/pop expected requests

* fix test

Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-07-01 10:22:47 +02:00
Denis Pisarev ce02e1df84 Fix runtime benchmarks CI (#6545)
* debug (ci): ci config [skip ci]

* debug (ci): fix runtime benchmarks

* fix identity benchmarks

* fix utility benchmarks

* Revert "debug (ci): ci config [skip ci]"

This reverts commit 081b175b5e95604520c79ea4e5822b84ea35ddaa.

* change (ci): touch ci config to run CI

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Gav Wood <gavin@parity.io>
2020-07-01 09:36:12 +02:00
Wei Tang c4f6fbceac pallet-evm: customizable chain id (#6537) 2020-07-01 09:00:12 +02:00
Bastian Köcher e61f377617 Update to make cargo-deny happy (#6547)
* Update to make cargo-deny happy

* Remove cargo deny from CI

* change (ci): run cargo deny only on tags and schedules

Co-authored-by: Denis P <denis.pisarev@parity.io>
2020-07-01 08:49:51 +02:00
André Silva 4cf1b4fa7b grandpa: minor cleanups in communication module (#6371)
* grandpa: replace Result<(), ()> with Option<()>

* grandpa: replace &Option<T> with Option<&T>

* grandpa: cleanup local id and keystore usages

* grandpa: return bool on check_message_signature

* grandpa: fix erroneous log message on startup

* grandpa: fix test
2020-06-30 18:59:36 +01:00
Bastian Köcher 53be6ec510 Support synching of blocks that are not new_best (#6508)
* Start

* Remove debug println

* Add tests
2020-06-30 14:44:52 +00:00
Bastian Köcher 4fd770dcf9 Make the OnRuntimeUpgrade docs more clear (#6542) 2020-06-30 16:04:15 +02:00
Nikolay Volf 850942ae66 Block production integration benchmark (#6468)
* proposer benchmark

* update cargo.lock
2020-06-30 16:06:16 +03:00
Ashley b832e35c5e Remove the service, replacing it with a struct of individual chain components (#6352)
* WIP

* Making progress

* Almost ready

* Get service tests compiling

* Fix node screenshot

* Line widths

* Fix node cli tests

* Fix node cli warning

* ChainComponents -> ServiceComponents, fix tests

* make spawn_handle public

* Remove spawnnamed impl for taskmanager

* Move the keep alive stuff to the task manager

* Move the telemetry, base path, rpc keep_alive to the service builder

* Make the task manager keep alive an internal detail

* Rewrite the browser start_client future

* Remove run_node etc

* Revert my personal changes to browser-demo/build.sh

* use |config|

* Add a runtime_version function to SubstrateCli

* Reexport role and runtime version from sc cli

* Update Cargo.lock

* runtime_version -> native_runtime_version

* Pass chain spec to native_runtime_version for polkadot

* Fix line widths

* Traitify ServiceComponents Client
2020-06-30 11:00:42 +01:00
Bastian Köcher 493d5d8591 Fix tx-pool returning the same transaction multiple times (#6535)
* Fix tx-pool returning the same transaction multiple times

This fixes a bug that lead to returning the same transaction multiple
times when iterating the `ready` iterator. Internally the transaction
was kept in the `best` list and could be duplicated in that list be
re-inserting it again. This `best` list is using a `TransactionRef`
which internally uses a `insertion_id`. This `insertion_id` could lead
to the same transaction being inserted multiple times into the `best`
list.

* Update client/transaction-pool/src/testing/pool.rs

Co-authored-by: Nikolay Volf <nikvolf@gmail.com>

Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
2020-06-30 11:02:46 +02:00
Luke Schoen 5a925ecc7e feat: Allocate ss58 address format to DataHighway (#6530) 2020-06-30 08:31:32 +00:00
Thomas Scholtes 2423037a27 Remove unecessary &mut in call argument (#6540) 2020-06-30 08:10:18 +00:00
Toralf Wittner 3de2a88075 Update to libp2p v0.20.1 (#6465)
* Update to libp2p-0.20.0

* Update to `libp2p-0.20.1`.

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
2020-06-30 08:02:51 +00:00
Shawn Tabrizi 2e2af4b05a Allow retract_tip on tip_new (#6511)
* Allow `retract_tip` on `tip_new`

* initial migration code

* test migration

* make pub

* bump spec
2020-06-29 13:59:32 +00:00
chenwei 749cc1fd34 Implement () for Happened (#6529) 2020-06-28 18:17:15 +00:00
Shawn Tabrizi f1bd59c6a9 Fix some broken benchmarks (#6528) 2020-06-28 19:53:58 +02:00
Pierre Krieger 505540a2a0 Increase the limit for the maximum size of the telemetry name (#6523)
* Increase the limit for the maximum size of the telemetry name

* Fix test
2020-06-26 14:48:11 +00:00
Xiliang Chen dd3333f8b4 Implement Contains for pallet-membership (#6518)
* implement Contains for pallet-membership

* bump version
2020-06-26 15:37:45 +02:00
Cecile Tonglet 510e808482 Impl From<UncheckedExtrinsic> for OpaqueExtrinsic (#6522) 2020-06-26 15:36:03 +02:00
Cecile Tonglet 94ca03c998 Remove @cecton from CODEOWNERS (#6524)
* Initial commit

Forked at: cfa0e0d356
Parent branch: origin/master

* Remove @cecton from CODEOWNERS
2020-06-26 15:35:43 +02:00
s3krit cfa0e0d356 [CI] Fix warning in polkadot-companion-label action (#6514) 2020-06-26 13:13:00 +02:00
Gavin Wood 0532db6b86 Refactor as_sub to make things clearer. (#6503)
* Refactor as_sub to make things clearer.

- `as_sub` becomes `as_alternative`
- `as_sub_limited` becomes `as_derivative`
- `as_alternative` and `as_derivative` generate a mutually exclusive set of accounts.

* Test fix

* Add test

* Fix test

* Remove `as_alternative`.

* Docs.
2020-06-26 11:03:02 +02:00
Pierre Krieger 39c3d1c026 Fix an extra semi-colon yielding a wrong error (#6520)
* Fix an extra semi-colon yielding a wrong error

* Update client/cli/src/commands/run_cmd.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-06-26 08:05:24 +00:00
Benjamin Kampmann f6ebd5f87d Releasing rc4 – Rhinoceros (#6515)
Co-authored-by: Martin Pugh <pugh@s3kr.it>
2020-06-25 23:18:43 +02:00
Alexander Theißen f53e5355f8 Re-enter runtime after resetting overlay from runtime (#6513)
This still assumes that the client did not start any transactions
before calling into runtime. This is the case for benchmarking
as long as either NativeWhenPossible or AlwaysWasm exection
strategy is chosen. Using any other will result in a panic.
2020-06-25 22:52:05 +02:00
Ricardo Rius 59af5d6eae Change contract fees to MILLICENTS (#6509) 2020-06-25 15:46:18 +00:00
Tomasz Drwięga 330ea853e1 Remove /self from mandatory rpc reviews. (#6507) 2020-06-25 13:03:29 +00:00
s3krit 4f84f1fbf4 Add auth-label-issues.yml (#6488) 2020-06-25 11:56:45 +02:00
Shaopeng Wang 1813ba215e Update stale docstring with 'EnsureOneOf' introduced. (#6501)
* Update stale docstring with 'EnsureOneOf' introduced.

* Apply review suggestions.
2020-06-25 11:33:47 +02:00
Guillaume Thiolliere 44fb311f1f Bound Unsigned when signed is not supported. (#6367)
* bound unsigned when necessary

* convert more type to AtLeast32BitUnsigned

* Update primitives/arithmetic/src/traits.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* doc refactor

* line reorganize

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2020-06-25 11:30:20 +02:00