Kagome
Polkadot Runtime Engine in C++17
parachains_inherent_data.hpp File Reference
#include <scale/bitvec.hpp>
#include "common/stub.hpp"
#include "common/tagged.hpp"
#include "common/unused.hpp"
#include "network/types/collator_messages.hpp"
#include "primitives/common.hpp"
Include dependency graph for parachains_inherent_data.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kagome::consensus::babe::CandidateDescriptor
 
struct  kagome::consensus::babe::RecipientTag
 The recipient Id as defined in Definition 7.5 (non existent definition) More...
 
struct  kagome::consensus::babe::UpwardMessageTag
 An upward message as defined in Definition 7.8 (non existent definition) More...
 
struct  kagome::consensus::babe::OutboundHrmpMessage
 
struct  kagome::consensus::babe::CandidateCommitments
 
struct  kagome::consensus::babe::CandidateReceipt
 
struct  kagome::consensus::babe::CommittedCandidate
 
struct  kagome::consensus::babe::Vote
 
struct  kagome::consensus::babe::DisputeRequest
 
struct  kagome::consensus::babe::ParachainInherentData
 

Namespaces

 kagome::consensus::babe
 

Typedefs

using kagome::consensus::babe::Signature = crypto::Ed25519Signature
 
using kagome::consensus::babe::ParachainId = uint32_t
 
using kagome::consensus::babe::CollatorPublicKey = crypto::Ed25519PublicKey
 
using kagome::consensus::babe::Recipient = Stub< RecipientTag >
 
using kagome::consensus::babe::UpwardMessage = Stub< UpwardMessageTag >
 
using kagome::consensus::babe::Attestation = boost::variant< Unused< 0 >, Tagged< Signature, struct Implicit >, Tagged< Signature, struct Explicit >>
 
using kagome::consensus::babe::DisputeStatement = boost::variant< Tagged< Empty, struct ExplicitStatement >, Tagged< common::Hash256, struct SecondedStatement >, Tagged< common::Hash256, struct ValidStatement >, Tagged< Empty, struct AprovalVote >>
 

Functions

scale::ScaleEncoderStream & kagome::consensus::babe::operator<< (scale::ScaleEncoderStream &s, const CandidateDescriptor &data)
 
scale::ScaleDecoderStream & kagome::consensus::babe::operator>> (scale::ScaleDecoderStream &s, CandidateDescriptor &data)
 
scale::ScaleEncoderStream & kagome::consensus::babe::operator<< (scale::ScaleEncoderStream &s, const OutboundHrmpMessage &data)
 
scale::ScaleDecoderStream & kagome::consensus::babe::operator>> (scale::ScaleDecoderStream &s, OutboundHrmpMessage &data)
 
scale::ScaleEncoderStream & kagome::consensus::babe::operator<< (scale::ScaleEncoderStream &s, const CandidateCommitments &data)
 
scale::ScaleDecoderStream & kagome::consensus::babe::operator>> (scale::ScaleDecoderStream &s, CandidateCommitments &data)
 
scale::ScaleEncoderStream & kagome::consensus::babe::operator<< (scale::ScaleEncoderStream &s, const CandidateReceipt &data)
 
scale::ScaleDecoderStream & kagome::consensus::babe::operator>> (scale::ScaleDecoderStream &s, CandidateReceipt &data)
 
scale::ScaleEncoderStream & kagome::consensus::babe::operator<< (scale::ScaleEncoderStream &s, const CommittedCandidate &data)
 
scale::ScaleDecoderStream & kagome::consensus::babe::operator>> (scale::ScaleDecoderStream &s, CommittedCandidate &data)
 
scale::ScaleEncoderStream & kagome::consensus::babe::operator<< (scale::ScaleEncoderStream &s, const Vote &data)
 
scale::ScaleDecoderStream & kagome::consensus::babe::operator>> (scale::ScaleDecoderStream &s, Vote &data)
 
scale::ScaleEncoderStream & kagome::consensus::babe::operator<< (scale::ScaleEncoderStream &s, const DisputeRequest &data)
 
scale::ScaleDecoderStream & kagome::consensus::babe::operator>> (scale::ScaleDecoderStream &s, DisputeRequest &data)
 
scale::ScaleEncoderStream & kagome::consensus::babe::operator<< (scale::ScaleEncoderStream &s, const ParachainInherentData &data)
 
scale::ScaleDecoderStream & kagome::consensus::babe::operator>> (scale::ScaleDecoderStream &s, ParachainInherentData &data)
 

Class Documentation

