1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
// Rust Monero Library // Written in 2019 by // h4sh3d <h4sh3d@protonmail.com> // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // //! # Rust Monero Library //! //! This is a library for which supports subsets of the Monero protocol and type primitives. It is //! designed for Rust programs built to work with the Monero ecosystem. //! //! The library currently focuses on manipulating types such as addresses, transactions, blocks and //! public keys, but do **not** implementat transaction signing. //! //! ## Default features //! //! The default feature `full` enables the `std` and `rand` features for the `fixed-hash` //! dependency. //! //! It is worth noting that `std` is widely used all over the library and no `no_std` support is //! planned at the moment. //! //! ## `strict_encoding` Support //! //! The `strict_encoding_support` feature enables `StrictEncode` and `StrictDecode` trait //! implementation for a few types that implements [consensus::Encodable] and //! [consensus::Decodable]. //! //! `strict_encoding` is a wrapper that allows multiple consensus encoding to work under the same //! interface, i.e. `StrictEncode` and `StrictDecode`. //! //! ## `serde` Support //! //! The `serde_support` feature enables implementation of `serde` on serializable types. //! //! ## Caution //! //! The Software is provided “as is”, without warranty of any kind, express or implied, including //! but not limited to the warranties of merchantability, fitness for a particular purpose and //! noninfringement. In no event shall the authors or copyright holders be liable for any claim, //! damages or other liability, whether in an action of contract, tort or otherwise, arising from, //! out of or in connection with the software or the use or other dealings in the Software. //! // Coding conventions #![forbid(unsafe_code)] #![deny(non_upper_case_globals)] #![deny(non_camel_case_types)] #![deny(unused_mut)] #![deny(missing_docs)] #[macro_use] mod internal_macros; #[macro_use] pub mod consensus; pub mod blockdata; pub mod cryptonote; pub mod network; pub mod util; pub use blockdata::transaction::OwnedTxOut; pub use blockdata::transaction::Transaction; pub use blockdata::transaction::TxIn; pub use blockdata::transaction::TxOut; pub use network::Network; pub use util::address::Address; pub use util::key::PrivateKey; pub use util::key::PublicKey; pub use util::Error;