zcash-haskell/CHANGELOG.md

324 lines
6.6 KiB
Markdown
Raw Normal View History

2023-04-13 18:35:15 -05:00
# Changelog for zcash-haskell
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [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
2024-10-18 14:39:05 -05:00
## [0.7.2.0]
### Changed
- Modified Sapling commitment trees to use Frontier
2024-10-11 08:17:02 -05:00
## [0.7.1.1]
### Added
- `ToJSON` instance for `BlockResponse`
### 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
2024-09-25 14:43:11 -05:00
## [0.7.0.2]
### Changed
2024-09-25 14:43:11 -05:00
- Modified witness update functions to skip the process if no commitments are present
## [0.7.0.1]
### Added
- New error type `PrivacyPolicyError`
2024-09-17 13:06:28 -05:00
## [0.7.0.0]
- Implement `wagyu-zcash-parameters` in Rust bindings
## [0.6.2.3]
### Fixed
- Decoding of unified addresses with no transparent receivers
2024-07-25 11:09:17 -05:00
## [0.6.2.2]
- Added JSON instances for `ZcashNet`
2024-08-20 15:50:07 -05:00
- Added JSON instances for `Transaction`
2024-08-13 07:56:25 -05:00
- Added `ValidAddress`
2024-07-25 11:09:17 -05:00
2024-07-01 16:05:33 -05:00
## [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
2024-04-30 19:14:30 -05:00
## [0.6.1.1]
### Added
- Type for transaction creation errors
- Types for Sapling circuit parameters
- Function to create transaction
2024-05-01 14:24:18 -05:00
- Function to derive distinct transparent spending keys
2024-04-30 19:14:30 -05:00
### Changed
- Add `Read` instance for `Rseed`
2024-04-30 16:54:15 -05:00
## [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 for `rho` and one for `rseed`
2024-04-29 10:27:45 -05:00
## [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.1
- `zcash_primitives` to 0.14.0
- `zcash_client_backend` to 0.11.1
2024-04-25 19:56:29 -05:00
## [0.5.5.4]
### Added
- Functions to update Sapling witnesses.
- Functions to update Orchard witnesses.
2024-04-17 20:14:03 -05:00
## [0.5.5.3]
2024-04-17 20:51:12 -04:00
### Added
2024-04-25 19:56:29 -05:00
- Added function to generate an `ExchangeAddress` in Human Readable Format Using a `TransparentAddress` in HRF
- `encodeExchangeAddress` a function to create a `ExchangeAddress` in HRF
- `decodeExchangeAddress` a function to obtain a `TransparentAddress` object from an `ExchangeAddress` in HRF
- Added new type `ExchangeAddress`
2024-04-17 20:51:12 -04:00
2024-04-17 20:14:03 -05:00
### Fixed
- Orchard note nullifier calculation
2024-04-24 11:57:00 -05:00
- Sapling spend field parsing
2024-04-17 20:14:03 -05:00
## [0.5.5.2]
### Added
2024-04-17 11:21:03 -05:00
- 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 refactored
- `TransparentReceiver` added to replace old `TransparentAddress`
- `sha256` Function moved outside of `encodeTransparentReceiver`
## [0.5.5.0]
2024-04-14 06:57:36 -05:00
### Added
- Added unction to decode Transparent Address in Human Readable Format
2024-04-14 06:57:36 -05:00
### Changed
- `TransparentAddress` type refactored
- `TransparentReceiver` added to replace old `TransparentAddress`
- `sha256` Function moved outside of `encodeTransparentReceiver`
## [0.5.4.1]
### Added
- Functions to handle Sapling commitment trees, incremental witnesses and note positions
2024-04-09 13:06:23 -05:00
## [0.5.4.0]
2024-04-10 11:29:59 -05:00
### Added
2024-04-09 13:06:23 -05:00
- Function to decode Orchard actions with a spending key
2024-04-10 11:29:59 -05:00
- Functions for Bech32 encoding
- Function to encode a Sapling address
2024-04-05 12:47:17 -05:00
## [0.5.3.0]
### Added
- Function to decode Sapling outputs with a spending key
2024-04-05 12:47:17 -05:00
### 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]
2024-02-14 08:19:34 -06:00
### 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
2024-02-09 13:28:15 -06:00
- Implementations of `Read` for types
2024-02-14 08:19:34 -06:00
- Function to make RPC calls to `zebrad`
- Function to encode unified addresses from receivers
2024-03-05 15:09:57 -06:00
- Function to generate an Orchard spending key
- Constants for Zcash protocol
2024-03-07 16:07:50 -06:00
- Types for Spending Keys and Receivers for Sapling and Orchard
- Function to generate an Orchard receiver
2024-03-10 07:47:26 -05:00
- Function to generate a Sapling receiver
2024-03-15 10:26:06 -05:00
- Function to generate a Transparent receiver
2024-02-09 13:28:15 -06:00
### Changed
2024-02-25 15:22:53 -06:00
- Update installation to `cabal`
2024-03-08 13:42:18 -06:00
- Updated Rust crates:
- `bech32` to 0.11
- `orchard` to 0.7.0
- `zcash_note_encryption` to 0.4.0
- `zcash_primitives` to 0.13.0
- `zcash_client_backend` to 0.10.0
- `zip32` to 0.1.0
- Changed the `UnifiedAddress` to allow for optional shielded receivers
2024-02-09 13:28:15 -06:00
2024-02-25 15:22:53 -06:00
### Removed
- `Makefile`
2024-01-12 09:46:26 -06:00
## [0.3.0]
### Added
- Type to represent a transparent address/receiver
### Changed
- Full decoding of Unified Address
## [0.2.0]
2023-08-17 10:02:32 -05:00
### Added
- `matchOrchardAddress` function to ensure a UA matches a UVK and corresponding tests
- `makeZcashCall` function moved into this library
- `RpcResponse`, `RpcCall` types moved into this library
2023-08-23 15:20:01 -05:00
- Functions to decode Sapling transactions
- Tests for Sapling decoding
2023-08-21 09:57:45 -05:00
- Type for block response
- Type for raw transaction response
- JSON parsers for block response, transaction response, `ShieldedOutput` and `OrchardAction`
- Tests for JSON parsers
2023-08-17 10:02:32 -05:00
- Haddock annotations
### Changed
2023-08-21 15:58:12 -05:00
- Rearranged modules for cleaner dependencies.
2023-08-17 10:02:32 -05:00
- Upgrade to Haskell LTS 21.6
2023-06-14 19:09:43 -05:00
## [0.1.0] - 2023-06-14
2023-04-13 18:35:15 -05:00
### Added
2023-06-14 19:09:43 -05:00
- Function `decodeHexText`
- Function `decodeBech32`
2023-04-13 18:35:15 -05:00
- Function `f4Jumble`
2023-04-27 09:54:01 -05:00
- Function `f4UnJumble`
- Function `isValidShieldedAddress`
2023-06-14 19:09:43 -05:00
- Function `isValidSaplingViewingKey`
- Function `matchSaplingAddress`
- Function `isValidUnifiedAddress`
- Function `decodeUfvk`
- Function `decryptOrchardAction`
- Type `RawData`
- Type `ShieldedOutput`
- Type `OrchardAction`
- Type `OrchardDecodedAction`
- Type `UnifiedFullViewingKey`