14 std::shared_ptr<logging::log> logger)
15 : m_logger(std::move(logger)),
16 m_client(std::move(endpoints)) {}
19 if(!m_client.init(error_fatal)) {
20 m_logger->error(
"Failed to initialize sentinel RPC client");
27 -> std::optional<execute_response> {
29 if(!res.has_value()) {
32 return std::get<execute_response>(res.value());
40 [cb = std::move(result_callback)](std::optional<response> res) {
41 if(!res.has_value()) {
45 cb(std::get<execute_response>(res.value()));
50 -> std::optional<validate_response> {
52 if(!res.has_value()) {
55 return std::get<validate_response>(res.value());
63 [cb = std::move(result_callback)](std::optional<response> res) {
64 if(!res.has_value()) {
68 cb(std::get<validate_response>(res.value()));
auto init() -> bool
Initializes the client.
std::optional< validate_response > validate_result_type
Return type from transaction validation.
auto validate_transaction(transaction::full_tx tx) -> validate_result_type override
Send a transaction to the sentinel for validation and return the response.
std::optional< cbdc::sentinel::execute_response > execute_result_type
Result type from execute_transaction.
auto execute_transaction(transaction::full_tx tx) -> execute_result_type override
Send a transaction to the sentinel and return the response.
Sentinel request message.
Request type for transaction validation and attestation.