Crate client_side_validation[−][src]
Expand description
The LNP/BP client-side-validation foundation libraries implementing LNPBP specifications & standards (LNPBP-4, 7, 8, 9, 42, 81).
Defines core interfaces from LNPBP standards specifying secure and robust practices via well-formet 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
pub extern crate commit_verify; |
pub extern crate single_use_seals; |
pub extern crate strict_encoding; |
Modules
commit_encode | Encoding and data preparation for commitment procedures in client-side-validation as defined by LNPBP-9 standard. |
merkle | Merklization procedures for client-side-validation according to LNPBP-81 standard. |
multi_commit | Multi-message commitments: implementation of LNPBP-4 standard. |
tagged_hash | Bitcoin tagged hash helper types. |
Structs
Slice32 | Wrapper type for all slice-based 256-bit types implementing many important traits, so types based on it can simply derive their implementations. |
Status | Client-side-validation status containing all reports from the validation process |
Enums
Validity | Result of client-side validation operation |
Traits
ClientData | Marker trait for client-side-validation data at any level of data hierarchy. |
ClientSideValidate | 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 |
SealIssue | Trait for concrete implementations of seal resolution issues reported by
|
SealResolver | Seal resolver validates seal to have |
ValidationFailure | 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
|
ValidationLog | Marker trait for all types of validation log entries (failures, trust
issues, warnings, info messages) contained within a |
ValidationReport | Trait combining different forms of client-side-validation reporting as into a single type pack |
Derive Macros
StrictDecode | Derives [ |
StrictEncode | Derives |