Commit Graph

15873 Commits

Author SHA1 Message Date
Cecile Tonglet 537a311587 Move Docker scripts (#138)
Just reorganizing
2020-07-16 07:46:03 +02:00
Shawn Tabrizi d4c21eace6 Support Component-less Runtime Benchmarks (#6645)
* Update benchmarking macro for no components

* Handle output when error

* skip when empty

* Update analysis for zero components

* add back trace logs

* Apply suggestions from code review

* remove mean value, and use median value

* Add note

* Use standard for loop

* Apply suggestions from code review

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

* Update lib.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2020-07-16 02:21:15 +02:00
Robert Habermeier f070202d4c add assumptions made by the Node-side (#1408)
* add assumptions made by the Node-side

* Update roadmap/implementers-guide/src/node/README.md

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

* Update roadmap/implementers-guide/src/node/README.md

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

* Update roadmap/implementers-guide/src/node/README.md

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

* more refinements

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
2020-07-15 20:02:18 -04:00
s3krit 6a9cc1869b [CI] check_runtime.sh redux (#1390)
* Initial check_runtime.sh redux

* Skip further checks if no change to runtime

* remove polkadot-master reference

* Fix issues found during review :)

* replace static common dir with common_dirs array
2020-07-15 13:35:51 -04:00
Andronik Ordian e10598af1f sc-offchain: upgrade hyper-rustls to 0.18 (#6663)
* sc-offchain: upgrade hyper-rustls to 0.18

* Cargo.lock: revert rand downgrade due to rust-lang/cargo/issues/5702
2020-07-15 16:41:19 +02:00
s3krit f957281008 [CI] Fix check_polkadot_companion_status.sh (#6631)
* check changes_requested and approved separately

* handle checking more than 1 CHANGES_REQUESTED review
2020-07-15 13:30:18 +02:00
Pierre Krieger 4720f0fdda Move the legacy protocol handshake to the legacy substream (#5938)
* Move the legacy protocol handshake to the legacy substream

* Fix tests

* Remove line that wasn't supposed to be committed

* Remove hack

* Rework how it's done

* Some little changes

* update_chain wasn't doing its thing

* Fix service tests not calling update_chain

* Update client/network/src/protocol/generic_proto/behaviour.rs

Co-authored-by: Max Inden <mail@max-inden.de>

* [WIP]

* Revert "[WIP]"

This reverts commit 2b892e6a7637c0b1297e6ecdbb919321c9098ff5.

* Update client/network/src/protocol.rs

Co-authored-by: Max Inden <mail@max-inden.de>

* Fix received message not being handshake

* Update client/network/src/protocol/generic_proto/behaviour.rs

Co-authored-by: Max Inden <mail@max-inden.de>

Co-authored-by: Max Inden <mail@max-inden.de>
2020-07-15 09:29:10 +00:00
Xiliang Chen 8f4329823a allow to specify schedule time as a relative value (#6578)
* allow to specify schedule time as a relative value

* bump version

* line width

* fix benchmarks

* rename and updates
2020-07-15 05:19:21 +00:00
Gavin Wood 327ada997d Bump Substrate & versions (#1406) 2020-07-14 19:25:26 +02:00
Alexander Theißen c802d425d9 Fix two minor warnings (#6650)
* Unused import in no_std builds
* Global attribute in non-root of a crate
2020-07-14 17:21:32 +00:00
Pierre Krieger 4613dc2af4 Remove legacy Clogged event (#6652) 2020-07-14 15:43:08 +00:00
Peter Goodspeed-Niklaus 46e835f4e6 mod subsystem-util (#1376)
* Add subsystem-util crate.

Start by moving the JobCanceler here.

* copy utility functions for requesting runtime data; generalize

* convert subsystem-util from crate to module in subsystem

The point of making a sub-crate is to ensure that only the necessary
parts of a program get compiled; if a dependent package needed only
subsystem-util, and not subsystem, then subsystem wouldn't need to
be compiled.

However, that will never happen: subsystem-util depends on
subsystem::messages, so subsystem will always be compiled.

Therefore, it makes more sense to add it as a module in the existing
crate than as a new and distinct crate.

* make runtime request sender type generic

* candidate backing subsystem uses util for api requests

* add struct Validator representing the local validator

This struct can be constructed when the local node is a validator;
the constructor fails otherwise. It stores a bit of local data, and
provides some utility methods.

* add alternate constructor for better efficiency

* refactor candidate backing to use utility methods

* fix test breakage caused by reordering tests

* restore test which accidentally got deleted during merge

* start extracting jobs management into helper traits + structs

* use util::{JobHandle, Jobs} in CandidateBackingSubsystem

* implement generic job-manager subsystem impl

This means that the work of implementing a subsystem boils down
to implementing the job, and then writing an appropriate
type definition, i.e.

pub type CandidateBackingSubsystem<Spawner, Context> =
	util::JobManager<Spawner, Context, CandidateBackingJob>;

* add hash-extraction helper to messages

* fix errors caused by improper rebase

* doc improvement

* simplify conversion from overseer communication to job message

* document fn hash for all messages

* rename fn hash() -> fn relay_parent

* gracefully shut down running futures on Conclude

* ensure we're validating with the proper validator index

* rename: handle_unhashed_msg -> handle_orphan_msg

* impl Stream for Jobs<Spawner, Job>

This turns out to be relatively complicated and requires some
unsafe code, so we'll want either detailed review, or to choose
to revert this commit.

* add missing documentation for public items

* use pin-project to eliminate unsafe code from this codebase

* rename SenderMessage -> FromJob

* reenvision the subsystem requests as an extension trait

This works within `util.rs`, but fails in `core/backing/src/lib.rs`,
because we don't actually create the struct soon enough. Continuing
down this path would imply substantial rewriting.

* Revert "reenvision the subsystem requests as an extension trait"

This reverts commit a5639e36017a72656b478caddcaa30e2d4e6112a.

The fact is, the new API is more complicated to no real benefit.

* apply suggested futuresunordered join_all impl

* CandidateValidationMessage variants have no top-level relay parents

* rename handle_orphan_msg -> handle_unanchored_msg

* make most node-core-backing types private

Now the only public types exposed in that module are
CandidateBackingSubsystem and ToJob. While ideally we could reduce
the public interface to only the former type, that doesn't work
because ToJob appears in the public interface of CandidateBackingSubsystem.

This also involves changing the definition of CandidateBackingSubsystem;
it is no longer a typedef, but a struct wrapping the job manager.
2020-07-14 09:36:05 -04:00
Wei Tang ef4dfc612c Implement apply_state flag and allow fetching return data and used gas (#6590)
* pallet-evm: return Ok(()) when EVM execution fails

* Bump spec version

* Implement apply_state flag and allow fetching return data and used gas

* Update evm version
2020-07-14 14:58:30 +02:00
gabriel klawitter 537c829133 ci: add deployment of polkadot prometheus rules (#6646) 2020-07-14 17:51:11 +05:30
gabriel klawitter 2316da0523 ci: fix subdirectory upload to s3 (#1398) 2020-07-14 16:38:49 +05:30
Max Inden 59f5eb4c17 *: Enable authority discovery by default (#1395)
* *: Enable authority discovery by default

Instead of having to explicitly enable the authority discovery module on
validator and sentry nodes, this commit enables the module by default.

Today there is no way for non validator or sentry nodes to run the
module. That might change in the future.

* service/src/lib: Fix typo in new_full! for test
2020-07-13 18:19:48 -04:00
Gavin Wood 7a8673f057 Tweak poll end block (#1397) 2020-07-13 13:08:32 +02:00
Bastian Köcher 74655edebc Check that serde is present in sc-chain-spec-derive (#6636)
We should check that `serde` is present when using
`sc-chains-spec-derive`, because we require this for the generated
struct. This also switches the generated `derive` instruction to import
`Serialize`/`Deserialize` by path to not require the user to import
these derive macros.
2020-07-13 10:54:16 +02:00
Bastian Köcher 8ab23fafdc Make signature batching use specialized methods (#6616)
It was a mistake to use the `*_verify` methods for signature batching.
This pr move the signature batching into their own functions. This is
required, because otherwise transaction signature verification infers
with other signature verifications.

This pr also temporarily disables signature batching. The functionality
stays, but we need to make sure that all nodes have the new runtime
interface, before we can bring back signature batching.
2020-07-12 15:43:47 +02:00
Kian Paimani c03f1743c8 Remove duplicate comments (#6638) 2020-07-12 10:02:56 +02:00
Bastian Köcher 903cd4e801 Clarify some host interfaces (#6626) 2020-07-11 20:47:38 +02:00
Gavin Wood 97acfa76d1 Introduce polling pallet (#1391)
* Initial draft

* Initial build

* Integrate into runtime

* Fix warnings.

* Initial tests

* Fixes and tests

* Update runtime/polkadot/src/poll.rs

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

* Expose End constant

* Docs

* Update runtime/polkadot/src/lib.rs

Co-authored-by: kaichao <kaichaosuna@gmail.com>

* Update runtime/polkadot/src/poll.rs

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

* Clean up filters

* Warnings

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: kaichao <kaichaosuna@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2020-07-11 17:04:10 +02:00
Kian Paimani dea99ca669 Add FromStr for AccountId32 (#6621)
* Add FromStr for AccountId32

* Review grumbles
2020-07-10 21:46:10 +02:00
Pierre Krieger 4f883ee9f8 Remove warning about networking taking a lot of time (#6630)
* Remove warning about networking taking a lot of time

* Fix warnings
2020-07-10 20:39:36 +02:00
Alexander Theißen efc69d8219 seal: Prevent contracts from going below subsistence (#6623)
* seal: Do not allow transfers to bring total balance below subsistence deposit

This also reworks the rent system to take the total balance into account
when evaluating whether the account is above the subsistence deposit.

* Fix nits from review

* Fix typo

* Do not enforce subsistence when called from EOA

* Rename CallOrigin to TransactorKind

* Add debug asserts to check the invariants of a plain account transactor

* Fix typo

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

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2020-07-10 12:45:31 +00:00
Bastian Köcher 566281675b Revert log rotation (#1389)
* Revert log rotation

https://github.com/paritytech/substrate/pull/6627

* 'Update substrate'

Co-authored-by: parity-processbot <>
2020-07-10 13:24:17 +02:00
Bastian Köcher 64114267b2 Revert "Add log rotation (#6564)" (#6627)
This reverts commit 6eb2eb81c5.
2020-07-10 10:43:41 +00:00
Pierre Krieger 150ef0a40a Deduplicate some dependencies (#6628) 2020-07-10 09:28:10 +00:00
Aten 8097449462 change ss58 format for SubstraTEE from 44 to 13 and add ChainX (#6602) 2020-07-10 11:25:23 +02:00
Dan Forbes f39f404c22 Node template love (#6560)
* Node template love

Better description in node/Cargo.toml
Example dispatchables should have non-zero weights
Changes to README to bring in line with current DevHub Node Template

* Update README.md

cleaned up, reworked text, ready for round 2

* Add DbWeight

* Update README.md

* Consistent Playground buttons

* "setup" -> "set up"

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Import `Get` trait to fix build

Co-authored-by: Addie Wagenknecht <addie@nortd.com>
Co-authored-by: Ricardo Rius <ricardo@parity.io>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
2020-07-10 09:29:39 +02:00
Peter Goodspeed-Niklaus 3725bb6228 add more detail to provisioner block production section (#1370)
Per https://github.com/paritytech/polkadot/commit/f210456#r40392855
2020-07-10 08:36:38 +02:00
Joseph Mark 41afc0fcdf Add Process.toml (#1361)
* Add Process.toml

* Apply suggestions from code review

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2020-07-10 07:58:02 +02:00
Robert Habermeier 3b13cd9a85 Refactor primitives (#1383)
* create a v1 primitives module

* Improve guide on availability types

* punctuate

* new parachains runtime uses new primitives

* tests of new runtime now use new primitives

* add ErasureChunk to guide

* export erasure chunk from v1 primitives

* subsystem crate uses v1 primitives

* node-primitives uses new v1 primitives

* port overseer to new primitives

* new-proposer uses v1 primitives (no ParachainHost anymore)

* fix no-std compilation for primitives

* service-new uses v1 primitives

* network-bridge uses new primitives

* statement distribution uses v1 primitives

* PoV distribution uses v1 primitives; add PoV::hash fn

* move parachain to v0

* remove inclusion_inherent module and place into v1

* remove everything from primitives crate root

* remove some unused old types from v0 primitives

* point everything else at primitives::v0

* squanch some warns up

* add RuntimeDebug import to no-std as well

* port over statement-table and validation

* fix final errors in validation and node-primitives

* add dummy Ord impl to committed candidate receipt

* guide: update CandidateValidationMessage

* add primitive for validationoutputs

* expand CandidateValidationMessage further

* bikeshed

* add some impls to omitted-validation-data and available-data

* expand CandidateValidationMessage

* make erasure-coding generic over v1/v0

* update usages of erasure-coding

* implement commitments.hash()

* use Arc<Pov> for CandidateValidation

* improve new erasure-coding method names

* fix up candidate backing

* update docs a bit

* fix most tests and add short-circuiting to make_pov_available

* fix remainder of candidate backing tests

* squanching warns

* squanch it up

* some fallout

* overseer fallout

* free from polkadot-test-service hell
2020-07-09 21:23:03 -04:00
Andronik Ordian 6957847b6b Integrate all (dummy) subsystems with the Overseer (#1374)
* overseer: introduce a utility typemap

* it's ugly but it compiles

* move DummySubsystem to subsystem crate

* fix tests fallout

* use a struct for all subsystems

* more tests fallout

* add missing pov_distribution subsystem

* remove unused imports and bounds

* fix minimal-example
2020-07-09 16:25:40 -04:00
Fedor Sakharov c119627835 CandidateBackingSubsystem (#1312)
* Updates guide for CandidateBacking

* Move assignment types to primitives

* Initial implementation.

* More functionality

* use assert_matches

* Changes to report misbehaviors

* Some fixes after a review

* Remove a blank line

* Update guide and some types

* Adds run_job function

* Some comments and refactorings

* Fix review

* Remove warnings

* Use summary in kicking off validation

* Parallelize requests

* Validation provides local and global validation params

* Test issued validity tracking

* Nits from review
2020-07-09 16:23:58 -04:00
Amar Singh bf4e5d4d2c add ios to cfg gates in client/service (#6622)
* done

* sysinfo should not be not android

* add back sysinfo dep to satisfy web wasm ci
2020-07-09 21:01:49 +02:00
Bastian Köcher 54bace2b5d Companion for #6620 (#1386)
* Companiong for #6620

https://github.com/paritytech/substrate/pull/6620

* 'Update substrate'

Co-authored-by: parity-processbot <>
2020-07-09 15:24:00 +00:00
Ashley 1c5f9b09ba Companion PR for ' Simplify a few chain components creation APIs related to the service' (#1384)
* Switch branch

* Fix service creation

* Revert "Switch branch"

This reverts commit a706335821eb1553e48f86e0b0c5b3c11d589a1d.

* Switch branch again

* Revert "Switch branch again"

This reverts commit 04afc5095e408ff9a116c526ef84f6b101482ee1.

* Update substrate branch
2020-07-09 16:59:58 +02:00
Bastian Köcher 5bb834cc6f Make init_logging more easily usable (#6620)
Instead of requiring the `LogRotationOpt`, it now requires an
`Option<LogRotationOpt>`. This makes it much more easy to use the
interface when someone isn't interested on the `LogRotationOpt`'s
2020-07-09 14:47:57 +00:00
Robert Habermeier 8130d8210e Delay session changes' effects on parachains by 1 block (#1354)
* note that the initializer is responsible for buffering session changes

* amend initializer definition to include session change buffering

* support buffered changes before `on_initialize`

* implement and test session buffering

* Update roadmap/implementors-guide/src/runtime/README.md

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

* expand on how this affects misbehavior reports

* fix typo

Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
2020-07-09 09:43:26 -04:00
Ashley 234e7d0c3d Simplify a few chain components creation APIs related to the service (#6611)
* Simplify a few chain components creation APIs related to the service

* Fix basic-authorship doc tests

* Remove DefaultQueue

* Update client/service/src/builder.rs

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

* Move ExecutionExtensions comment around

* Remove unused BlakeTwo256

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2020-07-09 15:43:04 +02:00
Bastian Köcher e40bef8641 Update Substrate & Polkadot (#141) 2020-07-09 15:28:45 +02:00
Cecile Tonglet a4fa71ed17 Make a test crate to make the runtime-test usable (#1258)
Fixes #833
2020-07-09 15:12:52 +02:00
Alexander Theißen 25de5b5c78 seal: Rework contracts API (#6573)
* Transition getter functions to not use scratch buffer

* Remove scratch buffer from ext_get_storage

* Remove scratch buffer from ext_call

* Remove scratch buffer from ext_instantiate

* Add ext_input and remove scratch buffer

* Rework error handling (changes RPC exposed data)

* ext_return passes a flags field instead of a return code
	* Flags is only for seal and not for the caller
	* flags: u32 replaced status_code: u8 in RPC exposed type
* API functions use a unified error type (ReturnCode)
* ext_transfer now traps on error to be consistent with call and instantiate

* Remove the no longer used `Dispatched` event

* Updated inline documentation

* Prevent skipping of copying the output for getter API

* Return gas_consumed from the RPC contracts call interface

* Updated COMPLEXTITY.md

* Rename ext_gas_price to ext_weight_to_fee

* Align comments with spaces

* Removed no longer used `ExecError`

* Remove possible panic in `from_typed_value`

* Use a struct as associated data for SpecialTrap::Return

* Fix nits in COMPLEXITY.md

* Renamed SpecialTrap to TrapReason

* Fix test

* Finish renaming special_trap -> trap_reason

* Remove no longer used get_runtime_storage

* fixup! Remove no longer used get_runtime_storage

* Removed tabs for comment aligment
2020-07-09 13:07:02 +00:00
Cecile Tonglet a4427f3635 Clean exit when no space left on device (#6339)
Fixes #6305
2020-07-09 14:58:29 +02:00
Bastian Köcher fa0a3c1f42 Upgrade Polkadot & Substrate (#139)
* Upgrade Polkadot & Substrate

* Update test/parachain/src/command.rs

Co-authored-by: Cecile Tonglet <cecile@parity.io>

Co-authored-by: Cecile Tonglet <cecile@parity.io>
2020-07-09 14:33:00 +02:00
Pierre Krieger ef8572f10d Add an authority_discovery_known_authorities_count metric (#6614) 2020-07-09 12:32:55 +00:00
Bastian Köcher 389faaf5c8 Rename CheckEra to CheckMortality (#6619) 2020-07-09 12:28:05 +00:00
Pierre Krieger 8696788747 Remove AwaitCanceled (#1375) 2020-07-09 13:25:39 +02:00
Cecile Tonglet 7e37e79317 Improved send_transaction helper to return an error in case of error (#6592) 2020-07-09 12:10:34 +02:00