Expand description

The LNP/BP client-side-validation foundation libraries implementing LNPBP specifications & standards (LNPBP-4, 7, 8, 9, 81).

Defines core interfaces from LNPBP standards specifying secure and robust practices via well-format APIs. Consists of the following main components:

  • Client-side validation
  • Cryptographic commitments and verification
  • Single-use-seals
  • Strict binary data serialization used by client-side validation

The goal of this module is to maximally reduce the probability of errors and mistakes within particular implementations of this paradigms by standardizing typical workflow processes in a form of interfaces that will be nearly impossible to use in a wrong way.

Re-exports

Structs

  • Client-side-validation status containing all reports from the validation process

Enums

  • Result of client-side validation operation

Traits

  • Marker trait for client-side-validation data at any level of data hierarchy.
  • This simple trait MUST be used by all top-level data structures implementing client-side validation paradigm. The core concept of this paradigm is that a client must have a complete and uniform set of data, which can be represented or accessed through a single structure; and MUST be able to deterministically validate this set giving an external validation function, that is able to provide validator with
  • Trait for concrete implementations of seal resolution issues reported by SealResolvers during client-side-validation process
  • Seal resolver validates seal to have closed status, or reports SealResolver::Error otherwise, if the seal does not have a determined status or there was a error accessing seal commitment medium. The reported error does not necessary implies that the seal is not closed and the final decision about seal status must be solved at upper protocol levels or by a informed user action.
  • Validation failures marker trait indicating that the data had not passed client-side-validation and must not be accepted by the client. This does not cover issues related to single-use-seal status, which are covered by SealIssue type
  • Marker trait for all types of validation log entries (failures, trust issues, warnings, info messages) contained within a ValidationReport produced during client-side-validation.
  • Trait combining different forms of client-side-validation reporting as into a single type pack