@@ -171,37 +171,40 @@ use crate::{
171171 c_helpers, ffi:: sealed:: AsPtr , KernelError , ScriptPubkeyExt , TransactionExt , TxOutExt ,
172172} ;
173173
174+ /// Bitmask of flags controlling which consensus rules [`verify`] enforces.
175+ pub type ScriptVerificationFlags = btck_ScriptVerificationFlags ;
176+
174177/// No verification flags.
175- pub const VERIFY_NONE : btck_ScriptVerificationFlags = btck_ScriptVerificationFlags_NONE;
178+ pub const VERIFY_NONE : ScriptVerificationFlags = btck_ScriptVerificationFlags_NONE;
176179
177180/// Validate Pay-to-Script-Hash (BIP 16).
178- pub const VERIFY_P2SH : btck_ScriptVerificationFlags = btck_ScriptVerificationFlags_P2SH;
181+ pub const VERIFY_P2SH : ScriptVerificationFlags = btck_ScriptVerificationFlags_P2SH;
179182
180183/// Require strict DER encoding for ECDSA signatures (BIP 66).
181- pub const VERIFY_DERSIG : btck_ScriptVerificationFlags = btck_ScriptVerificationFlags_DERSIG;
184+ pub const VERIFY_DERSIG : ScriptVerificationFlags = btck_ScriptVerificationFlags_DERSIG;
182185
183186/// Require the dummy element in OP_CHECKMULTISIG to be empty (BIP 147).
184- pub const VERIFY_NULLDUMMY : btck_ScriptVerificationFlags = btck_ScriptVerificationFlags_NULLDUMMY;
187+ pub const VERIFY_NULLDUMMY : ScriptVerificationFlags = btck_ScriptVerificationFlags_NULLDUMMY;
185188
186189/// Enable OP_CHECKLOCKTIMEVERIFY (BIP 65).
187- pub const VERIFY_CHECKLOCKTIMEVERIFY : btck_ScriptVerificationFlags =
190+ pub const VERIFY_CHECKLOCKTIMEVERIFY : ScriptVerificationFlags =
188191 btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY;
189192
190193/// Enable OP_CHECKSEQUENCEVERIFY (BIP 112).
191- pub const VERIFY_CHECKSEQUENCEVERIFY : btck_ScriptVerificationFlags =
194+ pub const VERIFY_CHECKSEQUENCEVERIFY : ScriptVerificationFlags =
192195 btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY;
193196
194197/// Validate Segregated Witness programs (BIP 141/143).
195- pub const VERIFY_WITNESS : btck_ScriptVerificationFlags = btck_ScriptVerificationFlags_WITNESS;
198+ pub const VERIFY_WITNESS : ScriptVerificationFlags = btck_ScriptVerificationFlags_WITNESS;
196199
197200/// Validate Taproot spends (BIP 341/342). Requires spent outputs.
198- pub const VERIFY_TAPROOT : btck_ScriptVerificationFlags = btck_ScriptVerificationFlags_TAPROOT;
201+ pub const VERIFY_TAPROOT : ScriptVerificationFlags = btck_ScriptVerificationFlags_TAPROOT;
199202
200203/// All consensus rules.
201- pub const VERIFY_ALL : btck_ScriptVerificationFlags = btck_ScriptVerificationFlags_ALL;
204+ pub const VERIFY_ALL : ScriptVerificationFlags = btck_ScriptVerificationFlags_ALL;
202205
203206/// All consensus rules except Taproot.
204- pub const VERIFY_ALL_PRE_TAPROOT : btck_ScriptVerificationFlags = VERIFY_P2SH
207+ pub const VERIFY_ALL_PRE_TAPROOT : ScriptVerificationFlags = VERIFY_P2SH
205208 | VERIFY_DERSIG
206209 | VERIFY_NULLDUMMY
207210 | VERIFY_CHECKLOCKTIMEVERIFY
@@ -389,7 +392,7 @@ pub fn verify(
389392 amount : Option < i64 > ,
390393 tx_to : & impl TransactionExt ,
391394 input_index : usize ,
392- flags : Option < u32 > ,
395+ flags : Option < ScriptVerificationFlags > ,
393396 precomputed_txdata : & PrecomputedTransactionData ,
394397) -> Result < ( ) , KernelError > {
395398 let input_count = tx_to. input_count ( ) ;
0 commit comments