Skip to content

Commit a085488

Browse files
committed
Remove unused BIP69 input sorting
Lightning doesn't (currently) do any input sorting at the protocol level, but if we ever need to re-add this its in git history.
1 parent d990f72 commit a085488

File tree

1 file changed

+2
-85
lines changed

1 file changed

+2
-85
lines changed

src/util/transaction_utils.rs

Lines changed: 2 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
use bitcoin::blockdata::transaction::{TxIn, TxOut};
2-
use bitcoin_hashes::sha256d::Hash as Sha256dHash;
1+
use bitcoin::blockdata::transaction::TxOut;
32

43
use std::cmp::Ordering;
54

@@ -13,35 +12,12 @@ pub fn sort_outputs<T, C : Fn(&T, &T) -> Ordering>(outputs: &mut Vec<(TxOut, T)>
1312
});
1413
}
1514

16-
fn cmp(a: &Sha256dHash, b: &Sha256dHash) -> Ordering {
17-
use bitcoin_hashes::Hash;
18-
19-
let av = a.into_inner();
20-
let bv = b.into_inner();
21-
for i in (0..32).rev() {
22-
let cmp = av[i].cmp(&bv[i]);
23-
if cmp != Ordering::Equal {
24-
return cmp;
25-
}
26-
}
27-
Ordering::Equal
28-
}
29-
30-
pub fn sort_inputs<T>(inputs: &mut Vec<(TxIn, T)>) {
31-
inputs.sort_unstable_by(|a, b| {
32-
cmp( &a.0.previous_output.txid, &b.0.previous_output.txid).then(
33-
a.0.previous_output.vout.cmp(&b.0.previous_output.vout))
34-
});
35-
}
36-
3715
#[cfg(test)]
3816
mod tests {
3917
use super::*;
4018

4119
use bitcoin::blockdata::script::{Script, Builder};
42-
use bitcoin::blockdata::transaction::{TxOut, OutPoint};
43-
use bitcoin_hashes::sha256d::Hash as Sha256dHash;
44-
use bitcoin_hashes::hex::FromHex;
20+
use bitcoin::blockdata::transaction::TxOut;
4521

4622
use hex::decode;
4723

@@ -153,63 +129,4 @@ mod tests {
153129
bip69_txout_test_1: TXOUT1.to_vec(),
154130
bip69_txout_test_2: TXOUT2.to_vec(),
155131
}
156-
157-
macro_rules! bip_txin_tests {
158-
($($name:ident: $value:expr,)*) => {
159-
$(
160-
#[test]
161-
fn $name() {
162-
let expected_raw: Vec<(&str, u32)> = $value;
163-
let expected: Vec<(TxIn, &str)> = expected_raw.iter().map(
164-
|txin_raw| TxIn {
165-
previous_output: OutPoint {
166-
txid: Sha256dHash::from_hex(txin_raw.0).unwrap(),
167-
vout: txin_raw.1,
168-
},
169-
script_sig: Script::new(),
170-
sequence: 0,
171-
witness: vec![]
172-
}
173-
).map(|txin| (txin, "ignore")).collect();
174-
175-
let mut inputs = expected.clone();
176-
inputs.reverse();
177-
178-
sort_inputs(&mut inputs);
179-
180-
assert_eq!(expected, inputs);
181-
}
182-
)*
183-
}
184-
}
185-
186-
const TXIN1_BIP69: [(&str, u32); 17] = [
187-
("0e53ec5dfb2cb8a71fec32dc9a634a35b7e24799295ddd5278217822e0b31f57", 0),
188-
("26aa6e6d8b9e49bb0630aac301db6757c02e3619feb4ee0eea81eb1672947024", 1),
189-
("28e0fdd185542f2c6ea19030b0796051e7772b6026dd5ddccd7a2f93b73e6fc2", 0),
190-
("381de9b9ae1a94d9c17f6a08ef9d341a5ce29e2e60c36a52d333ff6203e58d5d", 1),
191-
("3b8b2f8efceb60ba78ca8bba206a137f14cb5ea4035e761ee204302d46b98de2", 0),
192-
("402b2c02411720bf409eff60d05adad684f135838962823f3614cc657dd7bc0a", 1),
193-
("54ffff182965ed0957dba1239c27164ace5a73c9b62a660c74b7b7f15ff61e7a", 1),
194-
("643e5f4e66373a57251fb173151e838ccd27d279aca882997e005016bb53d5aa", 0),
195-
("6c1d56f31b2de4bfc6aaea28396b333102b1f600da9c6d6149e96ca43f1102b1", 1),
196-
("7a1de137cbafb5c70405455c49c5104ca3057a1f1243e6563bb9245c9c88c191", 0),
197-
("7d037ceb2ee0dc03e82f17be7935d238b35d1deabf953a892a4507bfbeeb3ba4", 1),
198-
("a5e899dddb28776ea9ddac0a502316d53a4a3fca607c72f66c470e0412e34086", 0),
199-
("b4112b8f900a7ca0c8b0e7c4dfad35c6be5f6be46b3458974988e1cdb2fa61b8", 0),
200-
("bafd65e3c7f3f9fdfdc1ddb026131b278c3be1af90a4a6ffa78c4658f9ec0c85", 0),
201-
("de0411a1e97484a2804ff1dbde260ac19de841bebad1880c782941aca883b4e9", 1),
202-
("f0a130a84912d03c1d284974f563c5949ac13f8342b8112edff52971599e6a45", 0),
203-
("f320832a9d2e2452af63154bc687493484a0e7745ebd3aaf9ca19eb80834ad60", 0),
204-
];
205-
206-
207-
const TXIN2_BIP69: [(&str, u32); 2] = [
208-
("35288d269cee1941eaebb2ea85e32b42cdb2b04284a56d8b14dcc3f5c65d6055", 0),
209-
("35288d269cee1941eaebb2ea85e32b42cdb2b04284a56d8b14dcc3f5c65d6055", 1),
210-
];
211-
bip_txin_tests! {
212-
bip69_txin_test_1: TXIN1_BIP69.to_vec(),
213-
bip69_txin_test_2: TXIN2_BIP69.to_vec(),
214-
}
215132
}

0 commit comments

Comments
 (0)