Commit Graph

1799 Commits

Author SHA1 Message Date
Oliver Tale-Yazdi e80c24733f Lift dependencies to the workspace (Part 1) (#2070)
Changes (partial https://github.com/paritytech/polkadot-sdk/issues/994):
- Set log to `0.4.20` everywhere
- Lift `log` to the workspace

Starting with a simpler one after seeing
https://github.com/paritytech/polkadot-sdk/pull/2065 from @jsdw.
This sets the `default-features` to `false` in the root and then
overwrites that in each create to its original value. This is necessary
since otherwise the `default` features are additive and its impossible
to disable them in the crate again once they are enabled in the
workspace.

I am using a tool to do this, so its mostly a test to see that it works
as expected.

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2024-02-12 11:19:20 +00:00
Alexandru Gheorghe 8362a6810d statement-distribution: Fix CostMinor("Unexpected Statement") (#3223)
On grid distribution messages have two paths of reaching a node, so
there is the possiblity of a race when two peers send each other the
same statement around the same time. Statement local_knowledge will tell
us that the peer should have not send the statement because we sent it
to it.

Fix it by also keeping track only of the statement we received from a
given peer and penalize it only if it sends it to us more than once.

Fixes: https://github.com/paritytech/polkadot-sdk/issues/2346

Additionally, also use different Cost labels for different paths to make
it easier to debug things.

---------

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2024-02-12 10:44:16 +00:00
Andrei Eres cbd684673b subsystem-bench: polish imports (#3262) 2024-02-12 09:17:29 +00:00
maksimryndin 4883e14482 refactor pvf security module (#3047)
resolve https://github.com/paritytech/polkadot-sdk/issues/2321

- [x] refactor `security` module into a conditionally compiled
- [x] rename `amd64` into x86-64 for consistency with conditional
compilation guards and remove reference to a particular vendor
- [x] run unit tests and zombienet

---------

Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
2024-02-11 09:59:10 +00:00
Egor_P b2c81b5800 [Backport] Version bumps from 1.7.0 release (#3254)
This PR backports version bumps from `1.7.0` release branch and moves
related prdoc files to the appropriate folder.
2024-02-09 07:41:40 +00:00
Andrei Eres 07f8592974 subsystem-bench: run cli benchmarks only using config files (#3239)
This PR removes the configuration of subsystem benchmarks via CLI
arguments. After this, we only keep configurations only in yaml files.
It removes unnecessary code duplication
2024-02-08 13:33:32 +00:00
Andrei Eres 9e6298e7f7 subsystem-bench: Prepare CI output (#3158)
1. Benchmark results are collected in a single struct.
2. The output of the results is prettified.
3. The result struct used to save the output as a yaml and store it in
artifacts in a CI job.

```
$ cargo run -p polkadot-subsystem-bench --release -- test-sequence --path polkadot/node/subsystem-bench/examples/availability_read.yaml | tee output.txt
$ cat output.txt

polkadot/node/subsystem-bench/examples/availability_read.yaml #1

Network usage, KiB                     total   per block
Received from peers               510796.000  170265.333
Sent to peers                        221.000      73.667

CPU usage, s                           total   per block
availability-recovery                 38.671      12.890
Test environment                       0.255       0.085


polkadot/node/subsystem-bench/examples/availability_read.yaml #2

Network usage, KiB                     total   per block
Received from peers               413633.000  137877.667
Sent to peers                        353.000     117.667

CPU usage, s                           total   per block
availability-recovery                 52.630      17.543
Test environment                       0.271       0.090


polkadot/node/subsystem-bench/examples/availability_read.yaml #3

Network usage, KiB                     total   per block
Received from peers               424379.000  141459.667
Sent to peers                        703.000     234.333

CPU usage, s                           total   per block
availability-recovery                 51.128      17.043
Test environment                       0.502       0.167

```

```
$ cargo run -p polkadot-subsystem-bench --release -- --ci test-sequence --path polkadot/node/subsystem-bench/examples/availability_read.yaml | tee output.txt
$ cat output.txt
- benchmark_name: 'polkadot/node/subsystem-bench/examples/availability_read.yaml #1'
  network:
  - resource: Received from peers
    total: 509011.0
    per_block: 169670.33333333334
  - resource: Sent to peers
    total: 220.0
    per_block: 73.33333333333333
  cpu:
  - resource: availability-recovery
    total: 31.845848445
    per_block: 10.615282815
  - resource: Test environment
    total: 0.23582828799999941
    per_block: 0.07860942933333313

- benchmark_name: 'polkadot/node/subsystem-bench/examples/availability_read.yaml #2'
  network:
  - resource: Received from peers
    total: 411738.0
    per_block: 137246.0
  - resource: Sent to peers
    total: 351.0
    per_block: 117.0
  cpu:
  - resource: availability-recovery
    total: 18.93596025099999
    per_block: 6.31198675033333
  - resource: Test environment
    total: 0.2541994199999979
    per_block: 0.0847331399999993

- benchmark_name: 'polkadot/node/subsystem-bench/examples/availability_read.yaml #3'
  network:
  - resource: Received from peers
    total: 424548.0
    per_block: 141516.0
  - resource: Sent to peers
    total: 703.0
    per_block: 234.33333333333334
  cpu:
  - resource: availability-recovery
    total: 16.54178526900001
    per_block: 5.513928423000003
  - resource: Test environment
    total: 0.43960946299999537
    per_block: 0.14653648766666513
```

---------

Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
2024-02-06 16:57:38 +00:00
Alin Dima 7df1ae3b81 prospective-parachains: respond with multiple backable candidates (#3160)
Fixes https://github.com/paritytech/polkadot-sdk/issues/3129
2024-02-06 08:21:28 +00:00
Alexandru Gheorghe f9f886886b Introduce approval-voting/distribution benchmark (#2621)
## Summary
Built on top of the tooling and ideas introduced in
https://github.com/paritytech/polkadot-sdk/pull/2528, this PR introduces
a synthetic benchmark for measuring and assessing the performance
characteristics of the approval-voting and approval-distribution
subsystems.

Currently this allows, us to simulate the behaviours of these systems
based on the following dimensions:
```
TestConfiguration:
# Test 1
- objective: !ApprovalsTest
    last_considered_tranche: 89
    min_coalesce: 1
    max_coalesce: 6
    enable_assignments_v2: true
    send_till_tranche: 60
    stop_when_approved: false
    coalesce_tranche_diff: 12
    workdir_prefix: "/tmp"
    num_no_shows_per_candidate: 0
    approval_distribution_expected_tof: 6.0
    approval_distribution_cpu_ms: 3.0
    approval_voting_cpu_ms: 4.30
  n_validators: 500
  n_cores: 100
  n_included_candidates: 100
  min_pov_size: 1120
  max_pov_size: 5120
  peer_bandwidth: 524288000000
  bandwidth: 524288000000
  latency:
    min_latency:
      secs: 0
      nanos: 1000000
    max_latency:
      secs: 0
      nanos: 100000000
  error: 0
  num_blocks: 10
```

## The approach
1. We build a real overseer with the real implementations for
approval-voting and approval-distribution subsystems.
2. For a given network size, for each validator we pre-computed all
potential assignments and approvals it would send, because this a
computation heavy operation this will be cached on a file on disk and be
re-used if the generation parameters don't change.
3. The messages will be sent accordingly to the configured parameters
and those are split into 3 main benchmarking scenarios.

## Benchmarking scenarios

### Best case scenario *approvals_throughput_best_case.yaml*
It send to the approval-distribution only the minimum required tranche
to gathered the needed_approvals, so that a candidate is approved.

### Behaviour in the presence of no-shows *approvals_no_shows.yaml*
It sends the tranche needed to approve a candidate when we have a
maximum of *num_no_shows_per_candidate* tranches with no-shows for each
candidate.

### Maximum throughput *approvals_throughput.yaml*
It sends all the tranches for each block and measures the used CPU and
necessary network bandwidth. by the approval-voting and
approval-distribution subsystem.

## How to run it
```
cargo run -p polkadot-subsystem-bench --release -- test-sequence --path polkadot/node/subsystem-bench/examples/approvals_throughput.yaml
```

## Evaluating performance
### Use the real subsystems metrics
If you follow the steps in
https://github.com/paritytech/polkadot-sdk/tree/master/polkadot/node/subsystem-bench#install-grafana
for installing locally prometheus and grafana, all real metrics for the
`approval-distribution`, `approval-voting` and overseer are available.
E.g:
<img width="2149" alt="Screenshot 2023-12-05 at 11 07 46"
src="https://github.com/paritytech/polkadot-sdk/assets/49718502/cb8ae2dd-178b-4922-bfa4-dc37e572ed38">

<img width="2551" alt="Screenshot 2023-12-05 at 11 09 42"
src="https://github.com/paritytech/polkadot-sdk/assets/49718502/8b4542ba-88b9-46f9-9b70-cc345366081b">

<img width="2154" alt="Screenshot 2023-12-05 at 11 10 15"
src="https://github.com/paritytech/polkadot-sdk/assets/49718502/b8874d8d-632e-443a-9840-14ad8e90c54f">

<img width="2535" alt="Screenshot 2023-12-05 at 11 10 52"
src="https://github.com/paritytech/polkadot-sdk/assets/49718502/779a439f-fd18-4985-bb80-85d5afad78e2">

### Profile with pyroscope
1. Setup pyroscope following the steps in
https://github.com/paritytech/polkadot-sdk/tree/master/polkadot/node/subsystem-bench#install-pyroscope,
then run any of the benchmark scenario with `--profile` as the
arguments.
2. Open the pyroscope dashboard in grafana, e.g:
<img width="2544" alt="Screenshot 2024-01-09 at 17 09 58"
src="https://github.com/paritytech/polkadot-sdk/assets/49718502/58f50c99-a910-4d20-951a-8b16639303d9">



### Useful  logs
1. Network bandwidth requirements:
```
Payload bytes received from peers: 503993 KiB total, 50399 KiB/block
Payload bytes sent to peers: 629971 KiB total, 62997 KiB/block
```

2. Cpu usage by the approval-distribution/approval-voting subsystems.
```
approval-distribution CPU usage 84.061s
approval-distribution CPU usage per block 8.406s
approval-voting CPU usage 96.532s
approval-voting CPU usage per block 9.653s
```

3. Time passed until a given block is approved
```
 Chain selection approved  after 3500 ms hash=0x0101010101010101010101010101010101010101010101010101010101010101
Chain selection approved  after 4500 ms hash=0x0202020202020202020202020202020202020202020202020202020202020202
```

### Using benchmark to quantify improvements from
https://github.com/paritytech/polkadot-sdk/pull/1178 +
https://github.com/paritytech/polkadot-sdk/pull/1191

Using a versi-node we compare the scenarios where all new optimisations
are disabled with a scenarios where tranche0 assignments are sent in a
single message and a conservative simulation where the coalescing of
approvals gives us just 50% reduction in the number of messages we send.

Overall, what we see is a speedup of around 30-40% in the time it takes
to process the necessary messages and a 30-40% reduction in the
necessary bandwidth.

#### Best case scenario comparison(minimum required tranches sent).
Unoptimised
```
    Number of blocks: 10
    Payload bytes received from peers: 53289 KiB total, 5328 KiB/block
    Payload bytes sent to peers: 52489 KiB total, 5248 KiB/block
    approval-distribution CPU usage 6.732s
    approval-distribution CPU usage per block 0.673s
    approval-voting CPU usage 9.523s
    approval-voting CPU usage per block 0.952s
```

vs Optimisation enabled
```
   Number of blocks: 10
   Payload bytes received from peers: 32141 KiB total, 3214 KiB/block
   Payload bytes sent to peers: 37314 KiB total, 3731 KiB/block
   approval-distribution CPU usage 4.658s
   approval-distribution CPU usage per block 0.466s
   approval-voting CPU usage 6.236s
   approval-voting CPU usage per block 0.624s
```

#### Worst case all tranches sent, very unlikely happens when sharding
breaks.

Unoptimised
```
   Number of blocks: 10
   Payload bytes received from peers: 746393 KiB total, 74639 KiB/block
   Payload bytes sent to peers: 729151 KiB total, 72915 KiB/block
   approval-distribution CPU usage 118.681s
   approval-distribution CPU usage per block 11.868s
   approval-voting CPU usage 124.118s
   approval-voting CPU usage per block 12.412s
```

vs optimised
```
    Number of blocks: 10
    Payload bytes received from peers: 503993 KiB total, 50399 KiB/block
    Payload bytes sent to peers: 629971 KiB total, 62997 KiB/block
    approval-distribution CPU usage 84.061s
    approval-distribution CPU usage per block 8.406s
    approval-voting CPU usage 96.532s
    approval-voting CPU usage per block 9.653s
```


## TODOs
[x] Polish implementation.
[x] Use what we have so far to evaluate
https://github.com/paritytech/polkadot-sdk/pull/1191 before merging.
[x] List of features and additional dimensions we want to use for
benchmarking.
[x] Run benchmark on hardware similar with versi and kusama nodes.
[ ] Add benchmark to be run in CI for catching regression in
performance.
[ ] Rebase on latest changes for network emulation.

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
Co-authored-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
2024-02-05 06:46:22 +00:00
Bastian Köcher e0674cb3ad Enable async backing by default for Rococo/Westend (#3162)
This change is mainly for people running the local variants. They can
directly start with async backing.

---------

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
Co-authored-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2024-02-02 19:51:56 +00:00
Alexandru Gheorghe 261f4b713b Fail early at obviously invalid approvals (#3152)
Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2024-01-31 11:41:04 +00:00
Alexander Samusev 5b7f24fca1 [ci] Update rust in ci image (1.75 and 2024-01-22) (#3016)
cc https://github.com/paritytech/ci_cd/issues/926

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
Co-authored-by: Dónal Murray <donal.murray@parity.io>
Co-authored-by: Vladimir Istyufeev <vladimir@parity.io>
2024-01-30 23:17:44 +00:00
Andrei Sandu 4220503d28 Chore: link code TODO for removing redundant message information (#3126)
fixes #675

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2024-01-30 21:55:02 +00:00
Alexandru Gheorghe ff2e7dbd35 Move candidate-validation on blocking tasks (#3122)
Candidate validation has a lot of operations that are cpu bound on its
main loop things, like:
```
validation_code.hash()
sp_maybe_compressed_blob::decompress(
		&validation_code.0,
		VALIDATION_CODE_BOMB_LIMIT,
)

sp_maybe_compressed_blob::decompress(&pov.block_data.0, POV_BOMB_LIMIT) 
let code_hash = sp_crypto_hashing::blake2_256(&code).into();
```

When you add all that you for large POV and CODE it is going to take in
the order of 10s of ms and because these are cpu bound operation it is
going to hog the executor thread and negatively affect other subsystems
around it, so it is better to just move the subsystem on the blocking
pool to make sure such unexpected behaviour is avoided.

Note! In practice this subsystem does not have a high number of work to
be done, so probably the impact of it is really low, but better safe
than sorry.

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2024-01-30 09:05:54 +00:00
Alexandru Gheorghe a664908304 Fix recv_signal in orchestra (#3105)
Pulls: https://github.com/paritytech/orchestra/pull/71

---------

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2024-01-29 14:22:48 +00:00
Alejandro Martinez Andres 008e0fe45e Add paseo network --chain option and chain spec (#2668)
After some conversations around the topic of launching a community
staging network ( [forum post
1](https://forum.polkadot.network/t/a-new-test-network-for-polkadot/4325),
[forum post
2](https://forum.polkadot.network/t/the-new-polkadot-community-testnet/4956)
). And Erin having introduced the community testnet in the [last episode
of AAG](https://www.youtube.com/watch?v=uzJEGVG78_E&t=1612s).

I would like to include the `paseo` options as one of the chains
available for launching using the polkadot node.

Note that the chain spec implementation is not yet included at this
stage.

UPDATE:

Merged master with rebase enabled and introduced quite some noise in
this PR.
Relevant changes are in:
- `polkadot/node/service/chain-specs/paseo.json`
- `polkadot/node/service/src/chain_spec.rs`
- `polkadot/cli/src/command.rs`

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Sergej Sakac <73715684+Szegoo@users.noreply.github.com>
Co-authored-by: Dónal Murray <donal.murray@parity.io>
Co-authored-by: Adel Arja <adelarja@gmail.com>
Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com>
Co-authored-by: Ross Bulat <ross@parity.io>
Co-authored-by: Francisco Gamundi <52399794+fgamundi@users.noreply.github.com>
Co-authored-by: Adrian Catangiu <adrian@parity.io>
2024-01-29 10:09:31 +00:00
s0me0ne-unkn0wn 3e8139e7de Do not run unneeded subsystems on collator and its alongside node (#3061)
Currently, collators and their alongside nodes spin up a full-scale
overseer running a bunch of subsystems that are not needed if the node
is not a validator. That was considered to be harmless; however, we've
got problems with unused subsystems getting stalled for a reason not
currently known, resulting in the overseer exiting and bringing down the
whole node.

This PR aims to only run needed subsystems on such nodes, replacing the
rest with `DummySubsystem`.

It also enables collator-optimized availability recovery subsystem
implementation.

Partially solves #1730.
2024-01-29 09:53:51 +00:00
Alexandru Gheorghe 987edd8864 statement-distribution: fix parachains stalling on async_backing enablement (#3063)
Topology is coming only at the beginning of each session, so we might
lose it if prospective parachains was not enabled at the begining of the
session, so cache it for later use.

Fixes: https://github.com/paritytech/polkadot-sdk/issues/3058

---------

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2024-01-29 08:41:31 +00:00
Liam Aharon 3717ec3802 Sync Cargo.toml and crates.io versions (#3034)
Related https://github.com/paritytech/polkadot-sdk/issues/3032

---

Using https://github.com/liamaharon/cargo-workspace-version-tools/ 

`cargo run -- sync --path ../polkadot-sdk`

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2024-01-26 18:14:03 +00:00
Andrei Sandu 7f28ac6204 Remove duplicate subsystem-bench from Cargo.toml (#3073)
🤦🏼

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2024-01-26 10:55:38 +00:00
Andrei Sandu 47e46d178b Add subsystem benchmarks for availability-distribution and biftield-distribution (availability write) (#2970)
Introduce a new test objective : `DataAvailabilityWrite`.

The new benchmark measures the network and cpu usage of
`availability-distribution`, `biftield-distribution` and
`availability-store` subsystems from the perspective of a validator node
during the process when candidates are made available.

Additionally I refactored the networking emulation to support bandwidth
acounting and limits of incoming and outgoing requests.

Screenshot of succesful run


<img width="1293" alt="Screenshot 2024-01-17 at 19 17 44"
src="https://github.com/paritytech/polkadot-sdk/assets/54316454/fde11280-e25b-4dc3-9dc9-d4b9752f9b7a">

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2024-01-25 17:02:24 +00:00
Alexandru Gheorghe a6952c7469 approval-distribution: Update topology if authorities are discovered later (#2981)
Fixes: https://github.com/paritytech/polkadot-sdk/issues/2138.

Especially on restart AuthorithyDiscovery cache is not populated so we
create an invalid topology and messages won't be routed correctly for
the entire session. This PR proposes to try to fix this by updating the
topology as soon as we now the Authority/PeerId mapping, that should
impact the situation dramatically.


[This issue was hit
yesterday](https://grafana.teleport.parity.io/goto/o9q2625Sg?orgId=1),
on Westend and resulted in stalling the finality.


# TODO

- [x] Unit tests
- [x] Test impact on versi

---------

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2024-01-25 10:58:37 +00:00
asynchronous rob 5b8abbc884 statement-dist: activate leaves before unconditional deactivate (#3048)
https://github.com/paritytech/polkadot-sdk/pull/3042/files#r1465115145

---------

Co-authored-by: command-bot <>
2024-01-24 17:31:48 +00:00
Bastian Köcher a989ddfab9 statement-distribution: Ensure we deactivate leaves before activating (#3042)
As activation can fail, we ensure that we don't miss deactivation of
leaves.
2024-01-24 13:10:42 +00:00
Andrei Sandu b4dfad838c approval-distribution: aggresion must target unfinalized chain rather than unapproved chain (#2988)
Found the issue while investigating the recent finality stall on Westend
after upgrading to 1.6.0. Approval distribution aggression is supposed
to trade off bandwidth and re-send assignemnts/approvals until enough
approvals are be received by at least 2/3 validators. This is supposed
to be a catch all mechanism when network connectivity goes south or many
validators reboot at the same time.

This fix ensures that we always resend approvals starting with the first
unfinalized block even in the case when it appears approved from the
node's perspective.

TODO:
- [x] Versi test

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2024-01-23 12:59:09 +00:00
Niklas Adolfsson e16ef0861f rpc: backpressured RPC server (bump jsonrpsee 0.20) (#1313)
This is a rather big change in jsonrpsee, the major things in this bump
are:
- Server backpressure (the subscription impls are modified to deal with
that)
- Allow custom error types / return types (remove jsonrpsee::core::Error
and jsonrpee::core::CallError)
- Bug fixes (graceful shutdown in particular not used by substrate
anyway)
   - Less dependencies for the clients in particular
   - Return type requires Clone in method call responses
   - Moved to tokio channels
   - Async subscription API (not used in this PR)

Major changes in this PR:
- The subscriptions are now bounded and if subscription can't keep up
with the server it is dropped
- CLI: add parameter to configure the jsonrpc server bounded message
buffer (default is 64)
- Add our own subscription helper to deal with the unbounded streams in
substrate

The most important things in this PR to review is the added helpers
functions in `substrate/client/rpc/src/utils.rs` and the rest is pretty
much chore.

Regarding the "bounded buffer limit" it may cause the server to handle
the JSON-RPC calls
slower than before.

The message size limit is bounded by "--rpc-response-size" thus "by
default 10MB * 64 = 640MB"
but the subscription message size is not covered by this limit and could
be capped as well.

Hopefully the last release prior to 1.0, sorry in advance for a big PR

Previous attempt: https://github.com/paritytech/substrate/pull/13992

Resolves https://github.com/paritytech/polkadot-sdk/issues/748, resolves
https://github.com/paritytech/polkadot-sdk/issues/627
2024-01-23 08:55:13 +00:00
Davide Galassi 4c10fd2a41 Move cryptographic hashing procedures to crypto folder. (#2306)
Step towards https://github.com/paritytech/polkadot-sdk/issues/1975

As reported
https://github.com/paritytech/polkadot-sdk/issues/1975#issuecomment-1774534225
I'd like to encapsulate crypto related stuff in a dedicated folder.

Currently all cryptographic primitive wrappers are all sparsed in
`substrate/core` which contains "misc core" stuff.

To simplify the process, as the first step with this PR I propose to
move the cryptographic hashing there.

The `substrate/crypto` folder was already created to contains `ec-utils`
crate.

Notes:
- rename `sp-core-hashing` to `sp-crypto-hashing`
- rename `sp-core-hashing-proc-macro` to `sp-crypto-hashing-proc-macro`
- As the crates name is changed I took the freedom to restart fresh from
version 0.1.0 for both crates

---------

Co-authored-by: Robert Hambrock <roberthambrock@gmail.com>
2024-01-22 23:36:14 +00:00
Alexandru Gheorghe 95ff9b2c54 approval-voting: Move verbose log from debug to tracing (#3019)
... it was like that before it was accidentally changed in
https://github.com/paritytech/polkadot-sdk/commit/a84dd0dba58d51503b8942360aa4fb30a5a96af5

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2024-01-22 21:38:34 +00:00
Marcin S d53534c49e Enable async backing on asset-hub-rococo (#2826)
The goal is to move all system chains on Rococo (+ other testnets?) to
use async backing.

Starting with `asset-hub-rococo` to get feedback, before I do the rest.

## Related

Example: https://github.com/paritytech/polkadot-sdk/pull/1619/
Guide:
https://github.com/w3f/polkadot-wiki/blob/master/docs/maintain/maintain-guides-async-backing.md

---------

Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Dónal Murray <donal.murray@parity.io>
2024-01-22 10:29:13 +00:00
s0me0ne-unkn0wn d37a45650e Make candidate validation bounded again (#2125)
This PR aims to channel the backpressure of the PVF host's preparation
and execution queues to the candidate validation subsystem consumers.

Related: #708
2024-01-21 13:56:44 +00:00
jserrat 21ef949b6e Use clone instead of fork on pvf (#2477)
@mrcnski Done the change on the prepare worker, once the prepare worker
part is good I'll do the same for the execute worker.

This is based on
https://github.com/koute/polkavm/blob/11beebd06276ce9b84f335350138479e714f6caf/crates/polkavm/src/sandbox/linux.rs#L711.

## TODO

- [x] Add a check for this capability at startup
- [x] Add prdoc mentioning the new Secure Validator Mode (optional)
requirement.

## Related

Closes #2162

---------

Co-authored-by: Marcin S <marcin@realemail.net>
2024-01-21 11:15:36 +00:00
dependabot[bot] 66b2fa2e59 Bump libc from 0.2.149 to 0.2.152 (#2994)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.149 to 0.2.152.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/libc/releases">libc's
releases</a>.</em></p>
<blockquote>
<h2>0.2.152</h2>
<h2>What's Changed</h2>
<ul>
<li>openbsd: syscall() has been removed in upcoming OpenBSD 7.5 by <a
href="https://github.com/semarie"><code>@​semarie</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3479">rust-lang/libc#3479</a></li>
<li>adding tcp_info to openbsd by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3481">rust-lang/libc#3481</a></li>
<li>iadding yser_fpxregs_struct data to linux/musl i686. by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3477">rust-lang/libc#3477</a></li>
<li>strftime* api for *BSD by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3483">rust-lang/libc#3483</a></li>
<li>strftime_l for Linux glibc/musl by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3484">rust-lang/libc#3484</a></li>
<li>adding iocb data for io_submit syscall for linux/glibc. by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3486">rust-lang/libc#3486</a></li>
<li>Re-enable <code>i686-pc-windows-gnu</code> CI by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3489">rust-lang/libc#3489</a></li>
<li>Stop testing on FreeBSD 12 by <a
href="https://github.com/asomers"><code>@​asomers</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3475">rust-lang/libc#3475</a></li>
<li>Add <code>ifreq</code>, <code>ifconf</code> and related constants to
Android by <a
href="https://github.com/arctic-alpaca"><code>@​arctic-alpaca</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3487">rust-lang/libc#3487</a></li>
<li>Add waitid function for OpenBSD by <a
href="https://github.com/lcheylus"><code>@​lcheylus</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3490">rust-lang/libc#3490</a></li>
<li>adding SOMAXCONN to redox by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3491">rust-lang/libc#3491</a></li>
<li>Fix typos in comments by <a
href="https://github.com/asomers"><code>@​asomers</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3492">rust-lang/libc#3492</a></li>
<li>fix typos in libc by <a
href="https://github.com/Takashiidobe"><code>@​Takashiidobe</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3496">rust-lang/libc#3496</a></li>
<li>apple adding tcp_connection_info struct by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3482">rust-lang/libc#3482</a></li>
<li>Improve the version parser of Emscripten by <a
href="https://github.com/kleisauke"><code>@​kleisauke</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3498">rust-lang/libc#3498</a></li>
<li>Add constants from <!-- raw HTML omitted --> by <a
href="https://github.com/GuillaumeGomez"><code>@​GuillaumeGomez</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3505">rust-lang/libc#3505</a></li>
<li>Define <code>TFD_TIMER_*</code> constants on FreeBSD. by <a
href="https://github.com/sunfishcode"><code>@​sunfishcode</code></a> in
<a
href="https://redirect.github.com/rust-lang/libc/pull/3506">rust-lang/libc#3506</a></li>
<li>Add support for posix_spawn on OpenBSD by <a
href="https://github.com/nuudlman"><code>@​nuudlman</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3502">rust-lang/libc#3502</a></li>
<li>clock_nanosleep for dragonflybsd, moving constants freebsd only too.
by <a href="https://github.com/devnexen"><code>@​devnexen</code></a> in
<a
href="https://redirect.github.com/rust-lang/libc/pull/3509">rust-lang/libc#3509</a></li>
<li>solarish add fcntl's O_DIRECT constant. by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3503">rust-lang/libc#3503</a></li>
<li>Unpin cc dependency version by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3511">rust-lang/libc#3511</a></li>
<li>redox: add openpty, login_tty, TIOCSCTTY, and organize functions by
<a href="https://github.com/jackpot51"><code>@​jackpot51</code></a> in
<a
href="https://redirect.github.com/rust-lang/libc/pull/3512">rust-lang/libc#3512</a></li>
<li>Move all seccomp consts and structs into top-level mod by <a
href="https://github.com/boustrophedon"><code>@​boustrophedon</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3343">rust-lang/libc#3343</a></li>
<li>freebsd 15 support proposal. by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3508">rust-lang/libc#3508</a></li>
<li>Prepare workflow for merge queue by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3514">rust-lang/libc#3514</a></li>
<li>Allow dead_code on <code>clockid_t</code> by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3516">rust-lang/libc#3516</a></li>
<li>Add more items from <code>include/linux/sched.h</code> header by <a
href="https://github.com/GuillaumeGomez"><code>@​GuillaumeGomez</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3515">rust-lang/libc#3515</a></li>
<li>fix typo by <a
href="https://github.com/shuoer86"><code>@​shuoer86</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3517">rust-lang/libc#3517</a></li>
<li>Add sigsuspend to more targets: bsd, haiku, and solarish by <a
href="https://github.com/asomers"><code>@​asomers</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3518">rust-lang/libc#3518</a></li>
<li>Tweak libc-0.2 CI by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3519">rust-lang/libc#3519</a></li>
<li>fuchsia adding pthread_set/getname_np by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3520">rust-lang/libc#3520</a></li>
<li>Prepare docs for libc v0.3 by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3510">rust-lang/libc#3510</a></li>
<li>Merge main into libc-0.2 by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3521">rust-lang/libc#3521</a></li>
<li>Prepare release for v0.2.152 by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3522">rust-lang/libc#3522</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Takashiidobe"><code>@​Takashiidobe</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3496">rust-lang/libc#3496</a></li>
<li><a href="https://github.com/nuudlman"><code>@​nuudlman</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3502">rust-lang/libc#3502</a></li>
<li><a
href="https://github.com/boustrophedon"><code>@​boustrophedon</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3343">rust-lang/libc#3343</a></li>
<li><a href="https://github.com/shuoer86"><code>@​shuoer86</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3517">rust-lang/libc#3517</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/libc/compare/0.2.151...0.2.152">https://github.com/rust-lang/libc/compare/0.2.151...0.2.152</a></p>
<h2>0.2.151</h2>
<h2>What's Changed</h2>
<ul>
<li>Add new constants to be used in (linux) sysctl by <a
href="https://github.com/GuillaumeGomez"><code>@​GuillaumeGomez</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3423">rust-lang/libc#3423</a></li>
<li>openbsd ifreq implementation refinement ifru_data member using
proper… by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3390">rust-lang/libc#3390</a></li>
<li>adding reboot to netbsd/openbsd. by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3426">rust-lang/libc#3426</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rust-lang/libc/commit/3d175191e6c6ad2b97de090d86d28dbfa4d271a3"><code>3d17519</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/libc/issues/3522">#3522</a>
from JohnTitor/libc-0.2.152</li>
<li><a
href="https://github.com/rust-lang/libc/commit/0f5d2c1d419543819f072169eab72a85abd2e9d2"><code>0f5d2c1</code></a>
Prepare release for v0.2.152</li>
<li><a
href="https://github.com/rust-lang/libc/commit/ee500ca0541809005b4ec4c7157add1e170dc545"><code>ee500ca</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/libc/issues/3521">#3521</a>
from rust-lang/main</li>
<li><a
href="https://github.com/rust-lang/libc/commit/72093f38fbc3c3fec485b0aba6f1ef81ad59ca1e"><code>72093f3</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3510">#3510</a>
- JohnTitor:prepare-libc-0.3, r=JohnTitor</li>
<li><a
href="https://github.com/rust-lang/libc/commit/e5612b92d30668eea24495a2d6d84ed1f601f437"><code>e5612b9</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3520">#3520</a>
- devnexen:fuchsia_upd, r=JohnTitor</li>
<li><a
href="https://github.com/rust-lang/libc/commit/44ba265df55df13b37a3e1e2145053b68196074d"><code>44ba265</code></a>
fuchsia adding pthread_set/getname_np</li>
<li><a
href="https://github.com/rust-lang/libc/commit/2f93bfb7678e18a9fc5373dec49384bd23f601c3"><code>2f93bfb</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3519">#3519</a>
- JohnTitor:tweak-libc-0.2-ci, r=JohnTitor</li>
<li><a
href="https://github.com/rust-lang/libc/commit/11f7c7b89d9bfe8c53dcca7571c4965fa3375aab"><code>11f7c7b</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3518">#3518</a>
- asomers:more-sigsuspend, r=JohnTitor</li>
<li><a
href="https://github.com/rust-lang/libc/commit/0b9596b22c59cd97409c017cc4dc0620e15bd87c"><code>0b9596b</code></a>
Tweak libc-0.2 CI</li>
<li><a
href="https://github.com/rust-lang/libc/commit/5594447694db909c1ad8fa191a8ac0df734cdd23"><code>5594447</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3517">#3517</a>
- shuoer86:main, r=JohnTitor</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/libc/compare/0.2.149...0.2.152">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libc&package-manager=cargo&previous-version=0.2.149&new-version=0.2.152)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-19 15:04:02 +00:00
maksimryndin 47a3faa41e Pvf thiserror (#2958)
resolve #2157 

- [x] fix broken doc links
- [x] fix codec macro typo
https://github.com/paritytech/polkadot-sdk/blob/master/polkadot/node/core/pvf/common/src/error.rs#L81
(see the comment below)
- [x] refactor `ValidationError`, `PrepareError` and related error types
to use `thiserror` crate

## `codec` issue

`codec` macro was mistakenly applied two times to `Kernel` error (so it
was encoded with 10 instead of 11 and the same as `JobDied`). The PR
changes it to 11 because

- it was an initial goal of the code author
- Kernel is less frequent than JobDied so in case of existing error
encoding it is more probable to have 10 as JobDied than Kernel

See https://github.com/paritytech/parity-scale-codec/issues/555

----
polkadot address: 13zCyRG2a1W2ih5SioL8byqmQ6mc8vkgFwQgVzJSdRUUmp46

---------

Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
2024-01-19 14:10:09 +00:00
Andrei Sandu b469960461 approval-distribution: downgrade errors to debug (#2989)
This is not actually an error of the node, but an issue with the
incoming assignment.

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2024-01-18 17:28:55 +00:00
dependabot[bot] 1113fce5fb Bump the known_good_semver group with 1 update (#2953)
Bumps the known_good_semver group with 1 update:
[clap](https://github.com/clap-rs/clap).

Updates `clap` from 4.4.16 to 4.4.18
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.4.18</h2>
<h2>[4.4.18] - 2024-01-16</h2>
<h3>Fixes</h3>
<ul>
<li><em>(error)</em> When lacking <code>usage</code> feature, ensure the
list of required arguments is unique</li>
</ul>
<h2>v4.4.17</h2>
<h2>[4.4.17] - 2024-01-15</h2>
<h3>Fixes</h3>
<ul>
<li>Fix <code>panic!</code> when mixing
<code>args_conflicts_with_subcommands</code> with <code>ArgGroup</code>
(which is implicit with <code>derive</code>) introduced in 4.4.15</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.4.18] - 2024-01-16</h2>
<h3>Fixes</h3>
<ul>
<li><em>(error)</em> When lacking <code>usage</code> feature, ensure the
list of required arguments is unique</li>
</ul>
<h2>[4.4.17] - 2024-01-15</h2>
<h3>Fixes</h3>
<ul>
<li>Fix <code>panic!</code> when mixing
<code>args_conflicts_with_subcommands</code> with <code>ArgGroup</code>
(which is implicit with <code>derive</code>) introduced in 4.4.15</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/clap-rs/clap/commit/0134f45ff0e2e2be8c451565e4fbf5d3cb7b7cfd"><code>0134f45</code></a>
chore: Release</li>
<li><a
href="https://github.com/clap-rs/clap/commit/995ee032779d802606e599caf4f498ea51e92e82"><code>995ee03</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/clap-rs/clap/commit/2f1890907ed4e78674feeb96df34cfb813b84686"><code>2f18909</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5314">#5314</a>
from epage/required</li>
<li><a
href="https://github.com/clap-rs/clap/commit/0a635b9a20077e2f932a9baee527052d8ed45d9e"><code>0a635b9</code></a>
fix(parser): Don't duplicate requireds when usage disabled</li>
<li><a
href="https://github.com/clap-rs/clap/commit/e648e086f3934afb40b121b5999b9e23657ddc28"><code>e648e08</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5311">#5311</a>
from sourcefrog/doc-exitcode</li>
<li><a
href="https://github.com/clap-rs/clap/commit/8c83971b8c356b8c9abfbbb2320cb946a2ee8139"><code>8c83971</code></a>
docs: Link to exit code info</li>
<li><a
href="https://github.com/clap-rs/clap/commit/b250c0b5f5920b59e551bf0ec90e17c6103ae4a2"><code>b250c0b</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5310">#5310</a>
from epage/pty</li>
<li><a
href="https://github.com/clap-rs/clap/commit/c742b8eb0ca648b645b616e064e00408944f390e"><code>c742b8e</code></a>
chore(complete): Update completest-pty</li>
<li><a
href="https://github.com/clap-rs/clap/commit/f524d84c1d3eca1c980c5150c750d9e00cbbdb0c"><code>f524d84</code></a>
chore: Release</li>
<li><a
href="https://github.com/clap-rs/clap/commit/944fb81cf593af1cd3a58dd959c934f0ff483182"><code>944fb81</code></a>
docs: Update changelog</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/v4.4.16...v4.4.18">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.4.16&new-version=4.4.18)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Dónal Murray <donal.murray@parity.io>
2024-01-18 13:25:24 +01:00
Bastian Köcher 38205bf139 Downgrade logging to debug (#2980)
There is no need to spawn operators with this debug log.

Closes: https://github.com/paritytech/polkadot-sdk/issues/2974
2024-01-18 10:49:13 +00:00
Egor_P f80cfc2259 [Backport] Version bumps from 1.6.0 release (#2965)
This PR backports version bumps from release branch
`release-polkadot-v1.6.0` back to `master` and also moved `prdoc` files
related to the release to the appropriate folder
2024-01-17 14:40:23 +00:00
dependabot[bot] 33d533e1be Bump futures-util from 0.3.28 to 0.3.30 (#2952)
Bumps [futures-util](https://github.com/rust-lang/futures-rs) from
0.3.28 to 0.3.30.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/releases">futures-util's
releases</a>.</em></p>
<blockquote>
<h2>0.3.30</h2>
<ul>
<li>Add
<code>{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of</code>
(<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2797">#2797</a>)</li>
<li>Fix panic in <code>FuturesUnordered::clear</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2809">#2809</a>)</li>
<li>Fix panic in <code>AsyncBufReadExt::fill_buf</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2801">#2801</a>,
<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2812">#2812</a>)</li>
<li>Improve support for targets without atomic CAS (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
<li>Remove build scripts (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
</ul>
<h2>0.3.29</h2>
<ul>
<li>Add <code>TryStreamExt::try_ready_chunks</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2757">#2757</a>)</li>
<li>Add <code>TryStreamExt::{try_all,try_any}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2783">#2783</a>)</li>
<li>Add <code>UnboundedSender::{len,is_empty}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2750">#2750</a>)</li>
<li>Fix <code>Sync</code> impl of <code>FuturesUnordered</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2788">#2788</a>)</li>
<li>Fix infinite loop caused by invalid UTF-8 bytes (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2785">#2785</a>)</li>
<li>Fix build error with -Z minimal-versions (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2761">#2761</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures-util's
changelog</a>.</em></p>
<blockquote>
<h1>0.3.30 - 2023-12-24</h1>
<ul>
<li>Add
<code>{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of</code>
(<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2797">#2797</a>)</li>
<li>Fix panic in <code>FuturesUnordered::clear</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2809">#2809</a>)</li>
<li>Fix panic in <code>AsyncBufReadExt::fill_buf</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2801">#2801</a>,
<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2812">#2812</a>)</li>
<li>Improve support for targets without atomic CAS (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
<li>Remove build scripts (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
</ul>
<h1>0.3.29 - 2023-10-26</h1>
<ul>
<li>Add <code>TryStreamExt::try_ready_chunks</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2757">#2757</a>)</li>
<li>Add <code>TryStreamExt::{try_all,try_any}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2783">#2783</a>)</li>
<li>Add <code>UnboundedSender::{len,is_empty}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2750">#2750</a>)</li>
<li>Fix <code>Sync</code> impl of <code>FuturesUnordered</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2788">#2788</a>)</li>
<li>Fix infinite loop caused by invalid UTF-8 bytes (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2785">#2785</a>)</li>
<li>Fix build error with -Z minimal-versions (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2761">#2761</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/de1a0fd64a1bcae9a1534ed4da1699632993cc26"><code>de1a0fd</code></a>
Release 0.3.30</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/68d284545f79ca77690d935859ba0cfe0a1be4ac"><code>68d2845</code></a>
Remove a redundant space in example (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2816">#2816</a>)</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/fdd2ce716c1b1064332e4d20f23a58696a2c1c6f"><code>fdd2ce7</code></a>
Fix broken link in <code>CopyBufAbortable</code> docs (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2815">#2815</a>)</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/272a3c709f7502df32a70c621ffe02e1e24ca5a4"><code>272a3c7</code></a>
Use cfg(target_has_atomic) on no-std targets</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/c179201bd1ed11fe3200ca345a3aba3ddfd9497f"><code>c179201</code></a>
FillBuf: Do not call poll_fill_buf twice</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/e6735f3d01b9ced68a60e521f4f7961dc5e9ab0d"><code>e6735f3</code></a>
FuturesUnordered: Fix clear implementation</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/04d01a00a2924525658b19794534bec5672500e6"><code>04d01a0</code></a>
FuturesOrdered: Use 64-bit index</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/e4aa659649940c6412eaf6c4c38b939de3163430"><code>e4aa659</code></a>
remove redundant impl Unpin</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/17851c1f05598a0ec223bca292befbf1d225ac42"><code>17851c1</code></a>
provide a mechanism to determine if io read/write halves are from the
same st...</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/49107994e567323aa026f3f4a3cdb19bc04cf24b"><code>4910799</code></a>
provide a non-destructive mechanism to determine if a sink/stream are
paired</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/futures-rs/compare/0.3.28...0.3.30">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures-util&package-manager=cargo&previous-version=0.3.28&new-version=0.3.30)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 09:20:27 +01:00
Andrei Eres ec7bfae00a subsystem-bench: cache misses profiling (#2893)
## Why we need it
To provide another level of understanding to why polkadot's subsystems
may perform slower than expected. Cache misses occur when processing
large amounts of data, such as during availability recovery.

## Why Cachegrind
Cachegrind has many drawbacks: it is slow, it uses its own cache
simulation, which is very basic. But unlike `perf`, which is a great
tool, Cachegrind can run in a virtual machine. This means we can easily
run it in remote installations and even use it in CI/CD to catch
possible regressions.

Why Cachegrind and not Callgrind, another part of Valgrind? It is simply
empirically proven that profiling runs faster with Cachegrind.

## First results
First results have been obtained while testing of the approach. Here is
an example.

```
$ target/testnet/subsystem-bench --n-cores 10 --cache-misses data-availability-read
$ cat cachegrind_report.txt
I refs:        64,622,081,485
I1  misses:         3,018,168
LLi misses:           437,654
I1  miss rate:           0.00%
LLi miss rate:           0.00%

D refs:        12,161,833,115  (9,868,356,364 rd   + 2,293,476,751 wr)
D1  misses:       167,940,701  (   71,060,073 rd   +    96,880,628 wr)
LLd misses:        33,550,018  (   16,685,853 rd   +    16,864,165 wr)
D1  miss rate:            1.4% (          0.7%     +           4.2%  )
LLd miss rate:            0.3% (          0.2%     +           0.7%  )

LL refs:          170,958,869  (   74,078,241 rd   +    96,880,628 wr)
LL misses:         33,987,672  (   17,123,507 rd   +    16,864,165 wr)
LL miss rate:             0.0% (          0.0%     +           0.7%  )
```

The CLI output shows that 1.4% of the L1 data cache missed, which is not
so bad, given that the last-level cache had that data most of the time
missing only 0.3%. Instruction data of the L1 has 0.00% misses of the
time. Looking at an output file with `cg_annotate` shows that most of
the misses occur during reed-solomon, which is expected.
2024-01-16 17:14:29 +00:00
dependabot[bot] ac303406ff Bump the known_good_semver group with 1 update (#2926)
Bumps the known_good_semver group with 1 update:
[clap](https://github.com/clap-rs/clap).

Updates `clap` from 4.4.14 to 4.4.16
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.4.16</h2>
<h2>[4.4.16] - 2024-01-12</h2>
<h3>Fixes</h3>
<ul>
<li>Ensure invalid escape sequences in user-defined strings are
correctly stripped when terminal doesn't support color</li>
</ul>
<h2>v4.4.15</h2>
<h2>[4.4.15] - 2024-01-11</h2>
<h3>Fixes</h3>
<ul>
<li>Improve error for <code>args_conflicts_with_subcommands</code></li>
<li>Ensure we error for <code>args_conflicts_with_subcommands</code>
when using subcommand short and long flags</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.4.16] - 2024-01-12</h2>
<h3>Fixes</h3>
<ul>
<li>Ensure invalid escape sequences in user-defined strings are
correctly stripped when terminal doesn't support color</li>
</ul>
<h2>[4.4.15] - 2024-01-11</h2>
<h3>Fixes</h3>
<ul>
<li>Improve error for <code>args_conflicts_with_subcommands</code></li>
<li>Ensure we error for <code>args_conflicts_with_subcommands</code>
when using subcommand short and long flags</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/clap-rs/clap/commit/cbc9c9dd44fc4be25c196213d508b9d2a9c282f3"><code>cbc9c9d</code></a>
chore: Release</li>
<li><a
href="https://github.com/clap-rs/clap/commit/4718b89486c7c4236a18411b8449afc2d93f8e3d"><code>4718b89</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/clap-rs/clap/commit/38f805cea0cf50a0f26ed01e4fdf550ca8a555fa"><code>38f805c</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5299">#5299</a>
from epage/ansi</li>
<li><a
href="https://github.com/clap-rs/clap/commit/2a3356a53543531726e851e97639810f3828a89b"><code>2a3356a</code></a>
fix: Update anstream</li>
<li><a
href="https://github.com/clap-rs/clap/commit/12b5c39d467ea147c21f5eb3063fc0bc2538e9b7"><code>12b5c39</code></a>
chore: Release</li>
<li><a
href="https://github.com/clap-rs/clap/commit/1c5b63390babdb4f3a8994436da4e7f9239b7d43"><code>1c5b633</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/clap-rs/clap/commit/a5d46410e072b9821f76b21839849c4434a2f8da"><code>a5d4641</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5298">#5298</a>
from epage/conflict</li>
<li><a
href="https://github.com/clap-rs/clap/commit/f529ec398c4262296d5e6eb063b1b52d875d7f03"><code>f529ec3</code></a>
fix(parser): Ensure subcommand flags can conflict</li>
<li><a
href="https://github.com/clap-rs/clap/commit/a7e04a53e4a9e310663a0cdb5bfb0753d84b82bd"><code>a7e04a5</code></a>
fix(parser): Improve subcommand conflict error</li>
<li><a
href="https://github.com/clap-rs/clap/commit/ea00ef3051fd5a993b766062a4e9defc777bf233"><code>ea00ef3</code></a>
refactor(error): Allow more conflict sources</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/v4.4.14...v4.4.16">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.4.14&new-version=4.4.16)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 15:56:22 +01:00
Dmitry Markin 5208bed7d2 Extract warp sync strategy from ChainSync (#2467)
Extract `WarpSync` (and `StateSync` as part of warp sync) from
`ChainSync` as independent syncing strategy called by `SyncingEngine`.
Introduce `SyncingStrategy` enum as a proxy between `SyncingEngine` and
specific syncing strategies.

## Limitations
Gap sync is kept in `ChainSync` for now because it shares the same set
of peers as block syncing implementation in `ChainSync`. Extraction of a
common context responsible for peer management in syncing strategies
able to run in parallel is planned for a follow-up PR.

## Further improvements
A possibility of conversion of `SyncingStartegy` into a trait should be
evaluated. The main stopper for this is that different strategies need
to communicate different actions to `SyncingEngine` and respond to
different events / provide different APIs (e.g., requesting
justifications is only possible via `ChainSync` and not through
`WarpSync`; `SendWarpProofRequest` action is only relevant to
`WarpSync`, etc.)

---------

Co-authored-by: Aaro Altonen <48052676+altonen@users.noreply.github.com>
2024-01-12 15:17:15 +00:00
dependabot[bot] c4380d6e07 Bump indexmap from 1.9.3 to 2.0.0 (#2911)
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.9.3 to 2.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/bluss/indexmap/blob/master/RELEASES.md">indexmap's
changelog</a>.</em></p>
<blockquote>
<ul>
<li>
<p>2.0.0</p>
<ul>
<li>
<p><strong>MSRV</strong>: Rust 1.64.0 or later is now required.</p>
</li>
<li>
<p>The <code>&quot;std&quot;</code> feature is no longer auto-detected.
It is included in the
default feature set, or else can be enabled like any other Cargo
feature.</p>
</li>
<li>
<p>The <code>&quot;serde-1&quot;</code> feature has been removed,
leaving just the optional
<code>&quot;serde&quot;</code> dependency to be enabled like a feature
itself.</p>
</li>
<li>
<p><code>IndexMap::get_index_mut</code> now returns
<code>Option&lt;(&amp;K, &amp;mut V)&gt;</code>, changing
the key part from <code>&amp;mut K</code> to <code>&amp;K</code>. There
is also a new alternative
<code>MutableKeys::get_index_mut2</code> to access the former
behavior.</p>
</li>
<li>
<p>The new <code>map::Slice&lt;K, V&gt;</code> and
<code>set::Slice&lt;T&gt;</code> offer a linear view of maps
and sets, behaving a lot like normal <code>[(K, V)]</code> and
<code>[T]</code> slices. Notably,
comparison traits like <code>Eq</code> only consider items in order,
rather than hash
lookups, and slices even implement <code>Hash</code>.</p>
</li>
<li>
<p><code>IndexMap</code> and <code>IndexSet</code> now have
<code>sort_by_cached_key</code> and
<code>par_sort_by_cached_key</code> methods which perform stable sorts
in place
using a key extraction function.</p>
</li>
<li>
<p><code>IndexMap</code> and <code>IndexSet</code> now have
<code>reserve_exact</code>, <code>try_reserve</code>, and
<code>try_reserve_exact</code> methods that correspond to the same
methods on <code>Vec</code>.
However, exactness only applies to the direct capacity for items, while
the
raw hash table still follows its own rules for capacity and load
factor.</p>
</li>
<li>
<p>The <code>Equivalent</code> trait is now re-exported from the
<code>equivalent</code> crate,
intended as a common base to allow types to work with multiple map
types.</p>
</li>
<li>
<p>The <code>hashbrown</code> dependency has been updated to version
0.14.</p>
</li>
<li>
<p>The <code>serde_seq</code> module has been moved from the crate root
to below the
<code>map</code> module.</p>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/bluss/indexmap/commit/8e47be81a10bcb4b203955d6f6eb05bf85630c20"><code>8e47be8</code></a>
Merge pull request <a
href="https://redirect.github.com/bluss/indexmap/issues/267">#267</a>
from cuviper/release-2.0.0</li>
<li><a
href="https://github.com/bluss/indexmap/commit/ad694fbb8c73f92e4316e436422dc80763a7ed03"><code>ad694fb</code></a>
Release 2.0.0</li>
<li><a
href="https://github.com/bluss/indexmap/commit/b5b2814999255f82559f172d00d1382ae66d23c1"><code>b5b2814</code></a>
Merge pull request <a
href="https://redirect.github.com/bluss/indexmap/issues/266">#266</a>
from cuviper/doc-capacity</li>
<li><a
href="https://github.com/bluss/indexmap/commit/d3ea28992194484dea671a19b808b62ed8efd5d1"><code>d3ea289</code></a>
Document the lower-bound semantics of capacity</li>
<li><a
href="https://github.com/bluss/indexmap/commit/74e14dac622eac69fa292b100a51c5a385a81d61"><code>74e14da</code></a>
Merge pull request <a
href="https://redirect.github.com/bluss/indexmap/issues/264">#264</a>
from cuviper/equivalent</li>
<li><a
href="https://github.com/bluss/indexmap/commit/677c60522815f53e83ab173c199772567e9c9007"><code>677c605</code></a>
Add a relnote for Equivalent</li>
<li><a
href="https://github.com/bluss/indexmap/commit/6d83bc1902b95758d98ea973778d8fc4b4a599a2"><code>6d83bc1</code></a>
pub use equivalent::Equivalent;</li>
<li><a
href="https://github.com/bluss/indexmap/commit/bb48357fee6494a335963072ea8c51ed30903a19"><code>bb48357</code></a>
Merge pull request <a
href="https://redirect.github.com/bluss/indexmap/issues/263">#263</a>
from cuviper/insert_in_slot</li>
<li><a
href="https://github.com/bluss/indexmap/commit/c37dae6bcb2fc2c1f45b1e6fd924f92685acd8b3"><code>c37dae6</code></a>
Use hashbrown's new single-lookup insertion</li>
<li><a
href="https://github.com/bluss/indexmap/commit/ee71507aaacf25b43f99350af44c137e6af65a7c"><code>ee71507</code></a>
Merge pull request <a
href="https://redirect.github.com/bluss/indexmap/issues/262">#262</a>
from daxpedda/hashbrown-v0.14</li>
<li>Additional commits viewable in <a
href="https://github.com/bluss/indexmap/compare/1.9.3...2.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indexmap&package-manager=cargo&previous-version=1.9.3&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-12 09:32:07 +00:00
Marcin S 6a80c10a6f PVF: Remove artifact persistence across restarts (#2895)
Considering the complexity of
https://github.com/paritytech/polkadot-sdk/pull/2871 and the discussion
therein, as well as the further complexity introduced by the hardening
in https://github.com/paritytech/polkadot-sdk/pull/2742, as well as the
eventual replacement of wasmtime by PolkaVM, it seems best to remove
this persistence as it is creating more problems than it solves.

## Related

Closes https://github.com/paritytech/polkadot-sdk/issues/2863
2024-01-10 16:50:55 +01:00
Alin Dima f2a750ee86 add fallback request for req-response protocols (#2771)
Previously, it was only possible to retry the same request on a
different protocol name that had the exact same binary payloads.

Introduce a way of trying a different request on a different protocol if
the first one fails with Unsupported protocol.

This helps with adding new req-response versions in polkadot while
preserving compatibility with unupgraded nodes.

The way req-response protocols were bumped previously was that they were
bundled with some other notifications protocol upgrade, like for async
backing (but that is more complicated, especially if the feature does
not require any changes to a notifications protocol). Will be needed for
implementing https://github.com/polkadot-fellows/RFCs/pull/47

TODO:
- [x]  add tests
- [x] add guidance docs in polkadot about req-response protocol
versioning
2024-01-10 15:19:50 +02:00
dependabot[bot] ccd55552a8 Bump parking_lot from 0.11.2 to 0.12.1 (#2901)
Bumps [parking_lot](https://github.com/Amanieu/parking_lot) from 0.11.2
to 0.12.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md">parking_lot's
changelog</a>.</em></p>
<blockquote>
<h2>parking_lot 0.12.1 (2022-05-31)</h2>
<ul>
<li>Fixed incorrect memory ordering in <code>RwLock</code>. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/344">#344</a>)</li>
<li>Added <code>Condvar::wait_while</code> convenience methods (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/343">#343</a>)</li>
</ul>
<h2>parking_lot_core 0.9.3 (2022-04-30)</h2>
<ul>
<li>Bump windows-sys dependency to 0.36. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/339">#339</a>)</li>
</ul>
<h2>parking_lot_core 0.9.2, lock_api 0.4.7 (2022-03-25)</h2>
<ul>
<li>Enable const new() on lock types on stable. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/325">#325</a>)</li>
<li>Added <code>MutexGuard::leak</code> function. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/333">#333</a>)</li>
<li>Bump windows-sys dependency to 0.34. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/331">#331</a>)</li>
<li>Bump petgraph dependency to 0.6. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/326">#326</a>)</li>
<li>Don't use pthread attributes on the espidf platform. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/319">#319</a>)</li>
</ul>
<h2>parking_lot_core 0.9.1 (2022-02-06)</h2>
<ul>
<li>Bump windows-sys dependency to 0.32. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/316">#316</a>)</li>
</ul>
<h2>parking_lot 0.12.0, parking_lot_core 0.9.0, lock_api 0.4.6
(2022-01-28)</h2>
<ul>
<li>The MSRV is bumped to 1.49.0.</li>
<li>Disabled eventual fairness on wasm32-unknown-unknown. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/302">#302</a>)</li>
<li>Added a rwlock method to report if lock is held exclusively. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/303">#303</a>)</li>
<li>Use new <code>asm!</code> macro. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/304">#304</a>)</li>
<li>Use windows-rs instead of winapi for faster builds. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/311">#311</a>)</li>
<li>Moved hardware lock elision support to a separate Cargo feature. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/313">#313</a>)</li>
<li>Removed used of deprecated <code>spin_loop_hint</code>. (<a
href="https://redirect.github.com/Amanieu/parking_lot/issues/314">#314</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/336a9b31ff385728d00eb7ef173e4d054584b787"><code>336a9b3</code></a>
Release parking_lot 0.12.1</li>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/b69a0547ce6c92b164528c65daafa48e8f1c08bb"><code>b69a054</code></a>
Merge pull request <a
href="https://redirect.github.com/Amanieu/parking_lot/issues/343">#343</a>
from bryanhitc/master</li>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/3fe7233ee05fbae9bc94a831d4e66df0257880a2"><code>3fe7233</code></a>
Merge pull request <a
href="https://redirect.github.com/Amanieu/parking_lot/issues/344">#344</a>
from Amanieu/fix_rwlock_ordering</li>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/ef12b00daf0dbc6dd025098ec2cd0517bb9f737c"><code>ef12b00</code></a>
small test update</li>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/fdb063cd4e33d9c44cc08aea0c341ffec7e7b282"><code>fdb063c</code></a>
wait_while can't timeout fix</li>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/26e19dced4ae01000abc0dfca251f56695b1b8aa"><code>26e19dc</code></a>
Remove WaitWhileResult</li>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/d26c284fe8413bdeeed3ef4f70e23b5919a9ffeb"><code>d26c284</code></a>
Fix incorrect memory ordering in RwLock</li>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/045828381a5facff71b1aad3c01af15801959458"><code>0458283</code></a>
Use saturating_add for WaitWhileResult</li>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/686db4755913947219f83a04b21885032685d246"><code>686db47</code></a>
Add Condvar::wait_while convenience methods</li>
<li><a
href="https://github.com/Amanieu/parking_lot/commit/6f6e021ced6f67fef8002442aa97c4a08ed5c3e4"><code>6f6e021</code></a>
Merge pull request <a
href="https://redirect.github.com/Amanieu/parking_lot/issues/342">#342</a>
from MarijnS95/patch-1</li>
<li>Additional commits viewable in <a
href="https://github.com/Amanieu/parking_lot/compare/0.11.2...0.12.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=parking_lot&package-manager=cargo&previous-version=0.11.2&new-version=0.12.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 11:07:29 +00:00
ordian a4195326b9 statement-distribution: validator disabling (#1841)
Closes #1591.

The purpose of this PR is filter out backing statements from the network
signed by disabled validators. This is just an optimization, since we
will do filtering in the runtime in #1863 to avoid nodes to filter
garbage out at block production time.

- [x] Ensure it's ok to fiddle with the mask of manifests
- [x] Write more unit tests
- [x] Test locally
- [x] simple zombienet test
- [x] PRDoc

---------

Co-authored-by: Tsvetomir Dimitrov <tsvetomir@parity.io>
2024-01-10 10:32:52 +01:00
dependabot[bot] ce4e5496de Bump lycheeverse/lychee-action (#2875)
Bumps
[lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action)
from 2ac9f030ccdea0033e2510a23a67da2a2da98492 to
fdea7032675810093199f485fe075f057cc37b3e.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/fdea7032675810093199f485fe075f057cc37b3e"><code>fdea703</code></a>
Update secure git hash for 1.9.0</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/22134d37a1fff6c2974df9c92a7c7e1e86a08f9c"><code>22134d3</code></a>
Bump version to 1.9.0</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/ebd95ebde89b46eaf3567432efb0b52bad2187d7"><code>ebd95eb</code></a>
Update to latest lychee 0.14.0</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/37d79d3b6eda9990480a57eed21c847792dec37a"><code>37d79d3</code></a>
Add integration tests for absolute output path and <code>--dump</code>
(<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/218">#218</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/57219e4f1d23b32484889db3dbd73f6b814c9bfa"><code>57219e4</code></a>
Add integration test for custom output paths (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/1309">#1309</a>)
(<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/217">#217</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/a4282891d5805c0d9df0c0d524e2e95a3b0d1ac5"><code>a428289</code></a>
fix: cleanup if statement (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/215">#215</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/ef8c8f32c278e9eed290c6e6c96748f16b6cd335"><code>ef8c8f3</code></a>
Add documentation on using the <code>--base</code> param when testing
local files (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/211">#211</a>)</li>
<li>See full diff in <a
href="https://github.com/lycheeverse/lychee-action/compare/2ac9f030ccdea0033e2510a23a67da2a2da98492...fdea7032675810093199f485fe075f057cc37b3e">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: PG Herveou <pgherveou@gmail.com>
2024-01-10 00:12:35 +00:00
dependabot[bot] 14f49002c3 Bump the known_good_semver group with 1 update (#2881)
Bumps the known_good_semver group with 1 update:
[clap](https://github.com/clap-rs/clap).

Updates `clap` from 4.4.13 to 4.4.14
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.4.14</h2>
<h2>[4.4.14] - 2024-01-08</h2>
<h3>Documentation</h3>
<ul>
<li>Fix <code>find</code> cookbook entry to allow repeats of
flags/options</li>
</ul>
<h3>Features</h3>
<ul>
<li>Allow <code>num_args(0)</code> on options which allows making them
emulate being a flag for position-tracking flags</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.4.14] - 2024-01-08</h2>
<h3>Documentation</h3>
<ul>
<li>Fix <code>find</code> cookbook entry to allow repeats of
flags/options</li>
</ul>
<h3>Features</h3>
<ul>
<li>Allow <code>num_args(0)</code> on options which allows making them
emulate being a flag for position-tracking flags</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/clap-rs/clap/commit/514f28bc92ed683d53292cbe9457db3ec5df7b6f"><code>514f28b</code></a>
chore: Release</li>
<li><a
href="https://github.com/clap-rs/clap/commit/1440456d3ddaa6d9624297d83de9bb9abe82f10b"><code>1440456</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/clap-rs/clap/commit/d6479ff7ddbcf524146428c92be23273b4f8bac5"><code>d6479ff</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5290">#5290</a>
from epage/or</li>
<li><a
href="https://github.com/clap-rs/clap/commit/02f82146ad746ce9d1874e38ec7033150bb12622"><code>02f8214</code></a>
docs(cookbook): Clarify intent of fake flags</li>
<li><a
href="https://github.com/clap-rs/clap/commit/c603f34574832b8894b44e0f67fd19dc7869e808"><code>c603f34</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5275">#5275</a>
from epage/ci</li>
<li><a
href="https://github.com/clap-rs/clap/commit/641b42b2e82086775619bd15854ddb5b80311b49"><code>641b42b</code></a>
chore(ci): Speed up critical path of CI</li>
<li><a
href="https://github.com/clap-rs/clap/commit/3eaf1af052bd5255cc2440dc1cc8f80831a3428b"><code>3eaf1af</code></a>
fix(help): Correctly show help for fake flags</li>
<li><a
href="https://github.com/clap-rs/clap/commit/d63106b9f698df0d2241662ab1459c823890dec4"><code>d63106b</code></a>
docs(cookbook): Allow repeated operators</li>
<li><a
href="https://github.com/clap-rs/clap/commit/148e102ac37bd0e5ca99cfe9c5d57ffc6243cf66"><code>148e102</code></a>
fix(builder): Allow custom flag definitions</li>
<li><a
href="https://github.com/clap-rs/clap/commit/d53d881e339fec64e48990170b542fae4140eaaa"><code>d53d881</code></a>
docs(cookbook): Demonstrate bad 'find' behavior</li>
<li>See full diff in <a
href="https://github.com/clap-rs/clap/compare/v4.4.13...v4.4.14">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.4.13&new-version=4.4.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 15:46:44 +00:00
ordian 0ff3f4d3af dispute-coordinator: disabling in participation (#2637)
Closes #2225.

- [x] tests
- [x] fix todos
- [x] fix duplicates
- [x] make the check part of `potential_spam` 
- [x] fix a bug with votes insertion
- [x] guide changes
- [x] docs

---------

Co-authored-by: Tsvetomir Dimitrov <tsvetomir@parity.io>
2024-01-09 08:44:19 +02:00
ordian a02b53475b backport to master: Handling of disabled validators in backing subsystem (#1259) (#2764)
#1259 was merged into a feature branch, but we've decided to merge
node-side changes for disabling straight into master.
This is a dependency of #1841 and #2637.

---------

Co-authored-by: Tsvetomir Dimitrov <tsvetomir@parity.io>
2024-01-08 21:58:30 +02:00