Provide redeem scripts to sign_remote_commitment
[rust-lightning] / lightning / src / util / transaction_utils.rs
index a7c1e6bc6f78a48e15b69cf4081f0b88534b30e3..95d14236eeb3f34e1b3dba5031fa4f8a4c095e11 100644 (file)
@@ -12,6 +12,16 @@ pub fn sort_outputs<T, C : Fn(&T, &T) -> Ordering>(outputs: &mut Vec<(TxOut, T)>
        });
 }
 
+pub fn sort_outputs2<T, T1, C : Fn(&T, &T) -> Ordering>(outputs: &mut Vec<(TxOut, T, T1)>, tie_breaker: C) {
+       outputs.sort_unstable_by(|a, b| {
+               a.0.value.cmp(&b.0.value).then_with(|| {
+                       a.0.script_pubkey[..].cmp(&b.0.script_pubkey[..]).then_with(|| {
+                               tie_breaker(&a.1, &b.1)
+                       })
+               })
+       });
+}
+
 #[cfg(test)]
 mod tests {
        use super::*;