6.9 KiB
6.9 KiB
Changelog for zcash-haskell
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.7.5.0]
Added
- Sapling commitment node functions
- Sapling Merkle path test
Changed
- Upgraded Rust dependencies to latest versions:
zcash_primitives
0.19.0zcash_client_backend
0.14.0orchard
0.10.0sapling-crypto
0.3.0incrementalmerkletree
0.7.0zip32
0.1.2
[0.7.4.0]
Added
MerklePath
[0.7.3.0]
Added
- Function to create an Orchard hash from a note commitment
- Function to hash Orchard commitments
Changed
- Modified frontiers to use
HexString
for ommers - Optimized
createTransaction
[0.7.2.0]
Changed
- Modified Sapling commitment trees to use Frontier
[0.7.1.1]
Added
ToJSON
instance forBlockResponse
Changed
- Updated libraries:
- conduit
- data-fix
- happy
- happy-lib
- http-conduit
- iproute
- mono-traversable
- network
- secp256k1-haskell
- strict
- typed-process
[0.7.1.0]
Added
- Type
OrchardFrontier
Changed
- Modified Orchard commitment trees functions to use Frontier
[0.7.0.2]
Changed
- Modified witness update functions to skip the process if no commitments are present
[0.7.0.1]
Added
- New error type
PrivacyPolicyError
[0.7.0.0]
- Implement
wagyu-zcash-parameters
in Rust bindings
[0.6.2.3]
Fixed
- Decoding of unified addresses with no transparent receivers
[0.6.2.2]
- Added JSON instances for
ZcashNet
- Added JSON instances for
Transaction
- Added
ValidAddress
[0.6.2.1]
Changed
- Modified the parsing of raw transactions for shielded outputs
- Upgraded to GHC 9.6.5
[0.6.2.0]
Changed
- Performance enhancement for transaction creation
[0.6.1.1]
Added
- Type for transaction creation errors
- Types for Sapling circuit parameters
- Function to create transaction
- Function to derive distinct transparent spending keys
Changed
- Add
Read
instance forRseed
[0.6.1.0]
Added
- Function to create a raw transaction
- New types for transaction creation:
Rseed
TransparentTxSpend
SaplingTxSpend
OrchardTxSpend
OutgoingNote
- Rust crates:
secp256k1
jubjub
rand_core
Changed
DecodedNote
type now includes a field forrho
and one forrseed
[0.6.0.0]
Added
- Rust crates:
sapling-crypto
0.1.3
Changed
- Modified handling of
ShieldedOutput
s based on new Rust crates - Upgraded Rust crates:
orchard
to 0.7.1zcash_primitives
to 0.14.0zcash_client_backend
to 0.11.1
[0.5.5.4]
Added
- Functions to update Sapling witnesses.
- Functions to update Orchard witnesses.
[0.5.5.3]
Added
- Added function to generate an
ExchangeAddress
in Human Readable Format Using aTransparentAddress
in HRF encodeExchangeAddress
a function to create aExchangeAddress
in HRFdecodeExchangeAddress
a function to obtain aTransparentAddress
object from anExchangeAddress
in HRF- Added new type
ExchangeAddress
Fixed
- Orchard note nullifier calculation
- Sapling spend field parsing
[0.5.5.2]
Added
- Added function to encode a Sappling Address in Human Readable Format Using a SaplingReceiver
encodeSaplingAddress
a zcash sapling address is returned or Nothing if the function fails - Added decoding and encoding test
[0.5.5.1]
Added
- Added unction to decode a Sappling Address in Human Readable Format
decodeSaplingAddress
returns 43 byte array containing - Added a new Datatype
SaplingAddress
- Added a new FFI function
rust_wrapper_decode_sapling_address
to haskell-rust interface
Changed
TransparentAddress
type refactoredTransparentReceiver
added to replace oldTransparentAddress
sha256
Function moved outside ofencodeTransparentReceiver
[0.5.5.0]
Added
- Added unction to decode Transparent Address in Human Readable Format
Changed
TransparentAddress
type refactoredTransparentReceiver
added to replace oldTransparentAddress
sha256
Function moved outside ofencodeTransparentReceiver
[0.5.4.1]
Added
- Functions to handle Sapling commitment trees, incremental witnesses and note positions
[0.5.4.0]
Added
- Function to decode Orchard actions with a spending key
- Functions for Bech32 encoding
- Function to encode a Sapling address
[0.5.3.0]
Added
- Function to decode Sapling outputs with a spending key
Fixed
- Parsing of
TxIn
for FFI
[0.5.2.0]
Added
- Functionality to parse transparent bundles from Zebra
- Types for transparent
TxIn
,TxOut
,OutPoint
[0.5.1.0]
Added
- Functionality to capture Sapling Spends
Changed
- Modified the
makeZebraCall
function to handle errors explicitly - Modified the RPC response to handle missing
result
field
[0.5.0.1]
Added
- Function to encode a human-readable transparent address
- Function to generate a seed phrase
- Implementations of
Read
for types - Function to make RPC calls to
zebrad
- Function to encode unified addresses from receivers
- Function to generate an Orchard spending key
- Constants for Zcash protocol
- Types for Spending Keys and Receivers for Sapling and Orchard
- Function to generate an Orchard receiver
- Function to generate a Sapling receiver
- Function to generate a Transparent receiver
Changed
- Update installation to
cabal
- Updated Rust crates:
bech32
to 0.11orchard
to 0.7.0zcash_note_encryption
to 0.4.0zcash_primitives
to 0.13.0zcash_client_backend
to 0.10.0zip32
to 0.1.0
- Changed the
UnifiedAddress
to allow for optional shielded receivers
Removed
Makefile
[0.3.0]
Added
- Type to represent a transparent address/receiver
Changed
- Full decoding of Unified Address
[0.2.0]
Added
matchOrchardAddress
function to ensure a UA matches a UVK and corresponding testsmakeZcashCall
function moved into this libraryRpcResponse
,RpcCall
types moved into this library- Functions to decode Sapling transactions
- Tests for Sapling decoding
- Type for block response
- Type for raw transaction response
- JSON parsers for block response, transaction response,
ShieldedOutput
andOrchardAction
- Tests for JSON parsers
- Haddock annotations
Changed
- Rearranged modules for cleaner dependencies.
- Upgrade to Haskell LTS 21.6
[0.1.0] - 2023-06-14
Added
- Function
decodeHexText
- Function
decodeBech32
- Function
f4Jumble
- Function
f4UnJumble
- Function
isValidShieldedAddress
- Function
isValidSaplingViewingKey
- Function
matchSaplingAddress
- Function
isValidUnifiedAddress
- Function
decodeUfvk
- Function
decryptOrchardAction
- Type
RawData
- Type
ShieldedOutput
- Type
OrchardAction
- Type
OrchardDecodedAction
- Type
UnifiedFullViewingKey