Commit Graph

16709 Commits

Author SHA1 Message Date
Cecile Tonglet 3d42e2c7eb Fix graceful shutdown skipped if future ends with error (#6769)
* Initial commit

Forked at: 5060324b91
Parent branch: origin/master

* Fix graceful shutdown skipped if future ends with error

* apply suggestion
2020-07-30 15:59:07 +00:00
Shawn Tabrizi 01d0d13fad Update Balances Pallet to use WeightInfo (#6610)
* Update balance benchmarks

* Update weight functions

* Remove user component

* make componentless

* Add support for `#[extra]` tag on benchmarks

* Update balances completely

* Apply suggestions from code review

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Fix some tests

* Maybe fix to test. Need approval from @tomusdrw this is okay

* Make test better

* keep weights conservative

* Update macro for merge master

* Add headers

* Apply suggestions from code review

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
2020-07-30 17:08:23 +02:00
Wei Tang b6dedd9016 BABE slot and epoch event notifications (#6563)
* BabeWorker -> BabeSlotWorker

* SlotWorker::notify_slot: similar to claim_slot, but called no matter authoring

* Wrap the future with a new struct BabeWorker

* Add type definition slot_notification_sinks

* Function slot_notification_streams for the receiver side

* Get a handle of slot_notification_sinks in BabeSlotWorker

* Implement notify_slot

* Switch to use bounded mpsc

* Do not drop the sink when channel is full

Only skip sending the message and emit a warning, because it is recoverable.

* Fix future type bounds

* Add must_use and sink type alias
2020-07-30 17:07:27 +02:00
Bastian Köcher 9ac30f7116 Rename task name to stick to the default naming scheme (#6768) 2020-07-30 14:19:34 +00:00
Wei Tang 9a672c4e97 pallet-evm: add builtin support for the four basic Ethereum precompiles (#6743)
* pallet-evm: add builtin support for the four basic Ethereum precompiles

* linear_cost -> ensure_linear_cost to directly return OutOfGas error
2020-07-30 15:52:16 +02:00
Garrett MacDonald 814911f414 Add " Successfully mined block" log message (#6764) 2020-07-30 13:23:25 +00:00
Pierre Krieger 5060324b91 Ignore flaky test (#6767) 2020-07-30 14:58:30 +02:00
s3krit 05675df4ed [CI] Publish draft release redux (#1493)
* Add publish-draft-release Github action
* Remove publish_draft_release.sh gitlab job
2020-07-30 14:02:51 +02:00
Dan Forbes 5969367e47 Update README docs related to local build (#1479)
* Update README docs related to local build

Closes #1476

* Update command per @ordian

Co-authored-by: Andronik Ordian <write@reusable.software>

* Remove reference to old install script

Co-authored-by: Andronik Ordian <write@reusable.software>
2020-07-30 13:38:48 +02:00
Cecile Tonglet 31adf5aff6 Replace stacktrace with simpler error when relay chain arguments fail to parse (#165) 2020-07-30 12:11:26 +02:00
Ashley 4292fac5bc Add a default trie-memory-tracker feature to the cli (#1502)
* Update substrate and add a trie-memory-tracker feature to the cli

* Update cli/Cargo.toml

Co-authored-by: Andronik Ordian <write@reusable.software>

Co-authored-by: Andronik Ordian <write@reusable.software>
2020-07-30 10:09:07 +00:00
Ashley 610dd1368c Companion PR for Add a DefaultQueue type alias to remove the need to use sp_api::TransactionFor`` (#1499)
* BabeImportQueue -> DefaultImportQueue

* Use DefaultImportQueue from the top level of consensus_common

* 'Update substrate'

Co-authored-by: parity-processbot <>
2020-07-30 09:25:59 +00:00
Ashley 7df97abab4 Add a DefaultQueue type alias to remove the need to use sp_api::TransactionFor (#6761)
* Add DefaultQueue

* Add DefaultImportQueue to the top level of sp-consensus
2020-07-30 09:02:12 +00:00
Aten 1284a491c2 support custom ss58addressformat in from_ss58check_with_version (#5526)
* support custom ss58addressformat in from_ss58check_with_version

* fix str parse

1. if can parse with u8, use u8 into.
2. if u8 can't parse, convert to str then parse

* add a test

* typo

* add error description in test

* fix the `TryFrom<u8>` for `Ss58AddressFormat`

change check logic in TryFrom<u8> to replace modified code in `from_ss58check_with_version`

* use Ss58AddressFormat::default() replace DEFAULT_VERSION

* Apply suggestions from code review

* Update primitives/core/src/crypto.rs

* Update primitives/core/src/crypto.rs

* Update primitives/core/src/crypto.rs

* Update primitives/core/src/crypto.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-07-30 10:41:32 +02:00
Cecile Tonglet 190810279a Fix Polkadot CLI arguments not properly parsed (#163)
* Initial commit

Forked at: d1d40765c7
Parent branch: origin/master

* Fix polkadot cli arguments not properly parsed

* Update test/parachain/src/command.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-07-30 09:59:25 +02:00
Ashley 8fc8c81144 Add memory-tracker feature to sp-trie to fix wasm panic (#6745)
* Add memory tracker feature to sp-trie to fix wasm panic

* Apply suggestions from code review

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

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-07-30 09:41:08 +02:00
Peter Goodspeed-Niklaus 4b2cb04e56 Fix bitfield signing (#1466)
* Apply suggestions from #1364 code review

- use CoreState, not CoreOccupied
- query for availability chunks, not the whole PoV
- create a stub `fn availability_cores`

* link to issue documenting unimplemented

* implement get_availability_cores by adding a new runtime api request

* back out an unrelated change properly part of #1404

* av-store: handle QueryChunkAvailability

* simplify QueryDataAvailability

* remove extraneous whitespace

* compact primitive imports
2020-07-29 22:33:06 +00:00
Cecile Tonglet d1d40765c7 Collate only if --validator is given (#161) 2020-07-29 20:49:31 +02:00
Max Inden dc33e64643 client/network: Add peers to DHT only if protocols match (#6549)
* client/network/src/discovery: Adjust to Kademlia  API changes

* client/network: Add peers to DHT only if protocols match

With https://github.com/libp2p/rust-libp2p/pull/1628 rust-libp2p allows
manually controlling which peers are inserted into the routing table.
Instead of adding each peer to the routing table automatically, insert
them only if they support the local nodes protocol id (e.g. `dot`)
retrieved via the `identify` behaviour.

For now this works around
https://github.com/libp2p/rust-libp2p/issues/1611. In the future one
might add more requirements. For example one might try to exclude
light-clients.

* Cargo.toml: Remove crates.io patch for libp2p

* client/network/src/behaviour: Adjust to PeerInfo name change

* client/network/src/discovery: Rework Kademlia event matching

* client/network/discovery: Add trace on adding peer to DHT

* client/network/discovery: Retrieve protocol name from kad behaviour

* client/network/discovery: Fix formatting

* client/network: Change DiscoveryBehaviour::add_self_reported signature

* client/network: Document manual insertion strategy

* client/network/discovery: Remove TODO for ignoring DHT address

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
2020-07-29 14:44:15 +02:00
Guillaume Thiolliere 1eeb4b0e3f benchmarks! macro: factorize instance usage. (#6750)
* factorize benchmark!

* fix types

* fix types
2020-07-29 14:33:54 +02:00
Gavin Wood 756f95c407 Update Substrate, bump versions, clean up sort (#1496)
* Sort cleanups

* Bump versions
2020-07-29 14:31:31 +02:00
Shawn Tabrizi 6e6568167a Allow PostDispatchInfo to disable fees (#6749)
* initial mock

* add test

* remove unneeded clone

* Update frame/support/src/weights.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* fix compile

* Update frame/support/src/weights.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update frame/sudo/src/lib.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Apply suggestions from code review

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

Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-07-29 12:30:10 +00:00
Gav Wood 4c3bd7db00 Bump Substrate 2020-07-29 14:03:47 +02:00
Gavin Wood 6bfbb7c6f1 Cleanup our sort usage (#6754) 2020-07-29 14:00:51 +02:00
Pierre Krieger 1ab7719314 Add a back-pressure-friendly alternative to NetworkService::write_notifications 🎉 (#6692)
* Add NetworkService::send_notifications

* Doc

* Doc

* API adjustment

* Address concerns

* Make it compile

* Start implementation

* Progress in the implementation

* Change implementation strategy again

* More work before weekend

* Finish changes

* Minor doc fix

* Revert some minor changes

* Apply suggestions from code review

* GroupError -> NotifsHandlerError

* Apply suggestions from code review

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>

* state_transition_waker -> close_waker

* Apply suggestions from code review

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>

* Finish renames in service.rs

* More renames

* More review suggestsions applied

* More review addressing

* Final change

* 512 -> 2048

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
2020-07-29 11:23:19 +00:00
Max Inden e674d64a72 client/network: Adjust wording (#6755)
Rename `NetworkWorker::from_worker` to `NetworkWorker::from_service` as
it is a channel from the `NetworkService` to the `NetworkWorker`.
2020-07-29 11:18:40 +00:00
Alexander Theißen a2163420f4 seal: Add benchmarks for dispatchables (#6715)
* seal: Fix syntax that confuses rust-analyzer

* seal: Add benchmarks for Dispatchables

These are only the benchmarks for the dispatchables of
the pallet. Those are not listed in the Schedule because
we do not want to pull the Schedule from storage before
dispatching.

This OK because those costs are not related to actual contract
execution. Those costs (instruction costs, ext_* costs) will
be benchmarked seperatly and entered into the default Schedule.

* seal: Add a maximum code size

* Fix comments from review

* Removed SEED constant
2020-07-29 10:32:27 +00:00
Bastian Köcher 8f3317d056 Update scale codec to latest version to fix bug in future rustc version (#1491)
* Update scale codec to latest version to fix bug in future rustc version

Companion of: https://github.com/paritytech/substrate/pull/6746

* 'Update substrate'

Co-authored-by: parity-processbot <>
2020-07-28 20:43:38 +00:00
Bastian Köcher e7d8040af8 Update parity-scale-codec to prepare for breaking rustc release (#6746)
This updates parity-scale-codec{-derive} to prepare for a rustc release
that would otherwise break the derive implementation:
https://github.com/rust-lang/rust/pull/73084
2020-07-28 20:26:01 +00:00
Peter Goodspeed-Niklaus bcfd6c2d3a add simple name derivation heuristic for JobManager Subsystem impl (#1490)
Subsystems are encouraged to either typedef themselves as appropriate
`JobManager` instances for their job type, or wrap a `JobManager`
instance and delegate the `Subsystem` impl. In both cases, we want
to use a sensible, non-repeated subsystem name for appropriate
logging and debugging.

This PR adds a heuristic: if the job name ends in the literal
"Job", then that gets stripped. Otherwise, the job name is used.
This improves on the previous situation, in which subsystems
typedef'd to or wrapping `JobManager` all got the same constant (!)
name.
2020-07-28 20:18:54 +00:00
Joseph 4161e9fad3 Replace Process.toml with json (#6740)
* Replace Process.toml with json

* Trigger checks

* Revert "Trigger checks"

This reverts commit 9bdf9f135cecb92ca3859dfa211d396a48dd6a8d.

* Trigger checks

* Revert "Trigger checks"

This reverts commit b0c6f29d6aefaf7ca8b137c7d2f958a5e0929d9e.
2020-07-28 21:14:19 +02:00
Bastian Köcher 45d17beb8e Use the correct TaskExecutor in validation (#1489) 2020-07-28 18:39:32 +00:00
Dan Forbes a20db31165 Remove unused node template deps (#6748)
* Remove unused node template deps

Backport changes made by @c410-f3r
https://github.com/substrate-developer-hub/substrate-node-template/pull/66

* Enhancements to README

* Revert change to serde per @thiolliere
2020-07-28 18:33:53 +00:00
Ashley 7c7b02ece0 Companion PR for Various small improvements to service construction.. (#1472)
* Initial commit

Forked at: 1ed17cd467
Parent branch: origin/master

* Refactor

* Refactor

* Remove macro

* WIP

Forked at: 1ed17cd467
Parent branch: origin/master

* CLEANUP

Forked at: 1ed17cd467
Parent branch: origin/master

* small fix

* fix for browser

* Switch branch

* Rewrite service builds

* Update branch

* Fix sp-core branch

* Switch branch back and update

Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
2020-07-28 20:18:11 +02:00
Robert Habermeier c8cdfbfd17 Add new Runtime API messages and make runtime API request fallible (#1485)
* polkadot-subsystem: update runtime API message types

* update all networking subsystems to use fallible runtime APIs

* fix bitfield-signing and make it use new runtime APIs

* port candidate-backing to handle runtime API errors and new types

* remove old runtime API messages

* remove unused imports

* fix grumbles

* fix backing tests
2020-07-28 18:02:39 +00:00
Bastian Köcher d234ba38bb Fix erasure_fetch_drop_also_drops_gossip_sender test (#1492)
* Fix `erasure_fetch_drop_also_drops_gossip_sender` test

* Remove the test entirely

* Fix warnings
2020-07-28 14:38:10 +00:00
Denis Pisarev c66f9755cb change (ci): new CI image; -Dwarnings instead of a job (#110)
Co-authored-by: Bastian Köcher <git@kchr.de>
2020-07-28 15:40:22 +02:00
Ashley 9220b646d2 Various small improvements to service construction. (#6738)
* Remove service components and add build_network, build_offchain_workers etc

* Improve transaction pool api

* Remove commented out line

* Add PartialComponents

* Add BuildNetworkParams, documentation

* Remove unused imports in tests

* Apply suggestions from code review

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

* Remove unused imports in node-bench

Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
2020-07-28 15:21:33 +02:00
Ashley 97f400f0f0 Use node_template_runtime::opaque::Block instead of node_template_runtime::Block (#6737) 2020-07-28 14:38:38 +02:00
Andronik Ordian 0a165a19c3 prometheus: don't use protobuf feature (#6744) 2020-07-28 11:13:11 +02:00
Joseph 32a2b80f77 Replace Process.toml with json (#1475) 2020-07-28 02:54:22 +00:00
Wei Tang 2f3d98d3a7 pallet-evm: add support for tuple-based precompile declarations (#6681)
* pallet-evm: add support for tuple-based precompile declarations

* Add missing license header

* Switch to use impl_for_tuples

* Remove unnecessary impl for ()
2020-07-27 17:30:03 +02:00
Fedor Sakharov 824c6245e2 Availability store subsystem guide (#1424)
* Improve AVStore and Scheduler docs

* Update roadmap/implementers-guide/src/node/utility/availability-store.md

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>

* Bug in linking to README.md

* Update against new runtime apis

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2020-07-27 18:12:31 +03:00
Pierre Krieger 5af85552af Remove Unpin requirement for Slots (#6711) 2020-07-27 14:31:35 +00:00
Fedor Sakharov 32a20a178c Availability store subsystem (#1404)
* Initial commit

* WIP

* Make atomic transactions

* Remove pruning code

* Fix build and add a Nop to bridge

* Fixes from review

* Move config struct around for clarity

* Rename constructor and warn on missing docs

* Fix a test and rename a message

* Fix some more reviews

* Obviously failed to rebase cleanly
2020-07-27 14:13:02 +03:00
joe petrowski 65797c001c update comments (#1445) 2020-07-27 12:51:18 +02:00
Alexander Theißen bead1becf0 seal: Fail instantiate if new contract is below subsistence threshold (#6719)
* seal: Fail instantiate if new contract is below subsistence threshold

We need each contract that exists to be above the subsistence threshold
in order to keep up the guarantuee that we always leave a tombstone behind
with the exception of a contract that called `ext_terminate`.

* Fixup executor test

* Bump runtime
2020-07-27 09:45:00 +00:00
Pierre Krieger 63bd1d8346 Add the Substrate Service Tasks dashboard (#6665) 2020-07-27 09:34:02 +00:00
Peter Goodspeed-Niklaus 106bd929ce add ActiveLeavesUpdate, remove StartWork, StopWork (#1458)
* add ActiveLeavesUpdate, remove StartWork, StopWork

* replace StartWork, StopWork in subsystem crate tests

* mechanically update OverseerSignal in other modules

* convert overseer to take advantage of new multi-hash update abilities

Note: this does not yet convert the tests; some of the tests now freeze:

test tests::overseer_start_stop_works ... test tests::overseer_start_stop_works has been running for over 60 seconds
test tests::overseer_finalize_works ... test tests::overseer_finalize_works has been running for over 60 seconds

* fix broken overseer tests

* manually impl PartialEq for ActiveLeavesUpdate, rm trait Equivalent

This cleans up the code a bit and makes it easier in the future to
do the right thing when comparing ALUs.

* use target in all network bridge logging

* reduce spamming of  and
2020-07-27 10:39:52 +02:00
Bastian Köcher c5f59ed83d Try to workaround the invalid compilation (#159)
There is probably some bug in rustc which result in an invalid
compilation when using an `expect` at the given position. I'm still not
sure why this is happening, but this fix should fix it for now.
2020-07-27 10:28:05 +02:00