Merge pull request 'Performance enhancement for transaction creation' (#83) from rav001 into milestone2
Reviewed-on: #83
This commit is contained in:
commit
90c8a7c302
3 changed files with 25 additions and 16 deletions
|
@ -5,6 +5,12 @@ 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/),
|
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).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [0.6.2.0]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Performance enhancement for transaction creation
|
||||||
|
|
||||||
## [0.6.1.1]
|
## [0.6.1.1]
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
|
@ -136,22 +136,25 @@ createTransaction ::
|
||||||
-> Bool -- ^ True to build, False to estimate fee
|
-> Bool -- ^ True to build, False to estimate fee
|
||||||
-> Either TxError HexString
|
-> Either TxError HexString
|
||||||
createTransaction sapAnchor orchAnchor tSpend sSpend oSpend outgoing sParams oParams znet bh build =
|
createTransaction sapAnchor orchAnchor tSpend sSpend oSpend outgoing sParams oParams znet bh build =
|
||||||
if BS.length (hexBytes txResult) > 1
|
processResult $! txResult
|
||||||
then Right txResult
|
|
||||||
else case head (BS.unpack $ hexBytes txResult) of
|
|
||||||
0 -> Left InsufficientFunds
|
|
||||||
1 -> Left ChangeRequired
|
|
||||||
2 -> Left Fee
|
|
||||||
3 -> Left Balance
|
|
||||||
4 -> Left TransparentBuild
|
|
||||||
5 -> Left SaplingBuild
|
|
||||||
6 -> Left OrchardBuild
|
|
||||||
7 -> Left OrchardSpend
|
|
||||||
8 -> Left OrchardRecipient
|
|
||||||
9 -> Left SaplingBuilderNotAvailable
|
|
||||||
10 -> Left OrchardBuilderNotAvailable
|
|
||||||
_ -> Left ZHError
|
|
||||||
where
|
where
|
||||||
|
processResult :: HexString -> Either TxError HexString
|
||||||
|
processResult input =
|
||||||
|
if BS.length (hexBytes input) > 1
|
||||||
|
then Right input
|
||||||
|
else case head (BS.unpack $ hexBytes input) of
|
||||||
|
0 -> Left InsufficientFunds
|
||||||
|
1 -> Left ChangeRequired
|
||||||
|
2 -> Left Fee
|
||||||
|
3 -> Left Balance
|
||||||
|
4 -> Left TransparentBuild
|
||||||
|
5 -> Left SaplingBuild
|
||||||
|
6 -> Left OrchardBuild
|
||||||
|
7 -> Left OrchardSpend
|
||||||
|
8 -> Left OrchardRecipient
|
||||||
|
9 -> Left SaplingBuilderNotAvailable
|
||||||
|
10 -> Left OrchardBuilderNotAvailable
|
||||||
|
_ -> Left ZHError
|
||||||
txResult =
|
txResult =
|
||||||
withPureBorshVarBuffer $
|
withPureBorshVarBuffer $
|
||||||
rustWrapperCreateTx
|
rustWrapperCreateTx
|
||||||
|
|
|
@ -5,7 +5,7 @@ cabal-version: 3.0
|
||||||
-- see: https://github.com/sol/hpack
|
-- see: https://github.com/sol/hpack
|
||||||
|
|
||||||
name: zcash-haskell
|
name: zcash-haskell
|
||||||
version: 0.6.1.1
|
version: 0.6.2.0
|
||||||
synopsis: Utilities to interact with the Zcash blockchain
|
synopsis: Utilities to interact with the Zcash blockchain
|
||||||
description: Please see the README on the repo at <https://git.vergara.tech/Vergara_Tech/zcash-haskell#readme>
|
description: Please see the README on the repo at <https://git.vergara.tech/Vergara_Tech/zcash-haskell#readme>
|
||||||
category: Blockchain
|
category: Blockchain
|
||||||
|
|
Loading…
Reference in a new issue