]> git.bitcoin.ninja Git - rust-lightning/commitdiff
Re-export `lightning_types` in top-level `lightning` modules 2024-08-new-types-export
authorMatt Corallo <git@bluematt.me>
Mon, 19 Aug 2024 14:37:03 +0000 (14:37 +0000)
committerMatt Corallo <git@bluematt.me>
Mon, 19 Aug 2024 14:50:30 +0000 (14:50 +0000)
Since we now have many types in one place, it makes sense to export
them in that place. Further, doing so finally somewhat starts to
reduce our `lightning::ln` module size, which historically is the
dumping ground for everything when most things really should be
top-level modules in `lightning`.

Here we take a step in the right direction by exporting
`lightning_types` as `lightning::types` and encouraging users to
use those paths directly rather than the ones in `lightning::ln`.

lightning/src/lib.rs
lightning/src/ln/features.rs
lightning/src/ln/mod.rs
lightning/src/ln/types.rs

index 1bcd02a9f7dbe83a742150c3a1794882ccad0c81..95953e6a033e73d3248b83cbab5f64644d3b71e8 100644 (file)
@@ -62,7 +62,7 @@ compile_error!("Tests will always fail with cfg=fuzzing");
 #[macro_use]
 extern crate alloc;
 
-extern crate lightning_types;
+pub extern crate lightning_types as types;
 
 pub extern crate bitcoin;
 #[cfg(any(test, feature = "std"))]
index 11e2b12dcdbf089b4ccf41002d8f19fe1b1e71bb..9da2b3e44543e6639fdcc20e9ca40fd4bc03d268 100644 (file)
 //!
 //! See [`lightning_types::features`] for the list of features currently supported.
 //!
+//! Note that the use of types via this module is deprecated and will be removed in a future
+//! version. Instead, use feature objects via [`lightning::types::features`].
+//!
+//! [`lightning::types::features`]: crate::types::features
 //! [BOLT #9]: https://github.com/lightning/bolts/blob/master/09-features.md
 
 pub use lightning_types::features::Features;
index 8009f31b0dc16662a33b498388ae7027affcc023..dceb52ab4ae865777ea1dddd674a9fd84e93b945 100644 (file)
@@ -8,6 +8,12 @@
 // licenses.
 
 //! Implementations of various parts of the Lightning protocol are in this module.
+//!
+//! Note that the re-exports of [`PaymentHash`], [`PaymentPreimage`], and [`PaymentSecret`] here
+//! are deprecated and will be removed in a future version. Instead, use them via
+//! [`lightning::types::payment`].
+//!
+//! [`lightning::types::payment`]: crate::types::payment
 
 #[cfg(any(test, feature = "_test_utils"))]
 #[macro_use]
index d5ab05505bb3f650574d8e7111455d85120a412c..659c7e4cabaf1938d119c344c0f212b1b87ba26b 100644 (file)
@@ -8,6 +8,12 @@
 // licenses.
 
 //! Various wrapper types (most around 32-byte arrays) for use in lightning.
+//!
+//! Note that the re-exports of [`PaymentHash`], [`PaymentPreimage`], and [`PaymentSecret`] here
+//! are deprecated and will be removed in a future version. Instead, use them via
+//! [`lightning::types::payment`].
+//!
+//! [`lightning::types::payment`]: crate::types::payment
 
 use crate::chain::transaction::OutPoint;
 use crate::io;