Commit Graph

232 Commits

Author SHA1 Message Date
Serban Iorga 8e95a3e1aa Align dependencies with parity-bridges-common (#3937)
Working towards migrating the `parity-bridges-common` repo inside
`polkadot-sdk`. This PR upgrades some dependencies in order to align
them with the versions used in `parity-bridges-common`

Related to
https://github.com/paritytech/parity-bridges-common/issues/2538
2024-04-02 13:41:01 +00:00
Dcompoze 002d9260f9 Fix spelling mistakes across the whole repository (#3808)
**Update:** Pushed additional changes based on the review comments.

**This pull request fixes various spelling mistakes in this
repository.**

Most of the changes are contained in the first **3** commits:

- `Fix spelling mistakes in comments and docs`

- `Fix spelling mistakes in test names`

- `Fix spelling mistakes in error messages, panic messages, logs and
tracing`

Other source code spelling mistakes are separated into individual
commits for easier reviewing:

- `Fix the spelling of 'authority'`

- `Fix the spelling of 'REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY'`

- `Fix the spelling of 'prev_enqueud_messages'`

- `Fix the spelling of 'endpoint'`

- `Fix the spelling of 'children'`

- `Fix the spelling of 'PenpalSiblingSovereignAccount'`

- `Fix the spelling of 'PenpalSudoAccount'`

- `Fix the spelling of 'insufficient'`

- `Fix the spelling of 'PalletXcmExtrinsicsBenchmark'`

- `Fix the spelling of 'subtracted'`

- `Fix the spelling of 'CandidatePendingAvailability'`

- `Fix the spelling of 'exclusive'`

- `Fix the spelling of 'until'`

- `Fix the spelling of 'discriminator'`

- `Fix the spelling of 'nonexistent'`

- `Fix the spelling of 'subsystem'`

- `Fix the spelling of 'indices'`

- `Fix the spelling of 'committed'`

- `Fix the spelling of 'topology'`

- `Fix the spelling of 'response'`

- `Fix the spelling of 'beneficiary'`

- `Fix the spelling of 'formatted'`

- `Fix the spelling of 'UNKNOWN_PROOF_REQUEST'`

- `Fix the spelling of 'succeeded'`

- `Fix the spelling of 'reopened'`

- `Fix the spelling of 'proposer'`

- `Fix the spelling of 'InstantiationNonce'`

- `Fix the spelling of 'depositor'`

- `Fix the spelling of 'expiration'`

- `Fix the spelling of 'phantom'`

- `Fix the spelling of 'AggregatedKeyValue'`

- `Fix the spelling of 'randomness'`

- `Fix the spelling of 'defendant'`

- `Fix the spelling of 'AquaticMammal'`

- `Fix the spelling of 'transactions'`

- `Fix the spelling of 'PassingTracingSubscriber'`

- `Fix the spelling of 'TxSignaturePayload'`

- `Fix the spelling of 'versioning'`

- `Fix the spelling of 'descendant'`

- `Fix the spelling of 'overridden'`

- `Fix the spelling of 'network'`

Let me know if this structure is adequate.

**Note:** The usage of the words `Merkle`, `Merkelize`, `Merklization`,
`Merkelization`, `Merkleization`, is somewhat inconsistent but I left it
as it is.

~~**Note:** In some places the term `Receival` is used to refer to
message reception, IMO `Reception` is the correct word here, but I left
it as it is.~~

~~**Note:** In some places the term `Overlayed` is used instead of the
more acceptable version `Overlaid` but I also left it as it is.~~

~~**Note:** In some places the term `Applyable` is used instead of the
correct version `Applicable` but I also left it as it is.~~

**Note:** Some usage of British vs American english e.g. `judgement` vs
`judgment`, `initialise` vs `initialize`, `optimise` vs `optimize` etc.
are both present in different places, but I suppose that's
understandable given the number of contributors.

~~**Note:** There is a spelling mistake in `.github/CODEOWNERS` but it
triggers errors in CI when I make changes to it, so I left it as it
is.~~
2024-03-26 13:57:57 +00:00
Serban Iorga 0711729d25 [Bridges] Move chain definitions to separate folder (#3822)
Related to
https://github.com/paritytech/parity-bridges-common/issues/2538

This PR doesn't contain any functional changes. 

The PR moves specific bridged chain definitions from
`bridges/primitives` to `bridges/chains` folder in order to facilitate
the migration of the `parity-bridges-repo` into `polkadot-sdk` as
discussed in https://hackmd.io/LprWjZ0bQXKpFeveYHIRXw?view

Apart from this it also includes some cosmetic changes to some
`Cargo.toml` files as a result of running `diener workspacify`.
2024-03-25 12:11:30 +00:00
Koute b0f34e4b29 Add a PolkaVM-based executor (#3458)
This PR adds a new PolkaVM-based executor to Substrate.

- The executor can now be used to actually run a PolkaVM-based runtime,
and successfully produces blocks.
- The executor is always compiled-in, but is disabled by default.
- The `SUBSTRATE_ENABLE_POLKAVM` environment variable must be set to `1`
to enable the executor, in which case the node will accept both WASM and
PolkaVM program blobs (otherwise it'll default to WASM-only). This is
deliberately undocumented and not explicitly exposed anywhere (e.g. in
the command line arguments, or in the API) to disincentivize anyone from
enabling it in production. If/when we'll move this into production usage
I'll remove the environment variable and do it "properly".
- I did not use our legacy runtime allocator for the PolkaVM executor,
so currently every allocation inside of the runtime will leak guest
memory until that particular instance is destroyed. The idea here is
that I will work on the https://github.com/polkadot-fellows/RFCs/pull/4
which will remove the need for the legacy allocator under WASM, and that
will also allow us to use a proper non-leaking allocator under PolkaVM.
- I also did some minor cleanups of the WASM executor and deleted some
dead code.

No prdocs included since this is not intended to be an end-user feature,
but an unofficial experiment, and shouldn't affect any current
production user. Once this is production-ready a full Polkadot
Fellowship RFC will be necessary anyway.
2024-03-12 05:23:06 +00:00
maksimryndin 426136671a PVF: re-preparing artifact on failed runtime construction (#3187)
resolve https://github.com/paritytech/polkadot-sdk/issues/3139

- [x] use a distinguishable error for `execute_artifact`
- [x] remove artifact in case of a `RuntimeConstruction` error during
the execution
- [x] augment the `validate_candidate_with_retry` of `ValidationBackend`
with the case of retriable `RuntimeConstruction` error during the
execution
- [x] update the book
(https://paritytech.github.io/polkadot-sdk/book/node/utility/pvf-host-and-workers.html#retrying-execution-requests)
- [x] add a test
- [x] run zombienet tests

---------

Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
2024-02-28 16:29:27 +00:00
Oliver Tale-Yazdi e89d0fca35 Lift dependencies to the workspace (Part 2/x) (#3366)
Lifting some more dependencies to the workspace. Just using the
most-often updated ones for now.
It can be reproduced locally.

```sh
# First you can check if there would be semver incompatible bumps (looks good in this case):
$ zepter transpose dependency lift-to-workspace --ignore-errors syn quote thiserror "regex:^serde.*"

# Then apply the changes:
$ zepter transpose dependency lift-to-workspace --version-resolver=highest syn quote thiserror "regex:^serde.*" --fix

# And format the changes:
$ taplo format --config .config/taplo.toml
```

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2024-02-20 14:28:05 +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
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
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
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
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
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
Marcin S 8bf5a1c0b3 PVF: ensure job processes are cleaned up, add tests (#2643)
Fixes a potential memory leak.

`PR_SET_PDEATHSIG` is used to terminate children when the parent dies.
Note that this is subject to a race. There seems to be a raceless
alternative [here](https://stackoverflow.com/a/42498370/6085242), but
the concern is small enough that a bit more complexity doesn't seem
worth it. Left a bit more info in the code comment.
2023-12-29 16:27:18 +01:00
Marcin S c5cf395963 PVF: fix unshare "could not create temporary directory"; refactor (#2663)
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
2023-12-13 21:38:27 +01:00
Squirrel be8e626806 Set clippy lints in workspace (requires rust 1.74) (#2390)
We currently use a bit of a hack in `.cargo/config` to make sure that
clippy isn't too annoying by specifying the list of lints.

There is now a stable way to define lints for a workspace. The only down
side is that every crate seems to have to opt into this so there's a
*few* files modified in this PR.

Dependencies:

- [x] PR that upgrades CI to use rust 1.74 is merged.

---------

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
2023-12-13 15:11:07 +01:00
Marcin S c046a9d5ed PVF: Add Secure Validator Mode (#2486)
Co-authored-by: Javier Viola <javier@parity.io>
2023-12-05 14:32:56 +02:00
Liam Aharon 4a293bc5a2 Enforce consistent and correct toml formatting (#2518)
Using taplo, fixes all our broken and inconsistent toml formatting and
adds CI to keep them tidy.

If people want we can customise the format rules as described here
https://taplo.tamasfe.dev/configuration/formatter-options.html

@ggwpez, I suggest zepter is used only for checking features are
propagated, and leave formatting for taplo to avoid duplicate work and
conflicts.

TODO
- [x] Use `exclude = [...]` syntax in taplo file to ignore zombienet
tests instead of deleting the dir

---------

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>
2023-12-01 07:38:02 +00:00
Marcin S dbd8d20b25 PVF: Add test instructions (#2058) 2023-11-28 14:23:25 +01:00
Marcin S cfa19c37e6 PVF: remove audit log access (#2461) 2023-11-25 18:03:58 +02:00
Julian Eager e3242d2c1e Adapt test worker to profile flag (#2450)
closes #2194 

cc @mrcnski

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
2023-11-24 12:32:43 +02:00
Marcin S 408af9b32d PVF: Fix unshare "no such file or directory" error (#2426) 2023-11-22 15:45:52 +01:00
Marcin S 552be4800d PVF worker: switch on seccomp networking restrictions (#2221) 2023-11-21 12:52:46 +01:00
Julian Eager 06190498a0 Refactor ValidationError (#2406) 2023-11-21 12:10:59 +01:00
Julian Eager b5858936e1 Preserve artifact cache unless stale (#1918)
Co-authored-by: Marcin S <marcin@realemail.net>
2023-11-19 19:04:22 +01:00
jserrat 54f84285bf change prepare worker to use fork instead of threads (#1685)
Co-authored-by: Marcin S <marcin@realemail.net>
2023-11-14 18:50:18 +01:00
Marcin S 7cfc233cdc PVF: fix detection of unshare-and-change-root security capability (#2304) 2023-11-14 15:03:19 +01:00
Marcin S 5f4ce80266 PVF host: Make unavailable security features print a warning (#2244)
Co-authored-by: Bastian Köcher <git@kchr.de>
2023-11-13 11:21:16 +01:00
Lulu 03ee44d9e1 Add license to tracking-allocator and add staging-prefix (#2261)
The staging- rename commit was missing from the last PR for some reason.
2023-11-09 22:27:08 +00:00
s0me0ne-unkn0wn cd2d5d2579 Tracking/limiting memory allocator (#1192) 2023-11-03 17:48:41 +02:00
Julian Eager 4f05f9a686 Build workers for testing on demand (#2018) 2023-11-01 21:20:53 +01:00
jserrat 2726d5af65 remove gum dependency on jaeger (#2106)
Co-authored-by: Marcin S <marcin@realemail.net>
2023-11-01 15:58:46 +01:00
Marcin S 9faea380dc PVF worker: Add seccomp restrictions (restrict networking) (#2009) 2023-10-31 11:08:08 +01:00
Marcin S e39253c022 PVF: Add worker check during tests and benches (#1771) 2023-10-24 16:22:15 +02:00
Julian Eager 9e1447042b Include polkadot version in artifact path (#1828)
closes #695

Could potentially be helpful to preserving caches when applicable, as
discussed in #685

kusama address: FvpsvV1GQAAbwqX6oyRjemgdKV11QU5bXsMg9xsonD1FLGK
2023-10-15 10:39:03 +02:00
Julian Eager 9f7656df15 Discard Executor (#1855)
closes #622 

Pros:
* simpler interface, just functions:
`create_runtime_from_artifact_bytes()` and `execute_artifact()`

Cons:
* extra overhead of constructing executor semantics each time

I could make it a combination of
* `create_runtime_config(params)` (such that we could clone the
constructed semantics)
* `create_runtime(blob, config)`
* `execute_artifact(blob, config, params)`

Not sure if it's worth it though.

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
2023-10-14 23:06:00 +02:00
Julian Eager 681e7bbfb2 Check executor params coherence (#1774)
Co-authored-by: Marcin S <marcin@realemail.net>
2023-10-13 15:52:04 +02:00
Anton Vilhelm Ásgeirsson d2fc1d7c91 Fix links to implementers' guide (#1865)
# Description

In a couple of cases, there were links pointing to the w3f github pages
domain. In other instances, there were links pointing to the old
polkadot repo's github pages. Both of these are now pointing to the
relevant links in
https://paritytech.github.io/polkadot-sdk/book/index.html.

These changes were made specifically because the w3f github pages
returns a 404, and while fixing the links, the old polkadot repo links
were touched up as well even if they do redirect properly.

This shouldn't affect anything as these are documentation link changes
only.
2023-10-12 21:29:10 +02:00
Marcin S 132ba0c89f PVF worker: bump landlock, update ABI docs (#1850) 2023-10-11 16:13:07 +02:00
Marcin S 51c0c24213 PVF: Add back socket path parameter, use tmp socket path (#1780) 2023-10-05 18:37:54 +02:00
Marcin S c1eb342b14 PVF: more filesystem sandboxing (#1373) 2023-09-28 18:24:29 +02:00
yjh e38998801e Executor: Remove LegacyInstanceReuse strategy (#1486)
It seems the old strategy have been depracted more than one year. 
So maybe it's time to clean up old strategy for wasm executor.


---
polkadot address: 15ouFh2SHpGbHtDPsJ6cXQfes9Cx1gEFnJJsJVqPGzBSTudr

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Koute <koute@users.noreply.github.com>
2023-09-18 14:53:06 +09:00
Bastian Köcher e005aef59b Make the node version independent of the crate version (#1495) 2023-09-12 14:12:10 +02:00
s0me0ne-unkn0wn 2c8021f998 Retire puppet workers (#1449)
Closes #583

After the separation of PVF worker binaries, dedicated puppet workers
are not needed for tests anymore. The production workers can be used
instead, avoiding some code duplication and decreasing complexity.

The changes also make it possible to further refactor the code to
isolate workers completely.
2023-09-11 19:14:07 +02:00
dependabot[bot] bce7c2465c Bump hex-literal from 0.3.4 to 0.4.1 (#1438)
Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.4 to 0.4.1.
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.4...hex-literal-v0.4.1)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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>
2023-09-08 12:50:56 +03:00
s0me0ne-unkn0wn a2b6470607 Use cached session index to obtain executor params (#1190)
* Import changes from archieved repo

* Revert erroneous changes

* Fix more tests

* Resolve discussions

* Fix MORE tests

* approval-voting: launch_approval better interface (#1355)

---------

Co-authored-by: Javier Viola <javier@parity.io>
Co-authored-by: ordian <noreply@reusable.software>
Co-authored-by: ordian <write@reusable.software>
2023-09-01 21:07:32 +03:00
Bastian Köcher a33d7922f8 Rename polkadot-parachain to polkadot-parachain-primitives (#1334)
* Rename `polkadot-parachain` to `polkadot-parachain-primitives`

While doing this it also fixes some last `rustdoc` issues and fixes
another Cargo warning related to `pallet-paged-list`.

* Fix compilation

* ".git/.scripts/commands/fmt/fmt.sh"

* Fix XCM docs

---------

Co-authored-by: command-bot <>
2023-08-31 23:53:29 +02:00
Lulu aedd280874 Fix polkadot-node-core-pvf-prepare-worker build with jemalloc (#1315)
* Fix polkadot-node-core-pvf-prepare-worker build with jemalloc

The jemalloc feature on polkadot-node-core-pvf-prepare-worker depended
on some feature gated code in polkadot-node-core-pvf-common but there
way no way to enable this feature gate.

This commit adds the feature and makes prepare-worker enable it.

* More jemalloc-allocator fixes

* Fix jemalloc-allocator feature dep

* Run `zepter format features`

---------

Co-authored-by: Marcin S <marcin@realemail.net>
2023-08-31 17:13:09 +02:00