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 b3ec3aecbd - Show all commits

View file

@ -135,21 +135,22 @@ createTransaction ::
-> IO (Either TxError HexString) -> IO (Either TxError HexString)
createTransaction sapAnchor orchAnchor tSpend sSpend oSpend outgoing znet bh build = do createTransaction sapAnchor orchAnchor tSpend sSpend oSpend outgoing znet bh build = do
txResult <- txResult <-
withBorshBufferOfInitSize 10240 $ do print "calling FFI"
rustWrapperCreateTx withBorshBufferOfInitSize 51200 $
(case sapAnchor of rustWrapperCreateTx
Nothing -> "0" (case sapAnchor of
Just sA -> toBytes $ sapTree sA) Nothing -> "0"
(case orchAnchor of Just sA -> toBytes $ sapTree sA)
Nothing -> "0" (case orchAnchor of
Just oA -> toBytes $ orchTree oA) Nothing -> "0"
tSpend Just oA -> toBytes $ orchTree oA)
sSpend tSpend
oSpend sSpend
outgoing oSpend
(znet == MainNet) outgoing
(fromIntegral bh) (znet == MainNet)
build (fromIntegral bh)
build
if BS.length (hexBytes txResult) > 1 if BS.length (hexBytes txResult) > 1
then pure $ Right txResult then pure $ Right txResult
else case head (BS.unpack $ hexBytes txResult) of else case head (BS.unpack $ hexBytes txResult) of