Kagome
Polkadot Runtime Engine in C++17
structs.hpp File Reference
#include <boost/asio/steady_timer.hpp>
#include <boost/variant.hpp>
#include <common/buffer.hpp>
#include "common/blob.hpp"
#include "common/visitor.hpp"
#include "common/wrapper.hpp"
#include "consensus/grandpa/common.hpp"
#include "crypto/ed25519_types.hpp"
#include "log/logger.hpp"
#include "primitives/authority.hpp"
#include "primitives/common.hpp"
#include "scale/scale.hpp"
#include "scale/tie.hpp"
Include dependency graph for structs.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kagome::consensus::grandpa::SignedMessage
 
struct  kagome::consensus::grandpa::Equivocated< Message >
 
struct  kagome::consensus::grandpa::detail::Equivocation< Message >
 Proof of an equivocation (double-vote) in a given round. More...
 
class  kagome::consensus::grandpa::SignedPrevote
 
class  kagome::consensus::grandpa::SignedPrecommit
 
struct  kagome::consensus::grandpa::GrandpaJustification
 
struct  kagome::consensus::grandpa::Commit
 A commit message which is an aggregate of precommits. More...
 
struct  kagome::consensus::grandpa::VoteMessage
 
struct  kagome::consensus::grandpa::TotalWeight
 
struct  kagome::consensus::grandpa::CompactCommit
 

Namespaces

 kagome::consensus::grandpa
 
 kagome::consensus::grandpa::detail
 

Typedefs

using kagome::consensus::grandpa::Timer = boost::asio::basic_waitable_timer< std::chrono::steady_clock >
 
using kagome::consensus::grandpa::BlockInfo = primitives::BlockInfo
 
using kagome::consensus::grandpa::Precommit = primitives::detail::BlockInfoT< struct PrecommitTag >
 
using kagome::consensus::grandpa::Prevote = primitives::detail::BlockInfoT< struct PrevoteTag >
 
using kagome::consensus::grandpa::PrimaryPropose = primitives::detail::BlockInfoT< struct PrimaryProposeTag >
 
using kagome::consensus::grandpa::Vote = boost::variant< Prevote, Precommit, PrimaryPropose >
 Note: order of types in variant matters. More...
 
using kagome::consensus::grandpa::EquivocatorySignedMessage = std::pair< SignedMessage, SignedMessage >
 
using kagome::consensus::grandpa::VoteVariant = boost::variant< SignedMessage, EquivocatorySignedMessage >
 
using kagome::consensus::grandpa::PrevoteEquivocation = detail::Equivocation< Prevote >
 
using kagome::consensus::grandpa::PrecommitEquivocation = detail::Equivocation< Precommit >
 

Functions

template<class Stream , typename = std::enable_if_t<Stream::is_encoder_stream>>
Stream & kagome::consensus::grandpa::operator<< (Stream &s, const SignedMessage &signed_msg)
 
template<class Stream , typename = std::enable_if_t<Stream::is_decoder_stream>>
Stream & kagome::consensus::grandpa::operator>> (Stream &s, SignedMessage &signed_msg)
 
template<class Stream , typename = std::enable_if_t<Stream::is_encoder_stream>>
Stream & kagome::consensus::grandpa::operator<< (Stream &s, const SignedPrevote &signed_msg)
 
template<class Stream , typename = std::enable_if_t<Stream::is_decoder_stream>>
Stream & kagome::consensus::grandpa::operator>> (Stream &s, SignedPrevote &signed_msg)
 
template<class Stream , typename = std::enable_if_t<Stream::is_encoder_stream>>
Stream & kagome::consensus::grandpa::operator<< (Stream &s, const SignedPrecommit &signed_msg)
 
template<class Stream , typename = std::enable_if_t<Stream::is_decoder_stream>>
Stream & kagome::consensus::grandpa::operator>> (Stream &s, SignedPrecommit &signed_msg)
 

Class Documentation

struct kagome::consensus::grandpa::Equivocated

template<typename Message>
struct kagome::consensus::grandpa::Equivocated< Message >

Definition at line 89 of file structs.hpp.

Collaboration diagram for kagome::consensus::grandpa::Equivocated< Message >:
Class Members
Message first
Message second
struct kagome::consensus::grandpa::detail::Equivocation

template<typename Message>
struct kagome::consensus::grandpa::detail::Equivocation< Message >

Proof of an equivocation (double-vote) in a given round.

Definition at line 100 of file structs.hpp.

Collaboration diagram for kagome::consensus::grandpa::detail::Equivocation< Message >:
Class Members
Id id The identity of the equivocator.
Equivocated< Message > proof
RoundNumber round The round number equivocated in.
struct kagome::consensus::grandpa::Commit

A commit message which is an aggregate of precommits.

Definition at line 160 of file structs.hpp.

Collaboration diagram for kagome::consensus::grandpa::Commit:
Class Members
GrandpaJustification justification
BlockInfo vote
struct kagome::consensus::grandpa::TotalWeight

Definition at line 181 of file structs.hpp.

Collaboration diagram for kagome::consensus::grandpa::TotalWeight:
Class Members
uint64_t precommit
uint64_t prevote