Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

Backport PNA fixes from upstream #176

Merged
merged 416 commits into from
Sep 14, 2024

Conversation

yrong
Copy link

@yrong yrong commented Sep 5, 2024

No description provided.

ParthDesai and others added 30 commits August 27, 2024 15:08
## Description
This PR changes `PendingConfigs` storage item's visibility from crate to
public. This enable us to read it in our runtime.

---------

Co-authored-by: Bastian Köcher <[email protected]>
Opening this PR to add our bootnodes for the IBP. These nodes are
located in Santiago Chile, we own and manage the underlying hardware. If
you need any more information please let me know.


Commands to test:

```
./polkadot --tmp --name "testing-bootnode" --chain kusama --reserved-only --reserved-nodes "/dns/kusama.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWJHhnF64TXSmyxNkhPkXAHtYNRy86LuvGQu1LTi5vrJCL" --no-hardware-benchmarks

./polkadot --tmp --name "testing-bootnode" --chain paseo --reserved-only --reserved-nodes "/dns/paseo.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWMdND5nwfCs5M2rfp5kyRo41BGDgD8V67rVRaB3acgZ53" --no-hardware-benchmarks

./polkadot --tmp --name "testing-bootnode" --chain polkadot --reserved-only --reserved-nodes "/dns/polkadot.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWEymrFRHz6c17YP3FAyd8kXS5gMRLgkW4U77ZJD2ZNCLZ" --no-hardware-benchmarks

./polkadot --tmp --name "testing-bootnode" --chain westend --reserved-only --reserved-nodes "/dns/westend.bootnode.stkd.io/tcp/30633/wss/p2p/12D3KooWHaQKkJiTPqeNgqDcW7dfYgJxYwT8YqJMtTkueSu6378V" --no-hardware-benchmarks
```
)

This PR introduces a feature that allows to optionally enable using the
full PoV size.

Technically, we're ready to enable it by default, but as corresponding
runtime changes have not been propagated to the system parachain
runtimes yet, doing so could put them at risk. On the other hand, there
are teams that could benefit from it right now, and it makes no sense
for them to wait for the fellowship release and everything.

---------

Co-authored-by: Andrei Sandu <[email protected]>
Related to: paritytech#5210

Follow-up for paritytech#5288, as
per this comment:
paritytech#5288 (comment)

I hope I understood this correctly.
as part of paritytech/devops/3502, try-runtime nodes were migrated to a
new provider with a new domain address. The PR fixes all the references
to try-runtime nodes on rococo, westend, kusama and polkadot networks.

---------

Co-authored-by: ArshamTeymouri <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Niklas Adolfsson <[email protected]>
The accepted divergence rate of 1/1000 is excessive and leads to false
positives especially after
paritytech#4772 and
paritytech#5042, so let's increase
it to 1/100 since we do have some randomness in the system and there is
no point in being that strict.

Fixes: paritytech#5463

---------

Signed-off-by: Alexandru Gheorghe <[email protected]>
…rpc-endpoint` CLI option (paritytech#4792)

Close paritytech#3488,
paritytech#4331

This changes/adds the following:

1. The default setting is that substrate starts a rpc server that
listens to localhost both Ipv4 and Ipv6 on the same port. Ipv6 is
allowed to fail because some platforms may not support it
2. A new RPC CLI option `--experimental-rpc-endpoint` which allow to
configure arbitrary listen addresses including the port, if this is
enabled no other interfaces are enabled.
3. If the local addr is not found for any of the sockets the server is
not started throws an error.
4. Remove the deny_unsafe from the RPC implementations instead this is
an extension to allow different polices for different interfaces/sockets
such one may enable unsafe on local interface and safe on only the
external interface.

So for instance in this PR it's now possible to start up three RPC
endpoints as follows:
```
$ polkadot --experimental-rpc-endpoint "listen-addr=127.0.0.1:9944,rpc-methods=unsafe" --experimental-rpc-endpoint "listen-addr=0.0.0.0:9945,rpc-methods=safe,rate-limit=100" --experimental-rpc-endpoint "listen-addr=[::1]:9944,optional=true"
```

#### Needs to be addressed

~1. Support binding to a random port if it's fails with the default
stuff for backward compatible reasons~
~2. How to sync that the rpc CLI params and that the rpc-listen-addr
align, hard to maintain...~
~3. Add similar warning prints for exposing unsafe methods on external
interfaces..~
~4. Inline todos + the hacky String conversion from rpc params.~

#### Cons with this PR

Manual strings parsing impl more error-prone than relying on clap....

//cc @jsdw @BulatSaif @PierreBesson @bkchr

---------

Co-authored-by: Sebastian Kunert <[email protected]>
✄
-----------------------------------------------------------------------------

Thank you for your Pull Request! 🙏 Please make sure it follows the
contribution guidelines outlined in [this

document](https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md)
and fill out the
sections below. Once you're ready to submit your PR for review, please
delete this section and leave only the text under
the "Description" heading.

# Description

*A concise description of what your PR is doing, and what potential
issue it is solving. Use [Github semantic

linking](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)
to link the PR to an issue that must be closed once this is merged.*

## Integration

*In depth notes about how this PR should be integrated by downstream
projects. This part is mandatory, and should be
reviewed by reviewers, if the PR does NOT have the `R0-Silent` label. In
case of a `R0-Silent`, it can be ignored.*

## Review Notes

*In depth notes about the **implementation** details of your PR. This
should be the main guide for reviewers to
understand your approach and effectively review it. If too long, use

[`<details>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details)*.

