Copyright | No rights reserved |
---|---|
License | MIT |
Maintainer | [email protected] |
Stability | experimental |
Portability | POSIX |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Haskoin.Transaction.Segwit
Contents
Description
Synopsis
- data WitnessProgram
- data WitnessProgramPKH = WitnessProgramPKH {
- signature :: !TxSignature
- key :: !PublicKey
- data WitnessProgramSH = WitnessProgramSH {
- stack :: ![ByteString]
- script :: !Script
- isSegwit :: ScriptOutput -> Bool
- viewWitnessProgram :: Network -> Ctx -> ScriptOutput -> WitnessStack -> Either String WitnessProgram
- decodeWitnessInput :: Network -> Ctx -> WitnessProgram -> Either String (Maybe ScriptOutput, SimpleInput)
- calcWitnessProgram :: Network -> Ctx -> ScriptOutput -> ScriptInput -> Either String WitnessProgram
- simpleInputStack :: Network -> Ctx -> SimpleInput -> [ByteString]
- toWitnessStack :: Network -> Ctx -> WitnessProgram -> WitnessStack
Segwit
data WitnessProgram Source #
High level represenation of a (v0) witness program
Since: 0.11.0.0
Constructors
P2WPKH WitnessProgramPKH | |
P2WSH WitnessProgramSH | |
EmptyWitnessProgram |
Instances
Eq WitnessProgram Source # | |
Defined in Haskoin.Transaction.Segwit Methods (==) :: WitnessProgram -> WitnessProgram -> Bool # (/=) :: WitnessProgram -> WitnessProgram -> Bool # |
data WitnessProgramPKH Source #
High level representation of a P2WPKH witness
Since: 0.11.0.0
Constructors
WitnessProgramPKH | |
Fields
|
Instances
Eq WitnessProgramPKH Source # | |
Defined in Haskoin.Transaction.Segwit Methods (==) :: WitnessProgramPKH -> WitnessProgramPKH -> Bool # (/=) :: WitnessProgramPKH -> WitnessProgramPKH -> Bool # |
data WitnessProgramSH Source #
High-level representation of a P2WSH witness
Since: 0.11.0.0
Constructors
WitnessProgramSH | |
Fields
|
Instances
Show WitnessProgramSH Source # | |
Defined in Haskoin.Transaction.Segwit Methods showsPrec :: Int -> WitnessProgramSH -> ShowS # show :: WitnessProgramSH -> String # showList :: [WitnessProgramSH] -> ShowS # | |
Eq WitnessProgramSH Source # | |
Defined in Haskoin.Transaction.Segwit Methods (==) :: WitnessProgramSH -> WitnessProgramSH -> Bool # (/=) :: WitnessProgramSH -> WitnessProgramSH -> Bool # |
isSegwit :: ScriptOutput -> Bool Source #
Test if a ScriptOutput
is P2WPKH or P2WSH
Since: 0.11.0.0
viewWitnessProgram :: Network -> Ctx -> ScriptOutput -> WitnessStack -> Either String WitnessProgram Source #
Calculate the witness program from the transaction data
Since: 0.11.0.0
decodeWitnessInput :: Network -> Ctx -> WitnessProgram -> Either String (Maybe ScriptOutput, SimpleInput) Source #
Analyze the witness, trying to match it with standard input structures
Since: 0.11.0.0
calcWitnessProgram :: Network -> Ctx -> ScriptOutput -> ScriptInput -> Either String WitnessProgram Source #
Create the witness program for a standard input
Since: 0.11.0.0
simpleInputStack :: Network -> Ctx -> SimpleInput -> [ByteString] Source #
Create the witness stack required to spend a standard P2WSH input
Since: 0.11.0.0
toWitnessStack :: Network -> Ctx -> WitnessProgram -> WitnessStack Source #
Encode a witness program
Since: 0.11.0.0