haskoin-core-1.1.0: Bitcoin & Bitcoin Cash library for Haskell
CopyrightNo rights reserved
LicenseMIT
Maintainerjprupp@protonmail.ch
Stabilityexperimental
PortabilityPOSIX
Safe HaskellSafe-Inferred
LanguageHaskell2010

Haskoin.Transaction.Segwit

Contents

Description

Types to represent segregated witness data and auxilliary functions to manipulate it. See BIP 141 and BIP 143 for details.

Synopsis

Segwit

data WitnessProgram Source #

High level represenation of a (v0) witness program

Since: 0.11.0.0

Instances

Instances details
Eq WitnessProgram Source # 
Instance details

Defined in Haskoin.Transaction.Segwit

data WitnessProgramPKH Source #

High level representation of a P2WPKH witness

Since: 0.11.0.0

Constructors

WitnessProgramPKH 

Instances

Instances details
Eq WitnessProgramPKH Source # 
Instance details

Defined in Haskoin.Transaction.Segwit

data WitnessProgramSH Source #

High-level representation of a P2WSH witness

Since: 0.11.0.0

Constructors

WitnessProgramSH 

Fields

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