Merge pull request 'Implement Read instance' (#7) from fix080 into dev040

Reviewed-on: #7
This commit is contained in:
pitmutt 2024-02-09 19:35:35 +00:00 committed by Vergara Technologies LLC
commit c4f345b1de
Signed by: Vergara Technologies LLC
GPG key ID: 99DB473BB4715618
4 changed files with 12 additions and 7 deletions

View file

@ -11,6 +11,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Function to encode a human-readable transparent address - Function to encode a human-readable transparent address
- Function to generate a seed phrase - Function to generate a seed phrase
- Implementations of `Read` for types
### Changed
## [0.3.0] ## [0.3.0]

View file

@ -27,7 +27,7 @@ import ZcashHaskell.Types (Phrase, Seed)
generateWalletSeedPhrase :: IO Phrase generateWalletSeedPhrase :: IO Phrase
generateWalletSeedPhrase = withBorshVarBuffer rustWrapperGenSeedPhrase generateWalletSeedPhrase = withBorshVarBuffer rustWrapperGenSeedPhrase
-- | Get -- | Derive a cryptographic seed from the given seed phrase.
getWalletSeed :: Phrase -> Maybe Seed getWalletSeed :: Phrase -> Maybe Seed
getWalletSeed p = getWalletSeed p =
if BS.length result > 0 if BS.length result > 0

View file

@ -123,27 +123,27 @@ data RawTxResponse = RawTxResponse
, rt_blockheight :: Integer , rt_blockheight :: Integer
, rt_confirmations :: Integer , rt_confirmations :: Integer
, rt_blocktime :: Integer , rt_blocktime :: Integer
} deriving (Prelude.Show, Eq) } deriving (Prelude.Show, Eq, Read)
data ZcashNet data ZcashNet
= MainNet = MainNet
| TestNet | TestNet
| RegTestNet | RegTestNet
deriving (Eq, Prelude.Show) deriving (Eq, Prelude.Show, Read)
-- * Transparent -- * Transparent
-- | Type to represent the two kinds of transparent addresses -- | Type to represent the two kinds of transparent addresses
data TransparentType data TransparentType
= P2SH = P2SH
| P2PKH | P2PKH
deriving (Eq, Prelude.Show) deriving (Eq, Prelude.Show, Read)
-- | Type to represent a transparent Zcash addresses -- | Type to represent a transparent Zcash addresses
data TransparentAddress = TransparentAddress data TransparentAddress = TransparentAddress
{ ta_type :: !TransparentType { ta_type :: !TransparentType
, ta_net :: !ZcashNet , ta_net :: !ZcashNet
, ta_bytes :: !BS.ByteString , ta_bytes :: !BS.ByteString
} deriving (Eq, Prelude.Show) } deriving (Eq, Prelude.Show, Read)
-- * Sapling -- * Sapling
-- | Type to represent a Sapling Shielded Output as provided by the @getrawtransaction@ RPC method of @zcashd@. -- | Type to represent a Sapling Shielded Output as provided by the @getrawtransaction@ RPC method of @zcashd@.
@ -212,7 +212,7 @@ data OrchardAction = OrchardAction
, out_ciphertext :: HexString -- ^ A ciphertext enabling the sender to recover the output note , out_ciphertext :: HexString -- ^ A ciphertext enabling the sender to recover the output note
, cv :: HexString -- ^ A value commitment to the net value of the input note minus the output note , cv :: HexString -- ^ A value commitment to the net value of the input note minus the output note
, auth :: HexString -- ^ A signature authorizing the spend in this Action , auth :: HexString -- ^ A signature authorizing the spend in this Action
} deriving stock (Eq, Prelude.Show, GHC.Generic) } deriving stock (Eq, Prelude.Show, GHC.Generic, Read)
deriving anyclass (SOP.Generic, SOP.HasDatatypeInfo) deriving anyclass (SOP.Generic, SOP.HasDatatypeInfo)
deriving anyclass (Data.Structured.Show) deriving anyclass (Data.Structured.Show)
deriving (BorshSize, ToBorsh, FromBorsh) via AsStruct OrchardAction deriving (BorshSize, ToBorsh, FromBorsh) via AsStruct OrchardAction

View file

@ -41,7 +41,7 @@ extra-deps:
- git: https://github.com/well-typed/borsh.git - git: https://github.com/well-typed/borsh.git
commit: d2fcfa159e0a844b1ec5e8ed3e232d4b380fa831 commit: d2fcfa159e0a844b1ec5e8ed3e232d4b380fa831
- git: https://git.vergara.tech/Vergara_Tech/haskell-hexstring.git - git: https://git.vergara.tech/Vergara_Tech/haskell-hexstring.git
commit: fe2df6f7d63272ac147911c1573550bed1d38a37 commit: fd1ddce73c0ad18a2a4509a299c6e93f8c6c383d
- vector-0.13.0.0@sha256:fa5cac81a17a5af388716792e8b99c24b3b66770086756d0d8b23f8272a0244c,9112 - vector-0.13.0.0@sha256:fa5cac81a17a5af388716792e8b99c24b3b66770086756d0d8b23f8272a0244c,9112
- aeson-2.1.2.1@sha256:f10f3c661bd5cf57aee46b94420e47736240b8e209ac15f4bfc1a4e4d55831fa,6344 - aeson-2.1.2.1@sha256:f10f3c661bd5cf57aee46b94420e47736240b8e209ac15f4bfc1a4e4d55831fa,6344
- generically-0.1.1 - generically-0.1.1