Add TxOutRef type to blockdata::transaction; don't use it anywhere in the library itself
This is just a convenience type for the (txid, vout) pairs that get produced a lot in Bitcoin code. To the best of my knowledge there is nowhere this can be used in the actual library (in particular, TxOutRef.index is a usize for convenience while TxIn.prev_index is a u32 for correct consensus encoding, so there is not redundancy here).
This commit is contained in:
parent
e393d0ec3b
commit
c1993a12c6
|
@ -24,6 +24,7 @@
|
||||||
//!
|
//!
|
||||||
|
|
||||||
use std::default::Default;
|
use std::default::Default;
|
||||||
|
use std::fmt;
|
||||||
use serde;
|
use serde;
|
||||||
use secp256k1::Secp256k1;
|
use secp256k1::Secp256k1;
|
||||||
|
|
||||||
|
@ -33,6 +34,21 @@ use blockdata::utxoset::UtxoSet;
|
||||||
use network::encodable::ConsensusEncodable;
|
use network::encodable::ConsensusEncodable;
|
||||||
use network::serialize::BitcoinHash;
|
use network::serialize::BitcoinHash;
|
||||||
|
|
||||||
|
/// A reference to a transaction output
|
||||||
|
#[derive(Copy, Clone, PartialEq, Eq, Debug, Hash)]
|
||||||
|
pub struct TxOutRef {
|
||||||
|
/// The referenced transaction's txid
|
||||||
|
pub txid: Sha256dHash,
|
||||||
|
/// The index of the referenced output in its transaction's vout
|
||||||
|
pub index: usize
|
||||||
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for TxOutRef {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
write!(f, "{}:{}", self.txid, self.index)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// A transaction input, which defines old coins to be consumed
|
/// A transaction input, which defines old coins to be consumed
|
||||||
#[derive(Clone, PartialEq, Eq, Debug)]
|
#[derive(Clone, PartialEq, Eq, Debug)]
|
||||||
pub struct TxIn {
|
pub struct TxIn {
|
||||||
|
|
Loading…
Reference in New Issue