6 #ifndef CONSENSUS_GATE_OBJECT_HPP 7 #define CONSENSUS_GATE_OBJECT_HPP 30 std::shared_ptr<const LedgerState> ledger_state)
31 : round(
std::move(round)), ledger_state(
std::move(ledger_state)) {}
36 std::shared_ptr<const shared_model::interface::Block>
block;
39 std::shared_ptr<const LedgerState> ledger_state,
40 std::shared_ptr<const shared_model::interface::Block> block)
42 block(
std::move(block)) {}
50 std::shared_ptr<const LedgerState> ledger_state,
53 public_keys(
std::move(public_keys)) {}
62 std::shared_ptr<const LedgerState> ledger_state,
66 std::move(ledger_state),
67 std::move(public_keys)),
68 hash(
std::move(hash)) {}
73 using Synchronizable::Synchronizable;
78 using Synchronizable::Synchronizable;
83 using Synchronizable::Synchronizable;
88 using Synchronizable::Synchronizable;
101 #endif // CONSENSUS_GATE_OBJECT_HPP round.block_round > ledger_state->top_block_info.height + 1
Definition: gate_object.hpp:87
Current pair is valid.
Definition: gate_object.hpp:35
consensus::Round round
Definition: gate_object.hpp:26
VoteOther(consensus::Round round, std::shared_ptr< const LedgerState > ledger_state, shared_model::interface::types::PublicKeyCollectionType public_keys, shared_model::interface::types::HashType hash)
Definition: gate_object.hpp:60
Network votes for another pair and round.
Definition: gate_object.hpp:57
Definition: gate_object.hpp:25
shared_model::interface::types::PublicKeyCollectionType public_keys
Definition: gate_object.hpp:46
Synchronizable(consensus::Round round, std::shared_ptr< const LedgerState > ledger_state, shared_model::interface::types::PublicKeyCollectionType public_keys)
Definition: gate_object.hpp:48
Agreement on <None, None>
Definition: gate_object.hpp:82
std::variant< PairValid, VoteOther, ProposalReject, BlockReject, AgreementOnNone, Future > GateObject
Definition: gate_object.hpp:96
PairValid(consensus::Round round, std::shared_ptr< const LedgerState > ledger_state, std::shared_ptr< const shared_model::interface::Block > block)
Definition: gate_object.hpp:38
std::vector< std::string > PublicKeyCollectionType
Type of public keys' collection.
Definition: types.hpp:54
Definition: gate_object.hpp:45
Definition: block_query.hpp:15
BaseGateObject(consensus::Round round, std::shared_ptr< const LedgerState > ledger_state)
Definition: gate_object.hpp:29
shared_model::interface::types::HashType hash
Definition: gate_object.hpp:58
Reject on proposal.
Definition: gate_object.hpp:72
std::shared_ptr< const shared_model::interface::Block > block
Definition: gate_object.hpp:36
Definition: command_executor.hpp:13
std::shared_ptr< const LedgerState > ledger_state
Definition: gate_object.hpp:27
Reject on block.
Definition: gate_object.hpp:77