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
|
|
|
}
|