mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 08:41:02 +00:00
Runtime API for historical validation code (#1893)
* fix: ensure candidate validation gets code based on occupied core assumption * guide: runtime API for historical validation code * add historical runtime API * integrate into runtime API subsystem * remove blocked TODO * fix service build: enable notifications protocol only under real overseer * Update node/subsystem/src/messages.rs Co-authored-by: Sergei Shulepov <sergei@parity.io> * fix compilation Co-authored-by: Robert Habermeier <robert@Roberts-MacBook-Pro.local> Co-authored-by: Sergei Shulepov <sergei@parity.io>
This commit is contained in:
committed by
GitHub
parent
a3e58350bb
commit
1f4121c444
@@ -232,7 +232,7 @@ On receiving an `ApprovedAncestor(Hash, BlockNumber, response_channel)`:
|
||||
#### `launch_approval(SessionIndex, CandidateDescriptor, ValidatorIndex, block_hash, candidate_index)`:
|
||||
* Extract the public key of the `ValidatorIndex` from the `SessionInfo` for the session.
|
||||
* Issue an `AvailabilityRecoveryMessage::RecoverAvailableData(candidate, session_index, response_sender)`
|
||||
* Load the historical validation code of the parachain (TODO: https://github.com/paritytech/polkadot/issues/1877)
|
||||
* Load the historical validation code of the parachain by dispatching a `RuntimeApiRequest::HistoricalValidationCode(`descriptor.para_id`, `descriptor.relay_parent`)` against the state of `block_hash`.
|
||||
* Spawn a background task with a clone of `approval_vote_tx`
|
||||
* Wait for the available data
|
||||
* Issue a `CandidateValidationMessage::ValidateFromExhaustive` message
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# Historical Validation Code
|
||||
|
||||
Fetch the historical validation code used by a para for candidates executed in the context of a given block height in the current chain.
|
||||
|
||||
```rust
|
||||
fn historical_validation_code(at: Block, para_id: ParaId, context_height: BlockNumber) -> Option<ValidationCode>;
|
||||
```
|
||||
@@ -409,7 +409,9 @@ enum RuntimeApiRequest {
|
||||
SessionIndex(ResponseChannel<SessionIndex>),
|
||||
/// Get the validation code for a specific para, using the given occupied core assumption.
|
||||
ValidationCode(ParaId, OccupiedCoreAssumption, ResponseChannel<Option<ValidationCode>>),
|
||||
/// Get the persisted validation data at the state of a given block for a specific para,
|
||||
/// Fetch the historical validation code used by a para for candidates executed in
|
||||
/// the context of a given block height in the current chain.
|
||||
HistoricalValidationCode(ParaId, BlockNumber, ResponseChannel<Option<ValidationCode>>),
|
||||
/// with the given occupied core assumption.
|
||||
PersistedValidationData(
|
||||
ParaId,
|
||||
|
||||
Reference in New Issue
Block a user