Skip to content
Unverified Commit 12b306d0 authored by Drew Stone's avatar Drew Stone Committed by GitHub
Browse files

Updates to rc6 (#22)



* Update stale docstring with 'EnsureOneOf' introduced. (#6501)

* Update stale docstring with 'EnsureOneOf' introduced.

* Apply review suggestions.

* Add auth-label-issues.yml (#6488)

* Remove /self from mandatory rpc reviews. (#6507)

* Change contract fees to MILLICENTS (#6509)

* 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.

* Releasing rc4 – Rhinoceros (#6515)

Co-authored-by: default avatarMartin Pugh <[email protected]>

* 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: default avatarBastian Köcher <[email protected]>

* 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.

* [CI] Fix warning in polkadot-companion-label action (#6514)

* Remove @cecton from CODEOWNERS (#6524)

* Initial commit

Forked at: 39706821


Parent branch: origin/master

* Remove @cecton from CODEOWNERS

* Impl From<UncheckedExtrinsic> for OpaqueExtrinsic (#6522)

* Implement Contains for pallet-membership (#6518)

* implement Contains for pallet-membership

* bump version

* 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

* Fix some broken benchmarks (#6528)

* Implement `()` for `Happened` (#6529)

* Allow `retract_tip` on `tip_new` (#6511)

* Allow `retract_tip` on `tip_new`

* initial migration code

* test migration

* make pub

* bump spec

* Update to libp2p v0.20.1 (#6465)

* Update to libp2p-0.20.0

* Update to `libp2p-0.20.1`.

Co-authored-by: default avatarPierre Krieger <[email protected]>

* Remove unecessary &mut in call argument (#6540)

* feat: Allocate ss58 address format to DataHighway (#6530)

* 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: default avatarNikolay Volf <[email protected]>

Co-authored-by: default avatarNikolay Volf <[email protected]>

* 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

* Block production integration benchmark (#6468)

* proposer benchmark

* update cargo.lock

* Make the `OnRuntimeUpgrade` docs more clear (#6542)

* Support synching of blocks that are not `new_best` (#6508)

* Start

* Remove debug println

* Add tests

* 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

* 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: default avatarDenis P <[email protected]>

* pallet-evm: customizable chain id (#6537)

* 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 081b175b

.

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

Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarGav Wood <[email protected]>

* 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: default avatarBernhard Schuster <[email protected]>

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

Co-authored-by: default avatarBernhard Schuster <[email protected]>

* Panic on overflow

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

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Use a Deque and push/pop expected requests

* fix test

Co-authored-by: default avatarBernhard Schuster <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* .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

* Fix auto-label-issues.yml (#6536)

statements in github actions cannot use ", must use '

Co-authored-by: default avatarGav Wood <[email protected]>

* [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: default avatarBenjamin Kampmann <[email protected]>

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
Co-authored-by: default avatarGav Wood <[email protected]>

* 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

* 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: default avatarBastian Köcher <[email protected]>

* Fix spaces in export_raw_state

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Drop the tokio runtime before the task_manager (#6548)

* Initial commit

Forked at: 4919c808


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.

* 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: default avatarCecile Tonglet <[email protected]>

* 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: default avatarGavin Wood <[email protected]>

* expose migration method

* add notes

* bump version

* remove on_runtime_upgrade

* fix test

Co-authored-by: default avatarGavin Wood <[email protected]>

* 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: default avatarSergei Shulepov <[email protected]>

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

Co-authored-by: default avatarSergei Shulepov <[email protected]>

* client/network: Remove unused Result returned by NetworkWorker (#6552)

* New testing helpers (#6555)

* Initial commit

Forked at: 8ef1ac0e
Parent branch: origin/master

* Add send_transaction to RpcHandlers

* Extension trait for RpcHandlers

* Revert "Add send_transaction to RpcHandlers"

This reverts commit 03c89e13

.

* Add an extension trait for BlockchainEvents

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

Co-authored-by: default avatarBastian Köcher <[email protected]>

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

* fix

* deps fix

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Remove polkadot companion detection from branch name  (#6565)

* Initial commit

Forked at: facc6741


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.

* primitives: use generic Header in testing runtime (#6561)

* primitives: use generic Header in testing runtime

* frame: remove unused imports

* Remove warning

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Remove polkadot companion detection from branch name  (#6568)

* Initial commit

Forked at: 7e3cf944


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.

* Make the encoded-Call Vec<u8> explicitly so in metadata (#6566)

* ci: fix merge on polkadot companion job (#6574)

* 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: default avatarGav Wood <[email protected]>

* 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

* 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: default avatararkpar <[email protected]>

* Don't require module name in inherents (#6576)

* Start

* Cleanup `construct_runtime!`

* Add tests

* Fix after merge

* Update the docs

* Derive `RuntimeDebug` for `Runtime` (#6581)

* Fix UI tests (#6589)

* Use async/await in build_network_future (#6533)

* Use async/await in build_network_future

* Address concerns

* Fix test

* decl_module! macro: use 'frame_system' instead of `system` as default ident (#6500)

* Use frame_system as default ident.

* Remove unused 'frame_system' to 'system' renaming.

* Fix construct_runtime_ui tests.

* Rename system to frame_system in sudo/utility pallet test.

* Bump runtime impl_version.

* Update formatting.

* Upgrade `kvdb-*`, `trie-db` and `memory-db` (#6584)

* Upgrade `kvdb-*`, `trie-db` and `memory-db`

The updates of `trie-db` and `memory-db` are important, as they fix the
non-deterministic build of Polkadot/Substrate.

* Change `trie-db` version

* Update test-utils/runtime/Cargo.toml

Co-authored-by: default avatarAndronik Ordian <[email protected]>

* Update primitives/trie/Cargo.toml

Co-authored-by: default avatarAndronik Ordian <[email protected]>

* Update `Cargo.lock` and `trie-bench`

* Fix UI tests

* Switch to fixed version of memory-db

Co-authored-by: default avatarAndronik Ordian <[email protected]>

* client/network: Rename DebugInfoBehaviour to PeerInfoBehaviour (#6556)

Information retrieved via `DebugInfoBehaviour` is not only used for
debugging purposes, e.g. disconnecting from nodes not responding to
pings, using external addresses retrieved via indentify, ...

In order for the name to reflect the usage of the module this commit
renames it.

* Add log rotation (#6564)

* Use flexi_logger; Add log rotation

* Add default rotation; Add FlexiLogger error

* Fix compilation error

* Remove logging to stdout if it's not a tty

* Fix formatting

Co-authored-by: default avatarKian Paimani <[email protected]>

* Remove needless debug statement

* Default to unlimited size for log rotation

* Add more comments about log-age option

* Remove unused variable

* Fix typo in comment

Co-authored-by: default avatarKian Paimani <[email protected]>

* Send Status message on all newly-opened legacy substreams (#6593)

* Send Status message on all newly-opened legacy substreams

* Fix tests

* *: Update to libp2p v0.21.1 (#6559)

* *Cargo.toml: Update versions

* client/network/src/discovery: Adjust to Kademlia  API changes

* client/network: Adjust to one_shot.rs changes

* client/network/discovery: Log address list on trace level

* client/network/discovery: Ignore RoutablePeer and PendingRoutablePeer

* Commit Cargo.lock

* Finish update

Co-authored-by: default avatarPierre Krieger <[email protected]>

* Improve transaction submission (#6599)

* Improve transaction submission

Before this pr the transaction pool validated each transaction, even if
the transaction was already known to the pool. This pr changes the
behavior to first check if we are already aware of a transaction and
thus, to only validate them if we don't know them yet. However, there is
still the possibility that a given transaction is validated multiple
times. This can happen if the transaction is added the first time, but
is not yet validated and added to the validated pool.

Besides that, this pr fixes the wrong metrics of gossiped transactions
in the network. It also moves some metrics to the transaction pool api,
to better track when a transaction actually is scheduled for validation.

* Make sure we don't submit the same transaction twice from the network concurrently

* Remove added listener call

* Feedback

* Ignore banned on resubmit

* Add `WeightInfo` to all pallets with benchmarks. (#6575)

* Start adding weight info

* More weightinfo

* finish weight info

* more fixes

* inital update of node runtime

* fix the rest of the compilation

* update balances

* add docs

* fix balances tests

* Fix more tests

* Fix compile

* Fix pallet-evm tests

* Fix build when with-kvdb-rocksdb is disabled. (#6546)

* Make evm errors public (#6598)

* Improved send_transaction helper to return an error in case of error  (#6592)

* Rename `CheckEra` to `CheckMortality` (#6619)

* Add an authority_discovery_known_authorities_count metric (#6614)

* Clean exit when no space left on device (#6339)

Fixes #6305

* 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

* 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: default avatarAndré Silva <[email protected]>

* Move ExecutionExtensions comment around

* Remove unused BlakeTwo256

Co-authored-by: default avatarAndré Silva <[email protected]>

* 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

* 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

* 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: default avatarjoe petrowski <[email protected]>

* Import `Get` trait to fix build

Co-authored-by: default avatarAddie Wagenknecht <[email protected]>
Co-authored-by: default avatarRicardo Rius <[email protected]>
Co-authored-by: default avatarjoe petrowski <[email protected]>

* change ss58 format for SubstraTEE from 44 to 13 and add ChainX (#6602)

* Deduplicate some dependencies (#6628)

* Revert "Add log rotation (#6564)" (#6627)

This reverts commit 802a0d0b

.

* 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: default avatarSergei Shulepov <[email protected]>

Co-authored-by: default avatarSergei Shulepov <[email protected]>

* Remove warning about networking taking a lot of time (#6630)

* Remove warning about networking taking a lot of time

* Fix warnings

* Add FromStr for AccountId32 (#6621)

* Add FromStr for AccountId32

* Review grumbles

* Clarify some host interfaces (#6626)

* Remove duplicate comments (#6638)

* 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.

* 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.

* ci: add deployment of polkadot prometheus rules (#6646)

* 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

* Remove legacy Clogged event (#6652)

* Fix two minor warnings (#6650)

* Unused import in no_std builds
* Global attribute in non-root of a crate

* 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

* 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: default avatarMax Inden <[email protected]>

* [WIP]

* Revert "[WIP]"

This reverts commit 2b892e6a

.

* Update client/network/src/protocol.rs

Co-authored-by: default avatarMax Inden <[email protected]>

* Fix received message not being handshake

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

Co-authored-by: default avatarMax Inden <[email protected]>

Co-authored-by: default avatarMax Inden <[email protected]>

* [CI] Fix check_polkadot_companion_status.sh (#6631)

* check changes_requested and approved separately

* handle checking more than 1 CHANGES_REQUESTED review

* 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

* 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: default avatarKian Paimani <[email protected]>

* Update lib.rs

Co-authored-by: default avatarKian Paimani <[email protected]>

* Remove polkadot companion detection from url anywhere  (#6570)

* The telemetry should not be initialized if no telemetry has been provided (#6666)

* Initial commit

Forked at: 4da29261


Parent branch: origin/master

* Fix: do not initialize telemetry if telemetry is not set

* Update client/telemetry/src/lib.rs

Co-authored-by: default avatarPierre Krieger <[email protected]>

* Update client/telemetry/src/lib.rs

* Update client/telemetry/src/lib.rs

Co-authored-by: default avatarAndré Silva <[email protected]>

Co-authored-by: default avatarPierre Krieger <[email protected]>
Co-authored-by: default avatarAndré Silva <[email protected]>

* fix comment (#6670)

* Regression test to ensure we don't break deterministic builds in wasm (#6597)

* Regression test to ensure we don't break deterministic builds in wasm again

* Apply suggestions from code review

Co-authored-by: default avatars3krit <[email protected]>

* Update .gitlab-ci.yml

Co-authored-by: default avatars3krit <[email protected]>

Co-authored-by: default avatars3krit <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update substrate-networking Grafana dashboard (#6649)

* client/service/metrics: Rework metric HELP texts (#6647)

* .maintain/monitoring/alerting-rules: Remove HighCPUUsage alert (#6648)

The `HighCPUUsage` alert is based on the `cpu_usage_percentage` metric.
Instead of exposing the overall CPU usage in percent, the metric exposes
the per core usage summed over all cores.

This commit removes the alert for two reasons:

1. Substrate itself does not expose the core count and thus one can not
alert based on the `cpu_usage_percentage` metric.

2. Alerting based on CPU usage is generic and not specific to Substrate
or Blockchains. Thus any CPU usage alert suffice.

* identity: Don't let subs be re-registered (#6667)

* Fixes and tests

* Don't set subs be re-registered.

Also allow subs to de-register themselves and collect the deposit.

Also allow individual registering and removal of subs.

* Make it build

* Update frame/identity/src/lib.rs

Co-authored-by: default avatarjoe petrowski <[email protected]>

* Tests

* Add benchmarks

* Add some reasonable weights

* Docs

Co-authored-by: default avatarjoe petrowski <[email protected]>

* Treasury burning can be directed (#6671)

* Treasury burning can be directed

Also, Society is a imbalance handler

* Build

* Introduce from_permill in perthings.

* Rename to from_perthousand to avoid confusion with Permill

* Fixes

* Switch to bounded mpsc for txpool import notification stream (#6640)

* Switch to bounded mpsc for txpool import notification stream

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

Co-authored-by: default avatarNikolay Volf <[email protected]>

Co-authored-by: default avatarNikolay Volf <[email protected]>

* grandpa: report equivocations with unsigned extrinsics (#6656)

* grandpa: use unsigned extrinsics for equivocation reporting

* grandpa: allow signed reports as well

* grandpa: change runtime api for submitting unsigned extrinsics

* grandpa: fix tests

* grandpa: add test for unsigned validation

* grandpa: add benchmark for equivocation proof checking

* offences: fix grandpa benchmark

* grandpa: add proper weight for equivocation reporting extrinsic

* grandpa: fix weight unit

* Transaction pool integrated benchmarks (#6579)

* txpool benchmarks

* updated api

* Update bin/node/bench/src/txpool.rs

Co-authored-by: default avatarKian Paimani <[email protected]>

Co-authored-by: default avatarKian Paimani <[email protected]>

* Change unknown-commit to unknown to make parsing easier (#6675)

* done (#6673)

* Fix tx-payment integrity-test (#6633)

* Fix tx-payment integrity-test

* Better error message.

* Apply suggestions from code review

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* Fix line width

* Apply suggestions from code review

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Fix grumble

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarAlexander Popiak <[email protected]>

* fix check polkadot companion status check (#6688)

* Fix compilation problems due to ed25519-dalek 1.0.0-pre.4 (#6676)

* Fix compilation problems due to ed25519-dalek 1.0.0-pre.4

* Update libp2p-core

* Revert rand downgrade

* More app-friendly event description (#6684)

* More app-friendly event description

* change origin -> owner

* checked all decl_event! and changed decriptions.

* annotated parameter names for remaining events

* Update libp2p to 0.22. (#6690)

* Update libp2p to 0.22.

Primarily to begin the libp2p-noise upgrade process.

See https://github.com/libp2p/rust-libp2p/issues/1631.

* CI

* Add try_mutate_exists to StorageDoubleMap. (#6694)

* add ecdsa benches (#6697)

* Fixup `cargo unleash` (#6689)

* Bumping to rc5

* Revert "Bumping to rc5"

This reverts commit 3c6767db

.

* Bumping for rc5, correctly this time

* Add sync_legacy_requests_received metric (#6698)

* Improve overall performance (#6699)

* Improve overall performance

* Clean up code

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Remove needless ::

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Remove needless ::

Co-authored-by: default avatarKian Paimani <[email protected]>

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarKian Paimani <[email protected]>

* Remove dead link to out-of-date style guide (#6682)

* Remove dead link to out-of-date style guide

* Replace dead link with self-hosted doc

* Use relative link to style guide

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>

* Format style guide

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>

* Formatting

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>

* "cargo test" jobs optimization (#6606)

* change (ci): 3 jobs in 1 decreases concurrency and is more effectiv; w/o release it's ~20% faster, but needs testing on prod; wasmtest tests are already running within cargo test --workspace

* fix (test): these ones were failing on nightly

* save: cargo profiles [skip ci]

* change (ci): one test to run them all

* change (ci): rebase

* Revert "change (ci): rebase"

This reverts commit 8a6b7ea0

.

* fix (config): fix manifest

* change (ci): bench release

* Properly filter out duplicate voters in elections. (#6693)

* Prevent duplicate voter

* Update primitives/npos-elections/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarBastian Köcher <[email protected]>

* pallet-swap-action: Change `BalanceSwapAction` signature (#6580)

Instead of requiring `T: Trait` in `BalanceSwapAction`, we directly
depend on `AccountId`. This fixes a compilation error on wasm, where
`Runtime` does not implement `Debug`, but `BalanceSwapAction` required it.

* make impl_outer_origin default to use frame_system (#6695)

* Removing staging resources from node template README (#6701)

* Graceful shutdown for the task manager (#6654)

* Initial commit

Forked at: 60e3a693


Parent branch: origin/master

* Move task_manager.rs to mod.rs

* Graceful shutdown for the task manager

* Await all background task JoinHandle at the same time

* Add tests

* Make future() wait also for exit signal + fix essential task failed

Probably related to https://github.com/paritytech/cumulus/issues/111

* add comments for non-obvious code

* Use clean_shutdown() in sc-cli

* Adapt code and upgrade tokio in sc-cli

* cleanup spacing in doc

* Add license

* I guess actually running the clean shutdown would be a good idea

* fix tests

* Update client/cli/src/runner.rs

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>

* Improve error logging

* disable other tests (can't reproduce on my machine)

* Revert "disable other tests (can't reproduce on my machine)"

This reverts commit c133c590.

* It is possible that the tasks are ended first

* Revert "It is possible that the tasks are ended first"

This reverts commit 502aba4a.

* Use single threaded scheduler for more predictability

* enable_time

* Revert "enable_time"

This reverts commit 4e152140.

* Revert "Use single threaded scheduler for more predictability"

This reverts commit ee5e13c5.

* Revert "Revert "It is possible that the tasks are ended first""

This reverts commit 1b91a8ca

.

* This cannot be verified either with a threaded pool

* Apply suggestions from code review

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Reset flaming fir network (#6703)

* Tracing values (#6679)

* Switch to serde_json::Value for Visitor values

* add tests

* switch Visitor to use Map

* refactor change names

* \n

* update integration test

* use discrete maps for each type of recorded value

* update integration test

* add docs

* Update client/tracing/src/lib.rs

Co-authored-by: default avatarKian Paimani <[email protected]>

* add docs

Co-authored-by: default avatarMatt Rutherford <[email protected]>
Co-authored-by: default avatarKian Paimani <[email protected]>

* Update to latest sysinfo prevents leaking fd-handlers (#6708)

* Ensure we close old file handles hold by sysinfo

* Dropping is needed unfortunately

* enable process refreshing, ignore result from refresh_process

* jumping to proposed patch

* switch to latest sysinfo

* Update wasmtime to (almost) lastest master (#6662)

* update wasmtime to (almost) lastest master

* bump lock

* bump once more

* Remove the service builder (#6557)

* :)

* Slight tidy

* Remove ServiceBuilderCommand

* Remove whitespace

* Keep task manager alive for check_block/import_blocks

* Pass task_manager to run_until_exit

* WIP

* WIP

* Get rid of the macros

* 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: default avatarAndré Silva <[email protected]>

* Move ExecutionExtensions comment around

* Remove unused BlakeTwo256

* Add sc-prelude

* Rename sc-prelude to sc-service-prelude

* Rename to sc-service-types

* Improve service types

* Fix line widths

* Remove sc-service-types and move type definitions to crates

* Update bin/node-template/node/src/service.rs

Co-authored-by: default avatarSeun Lanlege <[email protected]>

* Add TLightClientWithHash

* Rework types

Co-authored-by: default avatarAndré Silva <[email protected]>
Co-authored-by: default avatarSeun Lanlege <[email protected]>

* Better handling of stable-only build (#6569)

* Better handling of stable-only build

* Fix node template build

* Fix wasm builder node-template version mismatch

* Fix load_spec error

* Add , in parameter

* Add descrptive panic messages in tests

* Add descriptive tests in node/executor benches

* Fix missing compact_code_unwrap

* Add missing wasm_binary_unwrap function for executor integration test

* Only define import_sp_io in no_std

* Small Cargo.toml styling fix

* Bump wasm-builder to 2.0.0

* Fix all `with_wasm_builder_from_crates` version in Substrate

* Use `with_wasm_builder_from_crates` for node-template

Co-authored-by: default avatarGavin Wood <[email protected]>

* Remove clear_on_drop from browser util crate (#6710)

* Add 4 as address type of ss58 for Katal Chain (#6713)

* [CI]Chaostest suite initiation (#5793)

* Initiate chaostest cli test suite: singlenodeheight on one dev node
    Added chaostest stages in CI
    Added new docker/k8s resources and environments to CI
    Added new chaos-only tag to gitlab-ci.yml

* Update .maintain/chaostest/src/commands/singlenodeheight/index.js

Co-authored-by: default avatarMax Inden <[email protected]>

* change nameSpace to namespace(one word)

* update chaos ci job to match template

* rename build-pr ci stage to docker [chaos:basic]

* test gitlab-ci [chaos:basic]

* Update .gitlab-ci.yml

* add new build-chaos-only condition

* add *default-vars to singlenodeheight [chaos:basic]

* change build-only to build-rules on substrate jobs [chaos:basic]

* test and change when:on_success to when:always [chaos:basic]

* resolve conflicts and test [chaos:basic]

Co-authored-by: default avatarMax Inden <[email protected]>
Co-authored-by: default avatarDenis Pisarev <[email protected]>

* Support using system storage directly for EVM balance and nonce (#6659)

* Augmented node template docs (#6721)

* Switching from git back to released versions for wasmtime, fix cargo-unleash (#6722)

* Switching from git back to released versions for wasmtime

* filter out cratelift_codegen messages-a

Co-authored-by: default avatarNikVolf <[email protected]>

* adding changelog (#6728)

* fixing CI

* remove breaking excepts

* grandpa: allow noting that the set has stalled (#6725)

* grandpa: remove unused methods to convert digest

* grandpa: add root extrinsic for scheduling forced change

* grandpa: add benchmark for schedule_forced_change

* grandpa: don't take authority weight in schedule_forced_change

* grandpa: add const for default forced change delay

* grandpa: adjust weights after benchmark on ref hardware

* grandpa: fix cleanup of forced changes on standard change application

* grandpa: replace schedule_forced_change with note_stalled

* grandpa: always trigger a session change when the set is stalled

* grandpa: fix bug on set id mutation after failed scheduled change

* grandpa: take delay as parameter in note_stalled

* grandpa: fix tests

* grandpa: fix cleanup of forced changes

* grandpa: add test for forced changes cleanup

* grandpa: add test for session rotation set id

* grandpa: add test for scheduling of forced changes on new session

* Name all the tasks! (#6726)

* Remove any implementation of `Spawn` or `Executor` from our task executors

* Fix compilation

* Rename `SpawnBlockingExecutor`

* Update primitives/core/src/traits.rs

Co-authored-by: default avatarKian Paimani <[email protected]>

* Fix tests

Co-authored-by: default avatarKian Paimani <[email protected]>

* Add the Substrate Service Tasks dashboard (#6665)

* 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

* Remove Unpin requirement for Slots (#6711)

* 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 ()

* prometheus: don't use protobuf feature (#6744)

* Use node_template_runtime::opaque::Block instead of node_template_runtime::Block (#6737)

* 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: default avatarNikolay Volf <[email protected]>

* Remove unused imports in node-bench

Co-authored-by: default avatarNikolay Volf <[email protected]>

* 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

* Replace Process.toml with json (#6740)

* Replace Process.toml with json

* Trigger checks

* Revert "Trigger checks"

This reverts commit 9bdf9f13.

* Trigger checks

* Revert "Trigger checks"

This reverts commit b0c6f29d.

* 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

* 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

* client/network: Adjust wording (#6755)

Rename `NetworkWorker::from_worker` to `NetworkWorker::from_service` as
it is a channel from the `NetworkService` to the `NetworkWorker`.

* 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: default avatarRoman Borschel <[email protected]>

* state_transition_waker -> close_waker

* Apply suggestions from code review

Co-authored-by: default avatarRoman Borschel <[email protected]>

* Finish renames in service.rs

* More renames

* More review suggestsions applied

* More review addressing

* Final change

* 512 -> 2048

Co-authored-by: default avatarRoman Borschel <[email protected]>

* Cleanup our sort usage (#6754)

* Allow `PostDispatchInfo` to disable fees (#6749)

* initial mock

* add test

* remove unneeded clone

* Update frame/support/src/weights.rs

Co-authored-by: default avatarAlexander Theißen <[email protected]>

* fix compile

* Update frame/support/src/weights.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Update frame/sudo/src/lib.rs

Co-authored-by: default avatarAndré Silva <[email protected]>

* Apply suggestions from code review

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarAlexander Theißen <[email protected]>
Co-authored-by: default avatarAlexander Popiak <[email protected]>
Co-authored-by: default avatarAndré Silva <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* benchmarks! macro: factorize instance usage. (#6750)

* factorize benchmark!

* fix types

* fix types

* 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: default avatarPierre Krieger <[email protected]>

* 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: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarBastian Köcher <[email protected]>

* 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: default avatarBastian Köcher <[email protected]>

* 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

* Ignore flaky test (#6767)

* Add "

 Successfully mined block" log message (#6764)

* 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

* Rename task name to stick to the default naming scheme (#6768)

* 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

* 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: default avatarAlexander Theißen <[email protected]>

* 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: default avatarAlexander Popiak <[email protected]>

Co-authored-by: default avatarAlexander Theißen <[email protected]>
Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Fix graceful shutdown skipped if future ends with error (#6769)

* Initial commit

Forked at: 5c34fe49


Parent branch: origin/master

* Fix graceful shutdown skipped if future ends with error

* apply suggestion

* Fix link (#6775)

* Allow blacklisting blocks from being finalized again after block revert (#6301)

* Allow blacklisting blocks from being finalized again after block revert

* Use BlockRules for storing unfinalized and add have_state_at in revert

* Move finalization_check in finalize_block upward

* Directly mark finalization blacklist as badblocks

* Remove obselete comment

* Order delta before calculating the storage root (#6780)

We need to order the delta before calculating the storage root, because
the order is important if the storage root is calculated using a storage
proof. The problem is arises when the delta is different than at the
time the storage root was recorded, because we may require a different
node that is not part of the proof and so, the storage root can not be
calculated. The problem is solved by always order the delta to use the
same order when calculating the storage root while recording the
stroage proof and when calculating the storage root using
the storage proof.

To prevent this bug in future again, a regression test is added.

Fixes: https://github.com/paritytech/cumulus/issues/146

* Don't close inbound notifications substreams immediately (#6781)

* Don't close inbound notifications substreams immediately

* Fix not closing in return to node A closing

* client/network: Expose DHT query duration to Prometheus (#6784)

Expose duration of DHT put and get request as a Prometheus histogram.

* Fix transaction payment runtime api (#6792)

The transaction payment runtime api used its own extrinsic generic
parameter. This is wrong, because this resulted in using always the
native extrinsic. If there was a runtime upgrade that changed the
extrinsic in some way, it would result in the api breaking. The correct
way is to use the `Extrinsic` from the `Block` parameter. This is on the
node side the opaque extrinsic and on the runtime side the real extrinsic.

* Bump elliptic from 6.5.2 to 6.5.3 in /.maintain/chaostest (#6791)

Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: default avatardependabot[bot] <[email protected]>

Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* client/network: Fix wrong metric help text (#6794)

The `sub_libp2p_kademlia_query_duration` metric only has the dimension
`type` not `protocol`.

* seal: Fix and improve error reporting (#6773)

* seal: Rework ext_transfer, ext_instantiate, ext_call error handling

* Deny calling plain accounts (must use transfer now)
* Return proper module error rather than ad-hoc strings
* Return the correct error codes from call,instantiate (documentation was wrong)
* Make ext_transfer fallible again to make it consistent with ext_call

* seal: Improve error messages on memory access failures

* seal: Convert contract trapped to module error

* seal: Add additional tests for transfer, call, instantiate

These tests verify that those functions return the error types
which are declared in its docs.

* Make it more pronounced that to_execution_result handles trap_reason

* Improve ReturnCode docs

* Fix whitespace issues in wat files

* Improve ReturnCode doc

* Improve ErrorOrigin doc and variant naming

* Improve docs on ExecResult and ExecError

* Encode u32 sentinel value as hex

* with_nested_context no longer accepts an Option for trie

* Fix successful typo

* Rename InvalidContractCalled to NotCallable

* Improve Benchmark Writer: Remove Unused Components, Remove Multiply by Zero, Files Split by Pallet (#6785)

* initial improvements

* better file management, ignore unused components

* Output warning when components unused

* update comment

* Write even when base weight is zero

* remove unwrap where possible

* Dont sort components to dedup

* undo delete

* improve clarity of unused components

* remove unused dep

* Update Process.json

* Add integrity test for slash defer duration (#6782)

* Add integrity test for slash defer duration

* Wrap in externalities

* Update frame/staking/src/lib.rs

* Convert spaces to tabs (#6799)

* Add details to legacy requests (#6747)

* Add ss58 address for Subsocial (#6800)

* Add mutate_exists to StorageDoubleMap. (#6704)

* pallet-democracy use of weightinfo (#6783)

* democracy use of weightinfo

* fix some doc and benchs

* todo generate from parity machine

* factorize and add license

* use final weights

* add slightly more sensible default weight

* refactor

* rename benchmark to avoid confusion

* just make remove_other_vote benchmark being the worst case of the extrinsic

* Use DNS hostnames for flaming fir bootnodes (#6807)

* Use dns hostnames for flaming fir bootnodes

* Remove newline

* Fix warning being printed by authority-discovery (#6820)

* Better default balances weights (#6813)

* Remove generation of instance trait by decl_storage. (#6812)

* remove generation of instance trait, no breaking change

* doc

* doc

* Update frame/support/src/traits.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update frame/support/procedural/src/storage/instance_trait.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Successful `note_imminent_preimage` is free (#6793)

* Successful `note_imminent_preimage` is free

* update docs

* Add test for duplicate preimage

* service: remove collection of system/process metrics (#6822)

* Fix legacy substream fallback not working (#6826)

* Fix legacy substream fallback not working

* Make it nicer

* grandpa: never overwrite current rounds voter state (#6823)

* grandpa: never overwrite current rounds voter state

* grandpa: add test for voter state overwrite

* Add RPC Builder to Substrate Node Template (#6808)

* Pulled RPC from node and populated the node-template's RPC builder with one example implementation

* surpress build errror

* dead_code

* Fixed module usage, removed copyright, removed rpc builder for light client + some comments

* added a comment for rpc extension

* Update bin/node-template/node/src/rpc.rs

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* Update rpc.rs

* fix spacing

* more space to tabs

* more space to tabs

* Documenation nitpick

* Documentation nitpick

* Documentation nitpick

* Documentation nitpick

* Documentation nitpick

* pre-format

* Updated transaction payment API implemented for node template

* fix space and commented code

* fix long line

Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarDan Forbes <[email protected]>

* Delay network startup to after complete initialization (#6833)

* Delay network startup to after complete initialization

* Update client/service/src/builder.rs

Co-authored-by: default avatarAshley <[email protected]>

Co-authored-by: default avatarAshley <[email protected]>

* De-alias frame_system in node template runtime (#6829)

* de-alias frame_system in node template

* Fix line length

* Fix chainspec

* Allow task manager to have children (#6771)

* Initial commit

Forked at: 19c1d902
Parent branch: origin/master

* WIP

Forked at: 19c1d902
Parent branch: origin/master

* WIP

Forked at: 19c1d902
Parent branch: origin/master

* WIP

Forked at: 19c1d902
Parent branch: origin/master

* WIP

Forked at: 19c1d902
Parent branch: origin/master

* WIP

Forked at: 19c1d902
Parent branch: origin/master

* WIP

Forked at: 19c1d902
Parent branch: origin/master

* changelog

* Remove Box

* Make future nicer

* Revert "Make future nicer"

This reverts commit 49fb8fb6

.

* Simplify

* Additional check

* Simplify more

Co-authored-by: default avatarBastian Köcher <[email protected]>

* De-alias pallets in node template runtime (#6836)

* dealias pallets

* Restore accidentally deleted code blocks

* grandpa: fix enacting forced changes with no delay (#6828)

* grandpa: fix enacting forced changes with no delay

* grandpa: fix formatting

* Renamed add_children to add_child since it adds only one child (#6838)

* Revalidate transactions only on latest best block (#6824)

* Revalidate transactions only on latest best block

We should revalidate transactions only on the latest best block and not
on any arbitrary block. The revalidation before failed when there were
multiple blocks on the height given to the revalidation function, but no
block was imported as best block.

* Update test-utils/runtime/transaction-pool/src/lib.rs

Co-authored-by: default avatarJaco Greeff <[email protected]>

* Fix tests

* Only process best blocks in the transaction pool

Co-authored-by: default avatarJaco Greeff <[email protected]>

* Fix `wait_for_blocks` counting blocks that didn't go through consensus (#6850)

* Initial commit

Forked at: 74804b56
Parent branch: origin/master

* WIP

Forked at: 74804b56


Parent branch: origin/master

* pallet-evm: move gas price check to execute_evm (#6837)

* Update pinned wasm-bindgen dependency (#6861)

* Update dependency.

* Update readme docs

* update python webserver command

* Add Subscription RPC for Grandpa Finality (#5732)

* Rough skeleton for what I think the RPC should look like

* Create channel for sending justifications

Sends finalized header and justification from Grandpa to the
client. This lays the groundwork for hooking into the RPC module.

* WIP: Add subscribers for justifications to Grandpa

Adds the Sender end of a channel into Grandpa, through which notifications
about block finality events can be sent.

* WIP: Add a struct for managing subscriptions

Slightly different approach from the last commit, but same
basic idea. Still a rough sketch, very much doesn't compile yet.

* Make naming more clear and lock data in Arc

* Rough idea of what RPC would look like

* Remove code from previous approach

* Missed some things

* Update client/rpc-api/src/chain/mod.rs

Co-Authored-By: default avatarTomasz Drwięga <[email protected]>

* Update client/rpc-api/src/chain/mod.rs

Co-Authored-By: default avatarTomasz Drwięga <[email protected]>

* Split justification subscription into sender and receiver halves

* Replace RwLock with a Mutex

* Add sample usage from the Service's point of view

* Remove code that referred to "chain_" RPC

* Use the Justification sender/receivers from Grandpa LinkHalf

* Add some PubSub boilerplate

* Add guiding comments

* TMP: comment out to fix compilation

* Return MetaIoHandler from PubSubHandler in create_full

* Uncomment pubsub methods in rpc handler (fails to build)

* node/rpc: make Metadata concrete in create_full to fix compilation

* node: pass in SubscriptionManger to grandpa rpc handler

* grandpa-rpc: use SubscriptionManger to add subscriber

* grandpa-rpc: attempt at setting up the justification stream (fails to build)

* grandpa-rpc: fix compilation of connecting stream to sink

* grandpa-rpc: implement unsubscribe

* grandpa-rpc: update older tests

* grandpa-rpc: add full prefix to avoid confusing rust-analyzer

* grandpa-rpc: add test for pubsub not available

* grandpa-rpc: tidy up leftover code

* grandpa-rpc: add test for sub and unsub of justifications

* grandpa-rpc: minor stylistic changes

* grandpa-rpc: split unit test

* grandpa-rpc: minor stylistic changes in test

* grandpa-rpc: skip returning future when cancelling

* grandpa-rpc: reuse testing executor from sc-rpc

* grandpa-rpc: don't need to use PubSubHandler in tests

* node-rpc: use MetaIoHandler rather than PubSubHandler

* grandpa: log if getting header failed

* grandpa: move justification channel creation into factory function

* grandpa: make the justification sender optional

* grandpa: fix compilation warnings

* grandpa: move justification notification types to new file

* grandpa-rpc: move JustificationNotification to grandpa-rpc

* grandpa-rpc: move JustificationNotification to its own file

* grandpa: rename justification channel pairs

* grandpa: rename notifier types

* grandpa: pass justification as GrandpaJustification to the rpc module

* Move Metadata to sc-rpc-api

* grandpa-rpc: remove unsed error code

* grandpa: fix bug for checking if channel is closed before sendind

* grandpa-rpc: unit test for sending justifications

* grandpa-rpc: update comments for the pubsub test

* grandpa-rpc: update pubsub tests with more steps

* grandpa-rpc: fix pubsub test

* grandpa-rpc: minor indendation

* grandpa-rpc: decode instead of encode in test

* grandpa: fix review comments

* grandpa: remove unused serde dependency

Co-authored-by: default avatarTomasz Drwięga <[email protected]>
Co-authored-by: default avatarJon Häggblad <[email protected]>
Co-authored-by: default avatarTomasz Drwięga <[email protected]>

* Remove minimum_validator_count stale const (#6864)

* seal: Change prefix and module name from "ext_" to "seal_" for contract callable functions (#6798)

* seal: Change prefix "ext_" to "seal_" for contract callable functions

The word Ext is a overloaded term in the context of substrate. It usually
is a trait which abstracts away access to external resources usually in order
to mock them away for the purpose of tests. The contract module has its own
`Ext` trait in addition the the substrate `Ext` which makes things even more
confusing.

In order to differentiate the contract callable functions more clearly from
this `Ext` concept we rename them to use the "seal_" prefix instead.

This should change no behaviour at all. This is a pure renaming commit.

* seal: Rename import module from "env" to "seal0"

* seal: Fixup integration test

* seal: Add more tests for new import module names

* grandpa: log errors and grandpa unexpected conclusion (#6867)

* Custom Codec Implenetation for NPoS Election (#6720)

* Fancy compact encode/decode impl for compact solution

* Make it optional

* Remove extra file

* Update primitives/npos-elections/compact/src/lib.rs

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* Final fixes.

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* state_getSize RPC for storage maps (#6847)

* Fancy compact encode/decode impl for compact solution

* Make it optional

* Remove extra file

* Update primitives/npos-elections/compact/src/lib.rs

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* Final fixes.

* getSize rpc should work for maps as well

* Fix future types

* Remove minimum_validator_count stale const

* Update client/rpc/src/state/mod.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* "Optimize" `storage_size`

* Remove unused import

* Update doc

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Block packet size limit (#6398)

* Block packet size limit

* Update client/network/src/protocol.rs

Co-authored-by: default avatarPierre Krieger <[email protected]>

* Add block response limit

Co-authored-by: default avatarPierre Krieger <[email protected]>

* Move to upstream wasmtime, refactor globals snapshot  (#6759)

* refactor globals snapshot

* ignore test

* update pwasm-utils ref

* line width

* add doc comment for internal struct

* add explanation for iteration

* Demote rustdoc to a comment

* use 0.14

Co-authored-by: default avatarSergei Shulepov <[email protected]>

* grandpa: change some logging from trace to debug (#6872)

* grandpa: change some logging from trace to debug

* grandpa: cleanup unused import

* Fix wrong staking doc about transaction payment. (#6873)

* Fx #4616

* Fix #4616

* Merges time-travel to master with all migrations (#21)

* Disconnect node after sync request cancelled (#5945)

* Make sure `config_mut` returns a mutable reference (#5942)

* Remove "simple declaration of the `Module` type" comments (#5944)

* Remove "simple declaration of the `Module` type" comments

* Bump runtime impl version

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

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Fix light clients in manual seal nodes (#5955)

* WIP

* WIP

* Updates lock file

* Bump wasmtime again (#5950)

* Update wasmtime (#5822)

* update wasmtime

* update tests

* Update client/executor/wasmtime/src/host.rs

Co-Authored-By: default avatarBastian Köcher <[email protected]>

* wip

* use master-candidate

* update with patches

* update versions

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Bump version

* Added parallel execution test

Co-authored-by: default avatarNikolay Volf <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Expose BlockHashCount on system metadata constants (#5960)

* Add database type for import benchmarks (#5959)

* add database type for impot benchmarks

* add backend to name

* weight adjustments for identity and timestamp pallets (#5946)

* Refactor network transactions handling (#5939)

* change propagation

* add bound

* Fix very wrong staking test (#5952)

* fix this damn wrong staking test.

* Update frame/staking/src/tests.rs

* assert on balnce as well

* Make it a bit better.

* Don't repeatedly lookup keys in `babe_epochAuthorship` rpc function (#5962)

* babe: don't repeatedly lookup keys in authorship rpc function

Expose a new function `claim_slot_using_keypars` in Babe so that the `babe_epochAuthorship` can
lookup authorship for all slots in the epoch without repeatedly looking up keys in the keystore.

Time to run the `babe_epochAuthorship` RPC call goes from 7s to 25ms on a local dev chain on my
machine.

* babe: pass reference to slice instead of ref to Vec

* babe: fix bunch of clippy warnings

* hotfix Docker release (#5968)

* Properly log when we discard a sync response (#5969)

* Add crypto identifier to RuntimeAppPublic (#5965)

* Add crypto identifier to RuntimeAppPublic

* Update primitives/application-crypto/src/traits.rs

Co-authored-by: default avatarGavin Wood <[email protected]>

Co-authored-by: default avatarGavin Wood <[email protected]>

* Small fix to block response completion reporting (#5967)

* Small fix to block response completion reporting

* while -> if

* Minor update on example-offchain-worker code and comment (#5970)

* Minor update on example-offchain-worker code and comment

Signed-off-by: default avatarJimmy Chu <[email protected]>

* Update frame/system/src/offchain.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update initialize tests for latest rust stable (#5971)

* Update initialize tests for latest rust stable

* Update more tests

* AHHH

* Fix `runtime-interface` test

* ------------------------______________----------------------

* ...

* Allow passing multiple --log CLI options (#5982)

* Allow passing multiple --log CLI options

* Comment typo

* Optimize `decode_len` (#5975)

* Optimize `decode_len`

Instead of reading the full storage value into the runtime, we only read
at maximum `5bytes` from the storage into the runtime. Furthermore this
drops any handling with regards to set default values in
`decl_storage!`. If the value does not exists or the decoding of the
length fails, it will return `None`. To prevent people from messing
stuff up, this feature relies on the `StorageDecodeLength` trait that is
sealed by `frame-support` (aka only implementable inside this crate).

* Some clean ups

* Update frame/support/src/storage/mod.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Split Operational and Normal weight (#5954)

* Split operational and normal weight

* Update other parts of the code

* relatively minor changes to add/fix behavior

* Limit reported block weight for fee adjustment

* fix test

* explicit match

* Move common logic out

* Update frame/system/src/lib.rs

Co-authored-by: default avatarGavin Wood <[email protected]>

* API improvement @bkchr



Co-authored-by: default avatarGavin Wood <[email protected]>

* client/finality-granpda/until_imported: Rework pinning (#5983)

An `UntilImported` stream wraps a `Stream` of incoming messages and
waits for blocks those messages are based on before passing the messages
on.

The above `Stream` of incoming messages implements `Unpin`, thus there
is no need to use `pin_project` on the `UntilImported` struct. Instead
one only has to add the `Unpin` trait bound on the `I` trait parameter.

* grandpa: update to finality-grandpa v0.12.3 (#5972)

* grandpa: missing equivocation reporting nits (#5953)

* primitives: move reporting key type to common key types

* session: remove useless methods on MembershipProof

* grandpa: remove std special-casing when checking signatures

* grandpa: add some more docs

* grandpa: use proper error types rather than strings

* Update and pin node-browser-testing wasm-bindgen version (#5987)

* babe: minor rpc nits (#5974)

* babe: fix formatting

* babe: re-use same epoch data in epoch_authorship rpc method

* get tx_hashes from watcher (#5981)

* Restore the reputation penalty for timeouts (#5984)

* Spawn the network worker with spawn_blocking (#5909)

* Spawn the network worker with spawn_blocking

* Some comment adjustments

* Fix shutdown not working

* client/network: Remove default Kademlia DHT in favor of per protocol DHT (#5993)

Substrate was previously running both a chain specific Kademlia DHT as
well as the `/ipfs/kad/1.0.0` Kademlia DHT for backwards compatibility.
(See 710722f0

 for details.)

With the end of the transition period this commit removes the former
only leaving the latter and thus preventing the discovery of
incompatible nodes via Kademlia.

* Turn an error! into a debug! (#6000)

* Fix minor typos in im-online documentation (#5997)

* Fix minor typos on im-online documentation

* Update frame/im-online/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Only send last finalized block to telemetry (#6003)

Instead of informing the telemetry about each block that is finalized,
we only need to send the last finalized block. This removes log spam on
initial sync.

* Change BlockHashCount Parameter in Node/Node Template (#5990)

* change BlockHashCount param

* fix test and lock

* Fix gitlab line-width CI check (#5994)

* Run script in strict mode

* Add proper seperator between revision and file

* Fix copy paste error

* Do not repeat limit number in error text

* Fix bad revision error

* Do not mask pipe errors

* Fix typo

* Remove unnecessary ... syntax

* Do not fetch all commits of master

* Fetching one commit is enough

* Monitor transactions rejected from the pool as invalid (#5992)

* Give more meaningful error on missing feature when opening a db (#5999)

* Add CRYPTO_ID to AppKey (#6011)

* Add mitigation for the state inconsistency issue (#5996)

* Add mitigation for the state inconsistency issue

* Add logging

* Fix minor clippy lints in grandpa (#5988)

* grandpa: fix clippy lints about identity conversions

* grandpa: fix clippy lints about unwrap_or_default

* grandpa: fix clippy lints about explicit return

* grandpa: fix clippy lints about unnecessary intermediary

* grandpa: fix clippy lints about to_string

* grandpa: fix clippy lints about unused imports

* grandpa: fix clippy lints about increments

* grandpa: fix clippy lints about unnecessary matches

* grandpa: fix clippy lints about struct arguments

* Fix clippy::redundant_clone

* Fix clippy::clone_on_copy

* Fix clippy::or_fun_call

* Fix clippy::identity_conversion

* Handle clap errors manually and don't reset `SIGPIPE` (#6012)

Instead of resetting `SIGPIPE` to the system default handler, we now
handle a clap error manually and ignore any error when writing to
`stdout`/`stderr`. In this way, the node does not silently stops when it
encounters a `SIGPIPE` in normal mode and we still support piping of the
cli output.

* Convert `Public` to `CryptoTypePublicPair` (#6014)

* Tabify code

* Implement CryptoTypePublicPair in app_crypto

* Cleanup redundancy

* Introduce to_public_crypto_pair to Public trait

* Implement method for test

* Fix potential state mismatch in behaviour.rs (#6013)

* Fix state mismatch in behaviour.rs

* Add TODO

* properly handle different block content (#6007)

* Add tests to Sudo Pallet (#5963)

* transition treasury to configurable moduleids

* make election module id configurable

* convert runtime and pallet to accept module id config elections-phragmen

* add ModuleId to evm pallet

* change society pallet to configurable module id

* delete commented out module_id

* fix merge residual compile errors

* setup initial mock structure

* establish privelleged function test

* save progress

* first pass new_test_ext

* test sudo to make sure it error when non-root

* add set keys tests

* fix unused result from set_key call

* remove unused imports warnings

* pre master merge

* Expose BlockHashCount on system metadata constants (#5960)

* squash

* fix whitespace

* spelling and whitespace

* a single pesky space

* add logger module to mock

* add logger dispatch to privlleged function

* sub logger in for dummy functions

* create first of several event tests

* first pass at test coverage for events

* comment house keeping

* spell check

* Expose BlockHashCount on system metadata constants (#5960)

* establish privelleged function test

* save progress

* first pass new_test_ext

* test sudo to make sure it error when non-root

* add set keys tests

* fix unused result from set_key call

* remove unused imports warnings

* pre master merge

* squash

* fix whitespace

* spelling and whitespace

* a single pesky space

* add logger module to mock

* add logger dispatch to privlleged function

* sub logger in for dummy functions

* create first of several event tests

* first pass at test coverage for events

* comment house keeping

* implement last_seen_account storage item, event, and, logger function

* create vec account log and use in tests

* allow weight to be passed into account log

* refactor all log dispatchables

* save progress

* complete initial transition to refactored logger

* cleaning

* fix merge residual compile errors

setup initial mock structure

establish privelleged function test

save progress

first pass new_test_ext

test sudo to make sure it error when non-root

add set keys tests

fix unused result from set_key call

parent 5151bd78
author zeke <[email protected]> 1589076740 -0700
committer zeke <[email protected]> 1589350443 -0700

parent 5151bd78


author zeke <[email protected]> 1589076740 -0700
committer zeke <[email protected]> 1589350442 -0700

remove unused imports warnings

fix unused result from set_key call

remove unused imports warnings

pre master merge

Expose BlockHashCount on system metadata constants (#5960)

squash

fix whitespace

spelling and whitespace

a single pesky space

add logger module to mock

add logger dispatch to privlleged function

sub logger in for dummy functions

create first of several event tests

first pass at test coverage for events

comment house keeping

pre master merge

Expose BlockHashCount on system metadata constants (#5960)

Expose BlockHashCount on system metadata constants (#5960)

fix whitespace

spell check

implement last_seen_account storage item, event, and, logger function

create vec account log and use in tests

allow weight to be passed into account log

refactor all log dispatchables

save progress

complete initial transition to refactored logger

cleaning

* clean up

* cleaning

* condense non_privileged logs into 1 fn

* Apply suggestions from code review

Co-authored-by: default avatarJaco Greeff <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Improve `BadProof` docs (#6019)

* Improve `BadProof` docs

* Update primitives/runtime/src/transaction_validity.rs

Co-authored-by: default avatarjoe petrowski <[email protected]>

Co-authored-by: default avatarjoe petrowski <[email protected]>

* Fix escaping of the wasm file path (#6018)

* Fix escaping of the wasm file path

* Add separate methods for escaped paths

* ci: fix merge on polkadot companion job (#6020)

* [CI] Fix a few issues with .gitlab-ci.yml (#6016)

* Fix RPC tests for machines with a high number of cores (#6021)

* Collective weights (#5802)

* Don't log the yamux errors by default (#6034)

* Add ‘transaction_version’ to the signed transaction (#5979)

* Add ‘transaction_version’ to the signed transaction

This allows hardware wallets to know which transactions they can safely
sign.  To reduce transaction size, I reduced it to a ‘u8’ from a ‘u32’.

Fixes #5951.

* Restore transaction_version to a u32

* Fix comments

`transaction_version` is not part of a tx, but is still signed.

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Fix the test suite

I had forgotten to change the production of transactions in the test
code.

* Fix benchmarks

* Improve docs for `CheckTxVersion` in `frame_system`

Co-authored-by: default avatarAndré Silva <[email protected]>

* Remove spurious cast

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarAndré Silva <[email protected]>

* ci: github api use token for pull requests (#6037)

* Update Staking Weights (#5964)

* bump kvdb-* versions (#6017)

* Relax substrate licensing scheme (#5947)

* Democracy weight (#5828)

* Fix lots of small nits in sc-network (#6028)

* Fix lots of small nits in sc-network

* Update client/network/src/protocol/sync/blocks.rs

Co-authored-by: default avatarArkadiy Paronyan <[email protected]>

* Fix warning

* Yes. The line width.

Co-authored-by: default avatarArkadiy Paronyan <[email protected]>

* Put some graphics in the README?  (#5930)

* Update README.md

I didn't do a good job at making the gif, but this is just a proposal.

If accepted, I can make a better one or ask Max to help with it.

* better gif file

* New file

* Benchmarks for elections-phragmen pallet (#5845)

* Fist benchmark barely working

* Debug checkpoint

* add rest of benchmarks

* Add to runtime

* Fix build

* Update frame/elections-phragmen/src/benchmarking.rs

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* Update frame/elections-phragmen/src/benchmarking.rs

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* major imp

* Make them run on release

* Help finish phragmen benchmarks (#5886)

* update caller, account, and member/runner-up creation

* remove stuff

* ocd

* make it work with real run

* relax the numbers a bit

* New and improved version

* Make elections-phragmen weighable and secure. (#5949)

* Make elections-phragmen weighable.

* Update frame/elections-phragmen/src/lib.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Update frame/elections-phragmen/src/lib.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Fix all tests

* Fix everything

* Add note

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Doc update

* Fix some complexity params

* Once more ready to benchmark

* ready for bench

* final tunes

* Update frame/elections-phragmen/src/lib.rs

* Fix fix

* Update frame/elections-phragmen/src/lib.rs

* Update frame/elections-phragmen/src/benchmarking.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Update frame/elections-phragmen/src/benchmarking.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Update to latest weights

* Some fixes

* Fix dual voter read from @thiolliere

* Remove todos

* review from @shawntabrizi



* Fix bench tests.

Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Use `sign_with` in consensus (#6008)

* Add derive_more to sp_core

* Convert Vec to Signature

* Use sign_with in AURA and BABE

* Signing errors

* Update slots to return consensus result

* Fix use

* Clone public key

* Match block_params

* WIP

* Use to_public_crypto_pair

* Pass public key only to block import params

* Address PR review

* Fix consensus RPC

* Fix babe tests

* adjust uses

* Fix line widths

* Added RuntimePublic for ecdsa public key. (#6029)

* add generate ecdsa, etc to keystore

* impl ecdsa needed traits

* add ecdsa to sr_io

* add ecdsa to application-crypto

* add ecdsa to test-utils

* add ecdsa debug derive

* fix ecdsa public

* Meter block import results via prometheus (#6025)

* Releasing Alpha.8 (#6048)

* Remove on_block_imported (#6039)

* remove on_block_imported

* Update client/network/src/service.rs

Co-authored-by: default avatarPierre Krieger <[email protected]>

Co-authored-by: default avatarPierre Krieger <[email protected]>

* Aura fix: make sure the key exists locally (#6054)

* Fix AURA

* Add test to make sure claim slot works as expected

* resetting to -dev (#6050)

* Remove file accounts.scale (#6053)

* Fail test on warnings (#6043)

* fix (ci): hotfix Docker release

* change (ci): fail test on warnings

* change (config): stderr msgs

* Fix the warnings properly

Co-authored-by: default avatarBastian Köcher <[email protected]>

* fix whitespace (#6062)

* grandpa: minor cleanup for gossip round start instant (#5976)

* grandpa: move gossip round start instant to LocalView

* grandpa: round duration is 2 gossip periods

* Add block construction prometheus metrics (#6030)

* Add basic authorship metrics

* fixes

* no arc

* move to crate

* Update client/proposer-metrics/Cargo.toml

Co-authored-by: default avatarMax Inden <[email protected]>

* remove prefix

* use HistogramTimer

* Update client/proposer-metrics/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/basic-authorship/src/basic_authorship.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/basic-authorship/src/basic_authorship.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/basic-authorship/src/basic_authorship.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/basic-authorship/src/basic_authorship.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/basic-authorship/src/basic_authorship.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/proposer-metrics/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/proposer-metrics/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarMax Inden <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* chore: updates the license badge (#6058)

* Fix parallel code execution in wasmtime (#6055)

* Bump wasmtime version

* Proper test

* Print an error if we discover our own network identity (#6047)

* Add an error if we discover our own network identity

* Fix tests

* Refactor EVM operations to module functions (#6056)

* Refactor EVM operations to module functions

* Bump impl version

* Make decl_storage generated code respect clippy (#6065)

* fix clippy for code generated by decl_storage

* use as_ref

* Fix benchmarks and add check so that they won't break again (#6061)

* fix benchmarks and add check

* address review

* fix line width

* Include post dispatch corrected weight in extrinsic events (#6024)

* Include post dispatch corrected weight in extrinsic events

* Drop the 'Post' from ApplyExtrinsicResultWithPostInfo to make it less verbose

* Apply suggestions from code review

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Use proper Event type in pallet_system tests

* Add test that the actual weight is returned by events

* Make fn extract_actual_weight cap at pre dispatch weight

* Bump spec version

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarGavin Wood <[email protected]>

* Upgrade to libp2p v0.19 - Changes the default PeerId representation (#6064)

* Upgrade to libp2p v0.19

* Listen on IPv6 by default

* Increase channels sizes

* Use spec-compliant noise protocol

* Show legacy PeerId

* Switch order of Noise protocols

* Switch to crates.io version

* Fix subkey's version

* Fix line width and Wasm build

* I think Wasm is fixed for real this time

* Make GrandpaBlockImport public (#6068)

* service: fix RPC unsafe exposed address detection (#6070)

* Clean a number of sp_io imports (#6072)

* Detect obsolete block responses (#6077)

* Refactor OverlayedChanges (#5989)

* Hide internal structure of OverlayChanges

* Fix tests for OverlayChanges refactor

* Do not clone pending changes

Discarding prospective changes should be equivalent as a state machine
is not to be called with peding changes.

This will be replaced by a storage transaction that is rolled back before
executing the call the second time removing this constraint.

* Doc fixes

* Remove overlong line

* Revert "Do not clone pending changes"

This reverts commit 4799491f

.

* Deduplicate chield tries returned from child_infos()

* Remove redundant type annotation

* Avoid changing the storage root in tests

* Preserve extrinsic indices in trie build test

* Swap order of comitted and prospective in fn child_infos

This is only for consistency and does not impact the result.

* Rename set_pending to replace_pending for clearity

* Bump wasmtime version (#6081)

* Refactor resource and error handling in wasm (#6074)

* Refactor resource and error handling in wasm

* Fixes based on review

* Maximum extrinsic weight limit (#6067)

* Only check single extrinsics weight limit in validate_transaction.

* Add missing parameter to all pallets.

* Add tests, fix default configuration.

* Bump spec version.

* Use AvailableBlockRation to calculate MaxExtrinsicWeight

* Restore the empty line after the license (#6088)

* Turn a SmallVec into VecDeque for performances (#6091)

* Turn a SmallVec into VecDeque for performances

* Fix the other SmallVecs

* evm: allow setting pre-defined accounts in genesis (#6086)

* evm: allow setting pre-defined accounts in genesis

* Only build GenesisAccount in std

* Make planning epoch config change in BABE easier (#5776)

* Make planning epoch config change in BABE easier

* Bump node runtime version

* Update frame/babe/src/lib.rs

Co-authored-by: default avatarAndré Silva <[email protected]>

* BabeEpochConfiguration -> NextConfigDescriptor

* Add tests for babe config changes

Co-authored-by: default avatarAndré Silva <[email protected]>
Co-authored-by: default avatarAndré Silva <[email protected]>

* Allow fee calculation to happen off-chain (#6076)

* Emit a PaymentParameters event once per block

This contains per-block paramaters need to calculate
fees off-chain.

* Add WeightToFee trait

* Add documentation to polynomial types

* Ignore pseudo code snippet for doc tests

* Use `Mul` implementation of Perbill

* Add tests for WeightToFeePolynomial

* Revert "Emit a PaymentParameters event once per block"

This reverts commit 6c4763ba

.

Co-authored-by: default avatarGavin Wood <[email protected]>

* Handle piping error for commands that output to stdout (#6098)

* Handle piping error for commands that output to stdout

* Apply suggestions from code review

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Allow operational recovery path if on_initialize use fullblock. (#6089)

* note_preimage using operational

* Update frame/democracy/src/lib.rs

Co-authored-by: default avatarGavin Wood <[email protected]>

* Optimize network poll (#6099)

* Increase precision of benchmarking results summary (#6092)

Co-authored-by: default avatarMatt Rutherford <[email protected]>

* Add notes about safe uses of twox (#6082)

* Add notes about safe uses of twox

* Update frame/grandpa/src/lib.rs

Co-authored-by: default avatarNikolay Volf <[email protected]>

* Update frame/elections/src/lib.rs

* Apply suggestions from code review

Co-authored-by: default avatarGavin Wood <[email protected]>
Co-authored-by: default avatarNikolay Volf <[email protected]>

* babe: treat epoch_authorship RPC method as unsafe (#6069)

* service: pass DenyUnsafe to rpc extensions

* node: add DenyUnsafe to rpc full node dependencies

* client: fix whitespace in rpc policy file

* babe: treat epochAuthorship rpc method as unsafe

* babe: add test for unsafe rpc method

* babe: rename babe rpc handler

* service: traitify rpc extension builder

* service: make the rpc extensions builder api non-breaking

* service: revert changes from light node rpc extensions builder

* node: remove unnecessary type in service creation

* service: cleanup with_rpc_extensions implementation

* service: add missing docs to RpcExtensionBuilder

* Offences Weight for OnInitialize (#5961)

* Weight accounting for on_offence.

* Try to compute weight.

* Guesstimate upper bounds on db read/writes for slashing

* greater than or equal to

* add new trait

* Update mock.rs

* Add basic weight test

* one more test

* Update frame/staking/src/lib.rs

Co-authored-by: default avatarthiolliere <[email protected]>

* Update frame/staking/src/lib.rs

Co-authored-by: default avatarKian Paimani <[email protected]>

* Add test for offences queue

Co-authored-by: default avatarTomasz Drwięga <[email protected]>
Co-authored-by: default avatarthiolliere <[email protected]>
Co-authored-by: default avatarKian Paimani <[email protected]>

* Keep `BlockWeight` in Storage (#6046)

* keep block weight in storage

* Update lib.rs

* rename to `BlockWeight`, update tests

* remove println

* make test better

* keep extrinsics length clean

* clarify docs on query_info and partial_fee (#6090)

* .maintain/monitoring: Add an initial set of Prometheus alerting rules (#6095)

Create a place to collaborate on Prometheus alerting rules for
Substrate starting with a basic set of rules covering:

- Resource usage
- Block production
- Block finalization
- Transaction queue
- Networking
- ... Others

* Add Keccak hasher (#6101)

* fix keccak hasher

* Update hasher.rs

Co-authored-by: default avatarGavin Wood <[email protected]>

* Implement FixedPoint trait. (#5877)

* Implement Fixed trait.

* Fix tests

* Fix tests

* Fix tests 2

* Address review comment regarding from_i129.

* Remove precision by using log10() as suggested in review.

* Add small comments.

* Use checked versions + panic for ops::*.

* Remove repeated test.

* Uncomment test.

* Remove casts.

* Add more comments.

* Add tests.

* Panic on saturating_div_int

* More tests.

* More docs.

* Saturating renames.

* Fix to_bound doc.

* Move some impl to trait.

* Add range

* Add macro pre.

* More round() tests.

* Delete confusion.

* More impl to trait

* Add doc for fixedpoint op.

* Remove trailing spaces.

* Suggested docs changes.

* More tests and comments for roundings.

* Some quickcheck tests.

* Add missing panic, more test/comments.

* Nits.

* Rename.

* Remove primitives-types import.

* Apply review suggestions

* Fix long lines and add some fuzz.

* fix long line

* Update fuzzer

* Bump impl

* fix warnings

Co-authored-by: default avatarGavin Wood <[email protected]>
Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* chore(client): remove the unnecessary clap dep (#6107)

* make calls public (#6109)

* Add a note about the deprecation of register_notifications_protocol (#6111)

* Fix some flaky offchain HTTP tests (#6038)

* http: Use assert_eq in tests for better debuggability

* http: Use matches! macro instead of if let ...

* http: Simplify some bits and pieces

* http: Don't answer immediately in HTTP test server

Sometimes it can happen that we receive the response immediately
when testing the HTTP api due to kernel scheduling. Because of it, we
add a marginal 10ms async-friendly delay to minimize the risk.

* http: Use the same async runtime when testing HTTP API/worker

* http: Return a future Delay only for non-zero Duration

This allows to short-circuit in the response_wait logic and only
send/not wait for response.

* Add JSON format to import blocks and set it as default (#5816)

* Add BlockStream Enum and utility fn

* WIP: Modify import closure to work with BlockStream

* Fix trait bounds

* Working prototype

* Revamp block importing

* Add export_import_flow tests

* Add comments and clean code

* Add more comments in the import fn

* Add link code to import function

* Add condition when returning Ready(Ok(()) to make sure we've imported every block

* Add check for imported blocks in JSON case

* Use rest pattern

* Fix compilation error for undeclared variable

* Add polling and waker before pending

* Print read_block_count instead of count

* Simplify binary cli option with structopt

* Update test to reflect changes in CLI api

* Change Stream to take SignedBlock<B> instead of B

* Add comments to BlockStream

* Move out logic to smaller functions for clearer code

* Remove result over import_blocks return type

* Check for error in command output rather than simply checking command exit status

* Revamp export/import/revert testing

* Fix minor typos and formatting errors

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Remove unnecessary if condition in terminating condition

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Explicit error instead of returning it as a string

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Pass BlockStream to log_importing_status_updates and simplify matching arms for block stream

* Use .contains() instead of regex match

* Line break in match block; return future::ready instead of poll_fn

* Update Cargo.lock

* Add check so that queue doesn't grow too big

* Use Iterator instead of Stream

* Remove allow dead_code

* Remove outdated comments

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Return Errors instead of logging them

* Simplify match arms

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Remove check before terminating block import

* Apply suggestions from code review

* Check that queue is not full BEFORE calling

* Revert "Remove check before terminating block import"

This reverts commit 377823c0

.

* Improve unit tests to make sure we actually import blocks

* Remove Unpin implementation for BlockIter

* Add prototype of enum for ImportStates

* Add working prototype for StateMachine

* Add comments for clearer code

* Add sleep before calling Waker when waiting for import queue

* Add Speedometer

* add dbg!(&log) for test debugging

* Fix lines with more than 100 cols

* Fix regex capture for test

* Update regexes to take to capture the whole number

* Rename Cmd to Command

Co-authored-by: default avatarGavin Wood <[email protected]>

* Actually rename Cmd to Command

* Apply suggestions from code review

Co-authored-by: default avatarGavin Wood <[email protected]>

* Fix compilation errors for tests

* Fix compilation errors from code review suggestion

* Update bin/node/cli/tests/export_import_flow.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarGavin Wood <[email protected]>
Co-authored-by: default avatarBenjamin Kampmann <[email protected]>

* put max votes into metadata (#6114)

* Don't clone values when calculating storage root (#6108)

* Don't clone values when calculating storage root

Instead of cloning all the keys and values of the overlay when
calculating the storage root, we pass all the values by reference. This
should probably bring some performance improvements when calculating the
storage root.

* no cow version (#6113)

Co-authored-by: default avatarcheme <[email protected]>

* First draft of offchain phragmen weights (#6032)

* Fist draft of offchain weights

* Round of review feedback

* Update frame/staking/src/lib.rs

* Fix fuzzer

* Remove some redundant comment

* Weight refund for submit solution -- potentially revert.

* First version with custom trimming of the result.

* Update frame/staking/src/benchmarking.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Update frame/staking/src/benchmarking.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Apply suggestions from code review

Co-authored-by: default avatarAlexander Popiak <[email protected]>
Co-authored-by: default avatarthiolliere <[email protected]>

* Update frame/staking/src/benchmarking.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Update frame/staking/src/benchmarking.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Some improvements

* Benchmark submit solution without phragmen (PR for First draft of offchain phragmen weights) (#6073)

* implementation of new benchmark

* address comments

* replace test

* Update frame/staking/src/lib.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* update weight

* Fix refund

* Clean and rady for final bench

* Fix line-wdith

* Fix gitlab build

* Fix line-wdith

* Fix test macro

* Update frame/staking/src/lib.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Update frame/staking/src/benchmarking.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Better length check

* Update frame/staking/src/lib.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Update final weight coefficients

* Update frame/staking/src/lib.rs

* Apply suggestions from code review

* Update frame/staking/src/testing_utils.rs

* Try and fix the line-width

* Revert "Try and fix the line-width"

This reverts commit b4e28472.

* Try and fix the line-width the correct way

* Revert "Try and fix the line-width the correct way"

This reverts commit 04fce128

.

Co-authored-by: default avatarAlexander Popiak <[email protected]>
Co-authored-by: default avatarthiolliere <[email protected]>
Co-authored-by: default avatarGavin Wood <[email protected]>

* Fix default base path on windows (#6120)

* Use directories instead of app_dirs

* Use local data dir

* Benchmarks sanity checks  (#6119)

* add read-only externalities

* sanity checks

* cleanup

* Update primitives/state-machine/src/read_only.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* fix typo

* add error exit code if nothing was run

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Events and better log for staking. (#6118)

* Events and better log for staking.

* Fix build

* Update frame/staking/src/lib.rs

Co-authored-by: default avatarMarcio Diaz <[email protected]>

Co-authored-by: default avatarMarcio Diaz <[email protected]>

* Tidy tests a bit. (#6122)

* Remove sleep in import blocks (#6124)

* Add Delay and info logging

* Switch from Duration to Delay in enum declaration

* Remove sleep from import_blocks fn

* Set back constans and remove unnecessary code

* Fix hot loop

* Reset timer once poll is ready, not when it's pending

* Bump to libp2p v0.19.1 (#6125)

* Tagging as rc1

* Make sure fixed arithmetic tests don't rely on debug assertions (#6126)

* Add Changelog for rc1 (#6128)

* Filter calls in utility (#6131)

* Filter calls.

* Remove old proxy code

* Docs and repot

* Update frame/utility/src/tests.rs

Co-authored-by: default avatarMarcio Diaz <[email protected]>

* fix test

* Grumble

* Bump runtime version

* fix

* Attempt general fix

Co-authored-by: default avatarMarcio Diaz <[email protected]>
Co-authored-by: default avatarNikVolf <[email protected]>

* Releasing rc2 (#6136)

* Fix mul_acc. (#6145)

* Don't iterate over peers in generic_proto::behaviour::poll (#6142)

* Don't iterate over peers in generic_proto::behaviour::poll

* Improve comment

* Rework to use DelayIds

* Fixes `wasm-builder` rerun if changed logic (#6144)

There was a bug which related in required files not being tracked of
being modified. This pr fixes this bug by making sure we ignore version
requirements for path dependencies and git dependencies. This also
ensures that we only track `.rs` or `.toml` files. Another improvement
is that we only include paths which don't contain a `Cargo.toml` if this
`Cargo.toml` does not belongs to the package being processed. This
prevents that sub-crates are added to the tracked files, while not being
part of the dependencies.

* CLI: Make `--dev` conflict with `--chain` (#6146)

If we are running `--dev` chain, we should forbid the `--chain`
argument. The `--dev` chain is always special by only having one
authority etc and some other chain spec is probably not setup for this
correctly. In the end `--dev` is just a shortcut for `--validator --alice`.

* Make `wasm-builder` check before copy/write files if the content is the same (#6149)

* Make `wasm-builder` check before copy/write files if the content is the
same

* Update utils/wasm-builder/src/lib.rs

Co-authored-by: default avatarAndré Silva <[email protected]>

Co-authored-by: default avatarAndré Silva <[email protected]>

* fix lstrip in biguint (#6151)

* add failing test for multiply_by_rational

* fix BigUint

* fix length

* bump version

* merge tests

* remover ancient code (#6157)

* Add subkey inspect-node-key (#6153)

* Make Get<T> const friendly + Clean the runtime files a bit. (#6132)

* Make Get const friendly

* Better doc

* Grumble

* Better doc

* Clean runtime files more

* Peerset cleanup (#6078)

* Move methods from Peerset to peers structs

* Remove priority_only from peersstate

* Refactor PSM

* Don't test private fields

* Update sc_network

* Remove wrong comment

* Also fix small stupidity when setting reserved_only

* Put back priority_group

* Restore priority groups as before

* Apply suggestions from code review

Co-authored-by: default avatarAndré Silva <[email protected]>

* Do the reserved only change

* Update client/peerset/src/lib.rs

Co-authored-by: default avatarArkadiy Paronyan <[email protected]>

* Use HashSet::difference

Co-authored-by: default avatarAndré Silva <[email protected]>
Co-authored-by: default avatarArkadiy Paronyan <[email protected]>

* Improve logging for transaction pool (#6152)

* improve logging

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

Co-authored-by: default avatarTomasz Drwięga <[email protected]>

* address review and make uniform

Co-authored-by: default avatarTomasz Drwięga <[email protected]>

* Add test for Transaction Payment on zero balance account (#6161)

* Test zero balance account with pays::no

* Update frame/transaction-payment/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Add a warning when the user passes a legacy PeerId (#6158)

* Add a warning when the user passes a legacy PeerId

* Update client/network/src/config.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Improve the log messages printed when a listener closes (#6162)

* Improve the log messages printed when a listener closes

* Oops, didn't finish the expired listen addrs thing

* Fix Election when ForceNone V1 (#6166)

* Clean

* Better doc

* Better better doc

* Again better doc

* Fix indemt

* Update frame/staking/src/lib.rs

* Update frame/staking/src/lib.rs

* Better test

Co-authored-by: default avatarGavin Wood <[email protected]>

* Update locks on upgrade (#6172)

* offchain storage lock (#6010)

* feat/offchain/storage: add remove interface method

* feat/offchain/storeage: add remote to StorageValueRef

* feat/offchain/storage: add storage lock

* fix/review: Apply suggestions from code review

Co-authored-by: default avatarTomasz Drwięga <[email protected]>
Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>

* refactor/offchain/storage/lock: introduce `Lockable` trait part 1 of 2

* chore/offchain/rename: _remove -> clean

* feat/offchain/storage/lock: add TimeAndBlock based part 2 of 2

* fix/offchain/storage/lock: block and time expiry must be && not ||

* chore/offchain/storage: minor fmt doc comments

* doc/comment: prefer markdown emphasis over CAPS

* doc/comment: rewrap multiline module level docs

* doc/comment: rephrase

* impl sleep_until and use the actual time for the test env

* feat/test: add more tests, ignore some sample impl doctests

* fix/review: Apply suggestions from code review

Co-authored-by: default avatarNikolay Volf <[email protected]>

* doc/comment: better description

* fix/review: Apply suggestions from code review

Co-authored-by: default avatarNikolay Volf <[email protected]>

* chore/storage: lifetime cleanup

* fix/cleanup: trait bounds, cargo-spellcheck + extra explanations

* fix/doc: periods +-

* fix/review: Apply suggestions from code review

Co-authored-by: default avatarTomasz Drwięga <[email protected]>

* cleanup: remove explicit lifetime bound, copy -> clone

* fix/review: make trait Lockable contain only static, try_lock should not return Err(Option<L>),

* chore/lifetimes: remove a couple of lifetime bounds which the compiler can figure out

* refactor: migrate to an instant based

* fix/feedback: fix, reduce, rename, docs update pending

* docs/reword: adjust to changed code

* fix/offchain/testing: timestamp and sleep_until shall not block

* chore/lines: lines must < 100 chars

* fix/docs: add missing pub field doc comments

* refactor/x: try_lock does not need to return an Option<_>

* refactor/simplify: a better way of waiting for a lock to resolve

* docs: consistency

* fix/line: < 100

* fix/doctest/use: avoid crate::

* fix/doctest: *

* fix/review: remove unused trait bound

* fix/review: pretty by const fn

* fix/review: reduce default timeout to 20s

* docs: grammar

* fix/review: add with_block_deadline

* doc: revamp BlockNumberProvider documentation to be less frame centric

* chore: fmt

* docs: add missing doc comment

Co-authored-by: default avatarBernhard Schuster <[email protected]>
Co-authored-by: default avatarTomasz Drwięga <[email protected]>
Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
Co-authored-by: default avatarNikolay Volf <[email protected]>

* Make post dispatch fee consistent with a direct calculation (#6165)

* Make post dispatch fee consistent with a direct calculation

* Remove unnecessary `saturated_into` calls

* Add test with negative multipliers

* Added regression test

* Test improvements

* pallet-contracts: State rent fixes (#6147)

* Don't store the storage size offset in the contract itself.

* Clean the AccountDb code a bit

* Use `storage_size: 0` when creating AliveContractInfo

* Count empty storage items.

* Update frame/contracts/src/account_db.rs

Co-authored-by: default avatarNikolay Volf <[email protected]>

* Use more clear wording.

Co-authored-by: default avatarAlexander Theißen <[email protected]>

* Change the order of decrement and increment for storage size

Co-authored-by: default avatarNikolay Volf <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>

* Allow over-weight collective proposals to be closed (#6163)

* split `finalize_proposal` to approve and disapprove

* Add test

* Add root `disapprove_proposal`

* Update approve logic after voting period passes

* Remove the update lock on upgrade iterator (#6179)

* Wasm-builder `runtime-wasm` feature (#6177)

* Enable the `runtime-wasm` for wasm builds

This enables the `runtime-wasm` feature for wasm builds. The feature is
not mandatory and will only be activated if it exists in the
`Cargo.toml`.

* Fix compilation

* Update docs

* Uprgade version

* Apply suggestions from code review

* fix/review: remove doc hidden on private item (#6186)

Co-authored-by: default avatarBernhard Schuster <[email protected]>

* Make `Proposer` consume its reference on `propose` (#6190)

* Make `Proposer` consume its reference on `propose`

A proposer must be created per new round, so it makes sense to have the
proposer consume its own reference.

* Remove `ProposerInner`

* Pin async-std to <1.6 (#6193)

* Add a Substrate networking Grafana dashboard template (#6171)

* Add a substrate-networking grafana dashboard

* Capitalize data source

* Do changes

* Update import metrics and add verification time (#6170)

* refactor import reporting and add time

* Update primitives/consensus/common/src/metrics.rs

Co-authored-by: default avatarMax Inden <[email protected]>

* remove (crate)

* fix longer lines

* swap names to avoid api breaking

Co-authored-by: default avatarMax Inden <[email protected]>

* report only on successfull block (#6187)

* Fix Rustdoc Build (#6207)

* impl FindAuthor<T::AuthorityId> for Aura (#6205)

* Something compiles

* compiles _and_ maintains old version

* Comments

* try to pass CI

* Update frame/aura/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update frame/aura/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Remove ReportHandle (#6213)

* pallet-evm ensure gas_price + Storage getter  (#6191)

* evm: move gas price check to top-level dispatchable

* Add AccountCodes get fn and account_exists helper

* Remove account_exists, evm handles non-existing accounts

* Runtime bump impl_version 251/2

* Fix Runtime impl_version and spec_version

Co-authored-by: default avatarWei Tang <[email protected]>

* Allow ExistentialDeposit = 0 (#6185)

* Allow ExistentialDeposit = 0

* there are better ways to check is an account exists

* fix StorageMapShim

* test account events and fix some bugs

* Accept new Phragmén solutions if they are epsilon better + Better pre-inclusion checks. (#6173)

* part1: Accept inly epsilon better solutions

* Fix pre-dispatch check

* Fix build

* review grumbles

* Epsilon -> Threshold

* refactor CI (#6176)

* fix (ci): hotfix Docker release

* test (ci): run full ci  [skip ci]

* change (ci): check stage; add default variables because they were overriden; test-dep-rules goes k8s

* change (ci): move companion job to another stage

* change (ci): no good way to avoid artifacts downloads without dependencies

* fix (ci): typo

* change (ci): all CI images were moved to paritytech registry

* fix (ci): return to the prev image, new needs more testing

* Generalised proxies (#6156)

* Initial work

* It should work

* Fix node

* Fix tests

* Initial test

* Tests

* Expunge proxy functionality from democracy and elections

* Allow different proxy types

* Repotted

* Build

* Build

* Making a start on weights

* Undo breaking change

* Line widths.

* Fix

* fix tests

* finish benchmarks?

* Storage name!

* Utility -> Proxy

* proxy weight

* add proxy weight

* remove weights

* Update transfer constraint

* Again, fix constraints

* Fix negation

* Update frame/proxy/Cargo.toml

Co-authored-by: default avatarKian Paimani <[email protected]>

* Remove unneeded event.

* Grumbles

* Apply suggestions from code review

Co-authored-by: default avatarKian Paimani <[email protected]>

Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarKian Paimani <[email protected]>

* block.tx[0] is not invalid if on_initialize is too heavy (#6217)

* fix millis display (#6227)

* Make dev profile faster by compiling deps with opt-level=3 (#6228)

* Make dev profile faster by compiling deps with opt-level=3

* More comment

* More comment refinment

* Remove soketto as it doesn't fit criterias

* Fix style

* Fix libp2p features (#6229)

* Fix libp2p features

* Remove the opt-level of some now-unused crates

* Split tx pool and offchain notification handling (#6231)

Instead of having the tx pool and offchain worker being feed from the
same import notification stream, this pr splits them to use two
different streams. The first advantage of this split is that the tx pool
will not be spawned anymore in another task and instead will directly
process the notification in the same task. This has the advantage of
being faster when the system is being under load, as the tx pool will
not be waiting for being scheduled to handle the notification.

* Add run_full_node, run_light_node and print_node_infos to the API  (#6233)

* Initial commit

Forked at: 2743ed4b


Parent branch: origin/master

* Add run_full_node, run_light_node and print_node_infos to the API

* Update runner.rs

* The link to getting-started was obsolete. (#6238)

* The link to getting-started was obsolete.

* link to installation and tutorials

Co-authored-by: default avatarjoe petrowski <[email protected]>

* Use Subscription Manager from `jsonrpc-pubsub` (#6208)

* Bump jsonrpc pubsub, core, http, and ws

Right now these are the packages which _need_ to be updated
so I can just the latest `jsonrpc-pubsub` code. Once a release
it cut upstream the rest of the dependencies should be updated
as well.

* Use jsonrpc-pubsub's SubscriptionManager

This places sc-rpc-api::Subscriptions

* Bump jsonrpc-core outside of sc-rpc-*

* Update client/rpc tests

Right now one of the `author` tests is failing, I
need to think a bit about how best to fix it.

* Remove Subscriptions manager

There's no need for this implementation since we're
using the one from `jsonrpc-pubsub` now

* Fix author RPC test

This test used to check for a numerial subscription ID,
whereas now it uses a string based ID which is the default
provided by `jsonrpc-pubsub`'s subscription manager.

* Remove unused NumericIdProvider

* Add missing bracket

Removed one too many with that last one, lol

* Bump `jsonrpc` to v14.2

There's an exception though. `jsonrpc-derive` cannot be bumped
past v14.0.5 just yet since it has a dependency on `quote` pinned
to v1.0.1. This means that at the moment it won't build on Substrate
since it's using v1.0.3.

* Track `jsonrpc-derive` master branch

* Bump `quote` version to v1.0.6

* Bump `jsonrpc-derive` to v14.2.1

This includes support for `quote` v1.0.6

* Fix peerset not filtering incoming connections in reserved-only (#6249)

* Fix service tests not calling update_chain (#6232)

* Revert "Use Subscription Manager from `jsonrpc-pubsub` (#6208)" (#6252)

This reverts commit f028a509.

* Revert "Remove balances migration. (#5224)"

This reverts commit e1fcc979

.

* impl_opaque_keys should allow doc comments (#6255)

* Use number of downloaded blocks for test (#6234)

* Sentry nodes and validator nodes also imply reserved (#6251)

* Remove pre-simple-payout code from staking (#6253)

* Remove some dead code

* fix

* Kill warnings

* Rename all the election operations (#6245)

* Rename and move sp-phragmen

* More renames for equalise

* Update main module doc

* Fix line width

* Line width

* Make transaction pool prune transactions only of canonical blocks (#6123)

* Make tx pool aware of retracted fork blocks

* Make it compile

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

Co-authored-by: default avatarNikolay Volf <[email protected]>

* Fix doc test

* Simplify the implementation

* Send tree route as arc to prevent heavy clones

* Switch to use `ExtrinsicHash` to make it more clear

* Fix benchmark

Co-authored-by: default avatarNikolay Volf <[email protected]>

* Allow "anonymous" proxied accounts (#6236)

* Anonymous proxiers

* More testing

* More testing

* Build fix

* Build fix

* Benchmarks.

* fix benchmarking

* add weights

* fix line width

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* Enable fixed point u128 (#6214)

* Add fixed u128.

* remove move

* Change sat_from_integer impl.

* checked_pow is always positive

* Revert.

* rename fixed file

* Rename to FixedI

* rename fixed file

* Add newline.

* Use Multiplier in impls.

* Renames negate() to saturating_negate().

* Uncomment test.

* Add Signed to macro.

* Add some tests for Saturating trait.

* Fix the metered unbounded sender/recievers (#6246)

* Fix the metered unbounded sender/recievers

* Use a counter instead

* Update client/rpc/src/system/tests.rs

* Add an is_terminated check

* Add FusedStream impl

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Fix transaction pruning in tx-pool (#6276)

The `tree_route` generated by the import notification is only from the
old best block to the new best parent. This means, it does not contain
the new best block in `enacted()`. We need to prune the transactions of
the new best block "manually" to fix this bug.

Besides that, this pr also changed the `id` parameter of the `NewBlock`
chain event to `hash`. The hash of a block is unique in contrast to the
block number. (Block id can either be number or hash)

* Introduce stacked filtering (#6273)

* Introduce stacked filtering.

* Benchmarks

* Remove unneeded crates

* Fix proxy type's permissiveness checks.

* Repot multisig to make utility stateless.

* Repot filter stack impl into macro

* Fix wasm build

* Tests

* Final test.

* Tests for the macro

* Fix test

* Line width

* Fix

* Update frame/multisig/src/benchmarking.rs

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* Update primitives/std/with_std.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Grumble

* Update frame/support/src/traits.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update frame/support/src/traits.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update frame/support/src/traits.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update frame/support/src/traits.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update frame/support/src/traits.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update frame/multisig/src/tests.rs

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* Update frame/multisig/src/tests.rs

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* Grumble

* Migration

* Grumble

* Comments

* Migration

* Fix

* Fix

* Line width

* Allow unused

* Update frame/multisig/src/lib.rs

Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Fix up grumble.

* Remove Utility constraint in NonTransfer

Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarAlexander Popiak <[email protected]>

* client/api: fix possible deadlock when comparing with itself (#6277)

* Make all features explicit (#6267)

* make all features explicit

* Change to -feature suffix to with- prefix

* Add newline at the end of the Cargo.toml file

* Remove rhd feature

* Remove some features from Cargo.toml

* Remove test-helpers feature in tx pool

* Return db_open_error("with-"..

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Rename subdb feature to with-subdb

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Remove 'strict' feature and cfg_attr

* Check for with-subdb feature instead of subdb

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Use Subscription Manager from `jsonrpc-pubsub`: The Sequel (#6254)

* Bump jsonrpc pubsub, core, http, and ws

Right now these are the packages which _need_ to be updated
so I can just the latest `jsonrpc-pubsub` code. Once a release
it cut upstream the rest of the dependencies should be updated
as well.

* Use jsonrpc-pubsub's SubscriptionManager

This places sc-rpc-api::Subscriptions

* Bump jsonrpc-core outside of sc-rpc-*

* Update client/rpc tests

Right now one of the `author` tests is failing, I
need to think a bit about how best to fix it.

* Remove Subscriptions manager

There's no need for this implementation since we're
using the one from `jsonrpc-pubsub` now

* Fix author RPC test

This test used to check for a numerial subscription ID,
whereas now it uses a string based ID which is the default
provided by `jsonrpc-pubsub`'s subscription manager.

* Remove unused NumericIdProvider

* Add missing bracket

Removed one too many with that last one, lol

* Bump `jsonrpc` to v14.2

There's an exception though. `jsonrpc-derive` cannot be bumped
past v14.0.5 just yet since it has a dependency on `quote` pinned
to v1.0.1. This means that at the moment it won't build on Substrate
since it's using v1.0.3.

* Track `jsonrpc-derive` master branch

* Bump `quote` version to v1.0.6

* Bump `jsonrpc-derive` to v14.2.1

This includes support for `quote` v1.0.6

* Use exact version for jsonrpc crates

Doing this to make sure any updates in jsonrpc don't
accidently trickle down to Polkadot.

Co-authored-by: default avatarAndré Silva <[email protected]>

* Temporary and Heavy Weights for Society Pallet (#6283)

* temporary weights for society

* on_initialize weight

* Weights for Indices Pallet (#6282)

* fix multisig benchmarking

* add indices benchmarks

* fix compile

* Weights for indices

* setting to rc3

* adding Changelog

* adjust type imports and remove test

* Assign unique storage names to pallets. (#5010)

* Assign unique storage names to pallets.

* Bump spec

* Upgrade logic for finality tracker (untested)

* Logic for migrating Identity (untested)

* Logic for migrating transaction-payment

* Fix tests

* Fix `decl_storage` build

* Contract -> Contracts

* Update Cargo.lock

* bump spec

* update migration

* Fix merge error

* Migration for contracts

* Remove serde

* Remove some illegal spaces and Options

* Fix types in identity.

* Minor variable rename

Co-authored-by: default avatarGavin Wood <[email protected]>

* add weights to runtime migrations

* use max block weight for balances migration

* temporarily remove failing contracts migration

* add more logging for migrations

* fix transaction-payment migration by converting multiplier type

* add more logging to balance migration

* more balance migration logging

* format balance migration

* even more balance migration logging

* remove logging in loop and change upgrade flag type to bool

* cherry-pick #5226 (dd97b147

)

massage the code and fix anything failing compilation

* use test accounts for account migration

* move balances and accounts migrations out for custom calling

* make migration mods public

* fix transaction-payment migration based on https://github.com/paritytech/substrate/pull/5673

* Drew.merge upstream (#9)

* Fix typo: eror -> error (#6293)

* Fix typo: PRORITY -> PRIORITY (#6291)

* Intent to release rc3 (#6290)

* Fix transaction pool & network issues (#6288)

* fix & tweaks

* address review

* line width

* Use `sign_with` for signing grandpa's outgoing message (#6178)

* Use sign_with and stop using `Pair`

* PR feedback

* Remove clone

* Transfer ownership of public to sign_message

* Use Option

* Simplify code

* Fix error message

* Pass keystore as ref

* Pass keystore properly

* Fix tests

* Revalidation tweak & logging for transaction pool (#6258)

* updates and logging

* fix length

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

* rename

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

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update README.md

* Allow adding a prefix to the informant (#6174)

* Initial commit

Forked at: 49b15615
Parent branch: origin/master

* Add a Service Configuration's field + adapt informant + provide means to CLI

* CLEANUP

Forked at: 49b15615
Parent branch: origin/master

* fix tests

* fixed bad path to object

* Change OutputFormat enum to struct

* Add informant_prefix to builder and service

* Revert "Change OutputFormat enum to struct"

This reverts commit cd86c583.

* Revert "fix tests"

This reverts commit a3c306eb.

* Revert "Add a Service Configuration's field + adapt informant + provide means to CLI"

This reverts commit 9c2e7267.

* Implementation using the ServiceBuilder

* reduce line length

* fix line width again

* WIP

Forked at: 49b15615
Parent branch: origin/master

* WIP

Forked at: 49b15615
Parent branch: origin/master

* WIP

Forked at: 49b15615
Parent branch: origin/master

* use struct instead of enum

* WIP

Forked at: 49b15615


Parent branch: origin/master

* Update client/service/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* improve doc

* Update client/service/src/builder.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/service/src/builder.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* change code

* Update client/informant/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* enable_color

* reorg log

* remove macro

* Removed builder for informant prefix

* fix doc

* Update client/informant/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/informant/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/informant/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/informant/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/service/src/builder.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/service/src/builder.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Update client/service/src/builder.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Transaction pool added missed comment (#6308)

* Add a test for lots of nodes connecting at the same time (#6247)

* Add a test for lots of nodes connecting at the same time

* Do small change

* Introduce frozen indices. (#6307)

* Introduce frozen indices.

* Fix.

* Bump runtime

* Benchmark for freeze

* Fix

* fix benchmarks

* update freeze weights

* remove copy pasta

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* new crate sc-light (#6235)

* sc-light

* re…

* docs: convert code of conduct to markdown (#6878)

* Add Phala Network SS58 address type (#6758)

* docs: fix references to code of conduct document (#6879)

* Fuse the import queue receiver (#6876)

* Fix the import queue receiver

* Add logging

* Implement 'transactional' annotation for runtime functions. (#6763)

* Implement 'transactional' annotation for runtime functions.

* Allow function attributes for dispatchable calls in decl_module.

* decl_module docs: add transactional function example.

* decl_module docs: add function attributes notes.

* Fix license header.

* Add a warning if users pass --sentry or --sentry-nodes (#6779)

* Add a warning if users pass --sentry or --sentry-nodes

* Apply suggestions from code review

Co-authored-by: default avatarMax Inden <[email protected]>

* Fix text

Co-authored-by: parity-processbot <>
Co-authored-by: default avatarMax Inden <[email protected]>

* pallet-evm: fix wrong logic in mutate_account_basic (#6786)

* pallet-evm: fix wrong logic in mutate_account_basic

* Add test for mutate account

* Implement tracing::Event handling & parent_id for spans and events (#6672)

* implement events handling, implement parent_id for spans & events

* add events to sp_io::storage

* update test

* add tests

* adjust limit

* let tracing crate handle parent_ids

* re-enable current-id tracking

* add test for threads with CurrentSpan

* fix log level

* remove redundant check for non wasm traces

* remove duplicate definition in test

* Adding conditional events API

* prefer explicit parent_id over current,

enhance test

* limit changes to client::tracing event implementation

* remove From impl due to fallback required on parent_id

* implement SPAN_LIMIT

change event log output

* change version of tracing-core

* update dependancies

* revert limit

* remove duplicate dependency

* Apply suggestions from code review

Co-authored-by: default avatarBastian Köcher <[email protected]>

Co-authored-by: default avatarMatt Rutherford <[email protected]>
Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Add async test helper to timeout and provide a task_executor automatically (#6651)

* Initial commit

Forked at: 60e3a693
Parent branch: origin/master

* Add async test helper to timeout and provide a task_executor automatically

* simplify error message to avoid difference between CI and locally

* forgot env var

* Use runtime env var instead of build env var

* Rename variable to SUBSTRATE_TEST_TIMEOUT

* CLEANUP

Forked at: 60e3a693


Parent branch: origin/master

* Apply suggestions from code review

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Re-export from test-utils

* Default value to 120

* fix wrong crate in ci

* Revert "Default value to 120"

This reverts commit 8e458717.

* Fix version

* WIP

Forked at: 60e3a693
Parent branch: origin/master

* WIP

Forked at: 60e3a693
Parent branch: origin/master

* WIP

Forked at: 60e3a693
Parent branch: origin/master

* remove feature flag

* fix missing dependency

* CLEANUP

Forked at: 60e3a693


Parent branch: origin/master

* fix test

* Removed autotests=false

* Some doc...

* Apply suggestions from code review

Co-authored-by: default avatarBastian Köcher <[email protected]>

* WIP

Forked at: 60e3a693
Parent branch: origin/master

* WIP

Forked at: 60e3a693


Parent branch: origin/master

* Update test-utils/src/lib.rs

Co-authored-by: default avatarBastian Köcher <[email protected]>

* client/authority-discovery: Introduce AuthorityDiscoveryService (#6760)

* client/authority-discovery: Rename AuthorityDiscovery to XXXWorker

* client/authority-discovery: Introduce AuthorityDiscoveryService

Add a basic `AuthorityDiscoveryService` implementation which enables
callers to get the addresses for a given `AuthorityId` from the local
cache.

* client/authority-discovery: Split into worker and service mod

Move `Service` and `Worker` to their own Rust modules resulting in the
following file structure.

├── build.rs
├── Cargo.toml
└── src
    ├── error.rs
    ├── lib.rs
    ├── service.rs
    ├── tests.rs
    ├── worker
    │   ├── addr_cache.rs
    │   ├── schema
    │   │   └── dht.proto
    │   └── tests.rs
    └── worker.rs

* client/authority-discovery: Cache PeerId -> AuthorityId mapping

* client/authority-discovery: Update priority group on interval

Instead of updating the authority discovery peerset priority group each
time a new DHT value is found, update it regularly on an interval.

This removes the need for deterministic random selection. Instead of
trying to return a random stable set of `Multiaddr`s, the `AddrCache`
now returns a random set on each call.

* client/authority-discovery: Implement Service::get_authority_id

* client/authority-discovery: Use HashMap instead of BTreeMap

* client/authority-discovery: Rework priority group interval

* client/authority-discovery: Fix comment

* bin/node/cli: Update authority discovery constructor

* client/authority-discovery: Fuse from_service receiver

* client/authority-discovery: Remove Rng import

* client/authority-discovery: Ignore Multiaddr without PeerId

* client/authority-discovery/service: Add note on returned None

* client/authority-discovery/addr_cache: Replace double clone with deref

* Make `HexDisplay` useable in `no_std` (#6883)

Actually I use this quite often when debugging some WASM bugs and there
is no harm in enabling it by default. Before I just always copied it
everytime I needed it.

* pallet-evm: avoid double fee payment (#6858)

* pallet-evm: avoid double fee payment

* Only skip fee payment for successful calls

* add runtime migrations to release notes/changelog (#6875)

* network: don't log re-discovered addresses (#6881)

* network: move LruHashSet to network crate utils

* network: don't log re-discovered external addresses

* Update client/network/src/utils.rs

Co-authored-by: default avatarmattrutherford <[email protected]>

Co-authored-by: default avatarmattrutherford <[email protected]>

* More renaming to move away from phragmen. (#6886)

* Adds debug logs to EVM frame (#6887)

* Update to libp2p-0.23. (#6870)

* Update to libp2p-0.23.

Thereby incorporate bandwidth measurement along the
lines previously done by libp2p itself.

* Tweak dependencies for wasm32 compilation.

For wasm32 we need to enable unstable features to
make `task::Builder::local` available.

* Simplify dependencies.

* Simplify.

Leave the calculation of bytes sent/received per second
to the outer layers of the code, subject to their own
individual update intervals.

* Cleanup

* Re-add lost dev dependency.

* Avoid division by zero.

* Remove redundant metric.

* Enable sending of noise legacy handshakes.

* Add comment about monotonic gauge.

* CI

* client/authority-discovery: Revert query interval change (#6897)

Revert the accidental query interval change from every one minute back
to every 10 minutes.

* RpcHandlers Refactorings (#6846)

* allow access to the underlying Pubsub instance from RpcHandlers

* bump Cargo.lock

* no more Arc<RpcHandlers>

* bump Cargo.lock

* Debug,.

* Arc<RpcHandlers>

* RpcHandler

* RpcHandlers::io_handler

* remove chain spec from cli

* address pr comments

* remove stray newline

Co-authored-by: default avatarAshley <[email protected]>

Co-authored-by: default avatarTomasz Drwięga <[email protected]>
Co-authored-by: default avatarAshley <[email protected]>

* Don't take the origin in `can_set_code` (#6899)

It makes no sense that `can_set_code` takes the origin for checking it.
Everybody reusing this function is only interested in the other checks
that are done by this function. The origin should be checked by every
dispatchable individually.

* Add a DirectedGossip struct (#6803)

* Add a DirectedGossip struct

* Move protocol from prototype::new to biuld

* More traits impls

* Explain ordering

* Apply suggestions from code review

Co-authored-by: default avatarToralf Wittner <[email protected]>

* Address concerns

* Add basic test

* Concerns

* More concerns

* Remove QueueSenderPrototype

* Rename

* Apply suggestions from code review

Co-authored-by: default avatarMax Inden <[email protected]>

Co-authored-by: default avatarToralf Wittner <[email protected]>
Co-authored-by: parity-processbot <>
Co-authored-by: default avatarMax Inden <[email protected]>

* babe, aura, pow: only call check_inherents if authoring version is compatible (#6862)

* pow: check can_author_with before calling check_inherents

* babe: check can_author_with before calling check_inherents

* aura: check can_author_with before calling check_inherents

* Fix node and node template compile

* Add missing comma

* Put each parameter on its own line

* Add debug print

* Fix line width too long

* Fix pow line width issue

* Addds updated SCALE encoded accounts dump

* pow: add access to pre-digest for algorithm verifiers (#6900)

* pow: fetch pre-runtime digest to verifier

* Add Other error type

* Fix log target and change docs to refer to pre_runtime

* Derive Clone for AlwaysCanAuthor, NeverCanAuthor, CanAuthorWithNativeVersion (#6906)

* WeightInfo for System, Timestamp, and Utility (#6868)

* initial updates to system

* fix compile

* Update writer.rs

* update weights

* finish system weights

* timestamp weights

* utility weight

* Fix overflow in weight calculations

* add back weight notes

* Update for whitelisted benchmarks

* add trait bounds

* Revert "add trait bounds"

This reverts commit 12b08b71

.

* Update weights for unaccounted for read

* Add support for sourced metrics. (#6895)

* Add support for sourced metrics.

A sourced metric is a metric that obtains its values
from an existing source, rather than the values being
independently recorded. It thus allows collecting
metrics from existing counters or gauges without
having to duplicate them in a dedicated prometheus
counter or gauge (and hence another atomic value).

The first use-case is to feed the bandwidth counters
from libp2p directly into prometheus.

* Tabs, not spaces.

* Tweak bandwidth counter registration.

* Add debug assertion for variable labels and values.

* Document monotonicity requirement for sourced counters.

* CI

* Update client/network/src/service.rs

Co-authored-by: default avatarMax Inden <[email protected]>

Co-authored-by: default avatarMax Inden <[email protected]>

* Import `IterableStorage*` traits by `decl_storage!` (#6907)

Import `IterableStorageMap` and `IterableStorageDoubleMap` automatically
by `decl_storage!` as the other storage traits.

* Distribute the network future polling time more evenly (#6903)

* Distribute the network future polling time more evenly

* Update client/network/src/service.rs

* Combine default values used at initialization in a trait (#6857)

This moves default values used in the Substrate code base when
initializing a service into a common trait. Currently this trait only
contains listen ports, but this could be extended in the future.
Essentially this will make overriding these values much easier for
Cumulus, where we have 2 nodes running in one binary.

* babe: handle error when checking/reporting equivocations (#6915)

* Dynamic Benchmarking DB Whitelist (#6815)

* Add `get_whitelist` api

* add whitelisted caller

* Whitelist caller

* remove caller 0

* initial piping of origin (not actual value yet)

* remove attempt to pass origin around

* Add whitelist for `DidUpdate` storage on `pallet_timestamp`

* fix traits

* only add to whitelist if !contains

* PassBy not implemented error

* Whitelist read/writes explicitly per key

* update docs

* reduce trait constraint

* copy pasta

* Apply suggestions from code review

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarAlexander Popiak <[email protected]>

* rename functions @apopiak

* missed some renaming

* enable doc tests

* Update docs

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarAlexander Popiak <[email protected]>

* Merge Subkey into sc-cli (#4954)

* draft

* revert

* WIP

* all that remains is tests

* update Cargo.lock

* tests WIP

* WIP refactor node-template-runtime and node-runtime

* implments sc_cli::RuntimeAdapter for node_template_runtime::Runtime

* final draft

* fix update_config for subcommands

* proper AccountId decoding

* test-runtime tests

* revert

* move RuntimeAdapter to cli-utils

* use &'static str for TryFrom::<&'a str>::Error for Ss58AddressFormat

* tests

* add frame-system to sc-cli dev-dependencies

* add frame-system to sc-cli dev-dependencies

* fix ui test

* wip

* fixed inspect test

* bump impl version

* bump impl version, fixx spaces remove todos

* pallet-balances-cli, rustc for some reason cannot resolve pallet_balances_cli in node-cli 😩

* wip

* Subcommand::run takes &self

* can't believe i missed that 🤦🏾‍♂️

* bump wasm-bindgen for some reason

* adds key subcommand, rename generate-node-key to generate-node-id

* cargo update and crossed fingers 🤞🏽



* update ui test

* update more ui tests

* should be all good now

* revert subkey change

* revert subkey change

* adds frame-utilities-cli

* Apply suggestions from code review

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>

* removes frame from sc-cli, fix license

* my editor and ci disagrees on line width

* bump spec version

* turn off default features for parity-scale-codec

* enable full_crypto feature for sp-core in cli-utils

* merge frame-utilities-cli with pallet-balances-cli

* remove full_crypto feature from sp_core in cli-utils

* bump Cargo.lock

* cli-utils -> frame-utils

* rename BlockNumber to GenericNumber, fix spaces

* fix spaces

* construct additional_signed manually

* sign test

* remove unused vars

* implement subkey with frame-utilities-cli and sc_cli

* fix moduleid test

* CI and clion disagree on line widths

* adds associated Params type to SignedExtensionProvider

* Apply suggestions from code review

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>

* move some code around

* removes unneccesary generic params

* moves module_id back to frame_utilities_cli

* Apply suggestions from code review

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* remove print_ext

* remove MaybeDisplay from pallet_balances::Trait::Balance

* a lot of stuff tbh

* adds ExtrasParamsBuilder

* remove tests for ModuleIdCmd

* address comments from PR

* bump Cargo.lock

* manually insert key into keystore

* remove unnecessary SharedParams

* add validation to vanity pattern, remove unused arg

* remove SharedParams from Sign, Vanity, Verify

* remove SharedParams from ModuleIdCmd, remove expect from Verify, new line to Cargo.toml

* remove SharedParams from InsertCmd

* 🤦🏾

‍♂️

* deleted prometheus.yml

* move a few things around

* fix vanity test

Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarBenjamin Kampmann <[email protected]>

* Clean shutdown for subcommands (#6909)

* prepping  for releasing rc6 (#6922)

* Bump version

* update test-utils crates to be ready for publishing

* adding changelog

* Adding automaticly generated READMEs

* fixing versions

* another version mishap

* Exposes migration

* Adds missing deps

* Adds indices migration

Co-authored-by: default avatarShaopeng Wang <[email protected]>
Co-authored-by: default avatars3krit <[email protected]>
Co-authored-by: default avatarTomasz Drwięga <[email protected]>
Co-authored-by: default avatarRicardo Rius <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>
Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
Co-authored-by: default avatarPierre Krieger <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarGavin Wood <[email protected]>
Co-authored-by: default avatarCecile Tonglet <[email protected]>
Co-authored-by: default avatarXiliang Chen <[email protected]>
Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarchenwei <[email protected]>
Co-authored-by: default avatarToralf Wittner <[email protected]>
Co-authored-by: default avatarThomas Scholtes <[email protected]>
Co-authored-by: default avatarLuke Schoen <[email protected]>
Co-authored-by: default avatarNikolay Volf <[email protected]>
Co-authored-by: default avatarAshley <[email protected]>
Co-authored-by: default avatarAndré Silva <[email protected]>
Co-authored-by: default avatarDenis P <[email protected]>
Co-authored-by: default avatarWei Tang <[email protected]>
Co-authored-by: default avatarDavid <[email protected]>
Co-authored-by: default avatarBernhard Schuster <[email protected]>
Co-authored-by: default avatarMax Inden <[email protected]>
Co-authored-by: default avatarcheme <[email protected]>
Co-authored-by: default avatarpscott <[email protected]>
Co-authored-by: default avatarGavin Wood <[email protected]>
Co-authored-by: default avatarSergei Shulepov <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatararkpar <[email protected]>
Co-authored-by: default avatarAndronik Ordian <[email protected]>
Co-authored-by: default avatarKian Paimani <[email protected]>
Co-authored-by: default avatarDavid Craven <[email protected]>
Co-authored-by: default avatarAlan Sapede <[email protected]>
Co-authored-by: default avatarAmar Singh <[email protected]>
Co-authored-by: default avatarDan Forbes <[email protected]>
Co-authored-by: default avatarAddie Wagenknecht <[email protected]>
Co-authored-by: default avatarRicardo Rius <[email protected]>
Co-authored-by: default avatarjoe petrowski <[email protected]>
Co-authored-by: default avatarAten <[email protected]>
Co-authored-by: default avatargabriel klawitter <[email protected]>
Co-authored-by: default avatarWei Tang <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarAlexander Popiak <[email protected]>
Co-authored-by: default avatarwarfollowsme | ryabina.io <[email protected]>
Co-authored-by: default avatarRoman Borschel <[email protected]>
Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
Co-authored-by: default avatarddorgan <[email protected]>
Co-authored-by: default avatarmattrutherford <[email protected]>
Co-authored-by: default avatarMatt Rutherford <[email protected]>
Co-authored-by: default avatarSeun Lanlege <[email protected]>
Co-authored-by: default avatarReto Trinkler <[email protected]>
Co-authored-by: default avatarHarryHong <[email protected]>
Co-authored-by: default avatarJoseph <[email protected]>
Co-authored-by: default avatarGarrett MacDonald <[email protected]>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: default avatarAlex Siman <[email protected]>
Co-authored-by: default avatarHamza Tokuchi <[email protected]>
Co-authored-by: default avatarJoshy Orndorff <[email protected]>
Co-authored-by: default avatarJaco Greeff <[email protected]>
Co-authored-by: default avatarHernando Castano <[email protected]>
Co-authored-by: default avatarJon Häggblad <[email protected]>
Co-authored-by: default avatarTomasz Drwięga <[email protected]>
Co-authored-by: default avatarRakan Alhneiti <[email protected]>
Co-authored-by: default avatarJimmy Chu <[email protected]>
Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
Co-authored-by: default avatarPaweł Nguyen <[email protected]>
Co-authored-by: default avatarIgor Żuk <[email protected]>
Co-authored-by: default avataremostov <[email protected]>
Co-authored-by: default avatarDemi Obenour <[email protected]>
Co-authored-by: default avatarAndrew Plaza <[email protected]>
Co-authored-by: default avatarsatellitex <[email protected]>
Co-authored-by: default avatarclearloop <[email protected]>
Co-authored-by: default avatarDmitry Kashitsyn <[email protected]>
Co-authored-by: default avatarAndré Silva <[email protected]>
Co-authored-by: default avatarGavin Wood <[email protected]>
Co-authored-by: default avatarMarcio Diaz <[email protected]>
Co-authored-by: default avatarclearloop <[email protected]>
Co-authored-by: default avatarIgor Matuszewski <[email protected]>
Co-authored-by: default avatarBernhard Schuster <[email protected]>
Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>
Co-authored-by: default avatartgmichel <[email protected]>
Co-authored-by: default avatarzx9w <[email protected]>
Co-authored-by: default avatarBoqin Qin <[email protected]>
Co-authored-by: default avatarAlexander Popiak <[email protected]>
Co-authored-by: default avatarSubsocial <[email protected]>
Co-authored-by: default avatarTore19 <[email protected]>
Co-authored-by: default avatarwangjj9219 <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>
Co-authored-by: default avatarh4x3rotab <[email protected]>
parent e1042c15
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment