Function bitcoinconsensus::verify
source · pub fn verify(
spent_output: &[u8],
amount: u64,
spending_transaction: &[u8],
input_index: usize
) -> Result<(), Error>
Expand description
Verifies a single spend (input) of a Bitcoin transaction.
Note that amount will only be checked for Segwit transactions.
Arguments
- spend_output_script: A Bitcoin transaction output script to be spent, serialized in Bitcoin’s on wire format.
- amount: The spent output amount in satoshis.
- spending_transaction: The spending Bitcoin transaction, serialized in Bitcoin’s on wire format.
- input_index: The index of the input within spending_transaction.
Examples
The (randomly choosen) Bitcoin transaction aca326a724eda9a461c10a876534ecd5ae7b27f10f26c3862fb996f80ea2d45d spends one input, that is the first output of 95da344585fcf2e5f7d6cbf2c3df2dcce84f9196f7a7bb901a43275cd6eb7c3f with a value of 630482530 satoshis.
The spending transaction in wire format is:
spending = 02000000013f7cebd65c27431a90bba7f796914fe8cc2ddfc3f2cbd6f7e5f2fc854534da95000000006b483045022100de1ac3bcdfb0332207c4a91f3832bd2c2915840165f876ab47c5f8996b971c3602201c6c053d750fadde599e6f5c4e1963df0f01fc0d97815e8157e3d59fe09ca30d012103699b464d1d8bc9e47d4fb1cdaa89a1c5783d68363c4dbc4b524ed3d857148617feffffff02836d3c01000000001976a914fc25d6d5c94003bf5b0c7b640a248e2c637fcfb088ac7ada8202000000001976a914fbed3d9b11183209a57999d54d59f67c019e756c88ac6acb0700
The script of the first output of the spent transaction is:
spent = 76a9144bfbaf6afb76cc5771bc6404810d1cc041a6933988ac
The (pseudo code) call:
verify(spent, 630482530, spending, 0)
should return Ok(())
.
Note since the spent amount will only be checked for Segwit transactions and the above example is not segwit, verify
will succeed with any amount.