-use bitcoin::secp256k1::key::{SecretKey, PublicKey};
-use bitcoin::secp256k1::{Secp256k1, Signature, Signing};
-use bitcoin::secp256k1::recovery::RecoverableSignature;
-use bitcoin::secp256k1;
-
-use util::{byte_utils, transaction_utils};
-use util::crypto::hkdf_extract_expand_twice;
-use util::ser::{Writeable, Writer, Readable, ReadableArgs};
-
-use chain::transaction::OutPoint;
-use ln::{chan_utils, PaymentPreimage};
-use ln::chan_utils::{HTLCOutputInCommitment, make_funding_redeemscript, ChannelPublicKeys, HolderCommitmentTransaction, ChannelTransactionParameters, CommitmentTransaction, ClosingTransaction};
-use ln::msgs::UnsignedChannelAnnouncement;
-use ln::script::ShutdownScript;
-
-use prelude::*;
+use bitcoin::secp256k1::{SecretKey, PublicKey, Scalar};
+use bitcoin::secp256k1::{Secp256k1, ecdsa::Signature, Signing};
+use bitcoin::secp256k1::ecdh::SharedSecret;
+use bitcoin::secp256k1::ecdsa::RecoverableSignature;
+use bitcoin::{PackedLockTime, secp256k1, Sequence, Witness};
+
+use crate::util::transaction_utils;
+use crate::util::crypto::{hkdf_extract_expand_twice, sign};
+use crate::util::ser::{Writeable, Writer, Readable, ReadableArgs};
+#[cfg(anchors)]
+use crate::util::events::HTLCDescriptor;
+use crate::chain::transaction::OutPoint;
+use crate::ln::channel::ANCHOR_OUTPUT_VALUE_SATOSHI;
+use crate::ln::{chan_utils, PaymentPreimage};
+use crate::ln::chan_utils::{HTLCOutputInCommitment, make_funding_redeemscript, ChannelPublicKeys, HolderCommitmentTransaction, ChannelTransactionParameters, CommitmentTransaction, ClosingTransaction};
+use crate::ln::msgs::UnsignedChannelAnnouncement;
+use crate::ln::script::ShutdownScript;
+
+use crate::prelude::*;
+use core::convert::TryInto;