]> git.bitcoin.ninja Git - rust-lightning/commitdiff
Further experimentation to patch against rust-bitcoin changes.
authorArik Sosman <git@arik.io>
Thu, 1 Aug 2024 14:55:46 +0000 (07:55 -0700)
committerArik Sosman <git@arik.io>
Thu, 1 Aug 2024 14:55:46 +0000 (07:55 -0700)
12 files changed:
Cargo.toml
fuzz/Cargo.toml
lightning-background-processor/Cargo.toml
lightning-block-sync/Cargo.toml
lightning-custom-message/Cargo.toml
lightning-invoice/Cargo.toml
lightning-net-tokio/Cargo.toml
lightning-persister/Cargo.toml
lightning-rapid-gossip-sync/Cargo.toml
lightning-transaction-sync/Cargo.toml
lightning/Cargo.toml
lightning/src/util/ser.rs

index 0aa7f7624d8e8ec9d739431adde26d8a4553ec29..59b5459924f38a328ab5aca09dda73e1f955ea45 100644 (file)
@@ -43,6 +43,11 @@ panic = "abort"
 [patch.crates-io.possiblyrandom]
 path = "possiblyrandom"
 
+[patch.crates-io]
+bitcoin = { path = "../../rust-bitcoin/bitcoin" }
+bitcoin-io = {path = "../../rust-bitcoin/io" }
+bitcoin_hashes = {path = "../../rust-bitcoin/hashes"}
+
 [workspace.lints.rust.unexpected_cfgs]
 level = "forbid"
 # When adding a new cfg attribute, ensure that it is added to this list.
