7777//! [`ChannelManager`]: crate::ln::channelmanager::ChannelManager
7878//! [`ChannelManager::create_offer_builder`]: crate::ln::channelmanager::ChannelManager::create_offer_builder
7979
80+ use core:: borrow:: Borrow ;
8081use bitcoin:: constants:: ChainHash ;
8182use bitcoin:: network:: Network ;
8283use bitcoin:: secp256k1:: { Keypair , PublicKey , Secp256k1 , self } ;
@@ -111,12 +112,13 @@ use crate::prelude::*;
111112
112113#[ cfg( feature = "std" ) ]
113114use std:: time:: SystemTime ;
115+ use bitcoin:: hex:: impl_fmt_traits;
114116
115117pub ( super ) const IV_BYTES_WITH_METADATA : & [ u8 ; IV_LEN ] = b"LDK Offer ~~~~~~" ;
116118pub ( super ) const IV_BYTES_WITHOUT_METADATA : & [ u8 ; IV_LEN ] = b"LDK Offer v2~~~~" ;
117119
118120/// An identifier for an [`Offer`] built using [`DerivedMetadata`].
119- #[ derive( Clone , Copy , Debug , Eq , PartialEq ) ]
121+ #[ derive( Clone , Copy , Eq , PartialEq ) ]
120122pub struct OfferId ( pub [ u8 ; 32 ] ) ;
121123
122124impl OfferId {
@@ -134,6 +136,18 @@ impl OfferId {
134136 }
135137}
136138
139+ impl Borrow < [ u8 ] > for OfferId {
140+ fn borrow ( & self ) -> & [ u8 ] {
141+ & self . 0 [ ..]
142+ }
143+ }
144+
145+ impl_fmt_traits ! {
146+ impl fmt_traits for OfferId {
147+ const LENGTH : usize = 32 ;
148+ }
149+ }
150+
137151impl Writeable for OfferId {
138152 fn write < W : Writer > ( & self , w : & mut W ) -> Result < ( ) , io:: Error > {
139153 self . 0 . write ( w)
0 commit comments