struct kagome::consensus::babe::CandidateDescriptor
Collaboration diagram for kagome::consensus::babe::CandidateDescriptor:
Class Members
CollatorPublicKey collator_public_key The collators public key.
Signature collator_signature The collator signature of the concatenated components.
Hash256 merkle The root of the block’s erasure encoding Merkle tree.
Hash256 parachain_head_data_hash The hash of the parachain head data (Section 6.8.4) of this candidate.
ParachainId parachain_id The parachain Id.
Hash256 parachain_runtime_hash The hash of the parachain Runtime.
BlockHash pov_block_hash The hash of the PoV block.
BlockHash relay_chain_block_hash

The hash of the relay chain block the candidate is executed in the context of.

Hash256 validation_data_hash The hash of the persisted validation data (Definition 188).
struct kagome::consensus::babe::RecipientTag

The recipient Id as defined in Definition 7.5 (non existent definition)

Definition at line 82 of file parachains_inherent_data.hpp.

Collaboration diagram for kagome::consensus::babe::RecipientTag:
struct kagome::consensus::babe::UpwardMessageTag

An upward message as defined in Definition 7.8 (non existent definition)

Definition at line 86 of file parachains_inherent_data.hpp.

Collaboration diagram for kagome::consensus::babe::UpwardMessageTag:
struct kagome::consensus::babe::OutboundHrmpMessage
Collaboration diagram for kagome::consensus::babe::OutboundHrmpMessage:
Class Members
UpwardMessage message An upward message.
Recipient recipient The recipient Id.
struct kagome::consensus::babe::CandidateCommitments
Collaboration diagram for kagome::consensus::babe::CandidateCommitments:
Class Members
optional< Buffer > new_parachain_runtime A new parachain Runtime in case of an update.
uint32_t number_of_downward_messages

A unsigned 32-bit integer indicating the number of downward messages that were processed by the parachain. It is expected that the parachain processes the messages from first to last.

vector< OutboundHrmpMessage > outbound_messages

An array of individual outbound horizontal messages (Section 6.8.10) sent by the parachain.

Buffer parachain_head_data The parachain head data (Section 6.8.4).
vector< Buffer > upward_messages

An array of upward messages sent by the parachain. Each individual message, m, is an array of bytes.

uint32_t watermark

A unsigned 32-bit integer indicating the watermark which specifies the relay chain block number up to which all inbound horizontal messages have been processed.

struct kagome::consensus::babe::CandidateReceipt

A candidate receipt, contains information about the candidate and a proof of the results of its execution

https://spec.polkadot.network/#defn-candidate-receipt

Definition at line 163 of file parachains_inherent_data.hpp.

Collaboration diagram for kagome::consensus::babe::CandidateReceipt:
Class Members
CandidateCommitments commitments
CandidateDescriptor descriptor
struct kagome::consensus::babe::CommittedCandidate

Definition at line 187 of file parachains_inherent_data.hpp.

Collaboration diagram for kagome::consensus::babe::CommittedCandidate:
Class Members
CandidateReceipt candidate Committed candidate receipt.
BitVec indices A bitfield of indices of the validators within the validator group.
vector< Attestation > validity_votes An array of validity votes themselves, expressed as signatures.
struct kagome::consensus::babe::Vote

Definition at line 222 of file parachains_inherent_data.hpp.

Collaboration diagram for kagome::consensus::babe::Vote:
Class Members
Signature signature The signature of the validator.
DisputeStatement statement A varying datatype and implies the dispute statement.
uint32_t validator_index

An unsigned 32-bit integer indicating the validator index in the authority set

struct kagome::consensus::babe::DisputeRequest

The dispute request is sent by clients who want to issue a dispute about a candidate.

https://spec.polkadot.network/#net-msg-dispute-request

Definition at line 255 of file parachains_inherent_data.hpp.

Collaboration diagram for kagome::consensus::babe::DisputeRequest:
Class Members
CandidateReceipt candidate The candidate that is being disputed.
Vote invalid_vote The invalid vote that makes up the request.
uint32_t session_index

An unsigned 32-bit integer indicating the session index the candidate appears in

Vote valid_vote The valid vote that makes this dispute request valid.
struct kagome::consensus::babe::ParachainInherentData

Definition at line 290 of file parachains_inherent_data.hpp.

Collaboration diagram for kagome::consensus::babe::ParachainInherentData:
Class Members
vector< Empty > backed_candidates The array of backed candidates for inclusion in the current block.
vector< SignedBitfield > bitfields

The array of signed bitfields by validators claiming the candidate is available (or not).

Note
The array must be sorted by validator index corresponding to the authority set
vector< DisputeRequest > disputes Array of disputes.
BlockHeader parent_header

The head data is contains information about a parachain block. The head data is returned by executing the parachain Runtime and relay chain validators are not concerned with its inner structure and treat it as a byte arrays.