#![deny(
non_upper_case_globals,
non_camel_case_types,
non_snake_case,
unused_mut,
unused_imports,
dead_code,
// TODO: uncomment missing_docs
)]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#[macro_use]
extern crate amplify;
#[macro_use]
extern crate strict_encoding;
#[macro_use]
extern crate commit_encoding_derive;
#[cfg(feature = "serde")]
#[macro_use]
extern crate serde_crate as serde;
extern crate core;
#[cfg(feature = "derive")]
pub use commit_encoding_derive::CommitEncode;
mod commit;
mod conceal;
mod convolve;
mod embed;
mod encode;
mod id;
#[cfg(feature = "stl")]
pub mod stl;
pub mod merkle;
pub mod mpc;
mod digest;
pub use commit::{CommitVerify, StrictEncodedProtocol, TryCommitVerify};
pub use conceal::Conceal;
pub use convolve::{ConvolveCommit, ConvolveCommitProof};
pub use digest::{Digest, DigestExt, Ripemd160, Sha256};
pub use embed::{EmbedCommitProof, EmbedCommitVerify, VerifyEq};
pub use encode::{strategies, CommitEncode, CommitStrategy};
pub use id::CommitmentId;
pub const LIB_NAME_COMMIT_VERIFY: &str = "CommitVerify";
pub trait CommitmentProtocol {}
pub struct UntaggedProtocol;
impl CommitmentProtocol for UntaggedProtocol {}
#[cfg(test)]
pub mod test_helpers {
use amplify::confinement::SmallVec;
use amplify::hex::FromHex;
pub use super::commit::test_helpers::*;
pub use super::embed::test_helpers::*;
use super::*;
pub fn gen_messages() -> Vec<SmallVec<u8>> {
vec![
b"".to_vec(),
b"\x00".to_vec(),
b"test".to_vec(),
b"test*".to_vec(),
Vec::from_hex("deadbeef").unwrap(),
Vec::from_hex("deadbeef00").unwrap(),
Vec::from_hex("00deadbeef").unwrap(),
b"0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798".to_vec(),
Vec::from_hex("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798")
.unwrap(),
Vec::from_hex("02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9")
.unwrap(),
]
.into_iter()
.map(|v| SmallVec::try_from(v).unwrap())
.collect()
}
}