11#ifndef OPENCBDC_TX_SRC_WATCHTOWER_TX_ERROR_MESSAGES_H_
12#define OPENCBDC_TX_SRC_WATCHTOWER_TX_ERROR_MESSAGES_H_
21#include <unordered_set>
27 class tx_error_inputs_dne;
28 struct tx_error_stxo_range;
29 struct tx_error_incomplete;
30 class tx_error_inputs_spent;
104 std::vector<
hash_t> m_input_uhs_ids;
152 std::unordered_set<hash_t, hashing::null> input_uhs_ids);
160 [[nodiscard]]
auto input_uhs_ids() const
161 -> std::unordered_set<
hash_t, hashing::null>;
164 std::unordered_set<
hash_t, hashing::null> m_input_uhs_ids;
177 auto operator==(
const tx_error& rhs)
const -> bool;
212 [[nodiscard]]
auto tx_id() const ->
hash_t;
220 [[nodiscard]] auto to_string() const -> std::
string;
224 std::shared_ptr<tx_error_info> m_info;
Interface for serializing objects into and out of raw bytes representations.
Wrapper for transaction errors.
std::variant< tx_error_sync, tx_error_inputs_dne, tx_error_stxo_range, tx_error_incomplete, tx_error_inputs_spent > tx_error_info
std::array< unsigned char, cbdc::hash_size > hash_t
SHA256 hash container.
auto operator>>(serializer &deser, parsec::agent::rpc::request &req) -> serializer &
auto operator<<(serializer &ser, const parsec::agent::rpc::request &req) -> serializer &
Indicates that the atomizer did not receive enough attestations for a particular transaction from sha...
tx_error_incomplete()=default
Indicates that a shard did not attest to this transaction recently enough for the atomizer to check i...
tx_error_stxo_range()=default
Indicates a shard that tried to process a given transaction was out of sync with the atomizer,...
auto operator==(const tx_error_sync &rhs) const -> bool