*Imagine that someone who is depending on the old code wants to
integrate your new code and the only information that
they get is this section. It helps to include example usage and default
value here, with a `diff` code-block to show
possibly integration.*

*Include your leftover TODOs, if any, here.*

# Checklist

* [ ] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [ ] My PR follows the [labeling requirements](

https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
) of this project (at minimum one label for `T` required)
* External contributors: ask maintainers to put the right label on your
PR.
* [ ] I have made corresponding changes to the documentation (if
applicable)
* [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)

You can remove the "Checklist" section once all have been checked. Thank
you for your contribution!

✄
-----------------------------------------------------------------------------

Co-authored-by: Dónal Murray <[email protected]>
A test is triggering a log error. But is correct and successful. This is
a refactor without triggering the log error.
…tytech#5269)

Related to paritytech#4787

The main changes in this PR are the following:
- making the NodeSpec logic generic on the Block type
- adding an omni-node variant with u64 block number

Apart from this, the PR also moves some of the logic in `service.rs` to
the `common` subfolder

The omni-node variant with u64 block number is not used yet. We have to
either expose the option in the CLI or to read the block number from the
chain spec somehow. Will do it in a future PR.
Related to: paritytech#3176

This PR:
- migrates test 0003 to the new bridges zombienet tests command
**This test didn't work before and it still doesn't work. It was added
at a time when we couldn't run it because we didn't have the scafolding.
It needs to be fixed. For the moment we keep it in the repo as it is
since the idea has value. But we don't run it in the CI. We can also
decide to remove it in the future**
- removes the old command for running bridge zombienet tests
- updates the README
Bumps [rustversion](https://github.com/dtolnay/rustversion) from 1.0.14
to 1.0.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/rustversion/releases">rustversion's
releases</a>.</em></p>
<blockquote>
<h2>1.0.17</h2>
<ul>
<li>Support Windows builds that have OUT_DIR prefixed with
<code>\\?\</code> (<a
href="https://redirect.github.com/dtolnay/rustversion/issues/51">#51</a>)</li>
</ul>
<h2>1.0.16</h2>
<ul>
<li>Resolve unexpected_cfgs warning (<a
href="https://redirect.github.com/dtolnay/rustversion/issues/48">#48</a>)</li>
</ul>
<h2>1.0.15</h2>
<ul>
<li>Recognize $RUSTC_WRAPPER environment variable (<a
href="https://redirect.github.com/dtolnay/rustversion/issues/47">#47</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/rustversion/commit/adb11fa32295a5d3df7b742e545f4e9b776f9bb3"><code>adb11fa</code></a>
Release 1.0.17</li>
<li><a
href="https://github.com/dtolnay/rustversion/commit/875982000ea11f59a67564bf34c6f3255935b6e2"><code>8759820</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/rustversion/issues/51">#51</a>
from dtolnay/windows</li>
<li><a
href="https://github.com/dtolnay/rustversion/commit/cfafcd5906e6020ae67014e33a84446824301c95"><code>cfafcd5</code></a>
Support OUT_DIR located in \?\ path on Windows</li>
<li><a
href="https://github.com/dtolnay/rustversion/commit/c7bc274d96fbde0fe3b3fd5a4a9ea1e0215b0ddb"><code>c7bc274</code></a>
Release 1.0.16</li>
<li><a
href="https://github.com/dtolnay/rustversion/commit/746bf5af0dc5423574982ba2f479190b643c98fe"><code>746bf5a</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/rustversion/issues/48">#48</a>
from dtolnay/checkcfg</li>
<li><a
href="https://github.com/dtolnay/rustversion/commit/84f01fa8d731c51842848a4e4d27750cefd879e0"><code>84f01fa</code></a>
Resolve unexpected_cfgs warning</li>
<li><a
href="https://github.com/dtolnay/rustversion/commit/70ca5ad8a2aba79053be803a4e70156b46e44028"><code>70ca5ad</code></a>
Release 1.0.15</li>
<li><a
href="https://github.com/dtolnay/rustversion/commit/0fa74f583b1fff92ed6f48acad6509428f44ed1a"><code>0fa74f5</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/rustversion/issues/47">#47</a>
from dtolnay/rustcwrapper</li>
<li><a
href="https://github.com/dtolnay/rustversion/commit/51f46e2d2281dce75a8e4d46c0ed55f2ae3c4e33"><code>51f46e2</code></a>
Apply RUSTC_WRAPPER</li>
<li><a
href="https://github.com/dtolnay/rustversion/commit/df7e51d0f01e06b2212c96f26cd04af5c59e1e39"><code>df7e51d</code></a>
Explicitly install a Rust toolchain for cargo-outdated job</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/rustversion/compare/1.0.14...1.0.17">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustversion&package-manager=cargo&previous-version=1.0.14&new-version=1.0.17)](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 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [blake2b_simd](https://github.com/oconnor663/blake2_simd) from
1.0.1 to 1.0.2.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/oconnor663/blake2_simd/commit/1dfcf325200cf281d9313ae79734c828d914d241"><code>1dfcf32</code></a>
version 1.0.2</li>
<li><a
href="https://github.com/oconnor663/blake2_simd/commit/b66d6b5124e7568bbb92f8a1f22e043ac8cded25"><code>b66d6b5</code></a>
Bump constant_time_eq to 0.3 and MSRV to 1.66</li>
<li><a
href="https://github.com/oconnor663/blake2_simd/commit/d9ce189cb98e00b0a0653d8a9586ff12e5774202"><code>d9ce189</code></a>
stop using MIPS for big-endian testing</li>
<li><a
href="https://github.com/oconnor663/blake2_simd/commit/9d338b55992a5e6a0411e2da7153ec654f70b213"><code>9d338b5</code></a>
use <code>avoid-dev-deps</code> for the MSRV test</li>
<li><a
href="https://github.com/oconnor663/blake2_simd/commit/c347f493365a82bc4472a05609c68a1152439b44"><code>c347f49</code></a>
update the assert_cmd test dependency to v2.0.8</li>
<li>See full diff in <a
href="https://github.com/oconnor663/blake2_simd/compare/1.0.1...1.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blake2b_simd&package-manager=cargo&previous-version=1.0.1&new-version=1.0.2)](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 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ISSUE
Link to the issue:
paritytech#3326

Deliverables

[Deprecation] remove pallet::getter usage from pallet-treasury

---------

Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Dónal Murray <[email protected]>
Co-authored-by: Dónal Murray <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Closes paritytech/product-engineering#93

- Deprecates old command bot bash scripts. New cmd implementation is
re-written on Python
- Deprecates `sync` command, which was never used
- Benchmarks:
- Uses new
[frame-omni-bencher](https://crates.io/crates/frame-omni-bencher)
- Simplifies usage to only providing a runtime and/or pallet name (even
multiple runtimes or pallets)
- Supports sub-modules (like `/cmd bench --runtime dev --pallet
pallet_asset_conversion_ops`)
- Can regenerate all weights with one command (substrate, polkadot,
cumulus) for provided pallet(s) name
- Adds [subweight](https://crates.io/crates/subweight-core) diff as a
result of bench command
…#5354)

Currently, when the pallet is compiled with the `insecure_zero_ed flag`,
benchmarks fail because the minimum balance is set to zero.

The PR aims to resolve this issue by implementing a placeholder value
for the minimum balance when the `insecure_zero_ed` flag is active. it
ensures that benchmarks run successfully regardless of whether this flag
is used or not
Adds a bot that automatically opens MRs into the `stable2407` branch
when the `A4-needs-backport` label is applied to a merged MR.

TODO:
- [x] ~~Settle on label vs error message trade-off~~ (resolved)

docs:

# Backporting

This document explains how to backport a merged PR from `master` to one
of the `stable*` branches. Backports should only be used to fix bugs or
security issues - never to introduce new features.

## Steps

1. Fix a bug through a PR that targets `master`.
2. Add label `A4-needs-backport` to the PR.
4. Merge the PR into `master`.
5. Wait for the bot to open the backport PR.
6. Ensure the change is audited or does not need audit.
7. Merge the backport PR. 

The label can also be added after the PR is merged.

## Example

For example here where the dev triggered the process by adding the label
after merging:


![backport-ex2](https://github.com/user-attachments/assets/c7b686db-a0fe-41f1-9d6f-959a5a7097b1)

---------

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
closes paritytech#849

## Context

For the background on this and the long-term fix, see
paritytech#849 (comment).

## Changes

* The weigh files are renamed from `runtime_(parachains|common).*` to
`polkadot_runtime_(parachains|common).*`. The reason for it is the
renaming introduced in paritytech#4633. The new weight command and files are
generated now include `polkadot_` prefix.
* The WeightInfo for `paras_inherent` now includes `enter_empty` which
calculates the cost of processing an empty parachains inherent. This
cost is subtracted dynamically when calculating other weights (so the
other weights remain the same)

## Benefits

See
paritytech#849 (comment),
but TL;DR is that we are not blocked on weights for scaling the number
of validators and cores further.

Resolved questions:
- [x] why new benchmarks for westend are doing fewer db IOPS?
Is it due polkadot-sdk update (db IOPS diff)?
or the bench setup is no longer valid?

https://github.com/polkadot-fellows/runtimes/blob/7723274a2c5cbb10213379271094d5180716ca7d/relay/polkadot/src/weights/runtime_parachains_paras_inherent.rs#L131-L196
Answer: see background section of paritytech#5270 

TODOs:
- [x] Rerun benchmarks for Rococo and Westend
- [x] PRDoc

---------

Co-authored-by: command-bot <>
PR migrates jobs `quick-benchmarks`, `cargo-clippy`, `check-try-runtime`
and `check-core-crypto-features` from Gitlab to GitHub

cc paritytech/ci_cd#1006

---------

Co-authored-by: Maksym H <[email protected]>
…ech#5316)

# Description

Add `starting_timestamp` function for `Slot` type.

## Integration

This is an addition of public function to a type, so integration should
be seamless for idiomatic use of Rust.

## Review Notes

Since `Slot` is just a slot number, the it's starting timestamp depends
on `SlotDuration` which is a parameter to the added function. This
function can be seen as dual to existing `fn from_timestamp`.
Because there is a potential for overflow, the return type is `Option`.

Q1: should I introduce tests for in this crate and add cases for both
case: overflow (`None`) and no overflow (`Some`)?

Q2: How can I add labels? IMO they should be `T0-node` and `D0-easy` but
I cannot add them using GH interface.

# Checklist

* [x] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [ ] My PR follows the [labeling requirements](CONTRIBUTING.md#Process)
of this project (at minimum one label for `T`
  required)
* External contributors: ask maintainers to put the right label on your
PR.
* [ ] I have made corresponding changes to the documentation (if
applicable)
* [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)

---------

Co-authored-by: Squirrel <[email protected]>
Co-authored-by: Davide Galassi <[email protected]>
Changes:
- Backport bot should just commit merge conflicts instead of failing.
On top of paritytech#5082.

## Background

Previously, before paritytech#3479, we would
[include](https://github.com/paritytech/polkadot-sdk/blame/75074952a859f90213ea25257b71ec2189dbcfc1/polkadot/runtime/parachains/src/builder.rs#L508C12-L508C44)
the cost enacting the candidate into the cost of processing a single
bitfield.
[Now](https://github.com/paritytech/polkadot-sdk/blame/dd48544a573dd02da2082cec1dda7ce735e2e719/polkadot/runtime/parachains/src/builder.rs#L529)
it is different, although the benchmarks seems to be not-up-to date.
Including the cost of enacting a candidate into a processing a single
bitfield cost was incorrect, since we multiple that by the number of
bitfields we have. Instead, we should separate calculate the cost of
processing a single bitfield without enactment, and multiple the cost of
enactment by the actual number of processed candidates (which is limited
by the number cores, not validators).

## Bench

Previously, the weight of `enact_candidate` was calculated manually
(without a benchmark) and then neglected:
https://github.com/paritytech/polkadot-sdk/blob/dd48544a573dd02da2082cec1dda7ce735e2e719/polkadot/runtime/parachains/src/inclusion/mod.rs#L584

In this PR, we have a benchmark for it and it's based on the number of
ump and sent hrmp messages as well as whether the candidate has a
runtime upgrade (new_validation_code).
The differences from the previous attempt
paritytech/polkadot#6929 are that
* we don't include the cost of enactment into the cost of processing a
backed candidate.
The reason for it is that enactment happens not in the same block as
backing (typically the next one), since we process bitfields before
backing votes.
* we don't take into account the size of the runtime upgrade, the
benchmark weight doesn't seem to depend much on it, but rather whether
there was one or not.

Similarly to the previous attempt, we don't account for dmp messages
(fixed cost). Also we don't account properly for received hrmp messages
(hrmp_watermark) because the cost of it depends on the runtime state and
can't be statically deduced in the benchmark (unless we pass the
information about channels as benchmark u32 arguments).

The total weight cost of processing a parainherent now includes the cost
of enactment of each candidate, but we don't do filtering based on that
(because we enact after processing bitfields and making other changes to
the storage).

## Numbers

```
Reads = 7 + (0 * u) + (3 * h) + (8 * c)
Writes = 10 + (1 * u) + (3 * h) + (7 * c)
```
In addition, there is a fixed cost of a few of ms (!) per candidate. 

This might result a full block slightly overflowing its weight with 200
enacted candidates, which in turn could prevent non-mandatory
transactions from being included in a block.

Given our modest limits on max ump and hrmp messages:
```
  maxUpwardMessageNumPerCandidate: 16
  hrmpMaxMessageNumPerCandidate: 10
```
and the fact that runtime upgrades are can't happen very frequently
(`validation_upgrade_cooldown`), we might only go over the limits in
case of many disputes.

TODOs:
- [x] Fix the overweight test
- [x] Generate the weights for Westend and Rococo
- [x] PRDoc

---------

Co-authored-by: command-bot <>
Co-authored-by: Alin Dima <[email protected]>
PR moves rococo and wococo check-runtime-migration jobs to GHA

cc paritytech/ci_cd#1006
Add support in subsystem-benchmarks to profile memory usage using the
jemalloc builting profiler, this allows us to run each benchmark with
profiling enabled and determine if the memory usage patters are in
conformance with our expectations.

---------

Signed-off-by: Alexandru Gheorghe <[email protected]>
This is used for the steps that use the `macos` runner.

It installs the Rust version that we are using in the [`forklift`
image](https://github.com/paritytech/polkadot-sdk/blob/master/.github/env).

To be used in paritytech#5386.
Tiny changes to simplify the code:

- Remove an unnecessary `collect`.
- Reduce the code duplication a little bit.

---------

Co-authored-by: Alexandru Vasile <[email protected]>
As Runtime release 1.3.0 includes all of the remaining staging
primitives and APIs we can now release primitives version 8.
No other changes other than renaming/moving done here.

---------

Signed-off-by: Andrei Sandu <[email protected]>
# Description

The error message should be logged out when the check method returns an
error.

Because specific information is lost when `UmpAcceptanceCheckErr`,
`ProcessedDownwardMessagesAcceptanceErr`, `HrmpWatermarkAcceptanceErr`,
`OutboundHrmpAcceptanceErr` are converted to `AcceptanceCheckErr`, a log
is added to each check.

## Integration

## Review Notes

# Checklist

* [ ] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [ ] My PR follows the [labeling requirements](

https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
) of this project (at minimum one label for `T` required)
* External contributors: ask maintainers to put the right label on your
PR.
* [ ] I have made corresponding changes to the documentation (if
applicable)
* [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)
yrong and others added 28 commits September 11, 2024 17:46
Fixes paritytech#5577 

I decided to bubble up the error from where we actually try to load the
contract info. This helps to make sure that we don't miss some entry
point by accident. The draw back is that we have to live with some
additional `.expect`.

@pgherveou With this logic the proxy and its runtime part should be
completely unaware whether something is a contract call or a balance
transfer. They should just route everything into pallet_revive.

---------

Co-authored-by: Cyrill Leutwiler <[email protected]>
return the repo/ref as .sha creates detached branch and doesn't let to
push back the changes
Install with `--locked` to try to fix the CI.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Close paritytech#5677

I made a nit when I moved this code:
https://github.com/paritytech/polkadot-sdk/blob/v1.14.0-rc1/substrate/client/service/src/lib.rs#L379-#L385
in paritytech#4792

Thus:
 - (ip.is_loopback(), RpcMethods::Auto) -> allow unsafe
 - (!ip.is_loopback(), RpcMethods::Auto) -> deny unsafe

---------

Co-authored-by: ggwpez <[email protected]>
…ch#5627)

Trivial and self explanatory changes. 

Wrapping err such as these makes debugging harder as well as does not
really give any meaningful reason why this happened. The increment of
consumer can genuinely fail if there are no providers (account does not
exist) or it reaches max consumers. In both cases, its better to
propagate the actual System err.
### Description: 
* Adds `DeprecationStatusIR` enum to sp_metadata_ir.
Deprecation info for simple items.
* Adds `DeprecationInfoIR` enum to sp_metadata_ir.
It is a deprecation info for an enums/errors/calls. Contains
`DeprecationStatusIR`.
Denotes full/partial deprecation of the type or its variants/calls
* Adds `deprecation_info` field to 
       - `RuntimeApiMetadataIR`
       - `RuntimeApiMethodMetadataIR`
       - `StorageEntryMetadataIR`
       - `PalletConstantMetadataIR`
       - `PalletCallMetadataIR`
       - `PalletMetadataIR`
       - `PalletEventMetadataIR`
       - `PalletErrorMetadataIR`

### Testing done: 
- Unit tests to check whether or not correct `note`/`since` texts are
getting propagated to the metadata structs.
- UI test to check for error message in case of incorrect attribute
usage.
There's also some test updates to make sure that deprecation attributes
are getting propagated to the relevant structs.

see: paritytech#4098, Solution: A

### Examples of produced deprecation info metadata
They can be found in:
 - Tests for `frame-support`
 - hackmd link https://hackmd.io/@Zett98/Bys0YgbcR

---------

Co-authored-by: GitHub Action <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: Bastian Köcher <[email protected]>
…4846)

This is part of the work to further optimize the approval subsystems, if
you want to understand the full context start with reading
paritytech#4849 (comment),

# Description
This PR contain changes to make possible the run of single
approval-voting instance on a worker thread, so that it can be
instantiated by the approval-voting-parallel subsystem.

This does not contain any functional changes it just decouples the
subsystem from the subsystem Context and introduces more specific trait
dependencies for each function instead of all of them requiring a
context.

This change can be merged  independent of the followup PRs.

---------

Signed-off-by: Alexandru Gheorghe <[email protected]>
Co-authored-by: Andrei Sandu <[email protected]>
…s. (paritytech#5509)

Proxies are possible in the runtimes for Kusama and Polkadot but this
functionality was not previously available on testnets.

Closes paritytech#5453.

Proxies can now be used on `coretime-rococo`, `coretime-westend`,
`people-rococo` and `people-westend` in the same way as they can be on
Kusama and Polkadot chains.

The exact same proxies are configured as the production runtimes for the
respective system parachains.
…ent weights (paritytech#2704)

Add emulated test cases for the coretime chain.

This tests the calls sent across the `CoretimeInterface` and ensures the
weights are sufficient.
@yrong yrong merged commit 3f3fc50 into snowbridge Sep 14, 2024
8 checks passed
@yrong yrong deleted the polkadot-native-assets-from-upper-stream branch September 14, 2024 00:59
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.