1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- //! # Verax: A simple ledger database
- //!
- //! It is a simple Ledger database which aims to be a building block for
- //! financial products.
- //!
- //! Verax uses a UTXO model (unspent transaction output), heavily inspired by
- //! Bitcoin. Having UTXO each account balance is isolated from the rest and it's
- //! easy to track the history of each payment. In Verax the terminology is
- //! slighly different, there are unspent payments instead of UTXO.
- //!
- //! The data model is simple, any transaction spends one or many payments. Those
- //! payments cannot be spend again and are marked as spent. The transaction can
- //! be settled or not, if it's not settled it can be rolled back. Each
- //! transaction creates new payments that can be spend in the future by other
- //! transactions.
- //!
- //! Verax aims to be simple, auditable, cryptographically provable and human
- //! auditable friendly.
- #![deny(missing_docs)]
- #![deny(warnings)]
- mod amount;
- mod asset;
- mod asset_manager;
- mod changelog;
- mod error;
- mod id;
- mod ledger;
- mod payment;
- mod serde;
- #[cfg(any(feature = "sqlite", test))]
- pub mod sqlite;
- mod status;
- pub mod storage;
- #[cfg(test)]
- mod tests;
- mod transaction;
- #[cfg(test)]
- pub use self::storage::test as storage_test;
- pub use self::{
- amount::Amount,
- asset::Asset,
- asset_manager::{AssetDefinition, AssetManager},
- error::Error,
- id::*,
- ledger::Ledger,
- payment::{Payment, PaymentId},
- serde::*,
- status::Status,
- transaction::{Transaction, Type},
- };
- #[cfg(any(feature = "sqlite", test))]
- pub use self::sqlite::{Batch, SQLite};
|