MCPcopy Create free account
hub / github.com/BitVM/BitVM / merge_transactions

Function merge_transactions

bridge/src/transactions/base.rs:63–91  ·  view source on GitHub ↗
(
    destination_transaction: &mut Transaction,
    source_transaction: &Transaction,
)

Source from the content-addressed store, hash-verified

61}
62
63pub fn merge_transactions(
64 destination_transaction: &mut Transaction,
65 source_transaction: &Transaction,
66) {
67 for i in destination_transaction.input.len()..source_transaction.input.len() {
68 destination_transaction
69 .input
70 .push(source_transaction.input[i].clone());
71 }
72
73 for i in 0..cmp::min(
74 destination_transaction.input.len(),
75 source_transaction.input.len(),
76 ) {
77 // TODO: takes longer witness data but should combine both
78 // TODO: merge signatures after Musig2 feature is ready
79 if destination_transaction.input[i].witness.len()
80 < source_transaction.input[i].witness.len()
81 {
82 destination_transaction.input[i].witness = source_transaction.input[i].witness.clone();
83 }
84 }
85
86 for i in destination_transaction.output.len()..source_transaction.output.len() {
87 destination_transaction
88 .output
89 .push(source_transaction.output[i].clone());
90 }
91}
92
93// assumes source_transaction is the latest
94pub fn merge_musig2_nonces_and_signatures(

Callers 14

mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85
mergeMethod · 0.85

Calls 3

lenMethod · 0.80
cloneMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected