sgns::PublicChainInputValidator¶
Validator for transactions that reference external public-chain proofs.
#include <PublicChainInputValidator.hpp>
Inherits from sgns::IInputValidator
Public Functions¶
| Name | |
|---|---|
| void | SetRpcEndpoints(const std::string & chain_id, std::vector< WeightedRpcEndpoint > endpoints) Configure weighted RPC endpoints for a source chain. |
| virtual bool | ValidateUTXOParameters(const UTXOTxParameters & params, const std::string & address, const UTXOManager & utxo_manager) const override Validates local UTXO structure for externally sourced claims. |
| virtual bool | ValidateWitness(const ConsensusSubject & subject, const std::shared_ptr< GeniusTransaction > & tx, const UTXOTxParameters & params, const std::shared_ptr< Blockchain > & blockchain) const override Validates the external witness data supplied by consensus. |
| virtual bool | RequiresConsensusUTXOData() const override Public-chain validation does not require local UTXO witness data. |
Additional inherited members¶
Public Functions inherited from sgns::IInputValidator
| Name | |
|---|---|
| virtual | ~IInputValidator() =default Destroys the input validator. |
Public Functions Documentation¶
function SetRpcEndpoints¶
Configure weighted RPC endpoints for a source chain.
Parameters:
- chain_id Source chain identifier (e.g. "1" for Ethereum).
- endpoints Weighted RPC endpoint URLs for verifying burn receipts.
function ValidateUTXOParameters¶
virtual bool ValidateUTXOParameters(
const UTXOTxParameters & params,
const std::string & address,
const UTXOManager & utxo_manager
) const override
Validates local UTXO structure for externally sourced claims.
Parameters:
- params UTXO inputs and outputs carried by the transaction.
- address Source address; ignored for public-chain validation.
- utxo_manager Local UTXO manager; ignored for public-chain validation.
Return: True when both input and output lists are non-empty.
Reimplements: sgns::IInputValidator::ValidateUTXOParameters
function ValidateWitness¶
virtual bool ValidateWitness(
const ConsensusSubject & subject,
const std::shared_ptr< GeniusTransaction > & tx,
const UTXOTxParameters & params,
const std::shared_ptr< Blockchain > & blockchain
) const override
Validates the external witness data supplied by consensus.
Parameters:
- subject Consensus subject carrying UTXO commitment data.
- tx Transaction that references the public-chain source event.
- params UTXO inputs and outputs carrying the source reference and minted outputs.
- blockchain Blockchain service; currently unused by public-chain validation.
Return: True when tx is present, params are non-empty, and the source reference verification succeeds.
Reimplements: sgns::IInputValidator::ValidateWitness
function RequiresConsensusUTXOData¶
Public-chain validation does not require local UTXO witness data.
Return: Always false.
Reimplements: sgns::IInputValidator::RequiresConsensusUTXOData
Bridge mints use the EVM transaction hash as input, not a local UTXO. Receipt verification is handled via RPC in VerifyPublicChainSmartContract.
Updated on 2026-06-05 at 17:22:18 -0700