Kagome
Polkadot Runtime Engine in C++17
|
Classes | |
class | Babe |
class | BabeConfigRepository |
Keeps actual babe configuration. More... | |
class | BabeConfigRepositoryImpl |
class | BabeImpl |
struct | CandidateCommitments |
struct | CandidateDescriptor |
struct | CandidateReceipt |
struct | CommittedCandidate |
class | ConsistencyKeeper |
class | ConsistencyKeeperImpl |
struct | DisputeRequest |
struct | ParachainInherentData |
struct | RecipientTag |
The recipient Id as defined in Definition 7.5 (non existent definition) More... | |
struct | Vote |
Typedefs | |
using | SyncMethod = application::AppConfiguration::SyncMethod |
using | Signature = crypto::Ed25519Signature |
using | ParachainId = uint32_t |
using | CollatorPublicKey = crypto::Ed25519PublicKey |
using | Recipient = Stub< RecipientTag > |
using | UpwardMessage = Stub< UpwardMessageTag > |
using | Attestation = boost::variant< Unused< 0 >, Tagged< Signature, struct Implicit >, Tagged< Signature, struct Explicit >> |
using | DisputeStatement = boost::variant< Tagged< Empty, struct ExplicitStatement >, Tagged< common::Hash256, struct SecondedStatement >, Tagged< common::Hash256, struct ValidStatement >, Tagged< Empty, struct AprovalVote >> |
Functions | |
std::optional< uint64_t > | getAuthorityIndex (const primitives::AuthorityList &authorities, const primitives::BabeSessionKey &authority_key) |
Get index of authority. More... | |
scale::ScaleEncoderStream & | operator<< (scale::ScaleEncoderStream &s, const CandidateDescriptor &data) |
scale::ScaleDecoderStream & | operator>> (scale::ScaleDecoderStream &s, CandidateDescriptor &data) |
scale::ScaleEncoderStream & | operator<< (scale::ScaleEncoderStream &s, const OutboundHrmpMessage &data) |
scale::ScaleDecoderStream & | operator>> (scale::ScaleDecoderStream &s, OutboundHrmpMessage &data) |
scale::ScaleEncoderStream & | operator<< (scale::ScaleEncoderStream &s, const CandidateCommitments &data) |
scale::ScaleDecoderStream & | operator>> (scale::ScaleDecoderStream &s, CandidateCommitments &data) |
scale::ScaleEncoderStream & | operator<< (scale::ScaleEncoderStream &s, const CandidateReceipt &data) |
scale::ScaleDecoderStream & | operator>> (scale::ScaleDecoderStream &s, CandidateReceipt &data) |
scale::ScaleEncoderStream & | operator<< (scale::ScaleEncoderStream &s, const CommittedCandidate &data) |
scale::ScaleDecoderStream & | operator>> (scale::ScaleDecoderStream &s, CommittedCandidate &data) |
scale::ScaleEncoderStream & | operator<< (scale::ScaleEncoderStream &s, const Vote &data) |
scale::ScaleDecoderStream & | operator>> (scale::ScaleDecoderStream &s, Vote &data) |
scale::ScaleEncoderStream & | operator<< (scale::ScaleEncoderStream &s, const DisputeRequest &data) |
scale::ScaleDecoderStream & | operator>> (scale::ScaleDecoderStream &s, DisputeRequest &data) |
scale::ScaleEncoderStream & | operator<< (scale::ScaleEncoderStream &s, const ParachainInherentData &data) |
scale::ScaleDecoderStream & | operator>> (scale::ScaleDecoderStream &s, ParachainInherentData &data) |
Variables | |
const auto | kTimestampId |
const auto | kBabeSlotId |
const auto | kParachainId |
const auto | kUnsupportedInherentId_uncles00 |
static constexpr auto | kMaxBlockSlotsOvertime = 2 |
Copyright Soramitsu Co., Ltd. All Rights Reserved. SPDX-License-Identifier: Apache-2.0
struct kagome::consensus::babe::CandidateCommitments |
https://spec.polkadot.network/#defn-candidate-commitments
Definition at line 109 of file parachains_inherent_data.hpp.
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::CandidateDescriptor |
https://spec.polkadot.network/#defn-candidate-descriptor
Definition at line 21 of file parachains_inherent_data.hpp.
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::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.
Class Members | ||
---|---|---|
CandidateCommitments | commitments | |
CandidateDescriptor | descriptor |
struct kagome::consensus::babe::CommittedCandidate |
Definition at line 187 of file parachains_inherent_data.hpp.
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::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.
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::OutboundHrmpMessage |
https://spec.polkadot.network/#defn-outbound-hrmp-message
Definition at line 90 of file parachains_inherent_data.hpp.
Class Members | ||
---|---|---|
UpwardMessage | message | An upward message. |
Recipient | recipient | The recipient Id. |
struct kagome::consensus::babe::ParachainInherentData |
Definition at line 290 of file parachains_inherent_data.hpp.
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).
|
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. |
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.
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.
struct kagome::consensus::babe::Vote |
Definition at line 222 of file parachains_inherent_data.hpp.
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 |
using kagome::consensus::babe::Attestation = typedef boost::variant<Unused<0>, Tagged<Signature, struct Implicit>, Tagged<Signature, struct Explicit>> |
Attestation is either an implicit or explicit attestation of the validity of a parachain candidate, where 1 implies an implicit vote (in correspondence of a Seconded statement) and 2 implies an explicit attestation (in correspondence of a Valid statement). Both variants are followed by the signature of the validator.
Definition at line 185 of file parachains_inherent_data.hpp.
using kagome::consensus::babe::CollatorPublicKey = typedef crypto::Ed25519PublicKey |
Definition at line 18 of file parachains_inherent_data.hpp.
using kagome::consensus::babe::DisputeStatement = typedef boost::variant<Tagged<Empty, struct ExplicitStatement>, Tagged<common::Hash256, struct SecondedStatement>, Tagged<common::Hash256, struct ValidStatement>, Tagged<Empty, struct AprovalVote>> |
Definition at line 220 of file parachains_inherent_data.hpp.
using kagome::consensus::babe::ParachainId = typedef uint32_t |
Definition at line 16 of file parachains_inherent_data.hpp.
using kagome::consensus::babe::Recipient = typedef Stub<RecipientTag> |
Definition at line 83 of file parachains_inherent_data.hpp.
using kagome::consensus::babe::Signature = typedef crypto::Ed25519Signature |
Definition at line 15 of file parachains_inherent_data.hpp.
Definition at line 41 of file babe_impl.cpp.
using kagome::consensus::babe::UpwardMessage = typedef Stub<UpwardMessageTag> |
Definition at line 87 of file parachains_inherent_data.hpp.
std::optional<uint64_t> kagome::consensus::babe::getAuthorityIndex | ( | const primitives::AuthorityList & | authorities, |
const primitives::BabeSessionKey & | authority_key | ||
) |
Get index of authority.
authorities | list of authorities |
authority_key | authority |
Definition at line 225 of file babe_impl.cpp.
scale::ScaleEncoderStream& kagome::consensus::babe::operator<< | ( | scale::ScaleEncoderStream & | s, |
const CandidateDescriptor & | data | ||
) |
Definition at line 51 of file parachains_inherent_data.hpp.
scale::ScaleEncoderStream& kagome::consensus::babe::operator<< | ( | scale::ScaleEncoderStream & | s, |
const OutboundHrmpMessage & | data | ||
) |
Definition at line 98 of file parachains_inherent_data.hpp.
scale::ScaleEncoderStream& kagome::consensus::babe::operator<< | ( | scale::ScaleEncoderStream & | s, |
const CandidateCommitments & | data | ||
) |
Definition at line 136 of file parachains_inherent_data.hpp.
scale::ScaleEncoderStream& kagome::consensus::babe::operator<< | ( | scale::ScaleEncoderStream & | s, |
const CandidateReceipt & | data | ||
) |
Definition at line 168 of file parachains_inherent_data.hpp.
scale::ScaleEncoderStream& kagome::consensus::babe::operator<< | ( | scale::ScaleEncoderStream & | s, |
const CommittedCandidate & | data | ||
) |
Definition at line 198 of file parachains_inherent_data.hpp.
scale::ScaleEncoderStream& kagome::consensus::babe::operator<< | ( | scale::ScaleEncoderStream & | s, |
const Vote & | data | ||
) |
Definition at line 234 of file parachains_inherent_data.hpp.
scale::ScaleEncoderStream& kagome::consensus::babe::operator<< | ( | scale::ScaleEncoderStream & | s, |
const DisputeRequest & | data | ||
) |
Definition at line 270 of file parachains_inherent_data.hpp.
scale::ScaleEncoderStream& kagome::consensus::babe::operator<< | ( | scale::ScaleEncoderStream & | s, |
const ParachainInherentData & | data | ||
) |
Definition at line 310 of file parachains_inherent_data.hpp.
scale::ScaleDecoderStream& kagome::consensus::babe::operator>> | ( | scale::ScaleDecoderStream & | s, |
CandidateDescriptor & | data | ||
) |
Definition at line 66 of file parachains_inherent_data.hpp.
scale::ScaleDecoderStream& kagome::consensus::babe::operator>> | ( | scale::ScaleDecoderStream & | s, |
OutboundHrmpMessage & | data | ||
) |
Definition at line 103 of file parachains_inherent_data.hpp.
scale::ScaleDecoderStream& kagome::consensus::babe::operator>> | ( | scale::ScaleDecoderStream & | s, |
CandidateCommitments & | data | ||
) |
Definition at line 148 of file parachains_inherent_data.hpp.
scale::ScaleDecoderStream& kagome::consensus::babe::operator>> | ( | scale::ScaleDecoderStream & | s, |
CandidateReceipt & | data | ||
) |
Definition at line 173 of file parachains_inherent_data.hpp.
scale::ScaleDecoderStream& kagome::consensus::babe::operator>> | ( | scale::ScaleDecoderStream & | s, |
CommittedCandidate & | data | ||
) |
Definition at line 207 of file parachains_inherent_data.hpp.
scale::ScaleDecoderStream& kagome::consensus::babe::operator>> | ( | scale::ScaleDecoderStream & | s, |
Vote & | data | ||
) |
Definition at line 243 of file parachains_inherent_data.hpp.
scale::ScaleDecoderStream& kagome::consensus::babe::operator>> | ( | scale::ScaleDecoderStream & | s, |
DisputeRequest & | data | ||
) |
Definition at line 280 of file parachains_inherent_data.hpp.
scale::ScaleDecoderStream& kagome::consensus::babe::operator>> | ( | scale::ScaleDecoderStream & | s, |
ParachainInherentData & | data | ||
) |
Definition at line 320 of file parachains_inherent_data.hpp.
|
inline |
Definition at line 58 of file babe_impl.hpp.
|
static |
The maximum allowed number of slots past the expected slot as a delay for block production. This is an intentional relaxation of block dropping algo
Definition at line 67 of file babe_impl.hpp.
|
inline |
Definition at line 60 of file babe_impl.hpp.
|
inline |
Definition at line 56 of file babe_impl.hpp.
|
inline |
Definition at line 62 of file babe_impl.hpp.