Functions to handle commitment tree nodes for Sapling and Orchard #100

Merged
pitmutt merged 50 commits from rav001 into milestone2 2024-11-15 18:48:36 +00:00
Showing only changes of commit 1694898117 - Show all commits

View file

@ -137,22 +137,22 @@ createTransaction sapAnchor orchAnchor tSpend sSpend oSpend outgoing znet bh bui
processResult $! txResult processResult $! txResult
where where
processResult :: HexString -> Either TxError HexString processResult :: HexString -> Either TxError HexString
processResult input = processResult input
if BS.length (hexBytes input) > 1 | BS.length (hexBytes input) > 1 = Right input
then Right input | otherwise =
else case head (BS.unpack $ hexBytes input) of case head (BS.unpack $ hexBytes input) of
0 -> Left InsufficientFunds 0 -> Left InsufficientFunds
1 -> Left ChangeRequired 1 -> Left ChangeRequired
2 -> Left Fee 2 -> Left Fee
3 -> Left Balance 3 -> Left Balance
4 -> Left TransparentBuild 4 -> Left TransparentBuild
5 -> Left SaplingBuild 5 -> Left SaplingBuild
6 -> Left OrchardBuild 6 -> Left OrchardBuild
7 -> Left OrchardSpend 7 -> Left OrchardSpend
8 -> Left OrchardRecipient 8 -> Left OrchardRecipient
9 -> Left SaplingBuilderNotAvailable 9 -> Left SaplingBuilderNotAvailable
10 -> Left OrchardBuilderNotAvailable 10 -> Left OrchardBuilderNotAvailable
_ -> Left ZHError _ -> Left ZHError
txResult = txResult =
withPureBorshVarBuffer $ withPureBorshVarBuffer $
rustWrapperCreateTx rustWrapperCreateTx