### Get libbitcoinconsensus version Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/fn.version.html Retrieves the version number of the underlying libbitcoinconsensus library. ```rust pub fn version() -> u32 ``` -------------------------------- ### version Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/index.html Returns the version of the libbitcoinconsensus library. ```APIDOC ## version ### Description Returns `libbitcoinconsensus` version. ### Signature `pub fn version() -> u32` ``` -------------------------------- ### pub fn version() -> u32 Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/fn.version.html Returns the version of the libbitcoinconsensus library as a 32-bit unsigned integer. ```APIDOC ## version ### Description Returns the current version of the `libbitcoinconsensus` library. ### Signature `pub fn version() -> u32` ### Returns - **u32** - The version number of the library. ``` -------------------------------- ### height_to_flags Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/index.html Computes flags for soft fork activation heights on the Bitcoin network. ```APIDOC ## height_to_flags ### Description Computes flags for soft fork activation heights on the Bitcoin network. ### Signature `pub fn height_to_flags(height: i32) -> u32` ``` -------------------------------- ### bitcoinconsensus_version Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/ffi/index.html Returns the current version of the libbitcoinconsensus library. ```APIDOC ## bitcoinconsensus_version ### Description Returns `libbitcoinconsensus` version. ``` -------------------------------- ### verify_with_flags Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/fn.verify_with_flags.html Verifies a transaction input against a spent output script using specific consensus flags. ```APIDOC ## Function: verify_with_flags ### Description Verifies a transaction input against a spent output script. This function is similar to verify but includes flags that allow enabling or disabling past soft fork features. ### Signature `pub fn verify_with_flags(spent_output_script: &[u8], amount: u64, spending_transaction: &[u8], spent_outputs: Option<&[Utxo]>, input_index: usize, flags: u32) -> Result<(), Error>` ### Parameters - **spent_output_script** (&[u8]) - The script of the output being spent. - **amount** (u64) - The amount associated with the output. - **spending_transaction** (&[u8]) - The transaction that is spending the output. - **spent_outputs** (Option<&[Utxo]>) - Optional list of UTXOs. - **input_index** (usize) - The index of the input being verified. - **flags** (u32) - Consensus flags to control soft fork feature activation. ### Returns - **Result<(), Error>** - Returns Ok(()) if verification succeeds, or an Error if verification fails. ``` -------------------------------- ### Function signature for bitcoinconsensus_verify_script_with_spent_outputs Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/ffi/fn.bitcoinconsensus_verify_script_with_spent_outputs.html The FFI function signature for verifying script execution with spent outputs. ```rust pub unsafe extern "C" fn bitcoinconsensus_verify_script_with_spent_outputs( script_pubkey: *const u8, script_pubkeylen: u32, amount: u64, tx_to: *const u8, tx_tolen: u32, spent_outputs: *const u8, num_spent_outputs: u32, n_in: u32, flags: u32, err: *mut Error, ) -> i32 ``` -------------------------------- ### VERIFY_ALL_PRE_TAPROOT Constant Definition Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/constant.VERIFY_ALL_PRE_TAPROOT.html The constant is defined as a 32-bit unsigned integer with a value of 3605. ```rust pub const VERIFY_ALL_PRE_TAPROOT: u32 = _; // 3_605u32 ``` -------------------------------- ### bitcoinconsensus_verify_script_with_amount Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/ffi/index.html Verifies that the transaction input correctly spends the previous output, considering any additional constraints specified by flags. ```APIDOC ## bitcoinconsensus_verify_script_with_amount ### Description Verifies that the transaction input correctly spends the previous output, considering any additional constraints specified by flags. ``` -------------------------------- ### bitcoinconsensus_verify_script_with_amount function signature Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/ffi/fn.bitcoinconsensus_verify_script_with_amount.html The FFI function signature for verifying script inputs. Note that this function does not support Taproot inputs. ```rust pub unsafe extern "C" fn bitcoinconsensus_verify_script_with_amount( script_pubkey: *const u8, script_pubkeylen: u32, amount: u64, tx_to: *const u8, tx_tolen: u32, n_in: u32, flags: u32, err: *mut Error, ) -> i32 ``` -------------------------------- ### verify_with_flags function signature Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/fn.verify_with_flags.html The function signature for verifying script execution with specific soft fork flags. ```rust pub fn verify_with_flags( spent_output_script: &[u8], amount: u64, spending_transaction: &[u8], spent_outputs: Option<&[Utxo]>, input_index: usize, flags: u32, ) -> Result<(), Error> ``` -------------------------------- ### verify_with_flags Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/index.html Verifies a single spend (input) of a Bitcoin transaction using specific verification flags. ```APIDOC ## verify_with_flags ### Description Same as verify but with flags that turn past soft fork features on or off. ### Signature `pub fn verify_with_flags(script_pub_key: &[u8], amount: i64, tx_to: &[u8], input_index: u32, flags: u32) -> Result<(), Error>` ``` -------------------------------- ### verify Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/index.html Verifies a single spend (input) of a Bitcoin transaction. ```APIDOC ## verify ### Description Verifies a single spend (input) of a Bitcoin transaction. ### Signature `pub fn verify(script_pub_key: &[u8], amount: i64, tx_to: &[u8], input_index: u32) -> Result<(), Error>` ``` -------------------------------- ### Define VERIFY_NONE constant Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/constant.VERIFY_NONE.html Represents the flag value for disabling all verification processes. ```rust pub const VERIFY_NONE: u32 = 0; ``` -------------------------------- ### verify function signature Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/fn.verify.html The function signature for verifying a Bitcoin transaction input. ```rust pub fn verify( spent_output: &[u8], amount: u64, spending_transaction: &[u8], spent_outputs: Option<&[Utxo]>, input_index: usize, ) -> Result<(), Error> ``` -------------------------------- ### bitcoinconsensus_verify_script_with_spent_outputs Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/ffi/index.html Verifies that the transaction input correctly spends the previous output, considering any additional constraints specified by flags. ```APIDOC ## bitcoinconsensus_verify_script_with_spent_outputs ### Description Verifies that the transaction input correctly spends the previous output, considering any additional constraints specified by flags. ``` -------------------------------- ### height_to_flags function signature Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/fn.height_to_flags.html The function signature for computing consensus flags based on block height. ```rust pub fn height_to_flags(height: u32) -> u32 ``` -------------------------------- ### VERIFY_NULLDUMMY Constant Definition Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/constant.VERIFY_NULLDUMMY.html The constant is defined as a 32-bit unsigned integer with a value of 16. ```rust pub const VERIFY_NULLDUMMY: u32 = _; // 16u32 ``` -------------------------------- ### VERIFY_P2SH Constant Definition Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/constant.VERIFY_P2SH.html The constant is defined as a 32-bit unsigned integer with a value of 1. ```rust pub const VERIFY_P2SH: u32 = _; // 1u32 ``` -------------------------------- ### Define Utxo struct Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/struct.Utxo.html The Utxo struct is defined with repr(C) to ensure compatibility with the Bitcoin Core C API. ```rust #[repr(C)] pub struct Utxo { pub script_pubkey: *const u8, pub script_pubkey_len: u32, pub value: i64, } ``` -------------------------------- ### VERIFY_TAPROOT constant definition Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/constant.VERIFY_TAPROOT.html The constant represents the bitmask value for enabling Taproot validation. ```rust pub const VERIFY_TAPROOT: u32 = _; // 131_072u32 ``` -------------------------------- ### VERIFY_CHECKLOCKTIMEVERIFY Constant Definition Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/constant.VERIFY_CHECKLOCKTIMEVERIFY.html The constant is defined as a 32-bit unsigned integer with a value of 512. ```rust pub const VERIFY_CHECKLOCKTIMEVERIFY: u32 = _; // 512u32 ``` -------------------------------- ### VERIFY_CHECKSEQUENCEVERIFY Constant Definition Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/constant.VERIFY_CHECKSEQUENCEVERIFY.html The constant is defined as a u32 value of 1024. ```rust pub const VERIFY_CHECKSEQUENCEVERIFY: u32 = _; // 1_024u32 ``` -------------------------------- ### VERIFY_WITNESS Constant Definition Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/constant.VERIFY_WITNESS.html The constant represents the bitmask value for enabling witness verification. ```rust pub const VERIFY_WITNESS: u32 = _; // 2_048u32 ``` -------------------------------- ### VERIFY_DERSIG Constant Definition Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/constant.VERIFY_DERSIG.html The constant is defined as a 32-bit unsigned integer with a value of 4. ```rust pub const VERIFY_DERSIG: u32 = _; // 4u32 ``` -------------------------------- ### Define Error Enum Source: https://docs.rs/bitcoinconsensus/0.106.0%2B26.0/bitcoinconsensus/enum.Error.html The Error enum structure used to represent error states in libbitcoinconsensus. ```rust #[repr(C)] pub enum Error { ERR_SCRIPT = 0, ERR_TX_INDEX = 1, ERR_TX_SIZE_MISMATCH = 2, ERR_TX_DESERIALIZE = 3, ERR_AMOUNT_REQUIRED = 4, ERR_INVALID_FLAGS = 5, ERR_SPENT_OUTPUTS_REQUIRED = 6, ERR_SPENT_OUTPUTS_MISMATCH = 7, } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.