Compare commits

..

4 commits

Author SHA1 Message Date
ac2262f7b1
chore: release prep 2025-02-28 16:05:54 -06:00
45ed41962f
fix: merge problems 2025-02-28 15:42:00 -06:00
9ab91a6dc8 Importing Viewing Keys and Seed Phrases (#119)
This PR adds the functionality to import a Unified Viewing Key (full or incoming) and to use it to scan the blockchain for transactions. It also adds the functionality to import a seed phrase as a new wallet.

Co-authored-by: Rene V. Vergara <rvergara59@protonmail.com>
Reviewed-on: #119
Co-authored-by: Rene Vergara <rene@vergara.network>
Co-committed-by: Rene Vergara <rene@vergara.network>
2025-02-28 20:19:19 +00:00
30757d7f28 Payment URIs and Viewing Keys (#115)
This PR contains:

- The functionality to create and read Payment URIs per [ZIP-321](https://zips.z.cash/zip-0321).
- The functionality to create Unified Full Viewing Keys and Unified Incoming Viewing Keys.
- UI enhancements to handle Payment URIs.
- UI enhancements to generate and display viewing keys
- RPC methods for generating viewing keys.
- RPC methods for shielding and deshielding funds.

Co-authored-by: Rene V. Vergara <rvergara59@protonmail.com>
Co-authored-by: Rene V. Vergara A. <rvergara59@protonmail.com>
Reviewed-on: #115
2025-01-30 15:48:57 +00:00
7 changed files with 15 additions and 8 deletions

View file

@ -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.9.1.0-beta]
### Fixed
- RPC imports
## [0.9.0.0-beta] ## [0.9.0.0-beta]
### Added ### Added

View file

@ -77,7 +77,7 @@ main = do
zebraPort zebraPort
(zgb_net chainInfo) (zgb_net chainInfo)
threadDelay 90000000 threadDelay 90000000
putStrLn "Zenith RPC Server 0.9.0.0-beta" putStrLn "Zenith RPC Server 0.9.1.0-beta"
putStrLn "------------------------------" putStrLn "------------------------------"
putStrLn $ putStrLn $
"Connected to " ++ "Connected to " ++

View file

@ -794,7 +794,7 @@ drawUI s = [splashDialog s, helpDialog s, displayDialog s, inputDialog s, ui s]
(str (str
" _____ _ _ _ \n|__ /___ _ __ (_) |_| |__\n / // _ \\ '_ \\| | __| '_ \\\n / /| __/ | | | | |_| | | |\n/____\\___|_| |_|_|\\__|_| |_|") <=> " _____ _ _ _ \n|__ /___ _ __ (_) |_| |__\n / // _ \\ '_ \\| | __| '_ \\\n / /| __/ | | | | |_| | | |\n/____\\___|_| |_|_|\\__|_| |_|") <=>
C.hCenter C.hCenter
(withAttr titleAttr (str "Zcash Wallet v0.9.0.0-beta")) <=> (withAttr titleAttr (str "Zcash Wallet v0.9.1.0-beta")) <=>
C.hCenter (withAttr blinkAttr $ str "Press any key...")) C.hCenter (withAttr blinkAttr $ str "Press any key..."))
else emptyWidget else emptyWidget
capCommand3 :: String -> String -> String -> Widget Name capCommand3 :: String -> String -> String -> Widget Name

View file

@ -2954,7 +2954,7 @@ runZenithGUI config = do
Left _e -> print "Zebra not available" Left _e -> print "Zebra not available"
where where
params hd = params hd =
[ appWindowTitle "Zenith - Zcash Full Node Wallet - 0.9.0.0-beta" [ appWindowTitle "Zenith - Zcash Full Node Wallet - 0.9.1.0-beta"
, appWindowState $ MainWindowNormal (1000, 700) , appWindowState $ MainWindowNormal (1000, 700)
, appTheme zenithTheme , appTheme zenithTheme
, appFontDef , appFontDef

View file

@ -107,6 +107,7 @@ import Zenith.Types
, AccountType(..) , AccountType(..)
, Config(..) , Config(..)
, HexStringDB(..) , HexStringDB(..)
, OrchardSpendingKeyDB(..)
, PhraseDB(..) , PhraseDB(..)
, PrivacyPolicy(..) , PrivacyPolicy(..)
, ProposedNote(..) , ProposedNote(..)
@ -610,7 +611,7 @@ zenithServer state = getinfo :<|> handleRPC
getinfo = getinfo =
return $ return $
object object
[ "version" .= ("0.9.0.0-beta" :: String) [ "version" .= ("0.9.1.0-beta" :: String)
, "network" .= ("testnet" :: String) , "network" .= ("testnet" :: String)
] ]
handleRPC :: Bool -> RpcCall -> Handler ZenithResponse handleRPC :: Bool -> RpcCall -> Handler ZenithResponse
@ -686,7 +687,7 @@ zenithServer state = getinfo :<|> handleRPC
return $ return $
InfoResponse InfoResponse
(callId req) (callId req)
(ZenithInfo "0.9.0.0-beta" (w_network state) (w_build state)) (ZenithInfo "0.9.1.0-beta" (w_network state) (w_build state))
_anyOtherParams -> _anyOtherParams ->
return $ ErrorResponse (callId req) (-32602) "Invalid params" return $ ErrorResponse (callId req) (-32602) "Invalid params"
ListReceived -> ListReceived ->

View file

@ -42,12 +42,13 @@ import ZcashHaskell.Transparent
import ZcashHaskell.Types import ZcashHaskell.Types
( ExchangeAddress(..) ( ExchangeAddress(..)
, ExchangeAddress(..) , ExchangeAddress(..)
, Phrase(..)
, SaplingAddress(..) , SaplingAddress(..)
, TransparentAddress(..) , TransparentAddress(..)
, UnifiedAddress(..) , UnifiedAddress(..)
, ValidAddress(..) , ValidAddress(..)
, ValidAddress(..)
, ZcashNet(..) , ZcashNet(..)
, Phrase(..)
) )
import ZcashHaskell.Utils (makeZebraCall) import ZcashHaskell.Utils (makeZebraCall)
import Zenith.Types import Zenith.Types
@ -383,4 +384,3 @@ scientificToInt sc = fromIntegral $ round $ toRealFloat sc
-- Convert a ByteString to Phrase -- Convert a ByteString to Phrase
toPhrase :: BS.ByteString -> Phrase toPhrase :: BS.ByteString -> Phrase
toPhrase = Phrase toPhrase = Phrase

View file

@ -1,6 +1,6 @@
cabal-version: 3.0 cabal-version: 3.0
name: zenith name: zenith
version: 0.9.0.0-beta version: 0.9.1.0-beta
license: MIT license: MIT
license-file: LICENSE license-file: LICENSE
author: Rene Vergara author: Rene Vergara