Copyright | 2022-2024 Vergara Technologies |
---|---|
License | MIT |
Maintainer | rene@vergara.network |
Stability | experimental |
Portability | unknown |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Functions to interact with the Orchard shielded pool of the Zcash blockchain.
Synopsis
- genOrchardSpendingKey :: Seed -> CoinType -> AccountId -> Maybe OrchardSpendingKey
- genOrchardReceiver :: Int -> Scope -> OrchardSpendingKey -> Maybe OrchardReceiver
- isValidUnifiedAddress :: ByteString -> Maybe UnifiedAddress
- encodeUnifiedAddress :: UnifiedAddress -> Text
- decodeUfvk :: ByteString -> Maybe UnifiedFullViewingKey
- matchOrchardAddress :: ByteString -> ByteString -> Bool
- decryptOrchardAction :: UnifiedFullViewingKey -> OrchardAction -> Maybe DecodedNote
- getSaplingFromUA :: ByteString -> Maybe Text
- decryptOrchardActionSK :: OrchardSpendingKey -> Scope -> OrchardAction -> Maybe DecodedNote
- updateOrchardCommitmentTree :: OrchardCommitmentTree -> HexString -> Maybe OrchardCommitmentTree
- getOrchardWitness :: OrchardCommitmentTree -> Maybe OrchardWitness
- getOrchardNotePosition :: OrchardWitness -> Integer
- updateOrchardWitness :: OrchardWitness -> [HexString] -> OrchardWitness
- parseAddress :: ByteString -> Maybe ValidAddress
- compareAddress :: ValidAddress -> UnifiedAddress -> Bool
Documentation
:: Seed | The cryptographic seed for the wallet |
-> CoinType | The coin type constant |
-> AccountId | The index of the account to be used |
-> Maybe OrchardSpendingKey |
Derives an Orchard spending key for the given seed and account ID
:: Int | The index of the address to be created |
-> Scope |
|
-> OrchardSpendingKey | The spending key |
-> Maybe OrchardReceiver |
Derives an Orchard receiver for the given spending key and index
isValidUnifiedAddress :: ByteString -> Maybe UnifiedAddress #
Checks if given bytestring is a valid encoded unified address
encodeUnifiedAddress :: UnifiedAddress -> Text #
Encode a UnifiedAddress
per ZIP-316
decodeUfvk :: ByteString -> Maybe UnifiedFullViewingKey #
Attempts to decode the given bytestring into a Unified Full Viewing Key
matchOrchardAddress :: ByteString -> ByteString -> Bool #
Check if the given UVK matches the UA given
decryptOrchardAction :: UnifiedFullViewingKey -> OrchardAction -> Maybe DecodedNote #
Attempts to decode the given OrchardAction
using the given UnifiedFullViewingKey
.
getSaplingFromUA :: ByteString -> Maybe Text #
decryptOrchardActionSK :: OrchardSpendingKey -> Scope -> OrchardAction -> Maybe DecodedNote #
Attemtps to decode the given OrchardAction
using the given OrchardSpendingKey
:: OrchardCommitmentTree | the base tree |
-> HexString | the new note commitment |
-> Maybe OrchardCommitmentTree |
Update a Orchard commitment tree
getOrchardWitness :: OrchardCommitmentTree -> Maybe OrchardWitness #
Get the Orchard incremental witness from a commitment tree
getOrchardNotePosition :: OrchardWitness -> Integer #
Get the Sapling note position from a witness
updateOrchardWitness :: OrchardWitness -> [HexString] -> OrchardWitness #
Update the witness of an Orchard note
parseAddress :: ByteString -> Maybe ValidAddress #
Parse a potential Zcash address
compareAddress :: ValidAddress -> UnifiedAddress -> Bool #