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

Method new_for_validation

bridge/src/transactions/take_1.rs:115–182  ·  view source on GitHub ↗
(
        network: Network,
        operator_public_key: &PublicKey,
        connector_0: &Connector0,
        connector_3: &Connector3,
        connector_a: &ConnectorA,
        connector_b: &Connect

Source from the content-addressed store, hash-verified

113
114 #[allow(clippy::too_many_arguments)]
115 pub fn new_for_validation(
116 network: Network,
117 operator_public_key: &PublicKey,
118 connector_0: &Connector0,
119 connector_3: &Connector3,
120 connector_a: &ConnectorA,
121 connector_b: &ConnectorB,
122 input_0: Input,
123 input_1: Input,
124 input_2: Input,
125 input_3: Input,
126 ) -> Self {
127 let input_0_leaf = 0;
128 let _input_0 = connector_0.generate_taproot_leaf_tx_in(input_0_leaf, &input_0);
129
130 let input_1_leaf = 0;
131 let _input_1 = connector_a.generate_taproot_leaf_tx_in(input_1_leaf, &input_1);
132
133 let _input_2 = connector_3.generate_tx_in(&input_2);
134
135 let input_3_leaf = 0;
136 let _input_3 = connector_b.generate_taproot_leaf_tx_in(input_3_leaf, &input_3);
137
138 let total_output_amount = input_0.amount + input_1.amount + input_2.amount + input_3.amount
139 - Amount::from_sat(MIN_RELAY_FEE_TAKE_1);
140
141 let _output_0 = TxOut {
142 value: total_output_amount,
143 script_pubkey: generate_pay_to_pubkey_script_address(network, operator_public_key)
144 .script_pubkey(),
145 };
146
147 Take1Transaction {
148 tx: Transaction {
149 version: bitcoin::transaction::Version(2),
150 lock_time: absolute::LockTime::ZERO,
151 input: vec![_input_0, _input_1, _input_2, _input_3],
152 output: vec![_output_0],
153 },
154 prev_outs: vec![
155 TxOut {
156 value: input_0.amount,
157 script_pubkey: connector_0.generate_taproot_address().script_pubkey(),
158 },
159 TxOut {
160 value: input_1.amount,
161 script_pubkey: connector_a.generate_taproot_address().script_pubkey(),
162 },
163 TxOut {
164 value: input_2.amount,
165 script_pubkey: connector_3.generate_address().script_pubkey(),
166 },
167 TxOut {
168 value: input_3.amount,
169 script_pubkey: connector_b.generate_taproot_address().script_pubkey(),
170 },
171 ],
172 prev_scripts: vec![

Callers

nothing calls this directly

Tested by

no test coverage detected