bitcoin-address-0.1.2: Bitcoin address generation and rendering. Parsing coming soon.
Safe HaskellNone
LanguageHaskell2010

Bitcoin.Address.SegWit

Synopsis

Version

data Version Source #

The version for of a SegWit Program.

Instances

Instances details
Eq Version Source # 
Instance details

Defined in Bitcoin.Address.SegWit

Methods

(==) :: Version -> Version -> Bool #

(/=) :: Version -> Version -> Bool #

Ord Version Source # 
Instance details

Defined in Bitcoin.Address.SegWit

Show Version Source # 
Instance details

Defined in Bitcoin.Address.SegWit

version :: Word8 -> Maybe Version Source #

Construct a SegWit Version.

The given Word8 must be in the inclusive range [0 … 16].

unVersion :: Version -> Word8 Source #

The obtained Word8 is in the inclusive range [0 … 16].

versionOp :: Version -> ScriptOp Source #

The ScriptOp corresponding to the Version, in range [OP_0OP_16]

version0 :: Version Source #

SegWit version 0

Programs

data Program Source #

A SegWit program. Construct with program.

Instances

Instances details
Eq Program Source # 
Instance details

Defined in Bitcoin.Address.SegWit

Methods

(==) :: Program -> Program -> Bool #

(/=) :: Program -> Program -> Bool #

Ord Program Source # 
Instance details

Defined in Bitcoin.Address.SegWit

Show Program Source #

Version and base-16 encoded program data.

Instance details

Defined in Bitcoin.Address.SegWit

program Source #

Arguments

:: Version 
-> ByteString

Raw SegWit program bytes.

-> Maybe Program

Nothing if program length is invalid for version.

Construct a Program from its raw bytes.

WARINING This function will prevent you frow constructing invalid SegWit programs, but won't help you write meaningful programs. Prefer to use safe constructions such as p2wpkh or p2wsh instead.

programVersion :: Program -> Version Source #

SegWit program version.

programData :: Program -> ByteString Source #

Raw SegWit program data.

Standard programs

p2wpkh :: PubHash160 -> Program Source #

Construct a standard SegWit version 0 P2WPKH program.

p2wsh :: ScriptSHA256 -> Program Source #

Construct a standard SegWit version 0 P2WSH program.