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

Function validate_transaction

bridge/src/transactions/base.rs:130–161  ·  view source on GitHub ↗
(
    transaction: &Transaction,
    comparison_transaction: &Transaction,
    tx_name: &'static str,
)

Source from the content-addressed store, hash-verified

128}
129
130pub fn validate_transaction(
131 transaction: &Transaction,
132 comparison_transaction: &Transaction,
133 tx_name: &'static str,
134) -> Result<(), Error> {
135 for i in 0..comparison_transaction.input.len() {
136 if transaction.input[i].previous_output != comparison_transaction.input[i].previous_output
137 || transaction.input[i].script_sig != comparison_transaction.input[i].script_sig
138 || transaction.input[i].sequence != comparison_transaction.input[i].sequence
139 {
140 return Err(Error::Validation(ValidationError::TxValidationFailed(
141 tx_name,
142 transaction.compute_txid(),
143 i,
144 )));
145 }
146 }
147
148 for i in 0..comparison_transaction.output.len() {
149 if transaction.output[i].value != comparison_transaction.output[i].value
150 || transaction.output[i].script_pubkey != comparison_transaction.output[i].script_pubkey
151 {
152 return Err(Error::Validation(ValidationError::TxValidationFailed(
153 tx_name,
154 transaction.compute_txid(),
155 i,
156 )));
157 }
158 }
159
160 Ok(())
161}
162
163pub fn validate_witness(
164 tx: &Transaction,

Callers 2

validateMethod · 0.85
validateMethod · 0.85

Calls 1

lenMethod · 0.80

Tested by

no test coverage detected