Skip to content

sgns::RpcVerificationEvidence

Structured, claim-bound evidence of which RPC endpoints actually verified a specific bridge claim (issue #364). More...

#include <PublicChainInputValidator.hpp>

Public Functions

Name
std::vector< uint8_t > SlotHash(size_t slot_index) const
Returns the hash for a vote slot, drawn solely from successful endpoints.

Public Attributes

Name
bool valid
True only when the weighted successful endpoints reached the quorum.
std::optional< std::vector< uint8_t > > successful_direct_api
std::vector< std::vector< uint8_t > > successful_public
int32_t successful_weight
Summed consensus_weight of the successful endpoints only.

Detailed Description

struct sgns::RpcVerificationEvidence;

Structured, claim-bound evidence of which RPC endpoints actually verified a specific bridge claim (issue #364).

Replaces the previous boolean-only verification result. An endpoint is recorded here only after it passes every required check for the exact claim: RPC request completed, receipt parsed, receipt status succeeded, expected bridge contract matched and an accepted topic0 matched.

Vote slot hashes are populated exclusively from this evidence, never from endpoint configuration, so a signed vote can no longer claim a DIRECT_API or PUBLIC confirmation from an endpoint that failed, timed out, returned a malformed receipt, or matched the wrong bridge contract.

Public Functions Documentation

function SlotHash

std::vector< uint8_t > SlotHash(
    size_t slot_index
) const

Returns the hash for a vote slot, drawn solely from successful endpoints.

Parameters:

  • slot_index Vote slot (0, 1 or 2).

Return: 32-byte SHA-256 of the endpoint URL, or an empty vector (abstain).

  • slot 0: the successful DIRECT_API endpoint, or empty;
  • slot 1: the first successful PUBLIC endpoint, or empty;
  • slot 2: a second, distinct successful PUBLIC endpoint, or empty.

Public Attributes Documentation

variable valid

bool valid = false;

True only when the weighted successful endpoints reached the quorum.

variable successful_direct_api

std::optional< std::vector< uint8_t > > successful_direct_api;

SHA-256 of the URL of a DIRECT_API endpoint that successfully verified the claim (empty when no direct endpoint confirmed it).

variable successful_public

std::vector< std::vector< uint8_t > > successful_public;

SHA-256 of the URLs of distinct PUBLIC endpoints that successfully verified the claim, in the order they confirmed.

variable successful_weight

int32_t successful_weight = 0;

Summed consensus_weight of the successful endpoints only.


Updated on 2026-08-24 at 19:28:49 +0000