Instance Method
verify(amount:transaction:precomputedData:inputIndex:flags:)
Verifies whether a transaction input spends this script pubkey.
func verify(amount: Int64, transaction: Transaction, precomputedData: PrecomputedTransactionData? = nil, inputIndex: UInt32, flags: ScriptVerificationFlags = .all) -> (valid: Bool, status: ScriptVerifyStatus)
Parameters
-
amount
-
The amount associated with this output (used when witness flag is set).
-
transaction
-
The spending transaction.
-
precomputedData
-
Pre-computed transaction data (required for taproot).
-
inputIndex
-
Index of the spending input in the transaction.
-
flags
-
Script verification flags controlling validation.
Return Value
A tuple of (valid, status) where valid indicates if the script passed, and status provides details on failure.
Discussion
let script = ScriptPubkey(outputScriptData)
let (valid, status) = script.verify(
amount: 50_000,
transaction: spendingTx,
inputIndex: 0
)