orchard/src/lib.rs

29 lines
735 B
Rust
Raw Normal View History

2021-01-08 08:32:36 -08:00
//! # orchard
2020-10-20 14:12:37 -07:00
2020-10-20 14:44:33 -07:00
#![cfg_attr(docsrs, feature(doc_cfg))]
// Catch documentation errors caused by code changes.
#![deny(broken_intra_doc_links)]
2020-10-20 14:12:37 -07:00
#![deny(missing_debug_implementations)]
#![deny(missing_docs)]
#![deny(unsafe_code)]
2021-01-20 10:54:00 -08:00
mod address;
2021-01-20 12:30:35 -08:00
pub mod bundle;
mod circuit;
2021-01-20 10:54:00 -08:00
pub mod keys;
2021-01-20 12:09:09 -08:00
mod note;
2021-01-20 12:30:35 -08:00
mod tree;
2021-01-20 12:09:09 -08:00
pub mod value;
2021-01-20 10:54:00 -08:00
pub use address::Address;
2021-01-20 12:09:09 -08:00
pub use note::{EncryptedNote, Note, NoteCommitment, Nullifier};
2021-01-20 10:54:00 -08:00
/// Chain-specific constants and constraints for Orchard.
///
/// The purpose of this trait is to encapsulate things like the human-readable prefixes
/// for encoded addresses, or the range of allowable values for notes.
pub trait Chain {
2021-01-20 12:09:09 -08:00
/// Constraints on values within this chain.
type Value: value::Constraint;
2021-01-20 10:54:00 -08:00
}