diff --git a/uhs_2atomizer_2archiver_2controller_8hpp.html b/uhs_2atomizer_2archiver_2controller_8hpp.html
index f69e29f2d..4d6071bd4 100644
--- a/uhs_2atomizer_2archiver_2controller_8hpp.html
+++ b/uhs_2atomizer_2archiver_2controller_8hpp.html
@@ -274,6 +274,9 @@
|
+struct | cbdc::archiver::leveldbWriteOptions |
+ | Wrapper for leveldb::WriteOptions to provide a constructor to set base class member "sync". More...
|
+ |
class | cbdc::archiver::controller |
| Wrapper for the archiver executable implementation. More...
|
|
diff --git a/uhs_2atomizer_2archiver_2controller_8hpp.js b/uhs_2atomizer_2archiver_2controller_8hpp.js
index 3147ce229..0e210b390 100644
--- a/uhs_2atomizer_2archiver_2controller_8hpp.js
+++ b/uhs_2atomizer_2archiver_2controller_8hpp.js
@@ -1,4 +1,5 @@
var uhs_2atomizer_2archiver_2controller_8hpp =
[
+ [ "cbdc::archiver::leveldbWriteOptions", "structcbdc_1_1archiver_1_1leveldbWriteOptions.html", "structcbdc_1_1archiver_1_1leveldbWriteOptions" ],
[ "cbdc::archiver::controller", "classcbdc_1_1archiver_1_1controller.html", "classcbdc_1_1archiver_1_1controller" ]
];
\ No newline at end of file
diff --git a/uhs_2atomizer_2archiver_2controller_8hpp_source.html b/uhs_2atomizer_2archiver_2controller_8hpp_source.html
index 2a88c616a..ec4e444dd 100644
--- a/uhs_2atomizer_2archiver_2controller_8hpp_source.html
+++ b/uhs_2atomizer_2archiver_2controller_8hpp_source.html
@@ -115,103 +115,110 @@
14#include <leveldb/db.h>
-
-
-
-
-
-
-
-
-
-
-
-
36 std::shared_ptr<logging::log> log,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
115 cbdc::config::options m_opts;
-
-
-
-
-
123 std::map<uint64_t, cbdc::atomizer::block> m_deferred;
-
124 std::ofstream m_tp_sample_file;
-
125 std::chrono::high_resolution_clock::time_point m_last_block_time;
-
126 size_t m_max_samples{};
-
-
-
-
-
-
132 bool m_sample_collection_active{
false};
-
-
134 std::thread m_atomizer_handler_thread;
-
135 std::thread m_archiver_server;
-
-
137 std::atomic_bool m_running{
true};
-
-
139 const std::string m_bestblock_key =
"bestblock";
-
140 static constexpr const leveldb::ReadOptions m_read_options{};
-
141 static constexpr const leveldb::WriteOptions m_write_options{
true};
-
-
143 void request_block(
uint64_t height);
-
144 void request_prune(
uint64_t height);
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
45 std::shared_ptr<logging::log> log,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
124 cbdc::config::options m_opts;
+
+
+
+
+
132 std::map<uint64_t, cbdc::atomizer::block> m_deferred;
+
133 std::ofstream m_tp_sample_file;
+
134 std::chrono::high_resolution_clock::time_point m_last_block_time;
+
135 size_t m_max_samples{};
+
+
+
+
+
+
141 bool m_sample_collection_active{
false};
+
+
143 std::thread m_atomizer_handler_thread;
+
144 std::thread m_archiver_server;
+
+
146 std::atomic_bool m_running{
true};
-
+
148 const std::string m_bestblock_key =
"bestblock";
+
149 static constexpr const leveldb::ReadOptions m_read_options{};
+
150 static const leveldbWriteOptions m_write_options;
+
+
152 void request_block(
uint64_t height);
+
153 void request_prune(
uint64_t height);
+
+
+
+
+
-
Wrapper for the archiver executable implementation.
+
Wrapper for the archiver executable implementation.
-
auto get_block(uint64_t height) -> std::optional< cbdc::atomizer::block >
Queries the archiver database for the block at the specified height.
-
auto init() -> bool
Initializes the controller with all its dependencies.
-
auto running() const -> bool
Returns true if this archiver is receiving blocks from the atomizer.
-
auto init_sample_collection() -> bool
Initializes the sample collection.
-
auto atomizer_handler(cbdc::network::message_t &&pkt) -> std::optional< cbdc::buffer >
Receives a serialized block from the atomizer and digests it.
-
void digest_block(const cbdc::atomizer::block &blk)
Adds a block to the archiver database.
-
auto init_leveldb() -> bool
Initializes the LevelDB database.
-
auto best_block_height() const -> uint64_t
Returns the archiver's best block height.
+
auto get_block(uint64_t height) -> std::optional< cbdc::atomizer::block >
Queries the archiver database for the block at the specified height.
+
auto init() -> bool
Initializes the controller with all its dependencies.
+
auto running() const -> bool
Returns true if this archiver is receiving blocks from the atomizer.
+
auto init_sample_collection() -> bool
Initializes the sample collection.
+
auto atomizer_handler(cbdc::network::message_t &&pkt) -> std::optional< cbdc::buffer >
Receives a serialized block from the atomizer and digests it.
+
void digest_block(const cbdc::atomizer::block &blk)
Adds a block to the archiver database.
+
auto init_leveldb() -> bool
Initializes the LevelDB database.
+
auto best_block_height() const -> uint64_t
Returns the archiver's best block height.
controller(controller &&)=delete
auto operator=(controller &&) -> controller &=delete
-
auto init_archiver_server() -> bool
Initializes the archiver server.
-
auto server_handler(cbdc::network::message_t &&pkt) -> std::optional< cbdc::buffer >
Receives a request for an archived block and returns the block.
+
auto init_archiver_server() -> bool
Initializes the archiver server.
+
auto server_handler(cbdc::network::message_t &&pkt) -> std::optional< cbdc::buffer >
Receives a request for an archived block and returns the block.
controller(const controller &)=delete
auto operator=(const controller &) -> controller &=delete
-
-
auto init_best_block() -> bool
Initializes the best block value.
-
auto init_atomizer_connection() -> bool
Initializes the connection to the atomizer.
+
+
auto init_best_block() -> bool
Initializes the best block value.
+
auto init_atomizer_connection() -> bool
Initializes the connection to the atomizer.
Buffer to store and retrieve byte data.
Manages a group of peer s.
Tools for reading options from a configuration file and building application-specific parameter sets ...
@@ -219,6 +226,8 @@
@ array
A collection of RLP values.
+
Wrapper for leveldb::WriteOptions to provide a constructor to set base class member "sync".
+
leveldbWriteOptions(bool do_sync)
Project-wide configuration options.
diff --git a/uhs_2atomizer_2atomizer_2controller_8cpp_source.html b/uhs_2atomizer_2atomizer_2controller_8cpp_source.html
index 9ab178b34..6f9822571 100644
--- a/uhs_2atomizer_2atomizer_2controller_8cpp_source.html
+++ b/uhs_2atomizer_2atomizer_2controller_8cpp_source.html
@@ -264,141 +264,142 @@
158 void controller::tx_notify_handler() {
-
- 161 err_return_handler(std::forward<decltype(res)>(res),
- 162 std::forward<decltype(err)>(err));
-
-
- 165 = std::chrono::milliseconds(20);
-
-
-
-
-
- 171 void controller::main_handler() {
- 172 auto last_time = std::chrono::high_resolution_clock::now();
-
-
-
-
-
- 178 std::this_thread::sleep_until(
next_time);
- 179 last_time = std::chrono::high_resolution_clock::now();
-
-
- 182 auto req = make_block_request();
-
-
-
- 186 std::forward<
decltype(
r)>(
r),
- 187 std::forward<
decltype(
err)>(
err));
-
- 189 if(!
res && m_running) {
- 190 m_logger->error(
"Failed to make block at time",
-
-
-
-
-
-
-
- 198 nuraft::ptr<std::exception>&
err) {
-
-
-
-
- 203 const auto res =
r.get();
-
-
-
-
- 208 std::holds_alternative<make_block_response>(
maybe_resp.value()));
-
-
-
-
-
-
- 215 m_logger->info(
"Block h:",
-
-
- 218 resp.m_blk.m_transactions.size(),
-
-
-
-
-
- 224 if(!
resp.m_errs.empty()) {
-
-
-
-
-
-
- 231 nuraft::ptr<std::exception>&
err) {
-
- 233 m_logger->warn(
"Exception handling log entry:",
err->what());
-
-
-
- 237 const auto res =
r.get();
-
-
-
-
-
-
-
-
-
- 247 auto controller::raft_callback(nuraft::cb_func::Type type,
- 248 nuraft::cb_func::Param* )
- 249 -> nuraft::cb_func::ReturnCode {
- 250 if(type == nuraft::cb_func::Type::BecomeFollower) {
-
-
- 253 m_atomizer_network.close();
- 254 if(m_atomizer_server.joinable()) {
- 255 m_atomizer_server.join();
-
- 257 m_logger->debug(
"Became follower, stopped listening");
- 258 }
else if(type == nuraft::cb_func::Type::BecomeLeader) {
-
-
- 261 m_atomizer_network.close();
- 262 if(m_atomizer_server.joinable()) {
- 263 m_atomizer_server.join();
-
-
- 266 m_atomizer_network.reset();
-
-
- 269 auto as = m_atomizer_network.start_server(
- 270 m_opts.m_atomizer_endpoints[m_atomizer_id],
-
- 272 return server_handler(std::forward<decltype(pkt)>(pkt));
-
-
- 275 if(!
as.has_value()) {
- 276 m_logger->fatal(
"Failed to establish atomizer server.");
-
- 278 m_atomizer_server = std::move(
as.value());
- 279 m_logger->debug(
"Became leader, started listening");
-
- 281 return nuraft::cb_func::ReturnCode::Ok;
-
-
- 284 void controller::notification_consumer() {
-
- 286 auto notif = tx_notify_request();
-
-
-
-
-
-
-
-
+
+ 161 [&,
this](
auto&&
res,
auto&&
err) {
+ 162 err_return_handler(std::forward<decltype(res)>(res),
+ 163 std::forward<decltype(err)>(err));
+
+
+ 166 = std::chrono::milliseconds(20);
+
+
+
+
+
+ 172 void controller::main_handler() {
+ 173 auto last_time = std::chrono::high_resolution_clock::now();
+
+
+
+
+
+ 179 std::this_thread::sleep_until(
next_time);
+ 180 last_time = std::chrono::high_resolution_clock::now();
+
+
+ 183 auto req = make_block_request();
+
+
+
+ 187 std::forward<
decltype(
r)>(
r),
+ 188 std::forward<
decltype(
err)>(
err));
+
+ 190 if(!
res && m_running) {
+ 191 m_logger->error(
"Failed to make block at time",
+
+
+
+
+
+
+
+ 199 nuraft::ptr<std::exception>&
err) {
+
+
+
+
+ 204 const auto res =
r.get();
+
+
+
+
+ 209 std::holds_alternative<make_block_response>(
maybe_resp.value()));
+
+
+
+
+
+
+ 216 m_logger->info(
"Block h:",
+
+
+ 219 resp.m_blk.m_transactions.size(),
+
+
+
+
+
+ 225 if(!
resp.m_errs.empty()) {
+
+
+
+
+
+
+ 232 nuraft::ptr<std::exception>&
err) {
+
+ 234 m_logger->warn(
"Exception handling log entry:",
err->what());
+
+
+
+ 238 const auto res =
r.get();
+
+
+
+
+
+
+
+
+
+ 248 auto controller::raft_callback(nuraft::cb_func::Type type,
+ 249 nuraft::cb_func::Param* )
+ 250 -> nuraft::cb_func::ReturnCode {
+ 251 if(type == nuraft::cb_func::Type::BecomeFollower) {
+
+
+ 254 m_atomizer_network.close();
+ 255 if(m_atomizer_server.joinable()) {
+ 256 m_atomizer_server.join();
+
+ 258 m_logger->debug(
"Became follower, stopped listening");
+ 259 }
else if(type == nuraft::cb_func::Type::BecomeLeader) {
+
+
+ 262 m_atomizer_network.close();
+ 263 if(m_atomizer_server.joinable()) {
+ 264 m_atomizer_server.join();
+
+
+ 267 m_atomizer_network.reset();
+
+
+ 270 auto as = m_atomizer_network.start_server(
+ 271 m_opts.m_atomizer_endpoints[m_atomizer_id],
+
+ 273 return server_handler(std::forward<decltype(pkt)>(pkt));
+
+
+ 276 if(!
as.has_value()) {
+ 277 m_logger->fatal(
"Failed to establish atomizer server.");
+
+ 279 m_atomizer_server = std::move(
as.value());
+ 280 m_logger->debug(
"Became leader, started listening");
+
+ 282 return nuraft::cb_func::ReturnCode::Ok;
+
+
+ 285 void controller::notification_consumer() {
+
+ 287 auto notif = tx_notify_request();
+
+
+
+
+
+
+
+
void tx_notify(tx_notify_request &¬if)
Add the given transaction notification to the set of pending notifications.
auto send_complete_txs(const raft::callback_type &result_fn) -> bool
Replicate a transaction notification command in the state machine containing the current set of compl...
diff --git a/uhs_2atomizer_2atomizer_2messages_8hpp_source.html b/uhs_2atomizer_2atomizer_2messages_8hpp_source.html
index 5fcb0d916..2e7a93e0d 100644
--- a/uhs_2atomizer_2atomizer_2messages_8hpp_source.html
+++ b/uhs_2atomizer_2atomizer_2messages_8hpp_source.html
@@ -201,7 +201,7 @@
auto operator==(const tx_notify_request &rhs) const -> bool
transaction::compact_tx m_tx
Compact transaction associated with the notification.
uint64_t m_block_height
Block height at which the given input attestations are valid.
-A condensed, hash-only transaction representation.
+A condensed, hash-only transaction representation.
Messages atomizers and shards can use to transmit errors to the watchtower, and which the watchtower ...
diff --git a/uhs_2atomizer_2sentinel_2controller_8cpp_source.html b/uhs_2atomizer_2sentinel_2controller_8cpp_source.html
index 34a5b5046..42b7a694f 100644
--- a/uhs_2atomizer_2sentinel_2controller_8cpp_source.html
+++ b/uhs_2atomizer_2sentinel_2controller_8cpp_source.html
@@ -267,7 +267,7 @@
158 = m_sentinel_clients[
sentinel_id]->validate_transaction(
-
+
163 validate_result_handler(
v_res, tx,
ctx,
r);
@@ -331,7 +331,7 @@
@ static_invalid
Statically invalid. Must be fixed and resubmitted.
@ pending
Statically valid, and the sentinel has submitted the transaction to the network for processing.
auto check_tx(const cbdc::transaction::full_tx &tx) -> std::optional< tx_error >
Runs static validation checks on the given transaction.
-auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
+auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
@ array
A collection of RLP values.
auto to_string(const hash_t &val) -> std::string
Converts a hash to a hexadecimal string.
auto make_buffer(const T &obj) -> std::enable_if_t< std::is_same_v< B, nuraft::ptr< nuraft::buffer > >, nuraft::ptr< nuraft::buffer > >
Serialize object into nuraft::buffer using a cbdc::nuraft_serializer.
@@ -340,8 +340,8 @@
size_t m_attestation_threshold
Number of sentinel attestations needed for a compact transaction.
Sentinel response message.
Sentinel-specific representation of shard network information.
-A condensed, hash-only transaction representation.
-
+A condensed, hash-only transaction representation.
+
diff --git a/uhs_2atomizer_2sentinel_2controller_8hpp_source.html b/uhs_2atomizer_2sentinel_2controller_8hpp_source.html
index eca3111d4..c37a521c4 100644
--- a/uhs_2atomizer_2sentinel_2controller_8hpp_source.html
+++ b/uhs_2atomizer_2sentinel_2controller_8hpp_source.html
@@ -206,7 +206,7 @@
std::array< unsigned char, pubkey_len > privkey_t
A private key of a public/private keypair.
@ array
A collection of RLP values.
Project-wide configuration options.
-
+
diff --git a/uhs_2client_2client_8cpp_source.html b/uhs_2client_2client_8cpp_source.html
index 9ca633806..0c97bfae6 100644
--- a/uhs_2client_2client_8cpp_source.html
+++ b/uhs_2client_2client_8cpp_source.html
@@ -528,7 +528,7 @@
auto decode(const std::string &addr_str) -> std::optional< cbdc::hash_t >
auto to_string(tx_status status) -> std::string
Return a human-readable string describing a tx_status.
@ confirmed
Executed to completion.
-auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
+auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
std::array< unsigned char, cbdc::hash_size > hash_t
SHA256 hash container.
@ array
A collection of RLP values.
@@ -536,10 +536,10 @@
std::array< unsigned char, pubkey_len > pubkey_t
A public key of a public/private keypair.
Project-wide configuration options.
-
-std::vector< input > m_inputs
The set of inputs for the transaction.
-
-
+
+std::vector< input > m_inputs
The set of inputs for the transaction.
+
+
hash_t m_tx_id
The hash of the transaction which created the out_point.
diff --git a/uhs_2client_2client_8hpp_source.html b/uhs_2client_2client_8hpp_source.html
index 173db7b3d..808edb2fa 100644
--- a/uhs_2client_2client_8hpp_source.html
+++ b/uhs_2client_2client_8hpp_source.html
@@ -272,8 +272,8 @@
@ array
A collection of RLP values.
std::array< unsigned char, pubkey_len > pubkey_t
A public key of a public/private keypair.
Project-wide configuration options.
-
-
+
+
diff --git a/uhs_2sentinel_2client_8cpp_source.html b/uhs_2sentinel_2client_8cpp_source.html
index a90e7959c..7f32ca343 100644
--- a/uhs_2sentinel_2client_8cpp_source.html
+++ b/uhs_2sentinel_2client_8cpp_source.html
@@ -192,7 +192,7 @@
@ array
A collection of RLP values.
Sentinel request message.
Request type for transaction validation and attestation.
-
+
diff --git a/uhs_2sentinel_2client_8hpp_source.html b/uhs_2sentinel_2client_8hpp_source.html
index 05ab9295f..6f4e88a69 100644
--- a/uhs_2sentinel_2client_8hpp_source.html
+++ b/uhs_2sentinel_2client_8hpp_source.html
@@ -181,7 +181,7 @@
@ array
A collection of RLP values.
Project-wide configuration options.
-
+
diff --git a/uhs_2sentinel_2interface_8hpp_source.html b/uhs_2sentinel_2interface_8hpp_source.html
index f5263ab2e..a007bee5a 100644
--- a/uhs_2sentinel_2interface_8hpp_source.html
+++ b/uhs_2sentinel_2interface_8hpp_source.html
@@ -193,7 +193,7 @@
@ pending
Statically valid, and the sentinel has submitted the transaction to the network for processing.
@ confirmed
Executed to completion.
std::variant< execute_request, validate_request > request
Sentinel RPC request type.
-std::pair< pubkey_t, signature_t > sentinel_attestation
Sentinel attestation type.
+std::pair< pubkey_t, signature_t > sentinel_attestation
Sentinel attestation type.
@ array
A collection of RLP values.
Sentinel request message.
Sentinel response message.
@@ -204,7 +204,7 @@
cbdc::network::peer_id_t m_peer_id
Network ID of the peer corresponding to this shard generated by a call to cbdc::network::network::con...
config::shard_range_t m_range
UHS ID range.
Request type for transaction validation and attestation.
-
+
diff --git a/uhs_2transaction_2messages_8cpp_source.html b/uhs_2transaction_2messages_8cpp_source.html
index adf00dbe5..24536f58f 100644
--- a/uhs_2transaction_2messages_8cpp_source.html
+++ b/uhs_2transaction_2messages_8cpp_source.html
@@ -233,9 +233,9 @@
auto operator>>(serializer &deser, parsec::agent::rpc::request &req) -> serializer &
@ array
A collection of RLP values.
auto operator<<(serializer &ser, const parsec::agent::rpc::request &req) -> serializer &
-A condensed, hash-only transaction representation.
-
-
+A condensed, hash-only transaction representation.
+
+
The unique identifier of a specific output from a transaction.
An output of a transaction.
diff --git a/uhs_2twophase_2coordinator_2client_8cpp_source.html b/uhs_2twophase_2coordinator_2client_8cpp_source.html
index b3e8486cc..46bfdcd0f 100644
--- a/uhs_2twophase_2coordinator_2client_8cpp_source.html
+++ b/uhs_2twophase_2coordinator_2client_8cpp_source.html
@@ -136,7 +136,7 @@
auto execute_transaction(transaction::compact_tx tx, callback_type result_callback) -> bool override
Requests execution of the given transaction using the coordinator cluster.
@ array
A collection of RLP values.
-A condensed, hash-only transaction representation.
+A condensed, hash-only transaction representation.
diff --git a/uhs_2twophase_2coordinator_2client_8hpp_source.html b/uhs_2twophase_2coordinator_2client_8hpp_source.html
index 63f2003b4..1e3f59614 100644
--- a/uhs_2twophase_2coordinator_2client_8hpp_source.html
+++ b/uhs_2twophase_2coordinator_2client_8hpp_source.html
@@ -150,7 +150,7 @@
auto execute_transaction(transaction::compact_tx tx, callback_type result_callback) -> bool override
Requests execution of the given transaction using the coordinator cluster.
@ array
A collection of RLP values.
-A condensed, hash-only transaction representation.
+A condensed, hash-only transaction representation.
diff --git a/uhs_2twophase_2coordinator_2controller_8cpp_source.html b/uhs_2twophase_2coordinator_2controller_8cpp_source.html
index c147a5b8c..4d467e485 100644
--- a/uhs_2twophase_2coordinator_2controller_8cpp_source.html
+++ b/uhs_2twophase_2coordinator_2controller_8cpp_source.html
@@ -879,7 +879,7 @@
auto operator==(const coordinator_state &rhs) const -> bool
Metadata of a command for the state machine.
auto operator==(const sm_command_header &rhs) const -> bool
-A condensed, hash-only transaction representation.
+A condensed, hash-only transaction representation.
diff --git a/uhs_2twophase_2coordinator_2controller_8hpp_source.html b/uhs_2twophase_2coordinator_2controller_8hpp_source.html
index 9849e1ef7..1af822b05 100644
--- a/uhs_2twophase_2coordinator_2controller_8hpp_source.html
+++ b/uhs_2twophase_2coordinator_2controller_8hpp_source.html
@@ -308,7 +308,7 @@
A full command for the state machine to process.
std::optional< std::variant< prepare_tx, commit_tx > > m_data
Associated transactions to prepare or commit, if applicable.
sm_command_header m_header
The command's metadata.
-A condensed, hash-only transaction representation.
+A condensed, hash-only transaction representation.
diff --git a/uhs_2twophase_2coordinator_2interface_8hpp_source.html b/uhs_2twophase_2coordinator_2interface_8hpp_source.html
index 1b375d8ea..edc07d276 100644
--- a/uhs_2twophase_2coordinator_2interface_8hpp_source.html
+++ b/uhs_2twophase_2coordinator_2interface_8hpp_source.html
@@ -143,7 +143,7 @@
std::function< void(std::optional< bool >)> callback_type
Signature of callback function for a transaction execution result.
@ array
A collection of RLP values.
-A condensed, hash-only transaction representation.
+A condensed, hash-only transaction representation.
diff --git a/uhs_2twophase_2coordinator_2messages_8hpp_source.html b/uhs_2twophase_2coordinator_2messages_8hpp_source.html
index 85982af49..7df27c913 100644
--- a/uhs_2twophase_2coordinator_2messages_8hpp_source.html
+++ b/uhs_2twophase_2coordinator_2messages_8hpp_source.html
@@ -118,7 +118,7 @@
bool response
Coordinator RPC response message; a boolean, true if the coordinator completed the transaction,...
@ array
A collection of RLP values.
-A condensed, hash-only transaction representation.
+A condensed, hash-only transaction representation.
diff --git a/uhs_2twophase_2coordinator_2server_8cpp_source.html b/uhs_2twophase_2coordinator_2server_8cpp_source.html
index 8616f2faf..9392dc372 100644
--- a/uhs_2twophase_2coordinator_2server_8cpp_source.html
+++ b/uhs_2twophase_2coordinator_2server_8cpp_source.html
@@ -128,7 +128,7 @@
Generic asynchronous RPC server.
@ array
A collection of RLP values.
-A condensed, hash-only transaction representation.
+A condensed, hash-only transaction representation.
diff --git a/uhs_2twophase_2locking__shard_2interface_8hpp_source.html b/uhs_2twophase_2locking__shard_2interface_8hpp_source.html
index cab6de9c5..22f7474f7 100644
--- a/uhs_2twophase_2locking__shard_2interface_8hpp_source.html
+++ b/uhs_2twophase_2locking__shard_2interface_8hpp_source.html
@@ -173,7 +173,7 @@
Transaction type processed by locking shards.
transaction::compact_tx m_tx
Compact TX.
auto operator==(const tx &rhs) const -> bool
-A condensed, hash-only transaction representation.
+A condensed, hash-only transaction representation.
diff --git a/uhs_2twophase_2sentinel__2pc_2controller_8cpp_source.html b/uhs_2twophase_2sentinel__2pc_2controller_8cpp_source.html
index 5fc7f5ccc..0fb31bfcf 100644
--- a/uhs_2twophase_2sentinel__2pc_2controller_8cpp_source.html
+++ b/uhs_2twophase_2sentinel__2pc_2controller_8cpp_source.html
@@ -298,7 +298,7 @@
189 = m_sentinel_clients[
sentinel_id]->validate_transaction(
-
+
194 validate_result_handler(
v_res,
@@ -357,7 +357,7 @@
std::variant< execute_request, validate_request > request
Sentinel RPC request type.
auto to_string(cbdc::transaction::validation::tx_error_code err) -> std::string
auto check_tx(const cbdc::transaction::full_tx &tx) -> std::optional< tx_error >
Runs static validation checks on the given transaction.
-auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
+auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
@ array
A collection of RLP values.
auto to_string(const hash_t &val) -> std::string
Converts a hash to a hexadecimal string.
auto pubkey_from_privkey(const privkey_t &privkey, secp256k1_context *ctx) -> pubkey_t
Generates a public key from the specified private key.
@@ -365,8 +365,8 @@
size_t m_attestation_threshold
Number of sentinel attestations needed for a compact transaction.
Sentinel response message.
cbdc::sentinel::tx_status m_tx_status
Transaction execution status.
-A condensed, hash-only transaction representation.
-
+A condensed, hash-only transaction representation.
+
diff --git a/uhs_2twophase_2sentinel__2pc_2controller_8hpp_source.html b/uhs_2twophase_2sentinel__2pc_2controller_8hpp_source.html
index e3ec5cdb6..5cf52f33d 100644
--- a/uhs_2twophase_2sentinel__2pc_2controller_8hpp_source.html
+++ b/uhs_2twophase_2sentinel__2pc_2controller_8hpp_source.html
@@ -216,8 +216,8 @@
std::array< unsigned char, pubkey_len > privkey_t
A private key of a public/private keypair.
@ array
A collection of RLP values.
Project-wide configuration options.
-A condensed, hash-only transaction representation.
-
+A condensed, hash-only transaction representation.
+
diff --git a/validation_8cpp_source.html b/validation_8cpp_source.html
index 8aad3b521..fa0949e74 100644
--- a/validation_8cpp_source.html
+++ b/validation_8cpp_source.html
@@ -617,16 +617,16 @@
@ duplicate
More than one transaction input contains the same output.
@ data_error
A transaction input includes invalid output data.
auto check_in_out_set(const cbdc::transaction::full_tx &tx) -> std::optional< tx_error >
-auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
+auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
std::array< unsigned char, cbdc::hash_size > hash_t
SHA256 hash container.
auto to_vector(const std::array< unsigned char, S > &arr) -> std::vector< std::byte >
Converts an std::array into an std::vector of the same size via copy.
auto hash_data(const std::byte *data, size_t len) -> hash_t
Calculates the SHA256 hash of the specified data.
@ array
A collection of RLP values.
std::array< unsigned char, pubkey_len > pubkey_t
A public key of a public/private keypair.
Variant handler template.
-A condensed, hash-only transaction representation.
-
-
+A condensed, hash-only transaction representation.
+
+
An output of a transaction.
diff --git a/validation_8hpp_source.html b/validation_8hpp_source.html
index 2a0769078..0da09bb80 100644
--- a/validation_8hpp_source.html
+++ b/validation_8hpp_source.html
@@ -280,9 +280,9 @@
std::array< unsigned char, cbdc::hash_size > hash_t
SHA256 hash container.
@ array
A collection of RLP values.
std::array< unsigned char, pubkey_len > pubkey_t
A public key of a public/private keypair.
-A condensed, hash-only transaction representation.
-
-
+A condensed, hash-only transaction representation.
+
+
An output of a transaction.
diff --git a/wallet_8cpp_source.html b/wallet_8cpp_source.html
index 0d90c1a0f..ad3152ecb 100644
--- a/wallet_8cpp_source.html
+++ b/wallet_8cpp_source.html
@@ -704,8 +704,8 @@
auto get_p2pk_witness_commitment(const pubkey_t &payee) -> hash_t
witness_program_type
Specifies how validators should interpret the witness program.
-auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
-auto input_from_output(const full_tx &tx, size_t i, const hash_t &txid) -> std::optional< input >
Converts the output at the specified index to an input.
+auto tx_id(const full_tx &tx) noexcept -> hash_t
Calculates the unique hash of a full transaction.
+auto input_from_output(const full_tx &tx, size_t i, const hash_t &txid) -> std::optional< input >
Converts the output at the specified index to an input.
std::array< unsigned char, cbdc::hash_size > hash_t
SHA256 hash container.
std::array< unsigned char, pubkey_len > privkey_t
A private key of a public/private keypair.
@@ -713,11 +713,11 @@
auto pubkey_from_privkey(const privkey_t &privkey, secp256k1_context *ctx) -> pubkey_t
Generates a public key from the specified private key.
std::array< unsigned char, pubkey_len > pubkey_t
A public key of a public/private keypair.
-
-std::vector< input > m_inputs
The set of inputs for the transaction.
-std::vector< output > m_outputs
The set of new outputs created by the transaction.
-std::vector< witness_t > m_witness
The set of witnesses.
-
+
+std::vector< input > m_inputs
The set of inputs for the transaction.
+std::vector< output > m_outputs
The set of new outputs created by the transaction.
+std::vector< witness_t > m_witness
The set of witnesses.
+
An output of a transaction.
uint64_t m_value
The integral value of the output, in atomic units of currency.
hash_t m_witness_program_commitment
Hash of the witness program.
diff --git a/wallet_8hpp_source.html b/wallet_8hpp_source.html
index 026483245..7dac6f99b 100644
--- a/wallet_8hpp_source.html
+++ b/wallet_8hpp_source.html
@@ -261,8 +261,8 @@
std::array< unsigned char, pubkey_len > pubkey_t
A public key of a public/private keypair.
Pseudorandom number generator (PRNG) for generating random data from a given entropy source.
SipHash function to generate STL data structure hash keys for system IDs.
-
-
+
+