Expand description
Standard cryptographic commitment library, created and supported by the LNP/BP Labs.
Re-exports§
pub use merkle::MerkleBuoy;
pub use merkle::MerkleHash;
pub use merkle::MerkleLeaves;
pub use merkle::MerkleNode;
pub use merkle::NodeBranching;
Modules§
- merkle
- Generic cryptographic merklization procedures.
- mpc
- Multi-protocol commitments according to LNPBP-4 standard.
- stl
stl
- CommitVerify strict type library.
- vesper
vesper
Structs§
- Commit
Engine - A helper engine used in computing commitment ids.
- Commit
Layout - The description of the commitment layout used in production of
CommitmentId
(or other users ofCommitEncode
). - Reserved
Bytes - Reserved bytes.
- Strict
Hash - A commitment to the strict encoded-representation of any data.
- Untagged
Protocol - Protocol defining commits created by using externally created hash value optionally pre-tagged.
Enums§
- Commit
ColType - Type of the collection participating in a commitment id creation.
- Commit
Step - Step of the commitment id creation.
- Convolve
Verify Error - Error during commitment verification
- Embed
Verify Error - Error during commitment verification
- Verify
Error - Error during commitment verification
Constants§
- LIB_
NAME_ COMMIT_ VERIFY - Name of the CommitVerify strict type library.
Traits§
- Commit
Encode - A trait for types supporting commit-encode procedure.
- Commit
Id - High-level API used in client-side validation for producing a single
commitment to the data, which includes running all necessary procedures like
concealment with
Conceal
, merklization, strict encoding, wrapped intoCommitEncode
, followed by the actual commitment to its output. - Commit
Verify - Trait for commit-verify scheme.
- Commitment
Id - A definition of a resulting commitment type, which represent a unique identifier of the underlying data.
- Commitment
Layout - A trait adding blanked implementation generating
CommitmentLayout
for any type implementingCommitEncode
. - Commitment
Protocol - Marker trait for specific commitment protocols.
- Conceal
- Trait that should perform conversion of a given client-side-validated data type into a concealed (private) form, for instance hiding some of the data behind hashed - or homomorphically-encrypted version.
- Convolve
Commit - Trait for convolve-commit-verify scheme, where some data structure (named container) may commit to existing message using supplement and producing final commitment value. The commitment can’t be used to restore original message, however the fact of the commitment may be deterministically verified when the message and the supplement (now acting as a proof) proof are revealed.
- Convolve
Commit Proof - Proof type used by
ConvolveCommit
protocol. - Digest
- Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.
- Digest
Ext - A generic cryptographic digest trait.
- Embed
Commit Proof - Proofs produced by
EmbedCommitVerify::embed_commit
procedure. - Embed
Commit Verify - Trait for embed-commit-verify scheme, where some data structure (named container) may commit to an existing message (producing commitment data structure and a proof) in such a way that the original message can’t be restored from the commitment, however, the fact of the commitment may be deterministically verified when the message and the proof are revealed.
- TryCommit
Verify - Trait for a failable version of commit-verify scheme.
- Verify
Eq - Trait for equivalence verification. Implemented for all types implementing
Eq
. For non-Eq
types this trait provides a way to implement custom equivalence verification used during the commitment verification procedure.
Type Aliases§
Derive Macros§
- Commit
Encode derive
- Derives
CommitEncode
implementation for the type.