Copyright | No rights reserved |
---|---|
License | UNLICENSE |
Maintainer | xenog@protonmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
Base58, CashAddr, Bech32 address and WIF private key serialization support.
Synopsis
- data Address
- getAddrHash160 :: Address -> Hash160
- getAddrHash256 :: Address -> Hash256
- getAddrNet :: Address -> Network
- isPubKeyAddress :: Address -> Bool
- isScriptAddress :: Address -> Bool
- isWitnessPubKeyAddress :: Address -> Bool
- isWitnessScriptAddress :: Address -> Bool
- addrToString :: Address -> Text
- stringToAddr :: Network -> Text -> Maybe Address
- addrFromJSON :: Network -> Value -> Parser Address
- pubKeyAddr :: Network -> PubKeyI -> Address
- pubKeyWitnessAddr :: Network -> PubKeyI -> Maybe Address
- p2pkhAddr :: Network -> Hash160 -> Address
- p2wpkhAddr :: Network -> Hash160 -> Maybe Address
- p2shAddr :: Network -> Hash160 -> Address
- p2wshAddr :: Network -> Hash256 -> Maybe Address
- inputAddress :: Network -> ScriptInput -> Either String Address
- outputAddress :: Network -> ScriptOutput -> Either String Address
- addressToScript :: Address -> Script
- addressToScriptBS :: Address -> ByteString
- addressToOutput :: Address -> ScriptOutput
- payToScriptAddress :: Network -> ScriptOutput -> Address
- payToWitnessScriptAddress :: Network -> ScriptOutput -> Maybe Address
- scriptToAddress :: Network -> Script -> Maybe Address
- scriptToAddressBS :: Network -> ByteString -> Maybe Address
- fromWif :: Network -> Base58 -> Maybe SecKeyI
- toWif :: Network -> SecKeyI -> Base58
Documentation
Address format for Bitcoin and Bitcoin Cash.
Instances
getAddrHash160 :: Address -> Hash160 Source #
RIPEMD160 hash of public key's SHA256 hash
getAddrHash256 :: Address -> Hash256 Source #
HASH256 hash of script
getAddrNet :: Address -> Network Source #
address network
isWitnessPubKeyAddress :: Address -> Bool Source #
Address
pays to a witness public key hash. Only valid for SegWit
networks.
isWitnessScriptAddress :: Address -> Bool Source #
Address
pays to a witness script hash. Only valid for SegWit networks.
addrToString :: Address -> Text Source #
pubKeyWitnessAddr :: Network -> PubKeyI -> Maybe Address Source #
Obtain a P2WPKH address from a public key. Only on SegWit networks.
inputAddress :: Network -> ScriptInput -> Either String Address Source #
Infer the address of a ScriptInput
outputAddress :: Network -> ScriptOutput -> Either String Address Source #
Get the Address
of a ScriptOutput
.
addressToScriptBS :: Address -> ByteString Source #
Encode address as output script in ByteString
form.
addressToOutput :: Address -> ScriptOutput Source #
Encode an output script from an address. Will fail if using a pay-to-witness address on a non-SegWit network.
payToScriptAddress :: Network -> ScriptOutput -> Address Source #
Compute a pay-to-script-hash address for an output script.
payToWitnessScriptAddress :: Network -> ScriptOutput -> Maybe Address Source #
Compute a pay-to-witness-script-hash address for an output script. Only on SegWit networks.
scriptToAddress :: Network -> Script -> Maybe Address Source #
Decode an output script into an Address
if it has such representation.
scriptToAddressBS :: Network -> ByteString -> Maybe Address Source #
Decode a serialized script into an Address
.