+// This file is Copyright its original authors, visible in version control
+// history.
+//
+// This file is licensed under the Apache License, Version 2.0 <LICENSE-APACHE
+// or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// You may not use this file except in accordance with one or both of these
+// licenses.
+
//! Contains simple structs describing parts of transactions on the chain.
-use bitcoin_hashes::sha256d::Hash as Sha256dHash;
+use bitcoin::hash_types::Txid;
use bitcoin::blockdata::transaction::OutPoint as BitcoinOutPoint;
/// A reference to a transaction output.
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
pub struct OutPoint {
/// The referenced transaction's txid.
- pub txid: Sha256dHash,
+ pub txid: Txid,
/// The index of the referenced output in its transaction's vout.
pub index: u16,
}
impl OutPoint {
- /// Creates a new `OutPoint` from the txid and the index.
- pub fn new(txid: Sha256dHash, index: u16) -> OutPoint {
- OutPoint { txid, index }
- }
-
/// Convert an `OutPoint` to a lightning channel id.
pub fn to_channel_id(&self) -> [u8; 32] {
let mut res = [0; 32];
}
}
+impl_writeable!(OutPoint, 0, { txid, index });
+
#[cfg(test)]
mod tests {
use chain::transaction::OutPoint;