mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-16 17:51:10 +00:00
pvf-precheck: update implementers' guide (#4612)
This commit incorporates the changes made to the runtime in the following PRs: - https://github.com/paritytech/polkadot/pull/4408 - https://github.com/paritytech/polkadot/pull/4457 - https://github.com/paritytech/polkadot/pull/4540 - https://github.com/paritytech/polkadot/pull/4542 - https://github.com/paritytech/polkadot/pull/4581 Note that this PR does not include the description of the PVF pre-checker subsystem. This should be addressed within https://github.com/paritytech/polkadot/issues/4611 Co-authored-by: sandreim <54316454+sandreim@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# PVF Pre-checking
|
||||
|
||||
> ⚠️ This runtime API was added in v2.
|
||||
|
||||
There are two main runtime APIs to work with PVF pre-checking.
|
||||
|
||||
The first runtime API is designed to fetch all PVFs that require pre-checking voting. The PVFs are
|
||||
identified by their code hashes. As soon as the PVF gains required support, the runtime API will
|
||||
not return the PVF anymore.
|
||||
|
||||
```rust
|
||||
fn pvfs_require_precheck() -> Vec<ValidationCodeHash>;
|
||||
```
|
||||
|
||||
The second runtime API is needed to submit the judgement for a PVF, whether it is approved or not.
|
||||
The voting process uses unsigned transactions. The [`PvfCheckStatement`](../types/pvf-prechecking.md) is circulated through the network via gossip similar to a normal transaction. At some point the validator
|
||||
will include the statement in the block, where it will be processed by the runtime. If that was the
|
||||
last vote before gaining the super-majority, this PVF will not be returned by `pvfs_require_precheck` anymore.
|
||||
|
||||
```rust
|
||||
fn submit_pvf_check_statement(stmt: PvfCheckStatement, signature: ValidatorSignature);
|
||||
```
|
||||
Reference in New Issue
Block a user