index 8946384259164dc6e23e653dc7aa65777fa2f3f6..29a7864c18fe8b7b6286c00e6d3988b36919d4c0 100644 (file)
@@ -22,7 +22,8 @@ lightning = { path = "../lightning", features = ["regex", "hashbrown", "_test_ut
 lightning-invoice = { path = "../lightning-invoice" }
 lightning-rapid-gossip-sync = { path = "../lightning-rapid-gossip-sync" }
 bech32 = "0.9.1"
-bitcoin = { version = "0.32.2", features = ["secp-lowmemory"] }
+#bitcoin = { version = "0.32.2", features = ["secp-lowmemory"] }
+bitcoin = { path = "../../../rust-bitcoin/bitcoin", features = ["secp-lowmemory"] }
 hex = { package = "hex-conservative", version = "0.1.1", default-features = false }
 
 afl = { version = "0.12", optional = true }
index c780cc3d64b4f58bed6f251b3fe9615a0ef4e992..aa2151a7422652fd802eae42f33b6fb55dd195e9 100644 (file)
@@ -21,7 +21,8 @@ no-std = ["lightning/no-std", "lightning-rapid-gossip-sync/no-std"]
 default = ["std"]
 
 [dependencies]
-bitcoin = { version = "0.32.2", default-features = false }
+#bitcoin = { version = "0.32.2", default-features = false }
+bitcoin = { path = "../../../rust-bitcoin/bitcoin", default-features = false }
 lightning = { version = "0.0.123-beta", path = "../lightning", default-features = false }
 lightning-rapid-gossip-sync = { version = "0.0.123-beta", path = "../lightning-rapid-gossip-sync", default-features = false }
 
index c02084c16b42b1d51b7ecc0ad141aeafc79c4cec..040edd34629afb817e6ea1514a785ef29d60decd 100644 (file)
@@ -18,7 +18,8 @@ rest-client = [ "serde_json", "chunked_transfer" ]
 rpc-client = [ "serde_json", "chunked_transfer" ]
 
 [dependencies]
-bitcoin = "0.32.2"
+#bitcoin = "0.32.2"
+bitcoin = { path = "../../../rust-bitcoin/bitcoin" }
 hex = { package = "hex-conservative", version = "0.1.1", default-features = false }
 lightning = { version = "0.0.123-beta", path = "../lightning" }
 tokio = { version = "1.35", features = [ "io-util", "net", "time", "rt" ], optional = true }
index d3c2e57085e35b96671f98e895bd8a0d423515b2..2c429bfdddc6e1ddb7a761f1a3fc54f2a59e1e96 100644 (file)
@@ -14,7 +14,8 @@ all-features = true
 rustdoc-args = ["--cfg", "docsrs"]
 
 [dependencies]
-bitcoin = "0.32.2"
+#bitcoin = "0.32.2"
+bitcoin = { path = "../../../rust-bitcoin/bitcoin" }
 lightning = { version = "0.0.123-beta", path = "../lightning" }
 
 [lints]
index e7b14d8766fa0cd89c603ba770d1d351e91bd3f3..6cc13c8228984d161c7d6fc663f2772af7c27c0c 100644 (file)
@@ -24,7 +24,8 @@ bech32 = { version = "0.9.1", default-features = false }
 lightning = { version = "0.0.123-beta", path = "../lightning", default-features = false }
 secp256k1 = { version = "0.28.0", default-features = false, features = ["recovery", "alloc"] }
 serde = { version = "1.0.118", optional = true }
-bitcoin = { version = "0.32.2", default-features = false }
+#bitcoin = { version = "0.32.2", default-features = false }
+bitcoin = { path = "../../../rust-bitcoin/bitcoin", default-features = false }
 
 [dev-dependencies]
 lightning = { version = "0.0.123-beta", path = "../lightning", default-features = false, features = ["_test_utils"] }
index ede8cc0a73a2caae6d7a0fca9bc3bf7b1dd161ad..d2509613d1fc5df945672dc3608bcf4ceaf97ccc 100644 (file)
@@ -15,7 +15,8 @@ all-features = true
 rustdoc-args = ["--cfg", "docsrs"]
 
 [dependencies]
-bitcoin = "0.32.2"
+#bitcoin = "0.32.2"
+bitcoin = { path = "../../../rust-bitcoin/bitcoin" }
 lightning = { version = "0.0.123-beta", path = "../lightning" }
 tokio = { version = "1.35", features = [ "rt", "sync", "net", "time" ] }
 
index e315fb791b2bd0c3df37703708bf60dccf4b1c09..351619ab66f8112c8120da99c601de5558a57480 100644 (file)
@@ -14,7 +14,8 @@ all-features = true
 rustdoc-args = ["--cfg", "docsrs"]
 
 [dependencies]
-bitcoin = "0.32.2"
+#bitcoin = "0.32.2"
+bitcoin = { path = "../../../rust-bitcoin/bitcoin" }
 lightning = { version = "0.0.123-beta", path = "../lightning" }
 
 [target.'cfg(windows)'.dependencies]
@@ -25,7 +26,8 @@ criterion = { version = "0.4", optional = true, default-features = false }
 
 [dev-dependencies]
 lightning = { version = "0.0.123-beta", path = "../lightning", features = ["_test_utils"] }
-bitcoin = { version = "0.32.2", default-features = false }
+#bitcoin = { version = "0.32.2", default-features = false }
+bitcoin = { path = "../../../rust-bitcoin/bitcoin", default-features = false }
 
 [lints]
 workspace = true
index 9d9f3d23eb0330843a18c32df106df63c6af0597..7a76d03c10cc137cccbdf76c5c0409f6d36ca2a5 100644 (file)
@@ -16,7 +16,8 @@ std = ["lightning/std"]
 
 [dependencies]
 lightning = { version = "0.0.123-beta", path = "../lightning", default-features = false }
-bitcoin = { version = "0.32.2", default-features = false }
+#bitcoin = { version = "0.32.2", default-features = false }
+bitcoin = { path = "../../../rust-bitcoin/bitcoin", default-features = false }
 
 [target.'cfg(ldk_bench)'.dependencies]
 criterion = { version = "0.4", optional = true, default-features = false }
index 0243d76040ba42ba789bc71aabe82db78d2a7f70..e198e36d486e9db2c70a65f7445fa9d2f5825612 100644 (file)
@@ -24,7 +24,8 @@ async-interface = []
 
 [dependencies]
 lightning = { version = "0.0.123-beta", path = "../lightning", default-features = false, features = ["std"] }
-bitcoin = { version = "0.32.2", default-features = false }
+#bitcoin = { version = "0.32.2", default-features = false }
+bitcoin = { path = "../../../rust-bitcoin/bitcoin", default-features = false }
 bdk-macros = "0.6"
 futures = { version = "0.3", optional = true }
 esplora-client = { version = "0.7", default-features = false, optional = true }
index b0d68fc10383513b0fcacdbe313cbee0f5841844..26213f4dc1fa1636ea68866f0276b2ffdeda0bd1 100644 (file)
@@ -42,6 +42,7 @@ default = ["std", "grind_signatures"]
 [dependencies]
 bech32 = { version = "0.9.1", default-features = false }
 bitcoin = { version = "0.32.2", default-features = false, features = ["secp-recovery"] }
+# bitcoin = { path = "../../../rust-bitcoin/bitcoin", default-features = false, features = ["secp-recovery"] }
 
 hashbrown = { version = "0.13", optional = true, default-features = false }
 possiblyrandom = { version = "0.2", optional = true, default-features = false }
@@ -57,6 +58,7 @@ regex = "1.5.6"
 
 [dev-dependencies.bitcoin]
 version = "0.32.2"
+# path = "../../../rust-bitcoin/bitcoin"
 default-features = false
 features = ["bitcoinconsensus", "secp-recovery"]
 
index ec9022ca4ffdd0f3827810dcc956b451ecac16ca..3978823b1fff82921747a41368b559bae160f792 100644 (file)
@@ -14,7 +14,7 @@
 //! [`ChannelMonitor`]: crate::chain::channelmonitor::ChannelMonitor
 
 use crate::prelude::*;
-use crate::io::{self, Read, Seek, Write};
+use crate::io::{self, Read, Seek, Take, Write, BufRead};
 use crate::io_extras::{copy, sink};
 use core::hash::Hash;
 use crate::sync::{Mutex, RwLock};
@@ -112,6 +112,7 @@ pub struct FixedLengthReader<'a, R: Read> {
        bytes_read: u64,
        total_bytes: u64,
 }
+
 impl<'a, R: Read> FixedLengthReader<'a, R> {
        /// Returns a new [`FixedLengthReader`].
        pub fn new(read: &'a mut R, total_bytes: u64) -> Self {
@@ -153,6 +154,18 @@ impl<'a, R: Read> Read for FixedLengthReader<'a, R> {
        }
 }
 
+// impl<'a, R: Read> Read for &mut FixedLengthReader<'a, R> {
+//     #[inline]
+//     fn read(&mut self, buf: &mut [u8]) -> Result<usize, io::Error> {
+//             (**self).read(buf)
+//     }
+//
+//     #[inline]
+//     fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), io::Error> {
+//             (**self).read_exact(buf)
+//     }
+// }
+
 impl<'a, R: Read> LengthRead for FixedLengthReader<'a, R> {
        #[inline]
        fn total_bytes(&self) -> u64 {
@@ -189,6 +202,30 @@ impl<R: Read> Read for ReadTrackingReader<R> {
        }
 }
 
+// impl<R: Read> Read for &mut ReadTrackingReader<R> {
+//     #[inline]
+//     fn read(&mut self, buf: &mut [u8]) -> Result<usize, io::Error> {
+//             (**self).read(buf)
+//     }
+//
+//     #[inline]
+//     fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), io::Error> {
+//             (**self).read_exact(buf)
+//     }
+// }
+
+// impl<R: Read> Read for &mut &mut ReadTrackingReader<R> {
+//     #[inline]
+//     fn read(&mut self, buf: &mut [u8]) -> Result<usize, io::Error> {
+//             (**self).read(buf)
+//     }
+//
+//     #[inline]
+//     fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), io::Error> {
+//             (**self).read_exact(buf)
+//     }
+// }
+
 /// A trait that various LDK types implement allowing them to be written out to a [`Writer`].
 ///
 /// This is not exported to bindings users as we only export serialization to/from byte arrays instead
@@ -243,7 +280,7 @@ pub trait Readable
        where Self: Sized
 {
        /// Reads a `Self` in from the given [`Read`].
-       fn read<R: Read>(reader: &mut R) -> Result<Self, DecodeError>;
+       fn read<R: BufRead>(reader: &mut R) -> Result<Self, DecodeError>;
 }
 
 /// A trait that various LDK types implement allowing them to be read in from a
@@ -1234,7 +1271,7 @@ macro_rules! impl_consensus_ser {
                }
 
                impl Readable for $bitcoin_type {
-                       fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
+                       fn read<R: BufRead>(r: &mut R) -> Result<Self, DecodeError> {
                                match consensus::encode::Decodable::consensus_decode(r) {
                                        Ok(t) => Ok(t),
                                        Err(consensus::encode::Error::Io(ref e)) if e.kind() == io::ErrorKind::UnexpectedEof => Err(DecodeError::ShortRead),