Skip to content

Commit 7785df3

Browse files
authored
Merge pull request #2227 from TheBlueMatt/2023-04-0.0.115-bindings
0.0.115 Bindings Updates
2 parents b734735 + 8d7615b commit 7785df3

File tree

25 files changed

+229
-60
lines changed

25 files changed

+229
-60
lines changed

fuzz/src/chanmon_consistency.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ use lightning::chain::keysinterface::{KeyMaterial, InMemorySigner, Recipient, En
4141
use lightning::events;
4242
use lightning::events::MessageSendEventsProvider;
4343
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
44-
use lightning::ln::channelmanager::{ChainParameters, ChannelDetails, ChannelManager, PaymentSendFailure, ChannelManagerReadArgs, PaymentId, RecipientOnionFields};
44+
use lightning::ln::channelmanager::{ChainParameters, ChannelDetails, ChannelManager, PaymentSendFailure, ChannelManagerReadArgs, PaymentId};
45+
use lightning::ln::outbound_payment::RecipientOnionFields;
4546
use lightning::ln::channel::FEE_SPIKE_BUFFER_FEE_INCREASE_MULTIPLE;
4647
use lightning::ln::msgs::{self, CommitmentUpdate, ChannelMessageHandler, DecodeError, UpdateAddHTLC, Init};
4748
use lightning::ln::script::ShutdownScript;

fuzz/src/onion_message.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ use lightning::ln::script::ShutdownScript;
1111
use lightning::util::enforcing_trait_impls::EnforcingSigner;
1212
use lightning::util::logger::Logger;
1313
use lightning::util::ser::{Readable, Writeable, Writer};
14-
use lightning::onion_message::{CustomOnionMessageContents, CustomOnionMessageHandler, OnionMessenger};
14+
use lightning::onion_message::packet::CustomOnionMessageContents;
15+
use lightning::onion_message::messenger::{OnionMessenger, CustomOnionMessageHandler};
1516

1617
use crate::utils::test_logger;
1718

lightning-invoice/src/lib.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,15 @@ pub enum TaggedField {
455455
pub struct Sha256(/// This is not exported to bindings users as the native hash types are not currently mapped
456456
pub sha256::Hash);
457457

458+
impl Sha256 {
459+
/// Constructs a new [`Sha256`] from the given bytes, which are assumed to be the output of a
460+
/// single sha256 hash.
461+
#[cfg(c_bindings)]
462+
pub fn from_bytes(bytes: &[u8; 32]) -> Self {
463+
Self(sha256::Hash::from_slice(bytes).expect("from_slice only fails if len is not 32"))
464+
}
465+
}
466+
458467
/// Description string
459468
///
460469
/// # Invariants

lightning-invoice/src/payment.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ use lightning::chain;
1717
use lightning::chain::chaininterface::{BroadcasterInterface, FeeEstimator};
1818
use lightning::chain::keysinterface::{NodeSigner, SignerProvider, EntropySource};
1919
use lightning::ln::PaymentHash;
20-
use lightning::ln::channelmanager::{ChannelManager, PaymentId, Retry, RetryableSendFailure, RecipientOnionFields};
20+
use lightning::ln::channelmanager::{ChannelManager, PaymentId};
21+
use lightning::ln::outbound_payment::{RecipientOnionFields, RetryableSendFailure, Retry};
2122
use lightning::routing::router::{PaymentParameters, RouteParameters, Router};
2223
use lightning::util::logger::Logger;
2324

lightning-invoice/src/utils.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,8 @@ mod test {
667667
use lightning::chain::keysinterface::PhantomKeysManager;
668668
use lightning::events::{MessageSendEvent, MessageSendEventsProvider, Event};
669669
use lightning::ln::{PaymentPreimage, PaymentHash};
670-
use lightning::ln::channelmanager::{PhantomRouteHints, MIN_FINAL_CLTV_EXPIRY_DELTA, PaymentId, RecipientOnionFields, Retry};
670+
use lightning::ln::channelmanager::{PhantomRouteHints, MIN_FINAL_CLTV_EXPIRY_DELTA, PaymentId};
671+
use lightning::ln::outbound_payment::{RecipientOnionFields, Retry};
671672
use lightning::ln::functional_test_utils::*;
672673
use lightning::ln::msgs::ChannelMessageHandler;
673674
use lightning::routing::router::{PaymentParameters, RouteParameters};

lightning-persister/src/lib.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ extern crate libc;
2020
use bitcoin::hash_types::{BlockHash, Txid};
2121
use bitcoin::hashes::hex::FromHex;
2222
use lightning::chain::channelmonitor::ChannelMonitor;
23-
use lightning::chain::keysinterface::{EntropySource, SignerProvider};
23+
use lightning::chain::keysinterface::{EntropySource, SignerProvider, WriteableEcdsaChannelSigner};
2424
use lightning::util::ser::{ReadableArgs, Writeable};
2525
use lightning::util::persist::KVStorePersister;
2626
use std::fs;
@@ -59,12 +59,11 @@ impl FilesystemPersister {
5959
}
6060

6161
/// Read `ChannelMonitor`s from disk.
62-
pub fn read_channelmonitors<ES: Deref, SP: Deref> (
63-
&self, entropy_source: ES, signer_provider: SP
64-
) -> std::io::Result<Vec<(BlockHash, ChannelMonitor<<SP::Target as SignerProvider>::Signer>)>>
62+
pub fn read_channelmonitors<ES: Deref, WES: WriteableEcdsaChannelSigner, SP: SignerProvider<Signer = WES> + Sized, SPD: Deref<Target=SP>> (
63+
&self, entropy_source: ES, signer_provider: SPD
64+
) -> Result<Vec<(BlockHash, ChannelMonitor<WES>)>, std::io::Error>
6565
where
6666
ES::Target: EntropySource + Sized,
67-
SP::Target: SignerProvider + Sized
6867
{
6968
let mut path = PathBuf::from(&self.path_to_channel_data);
7069
path.push("monitors");
@@ -105,7 +104,7 @@ impl FilesystemPersister {
105104

106105
let contents = fs::read(&file.path())?;
107106
let mut buffer = Cursor::new(&contents);
108-
match <(BlockHash, ChannelMonitor<<SP::Target as SignerProvider>::Signer>)>::read(&mut buffer, (&*entropy_source, &*signer_provider)) {
107+
match <(BlockHash, ChannelMonitor<WES>)>::read(&mut buffer, (&*entropy_source, &*signer_provider)) {
109108
Ok((blockhash, channel_monitor)) => {
110109
if channel_monitor.get_funding_txo().0.txid != txid || channel_monitor.get_funding_txo().0.index != index {
111110
return Err(std::io::Error::new(std::io::ErrorKind::InvalidData,

lightning-rapid-gossip-sync/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ use lightning::io;
8181
use lightning::routing::gossip::NetworkGraph;
8282
use lightning::util::logger::Logger;
8383

84-
pub use crate::error::GraphSyncError;
84+
use crate::error::GraphSyncError;
8585

8686
/// Error types that these functions can return
87-
mod error;
87+
pub mod error;
8888

8989
/// Core functionality of this crate
9090
mod processing;

lightning/src/chain/channelmonitor.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3772,8 +3772,8 @@ where
37723772

37733773
const MAX_ALLOC_SIZE: usize = 64*1024;
37743774

3775-
impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP)>
3776-
for (BlockHash, ChannelMonitor<SP::Signer>) {
3775+
impl<'a, 'b, ES: EntropySource, SP: SignerProvider<Signer=Signer>, Signer: WriteableEcdsaChannelSigner> ReadableArgs<(&'a ES, &'b SP)>
3776+
for (BlockHash, ChannelMonitor<Signer>) {
37773777
fn read<R: io::Read>(reader: &mut R, args: (&'a ES, &'b SP)) -> Result<Self, DecodeError> {
37783778
macro_rules! unwrap_obj {
37793779
($key: expr) => {

lightning/src/ln/channel.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5539,7 +5539,7 @@ impl<Signer: WriteableEcdsaChannelSigner> Channel<Signer> {
55395539
return None;
55405540
}
55415541
};
5542-
let our_node_sig = match node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelAnnouncement(&announcement)) {
5542+
let our_node_sig = match node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelAnnouncement(announcement.clone())) {
55435543
Err(_) => {
55445544
log_error!(logger, "Failed to generate node signature for channel_announcement. Channel will not be announced!");
55455545
return None;
@@ -5573,7 +5573,7 @@ impl<Signer: WriteableEcdsaChannelSigner> Channel<Signer> {
55735573
.map_err(|_| ChannelError::Ignore("Signer failed to retrieve own public key".to_owned()))?);
55745574
let were_node_one = announcement.node_id_1 == our_node_key;
55755575

5576-
let our_node_sig = node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelAnnouncement(&announcement))
5576+
let our_node_sig = node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelAnnouncement(announcement.clone()))
55775577
.map_err(|_| ChannelError::Ignore("Failed to generate node signature for channel_announcement".to_owned()))?;
55785578
let our_bitcoin_sig = self.holder_signer.sign_channel_announcement_with_funding_key(&announcement, &self.secp_ctx)
55795579
.map_err(|_| ChannelError::Ignore("Signer rejected channel_announcement".to_owned()))?;

lightning/src/ln/channelmanager.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ use core::time::Duration;
7777
use core::ops::Deref;
7878

7979
// Re-export this for use in the public API.
80-
pub use crate::ln::outbound_payment::{PaymentSendFailure, Retry, RetryableSendFailure, RecipientOnionFields};
80+
pub(crate) use crate::ln::outbound_payment::{PaymentSendFailure, Retry, RetryableSendFailure, RecipientOnionFields};
8181

8282
// We hold various information about HTLC relay in the HTLC objects in Channel itself:
8383
//
@@ -2650,7 +2650,7 @@ where
26502650
// If we returned an error and the `node_signer` cannot provide a signature for whatever
26512651
// reason`, we wouldn't be able to receive inbound payments through the corresponding
26522652
// channel.
2653-
let sig = self.node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelUpdate(&unsigned)).unwrap();
2653+
let sig = self.node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelUpdate(unsigned.clone())).unwrap();
26542654

26552655
Ok(msgs::ChannelUpdate {
26562656
signature: sig,

0 commit comments

Comments
 (0)