projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #3021 from TheBlueMatt/2024-04-drop-blocked-completed-updates
[rust-lightning]
/
lightning
/
src
/
lib.rs
diff --git
a/lightning/src/lib.rs
b/lightning/src/lib.rs
index ba6d6bc71910e53ad37236dc30b6e19cd947a4d9..3bcd5d72c64e19c3adf89d5c8580016582e2462c 100644
(file)
--- a/
lightning/src/lib.rs
+++ b/
lightning/src/lib.rs
@@
-17,7
+17,7
@@
//! figure out how best to make networking happen/timers fire/things get written to disk/keys get
//! generated/etc. This makes it a good candidate for tight integration into an existing wallet
//! instead of having a rather-separate lightning appendage to a wallet.
//! figure out how best to make networking happen/timers fire/things get written to disk/keys get
//! generated/etc. This makes it a good candidate for tight integration into an existing wallet
//! instead of having a rather-separate lightning appendage to a wallet.
-//!
+//!
//! `default` features are:
//!
//! * `std` - enables functionalities which require `std`, including `std::io` trait implementations and things which utilize time
//! `default` features are:
//!
//! * `std` - enables functionalities which require `std`, including `std::io` trait implementations and things which utilize time
@@
-38,8
+38,10
@@
//! * `max_level_trace`
#![cfg_attr(not(any(test, fuzzing, feature = "_test_utils")), deny(missing_docs))]
//! * `max_level_trace`
#![cfg_attr(not(any(test, fuzzing, feature = "_test_utils")), deny(missing_docs))]
-#![cfg_attr(not(any(test, fuzzing, feature = "_test_utils")), forbid(unsafe_code))]
-#![deny(broken_intra_doc_links)]
+#![cfg_attr(not(any(test, feature = "_test_utils")), forbid(unsafe_code))]
+
+#![deny(rustdoc::broken_intra_doc_links)]
+#![deny(rustdoc::private_intra_doc_links)]
// In general, rust is absolutely horrid at supporting users doing things like,
// for example, compiling Rust code for real environments. Disable useless lints
// In general, rust is absolutely horrid at supporting users doing things like,
// for example, compiling Rust code for real environments. Disable useless lints
@@
-51,9
+53,6
@@
#![cfg_attr(all(not(feature = "std"), not(test)), no_std)]
#![cfg_attr(all(not(feature = "std"), not(test)), no_std)]
-#![cfg_attr(all(any(test, feature = "_test_utils"), feature = "_bench_unstable"), feature(test))]
-#[cfg(all(any(test, feature = "_test_utils"), feature = "_bench_unstable"))] extern crate test;
-
#[cfg(not(any(feature = "std", feature = "no-std")))]
compile_error!("at least one of the `std` or `no-std` features must be enabled");
#[cfg(not(any(feature = "std", feature = "no-std")))]
compile_error!("at least one of the `std` or `no-std` features must be enabled");
@@
-66,16
+65,26
@@
extern crate bitcoin;
#[cfg(any(test, feature = "std"))]
extern crate core;
#[cfg(any(test, feature = "std"))]
extern crate core;
-
#[cfg(any(test, feature = "_test_utils"))]
extern crate hex;
-#[cfg(any(test, f
uzzing, f
eature = "_test_utils"))] extern crate regex;
+extern crate hex;
+#[cfg(any(test, feature = "_test_utils"))] extern crate regex;
#[cfg(not(feature = "std"))] extern crate core2;
#[cfg(not(feature = "std"))] extern crate core2;
+#[cfg(not(feature = "std"))] extern crate libm;
+
+#[cfg(ldk_bench)] extern crate criterion;
#[macro_use]
pub mod util;
pub mod chain;
pub mod ln;
#[macro_use]
pub mod util;
pub mod chain;
pub mod ln;
+pub mod offers;
pub mod routing;
pub mod routing;
+pub mod sign;
+pub mod onion_message;
+pub mod blinded_path;
+pub mod events;
+
+pub(crate) mod crypto;
#[cfg(feature = "std")]
/// Re-export of either `core2::io` or `std::io`, depending on the `std` feature flag.
#[cfg(feature = "std")]
/// Re-export of either `core2::io` or `std::io`, depending on the `std` feature flag.
@@
-85,7
+94,9
@@
pub use std::io;
pub use core2::io;
#[cfg(not(feature = "std"))]
pub use core2::io;
#[cfg(not(feature = "std"))]
-mod io_extras {
+#[doc(hidden)]
+/// IO utilities public only for use by in-crate macros. These should not be used externally
+pub mod io_extras {
use core2::io::{self, Read, Write};
/// A writer which will move data into the void.
use core2::io::{self, Read, Write};
/// A writer which will move data into the void.
@@
-145,6
+156,8
@@
mod io_extras {
}
#[cfg(feature = "std")]
}
#[cfg(feature = "std")]
+#[doc(hidden)]
+/// IO utilities public only for use by in-crate macros. These should not be used externally
mod io_extras {
pub fn read_to_end<D: ::std::io::Read>(mut d: D) -> Result<Vec<u8>, ::std::io::Error> {
let mut buf = Vec::new();
mod io_extras {
pub fn read_to_end<D: ::std::io::Read>(mut d: D) -> Result<Vec<u8>, ::std::io::Error> {
let mut buf = Vec::new();
@@
-156,33
+169,21
@@
mod io_extras {
}
mod prelude {
}
mod prelude {
- #[cfg(feature = "hashbrown")]
- extern crate hashbrown;
+ #![allow(unused_imports)]
pub use alloc::{vec, vec::Vec, string::String, collections::VecDeque, boxed::Box};
pub use alloc::{vec, vec::Vec, string::String, collections::VecDeque, boxed::Box};
- #[cfg(not(feature = "hashbrown"))]
- pub use std::collections::{HashMap, HashSet, hash_map};
- #[cfg(feature = "hashbrown")]
- pub use self::hashbrown::{HashMap, HashSet, hash_map};
pub use alloc::borrow::ToOwned;
pub use alloc::string::ToString;
pub use alloc::borrow::ToOwned;
pub use alloc::string::ToString;
-}
-#[cfg(all(feature = "std", test))]
-mod debug_sync;
-#[cfg(all(feature = "backtrace", feature = "std", test))]
-extern crate backtrace;
+ pub use core::convert::{AsMut, AsRef, TryFrom, TryInto};
+ pub use core::default::Default;
+ pub use core::marker::Sized;
-#[cfg(feature = "std")]
-mod sync {
- #[cfg(test)]
- pub use debug_sync::*;
- #[cfg(not(test))]
- pub use ::std::sync::{Arc, Mutex, Condvar, MutexGuard, RwLock, RwLockReadGuard, RwLockWriteGuard};
- #[cfg(not(test))]
- pub use crate::util::fairrwlock::FairRwLock;
+ pub(crate) use crate::util::hash_tables::*;
}
}
-#[cfg(not(feature = "std"))]
+#[cfg(all(not(ldk_bench), feature = "backtrace", feature = "std", test))]
+extern crate backtrace;
+
mod sync;
mod sync;