@@ -151,6 +151,8 @@ pub fn check_platform() {
151
151
/// * `D`: exactly one `Description` or `DescriptionHash`
152
152
/// * `H`: exactly one `PaymentHash`
153
153
/// * `T`: the timestamp is set
154
+ ///
155
+ /// (C-not exported) as we likely need to manually select one set of boolean type parameters.
154
156
#[ derive( Eq , PartialEq , Debug , Clone ) ]
155
157
pub struct InvoiceBuilder < D : tb:: Bool , H : tb:: Bool , T : tb:: Bool > {
156
158
currency : Currency ,
@@ -178,6 +180,9 @@ pub struct Invoice {
178
180
179
181
/// Represents the description of an invoice which has to be either a directly included string or
180
182
/// a hash of a description provided out of band.
183
+ ///
184
+ /// (C-not exported) As we don't have a good way to map the reference lifetimes making this
185
+ /// practically impossible to use safely in languages like C.
181
186
#[ derive( Eq , PartialEq , Debug , Clone ) ]
182
187
pub enum InvoiceDescription < ' f > {
183
188
/// Reference to the directly supplied description in the invoice
@@ -225,6 +230,8 @@ pub struct RawInvoice {
225
230
}
226
231
227
232
/// Data of the `RawInvoice` that is encoded in the human readable part
233
+ ///
234
+ /// (C-not exported) As we don't yet support Option<Enum>
228
235
#[ derive( Eq , PartialEq , Debug , Clone ) ]
229
236
pub struct RawHrp {
230
237
/// The currency deferred from the 3rd and 4th character of the bech32 transaction
@@ -283,6 +290,9 @@ impl SiPrefix {
283
290
284
291
/// Returns all enum variants of `SiPrefix` sorted in descending order of their associated
285
292
/// multiplier.
293
+ ///
294
+ /// (C-not exported) As we don't yet support a slice of enums, and also because this function
295
+ /// isn't the most critical to expose.
286
296
pub fn values_desc ( ) -> & ' static [ SiPrefix ] {
287
297
use SiPrefix :: * ;
288
298
static VALUES : [ SiPrefix ; 4 ] = [ Milli , Micro , Nano , Pico ] ;
@@ -760,6 +770,9 @@ impl RawInvoice {
760
770
/// Signs the invoice using the supplied `sign_function`. This function MAY fail with an error
761
771
/// of type `E`. Since the signature of a `SignedRawInvoice` is not required to be valid there
762
772
/// are no constraints regarding the validity of the produced signature.
773
+ ///
774
+ /// (C-not exported) As we don't currently support passing function pointers into methods
775
+ /// explicitly.
763
776
pub fn sign < F , E > ( self , sign_method : F ) -> Result < SignedRawInvoice , E >
764
777
where F : FnOnce ( & Message ) -> Result < RecoverableSignature , E >
765
778
{
@@ -776,6 +789,8 @@ impl RawInvoice {
776
789
}
777
790
778
791
/// Returns an iterator over all tagged fields with known semantics.
792
+ ///
793
+ /// (C-not exported) As there is not yet a manual mapping for a FilterMap
779
794
pub fn known_tagged_fields ( & self )
780
795
-> FilterMap < Iter < RawTaggedField > , fn ( & RawTaggedField ) -> Option < & TaggedField > >
781
796
{
@@ -824,6 +839,7 @@ impl RawInvoice {
824
839
find_extract ! ( self . known_tagged_fields( ) , TaggedField :: Features ( ref x) , x)
825
840
}
826
841
842
+ /// (C-not exported) as we don't support Vec<&NonOpaqueType>
827
843
pub fn fallbacks ( & self ) -> Vec < & Fallback > {
828
844
self . known_tagged_fields ( ) . filter_map ( |tf| match tf {
829
845
& TaggedField :: Fallback ( ref f) => Some ( f) ,
@@ -981,6 +997,8 @@ impl Invoice {
981
997
}
982
998
983
999
/// Returns an iterator over all tagged fields of this Invoice.
1000
+ ///
1001
+ /// (C-not exported) As there is not yet a manual mapping for a FilterMap
984
1002
pub fn tagged_fields ( & self )
985
1003
-> FilterMap < Iter < RawTaggedField > , fn ( & RawTaggedField ) -> Option < & TaggedField > > {
986
1004
self . signed_invoice . raw_invoice ( ) . known_tagged_fields ( )
@@ -992,6 +1010,8 @@ impl Invoice {
992
1010
}
993
1011
994
1012
/// Return the description or a hash of it for longer ones
1013
+ ///
1014
+ /// (C-not exported) because we don't yet export InvoiceDescription
995
1015
pub fn description ( & self ) -> InvoiceDescription {
996
1016
if let Some ( ref direct) = self . signed_invoice . description ( ) {
997
1017
return InvoiceDescription :: Direct ( direct) ;
@@ -1034,6 +1054,8 @@ impl Invoice {
1034
1054
}
1035
1055
1036
1056
/// Returns a list of all fallback addresses
1057
+ ///
1058
+ /// (C-not exported) as we don't support Vec<&NonOpaqueType>
1037
1059
pub fn fallbacks ( & self ) -> Vec < & Fallback > {
1038
1060
self . signed_invoice . fallbacks ( )
1039
1061
}
@@ -1277,6 +1299,8 @@ impl std::error::Error for SemanticError { }
1277
1299
1278
1300
/// When signing using a fallible method either an user-supplied `SignError` or a `CreationError`
1279
1301
/// may occur.
1302
+ ///
1303
+ /// (C-not exported) As we don't support unbounded generics
1280
1304
#[ derive( Eq , PartialEq , Debug , Clone ) ]
1281
1305
pub enum SignOrCreationError < S > {
1282
1306
/// An error occurred during signing
0 commit comments