Skip to content

Commit ac821e4

Browse files
authored
Merge pull request #186 from TheBlueMatt/2018-09-ser-rework-2
Drop old serialization framework
2 parents e0fad3f + c91f72c commit ac821e4

File tree

6 files changed

+101
-1240
lines changed

6 files changed

+101
-1240
lines changed

src/ln/channel.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@ use crypto::digest::Digest;
1414
use crypto::hkdf::{hkdf_extract,hkdf_expand};
1515

1616
use ln::msgs;
17-
use ln::msgs::{ErrorAction, HandleError, MsgEncodable};
17+
use ln::msgs::{ErrorAction, HandleError};
1818
use ln::channelmonitor::ChannelMonitor;
1919
use ln::channelmanager::{PendingHTLCStatus, HTLCSource, PendingForwardHTLCInfo, HTLCFailReason, HTLCFailureMsg};
2020
use ln::chan_utils::{TxCreationKeys,HTLCOutputInCommitment,HTLC_SUCCESS_TX_WEIGHT,HTLC_TIMEOUT_TX_WEIGHT};
2121
use ln::chan_utils;
2222
use chain::chaininterface::{FeeEstimator,ConfirmationTarget};
2323
use chain::transaction::OutPoint;
2424
use util::{transaction_utils,rng};
25+
use util::ser::Writeable;
2526
use util::sha2::Sha256;
2627
use util::logger::Logger;
2728
use util::errors::APIError;

src/ln/channelmanager.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ use ln::channel::{Channel, ChannelKeys};
1616
use ln::channelmonitor::ManyChannelMonitor;
1717
use ln::router::{Route,RouteHop};
1818
use ln::msgs;
19-
use ln::msgs::{HandleError,ChannelMessageHandler,MsgEncodable,MsgDecodable};
19+
use ln::msgs::{HandleError,ChannelMessageHandler};
2020
use util::{byte_utils, events, internal_traits, rng};
2121
use util::sha2::Sha256;
22+
use util::ser::{Readable, Writeable};
2223
use util::chacha20poly1305rfc::ChaCha20;
2324
use util::logger::Logger;
2425
use util::errors::APIError;
@@ -32,6 +33,7 @@ use crypto::symmetriccipher::SynchronousStreamCipher;
3233
use std::{ptr, mem};
3334
use std::collections::HashMap;
3435
use std::collections::hash_map;
36+
use std::io::Cursor;
3537
use std::sync::{Mutex,MutexGuard,Arc};
3638
use std::sync::atomic::{AtomicUsize, Ordering};
3739
use std::time::{Instant,Duration};
@@ -819,7 +821,7 @@ impl ChannelManager {
819821
let next_hop_data = {
820822
let mut decoded = [0; 65];
821823
chacha.process(&msg.onion_routing_packet.hop_data[0..65], &mut decoded);
822-
match msgs::OnionHopData::decode(&decoded[..]) {
824+
match msgs::OnionHopData::read(&mut Cursor::new(&decoded[..])) {
823825
Err(err) => {
824826
let error_code = match err {
825827
msgs::DecodeError::UnknownRealmByte => 0x4000 | 1,
@@ -1717,7 +1719,7 @@ impl ChannelManager {
17171719
chacha.process(&packet_decrypted, &mut decryption_tmp[..]);
17181720
packet_decrypted = decryption_tmp;
17191721

1720-
if let Ok(err_packet) = msgs::DecodedOnionErrorPacket::decode(&packet_decrypted) {
1722+
if let Ok(err_packet) = msgs::DecodedOnionErrorPacket::read(&mut Cursor::new(&packet_decrypted)) {
17211723
if err_packet.failuremsg.len() >= 2 {
17221724
let um = ChannelManager::gen_um_from_shared_secret(&shared_secret);
17231725

@@ -1733,7 +1735,7 @@ impl ChannelManager {
17331735
if err_packet.failuremsg.len() >= 4 {
17341736
let update_len = byte_utils::slice_to_be16(&err_packet.failuremsg[2..4]) as usize;
17351737
if err_packet.failuremsg.len() >= 4 + update_len {
1736-
if let Ok(chan_update) = msgs::ChannelUpdate::decode(&err_packet.failuremsg[4..4 + update_len]) {
1738+
if let Ok(chan_update) = msgs::ChannelUpdate::read(&mut Cursor::new(&err_packet.failuremsg[4..4 + update_len])) {
17371739
res = Some(msgs::HTLCFailChannelUpdate::ChannelUpdateMessage {
17381740
msg: chan_update,
17391741
});
@@ -2250,11 +2252,12 @@ mod tests {
22502252
use ln::channelmanager::{ChannelManager,OnionKeys};
22512253
use ln::router::{Route, RouteHop, Router};
22522254
use ln::msgs;
2253-
use ln::msgs::{MsgEncodable,ChannelMessageHandler,RoutingMessageHandler};
2255+
use ln::msgs::{ChannelMessageHandler,RoutingMessageHandler};
22542256
use util::test_utils;
22552257
use util::events::{Event, EventsProvider};
2256-
use util::logger::Logger;
22572258
use util::errors::APIError;
2259+
use util::logger::Logger;
2260+
use util::ser::Writeable;
22582261

22592262
use bitcoin::util::hash::Sha256dHash;
22602263
use bitcoin::blockdata::block::{Block, BlockHeader};

0 commit comments

Comments
 (0)