Milestone 2: Graphic User Interface #93

Merged
pitmutt merged 38 commits from milestone2 into master 2024-07-17 14:28:52 +00:00
6 changed files with 103 additions and 114 deletions
Showing only changes of commit e9e342e77f - Show all commits

View file

@ -5,7 +5,7 @@ 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).
## [Unreleased] ## [0.6.0.0-beta]
### Added ### Added
@ -25,10 +25,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Unconfirmed balance display on TUI and GUI - Unconfirmed balance display on TUI and GUI
- Tracking of unconfirmed notes - Tracking of unconfirmed notes
### Changed
- Upgraded to GHC 9.6.5
### Fixed ### Fixed
- Validation of input of amount for sending in TUI - Validation of input of amount for sending in TUI
### Removed
- Legacy interface to `zcashd`
## [0.5.3.1-beta] ## [0.5.3.1-beta]
### Added ### Added

View file

@ -11,7 +11,8 @@ import Data.Sort
import qualified Data.Text as T import qualified Data.Text as T
import qualified Data.Text.IO as TIO import qualified Data.Text.IO as TIO
import Data.Time.Clock.POSIX import Data.Time.Clock.POSIX
import System.Console.StructuredCLI
{-import System.Console.StructuredCLI-}
import System.Environment (getArgs) import System.Environment (getArgs)
import System.Exit import System.Exit
import System.IO import System.IO
@ -23,7 +24,7 @@ import Zenith.GUI (runZenithGUI)
import Zenith.Types (Config(..), ZcashAddress(..), ZcashPool(..), ZcashTx(..)) import Zenith.Types (Config(..), ZcashAddress(..), ZcashPool(..), ZcashTx(..))
import Zenith.Utils import Zenith.Utils
import Zenith.Zcashd import Zenith.Zcashd
{-
prompt :: String -> IO String prompt :: String -> IO String
prompt text = do prompt text = do
putStr text putStr text
@ -197,21 +198,22 @@ processUri user pwd =
_ -> False _ -> False
_ <- liftIO $ sendWithUri user pwd (addList !! (idx - 1)) u repTo _ <- liftIO $ sendWithUri user pwd (addList !! (idx - 1)) u repTo
return NoAction return NoAction
-}
main :: IO () main :: IO ()
main = do main = do
config <- load ["zenith.cfg"] config <- load ["zenith.cfg"]
args <- getArgs args <- getArgs
dbFilePath <- require config "dbFilePath" dbFilePath <- require config "dbFilePath"
nodeUser <- require config "nodeUser" {-nodeUser <- require config "nodeUser"-}
nodePwd <- require config "nodePwd" {-nodePwd <- require config "nodePwd"-}
zebraPort <- require config "zebraPort" zebraPort <- require config "zebraPort"
zebraHost <- require config "zebraHost" zebraHost <- require config "zebraHost"
let myConfig = Config dbFilePath zebraHost zebraPort let myConfig = Config dbFilePath zebraHost zebraPort
if not (null args) if not (null args)
then do then do
case head args of case head args
"legacy" -> do {-"legacy" -> do
checkServer nodeUser nodePwd checkServer nodeUser nodePwd
void $ void $
runCLI runCLI
@ -220,7 +222,8 @@ main = do
{ getBanner = { getBanner =
" ______ _ _ _ \n |___ / (_) | | | \n / / ___ _ __ _| |_| |__ \n / / / _ \\ '_ \\| | __| '_ \\ \n / /_| __/ | | | | |_| | | |\n /_____\\___|_| |_|_|\\__|_| |_|\n Zcash Full Node CLI v0.4.0" " ______ _ _ _ \n |___ / (_) | | | \n / / ___ _ __ _| |_| |__ \n / / / _ \\ '_ \\| | __| '_ \\ \n / /_| __/ | | | | |_| | | |\n /_____\\___|_| |_|_|\\__|_| |_|\n Zcash Full Node CLI v0.4.0"
} }
(root nodeUser nodePwd) (root nodeUser nodePwd) -}
of
"gui" -> runZenithGUI myConfig "gui" -> runZenithGUI myConfig
"tui" -> runZenithTUI myConfig "tui" -> runZenithTUI myConfig
"rescan" -> clearSync myConfig "rescan" -> clearSync myConfig
@ -231,6 +234,6 @@ printUsage :: IO ()
printUsage = do printUsage = do
putStrLn "zenith [command] [parameters]\n" putStrLn "zenith [command] [parameters]\n"
putStrLn "Available commands:" putStrLn "Available commands:"
putStrLn "legacy\tLegacy CLI for zcashd" {-putStrLn "legacy\tLegacy CLI for zcashd"-}
putStrLn "tui\tTUI for zebrad" putStrLn "tui\tTUI for zebrad"
putStrLn "rescan\tRescan the existing wallet(s)" putStrLn "rescan\tRescan the existing wallet(s)"

View file

@ -2,7 +2,7 @@ packages:
./*.cabal ./*.cabal
zcash-haskell/zcash-haskell.cabal zcash-haskell/zcash-haskell.cabal
with-compiler: ghc-9.4.8 with-compiler: ghc-9.6.5
source-repository-package source-repository-package
type: git type: git

View file

@ -1,12 +1,12 @@
active-repositories: hackage.haskell.org:merge active-repositories: hackage.haskell.org:merge
constraints: any.Cabal ==3.8.1.0, constraints: any.Cabal ==3.10.3.0,
any.Cabal-syntax ==3.8.1.0, any.Cabal-syntax ==3.10.3.0,
any.Clipboard ==2.3.2.0, any.Clipboard ==2.3.2.0,
any.HUnit ==1.6.2.0, any.HUnit ==1.6.2.0,
any.Hclip ==3.0.0.4, any.Hclip ==3.0.0.4,
any.JuicyPixels ==3.3.8, any.JuicyPixels ==3.3.9,
JuicyPixels -mmap, JuicyPixels -mmap,
any.OneTuple ==0.4.1.1, any.OneTuple ==0.4.2,
any.OpenGLRaw ==3.3.4.1, any.OpenGLRaw ==3.3.4.1,
OpenGLRaw -osandroid +usegles2 +useglxgetprocaddress +usenativewindowslibraries, OpenGLRaw -osandroid +usegles2 +useglxgetprocaddress +usenativewindowslibraries,
any.QuickCheck ==2.14.3, any.QuickCheck ==2.14.3,
@ -18,32 +18,32 @@ constraints: any.Cabal ==3.8.1.0,
any.X11 ==1.10.3, any.X11 ==1.10.3,
X11 -pedantic, X11 -pedantic,
any.adjunctions ==4.4.2, any.adjunctions ==4.4.2,
any.aeson ==2.2.1.0, any.aeson ==2.2.3.0,
aeson +ordered-keymap, aeson +ordered-keymap,
any.alex ==3.5.1.0, any.alex ==3.5.1.0,
any.ansi-terminal ==1.1, any.ansi-terminal ==1.1.1,
ansi-terminal -example, ansi-terminal -example,
any.ansi-terminal-types ==1.1, any.ansi-terminal-types ==1.1,
any.appar ==0.1.8, any.appar ==0.1.8,
any.array ==0.5.4.0, any.array ==0.5.6.0,
any.ascii-progress ==0.3.3.0, any.ascii-progress ==0.3.3.0,
ascii-progress -examples, ascii-progress -examples,
any.asn1-encoding ==0.9.6, any.asn1-encoding ==0.9.6,
any.asn1-parse ==0.9.5, any.asn1-parse ==0.9.5,
any.asn1-types ==0.3.4, any.asn1-types ==0.3.4,
any.assoc ==1.1, any.assoc ==1.1.1,
assoc +tagged, assoc -tagged,
any.async ==2.2.5, any.async ==2.2.5,
async -bench, async -bench,
any.attoparsec ==0.14.4, any.attoparsec ==0.14.4,
attoparsec -developer, attoparsec -developer,
any.attoparsec-aeson ==2.2.0.1, any.attoparsec-aeson ==2.2.2.0,
any.authenticate-oauth ==1.7, any.authenticate-oauth ==1.7,
any.auto-update ==0.1.6, any.auto-update ==0.2.1,
any.base ==4.17.2.1, any.base ==4.18.2.1,
any.base-compat ==0.13.1, any.base-compat ==0.14.0,
any.base-compat-batteries ==0.13.1, any.base-compat-batteries ==0.14.0,
any.base-orphans ==0.9.1, any.base-orphans ==0.9.2,
any.base16 ==1.0, any.base16 ==1.0,
any.base16-bytestring ==1.0.2.0, any.base16-bytestring ==1.0.2.0,
any.base58-bytestring ==0.1.0, any.base58-bytestring ==0.1.0,
@ -53,14 +53,14 @@ constraints: any.Cabal ==3.8.1.0,
bifunctors +tagged, bifunctors +tagged,
any.bimap ==0.5.0, any.bimap ==0.5.0,
any.binary ==0.8.9.1, any.binary ==0.8.9.1,
any.binary-orphans ==1.0.4.1, any.binary-orphans ==1.0.5,
any.bitvec ==1.1.5.0, any.bitvec ==1.1.5.0,
bitvec +simd, bitvec +simd,
any.blaze-builder ==0.4.2.3, any.blaze-builder ==0.4.2.3,
any.blaze-html ==0.9.2.0, any.blaze-html ==0.9.2.0,
any.blaze-markup ==0.8.3.0, any.blaze-markup ==0.8.3.0,
any.borsh ==0.3.0, any.borsh ==0.3.0,
any.brick ==2.3.1, any.brick ==2.4,
brick -demos, brick -demos,
any.byteorder ==1.0.4, any.byteorder ==1.0.4,
any.bytes ==0.17.3, any.bytes ==0.17.3,
@ -70,19 +70,20 @@ constraints: any.Cabal ==3.8.1.0,
any.bytestring-to-vector ==0.3.0.1, any.bytestring-to-vector ==0.3.0.1,
any.c2hs ==0.28.8, any.c2hs ==0.28.8,
c2hs +base3 -regression, c2hs +base3 -regression,
any.cabal-doctest ==1.0.9, any.cabal-doctest ==1.0.10,
any.call-stack ==0.4.0, any.call-stack ==0.4.0,
any.case-insensitive ==1.2.1.0, any.case-insensitive ==1.2.1.0,
any.cborg ==0.2.10.0, any.cborg ==0.2.10.0,
cborg +optimize-gmp, cborg +optimize-gmp,
any.cereal ==0.5.8.3, any.cereal ==0.5.8.3,
cereal -bytestring-builder, cereal -bytestring-builder,
any.character-ps ==0.1,
any.clock ==0.8.4, any.clock ==0.8.4,
clock -llvm, clock -llvm,
any.colour ==2.3.6, any.colour ==2.3.6,
any.comonad ==5.0.8, any.comonad ==5.0.8,
comonad +containers +distributive +indexed-traversable, comonad +containers +distributive +indexed-traversable,
any.concurrent-output ==1.10.20, any.concurrent-output ==1.10.21,
any.conduit ==1.3.5, any.conduit ==1.3.5,
any.conduit-extra ==1.3.6, any.conduit-extra ==1.3.6,
any.config-ini ==0.2.7.0, any.config-ini ==0.2.7.0,
@ -92,14 +93,14 @@ constraints: any.Cabal ==3.8.1.0,
any.containers ==0.6.7, any.containers ==0.6.7,
any.contravariant ==1.5.5, any.contravariant ==1.5.5,
contravariant +semigroups +statevar +tagged, contravariant +semigroups +statevar +tagged,
any.cookie ==0.4.6, any.cookie ==0.5.0,
any.crypto-api ==0.13.3, any.crypto-api ==0.13.3,
crypto-api -all_cpolys, crypto-api -all_cpolys,
any.crypto-pubkey-types ==0.4.3, any.crypto-pubkey-types ==0.4.3,
any.crypton ==0.34, any.crypton ==1.0.0,
crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes, crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
any.crypton-connection ==0.3.2, any.crypton-connection ==0.4.1,
any.crypton-x509 ==1.7.6, any.crypton-x509 ==1.7.7,
any.crypton-x509-store ==1.6.9, any.crypton-x509-store ==1.6.9,
any.crypton-x509-system ==1.6.7, any.crypton-x509-system ==1.6.7,
any.crypton-x509-validation ==1.6.12, any.crypton-x509-validation ==1.6.12,
@ -111,9 +112,9 @@ constraints: any.Cabal ==3.8.1.0,
any.data-default-instances-containers ==0.0.1, any.data-default-instances-containers ==0.0.1,
any.data-default-instances-dlist ==0.0.1, any.data-default-instances-dlist ==0.0.1,
any.data-default-instances-old-locale ==0.0.1, any.data-default-instances-old-locale ==0.0.1,
any.data-fix ==0.3.2, any.data-fix ==0.3.4,
any.deepseq ==1.4.8.0, any.deepseq ==1.4.8.1,
any.directory ==1.3.7.1, any.directory ==1.3.8.4,
any.distributive ==0.6.2.1, any.distributive ==0.6.2.1,
distributive +semigroups +tagged, distributive +semigroups +tagged,
any.dlist ==1.0, any.dlist ==1.0,
@ -125,13 +126,11 @@ constraints: any.Cabal ==3.8.1.0,
entropy -donotgetentropy, entropy -donotgetentropy,
any.envy ==2.1.3.0, any.envy ==2.1.3.0,
any.esqueleto ==3.5.11.2, any.esqueleto ==3.5.11.2,
any.exceptions ==0.10.5, any.exceptions ==0.10.7,
any.extra ==1.7.14, any.extra ==1.7.16,
any.fast-logger ==3.2.2, any.fast-logger ==3.2.3,
any.filepath ==1.4.2.2, any.filepath ==1.4.300.1,
any.fixed ==0.3, any.fixed ==0.3,
any.foldable1-classes-compat ==0.1,
foldable1-classes-compat +tagged,
any.foreign-rust ==0.1.0, any.foreign-rust ==0.1.0,
any.foreign-store ==0.2.1, any.foreign-store ==0.2.1,
any.formatting ==7.2.0, any.formatting ==7.2.0,
@ -141,30 +140,29 @@ constraints: any.Cabal ==3.8.1.0,
generic-deriving +base-4-9, generic-deriving +base-4-9,
any.generically ==0.1.1, any.generically ==0.1.1,
any.generics-sop ==0.5.1.4, any.generics-sop ==0.5.1.4,
any.ghc ==9.4.8, any.ghc ==9.6.5,
any.ghc-bignum ==1.3, any.ghc-bignum ==1.3,
any.ghc-boot ==9.4.8, any.ghc-boot ==9.6.5,
any.ghc-boot-th ==9.4.8, any.ghc-boot-th ==9.6.5,
any.ghc-heap ==9.4.8, any.ghc-heap ==9.6.5,
any.ghc-prim ==0.9.1, any.ghc-prim ==0.10.0,
any.ghci ==9.4.8, any.ghci ==9.6.5,
any.half ==0.3.1, any.half ==0.3.1,
any.happy ==1.20.1.1, any.happy ==1.20.1.1,
any.hashable ==1.4.4.0, any.hashable ==1.4.7.0,
hashable +integer-gmp -random-initial-seed, hashable -arch-native +integer-gmp -random-initial-seed,
any.haskeline ==0.8.2,
any.haskell-lexer ==1.1.1, any.haskell-lexer ==1.1.1,
any.haskoin-core ==1.1.0, any.haskoin-core ==1.1.0,
any.hexstring ==0.12.1.0, any.hexstring ==0.12.1.0,
any.hourglass ==0.2.12, any.hourglass ==0.2.12,
any.hpc ==0.6.1.0, any.hpc ==0.6.2.0,
any.hsc2hs ==0.68.10, any.hsc2hs ==0.68.10,
hsc2hs -in-ghc-tree, hsc2hs -in-ghc-tree,
any.hspec ==2.11.7, any.hspec ==2.11.9,
any.hspec-core ==2.11.7, any.hspec-core ==2.11.9,
any.hspec-discover ==2.11.7, any.hspec-discover ==2.11.9,
any.hspec-expectations ==0.8.4, any.hspec-expectations ==0.8.4,
any.http-api-data ==0.6, any.http-api-data ==0.6.1,
http-api-data -use-text-show, http-api-data -use-text-show,
any.http-client ==0.7.17, any.http-client ==0.7.17,
http-client +network-uri, http-client +network-uri,
@ -172,18 +170,18 @@ constraints: any.Cabal ==3.8.1.0,
any.http-conduit ==2.3.8.3, any.http-conduit ==2.3.8.3,
http-conduit +aeson, http-conduit +aeson,
any.http-types ==0.12.4, any.http-types ==0.12.4,
any.indexed-traversable ==0.1.3, any.indexed-traversable ==0.1.4,
any.indexed-traversable-instances ==0.1.1.2, any.indexed-traversable-instances ==0.1.2,
any.integer-conversion ==0.1.0.1, any.integer-conversion ==0.1.1,
any.integer-gmp ==1.1, any.integer-gmp ==1.1,
any.integer-logarithms ==1.0.3.1, any.integer-logarithms ==1.0.3.1,
integer-logarithms -check-bounds +integer-gmp, integer-logarithms -check-bounds +integer-gmp,
any.invariant ==0.6.3, any.invariant ==0.6.3,
any.iproute ==1.7.12, any.iproute ==1.7.12,
any.kan-extensions ==5.2.5, any.kan-extensions ==5.2.6,
any.language-c ==0.9.3, any.language-c ==0.9.3,
language-c -allwarnings +iecfpextension +usebytestrings, language-c -allwarnings +iecfpextension +usebytestrings,
any.lens ==5.2.3, any.lens ==5.3.2,
lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy,
any.lens-aeson ==1.2.3, any.lens-aeson ==1.2.3,
any.lift-type ==0.1.1.1, any.lift-type ==0.1.1.1,
@ -196,7 +194,7 @@ constraints: any.Cabal ==3.8.1.0,
memory +support_bytestring +support_deepseq, memory +support_bytestring +support_deepseq,
any.microlens ==0.4.13.1, any.microlens ==0.4.13.1,
any.microlens-mtl ==0.2.0.3, any.microlens-mtl ==0.2.0.3,
any.microlens-th ==0.4.3.14, any.microlens-th ==0.4.3.15,
any.mime-types ==0.1.2.0, any.mime-types ==0.1.2.0,
any.monad-control ==1.0.3.1, any.monad-control ==1.0.3.1,
any.monad-logger ==0.3.40, any.monad-logger ==0.3.40,
@ -206,16 +204,16 @@ constraints: any.Cabal ==3.8.1.0,
any.mono-traversable ==1.0.17.0, any.mono-traversable ==1.0.17.0,
any.monomer ==1.6.0.1, any.monomer ==1.6.0.1,
monomer -examples, monomer -examples,
any.mtl ==2.2.2, any.mtl ==2.3.1,
any.murmur3 ==1.0.5, any.murmur3 ==1.0.5,
any.nanovg ==0.8.1.0, any.nanovg ==0.8.1.0,
nanovg -examples -gl2 -gles3 -stb_truetype, nanovg -examples -gl2 -gles3 -stb_truetype,
any.network ==3.1.4.0, any.network ==3.2.1.0,
network -devel, network -devel,
any.network-uri ==2.6.4.2, any.network-uri ==2.6.4.2,
any.old-locale ==1.0.0.7, any.old-locale ==1.0.0.7,
any.old-time ==1.1.0.4, any.old-time ==1.1.0.4,
any.os-string ==2.0.2, any.os-string ==2.0.6,
any.parallel ==3.2.2.0, any.parallel ==3.2.2.0,
any.parsec ==3.1.16.1, any.parsec ==3.1.16.1,
any.parser-combinators ==1.3.0, any.parser-combinators ==1.3.0,
@ -228,7 +226,7 @@ constraints: any.Cabal ==3.8.1.0,
any.persistent-template ==2.12.0.0, any.persistent-template ==2.12.0.0,
any.pretty ==1.1.3.6, any.pretty ==1.1.3.6,
any.primitive ==0.9.0.0, any.primitive ==0.9.0.0,
any.process ==1.6.18.0, any.process ==1.6.19.0,
any.profunctors ==5.6.2, any.profunctors ==5.6.2,
any.psqueues ==0.2.8.0, any.psqueues ==0.2.8.0,
any.pureMD5 ==2.1.4, any.pureMD5 ==2.1.4,
@ -238,7 +236,7 @@ constraints: any.Cabal ==3.8.1.0,
any.quickcheck-io ==0.2.0, any.quickcheck-io ==0.2.0,
any.quickcheck-transformer ==0.3.1.2, any.quickcheck-transformer ==0.3.1.2,
any.random ==1.2.1.2, any.random ==1.2.1.2,
any.reflection ==2.1.7, any.reflection ==2.1.8,
reflection -slow +template-haskell, reflection -slow +template-haskell,
any.regex-base ==0.94.0.2, any.regex-base ==0.94.0.2,
any.regex-compat ==0.95.2.1, any.regex-compat ==0.95.2.1,
@ -249,14 +247,14 @@ constraints: any.Cabal ==3.8.1.0,
any.rts ==1.0.2, any.rts ==1.0.2,
any.safe ==0.3.21, any.safe ==0.3.21,
any.safe-exceptions ==0.1.7.4, any.safe-exceptions ==0.1.7.4,
any.scientific ==0.3.7.0, any.scientific ==0.3.8.0,
scientific -bytestring-builder -integer-simple, scientific -integer-simple,
any.sdl2 ==2.5.5.0, any.sdl2 ==2.5.5.0,
sdl2 -examples -no-linear -opengl-example +pkgconfig +recent-ish, sdl2 -examples -no-linear -opengl-example +pkgconfig +recent-ish,
any.secp256k1-haskell ==1.2.0, any.secp256k1-haskell ==1.2.0,
any.semialign ==1.3, any.semialign ==1.3.1,
semialign +semigroupoids, semialign +semigroupoids,
any.semigroupoids ==6.0.0.1, any.semigroupoids ==6.0.1,
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers, semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
any.semigroups ==0.20, any.semigroups ==0.20,
semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers, semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers,
@ -273,57 +271,53 @@ constraints: any.Cabal ==3.8.1.0,
any.stm-chans ==3.0.0.9, any.stm-chans ==3.0.0.9,
any.streaming-commons ==0.2.2.6, any.streaming-commons ==0.2.2.6,
streaming-commons -use-bytestring-builder, streaming-commons -use-bytestring-builder,
any.strict ==0.5, any.strict ==0.5.1,
any.string-conversions ==0.4.0.1, any.string-conversions ==0.4.0.1,
any.structured-cli ==2.7.0.1,
structured-cli -debug,
any.system-cxx-std-lib ==1.0, any.system-cxx-std-lib ==1.0,
any.tagged ==0.8.8, any.tagged ==0.8.8,
tagged +deepseq +transformers, tagged +deepseq +transformers,
any.template-haskell ==2.19.0.0, any.template-haskell ==2.20.0.0,
any.terminal-size ==0.3.4, any.terminal-size ==0.3.4,
any.terminfo ==0.4.1.5, any.terminfo ==0.4.1.6,
any.text ==2.0.2, any.text ==2.0.2,
any.text-iso8601 ==0.1, any.text-iso8601 ==0.1.1,
any.text-short ==0.1.5, any.text-short ==0.1.6,
text-short -asserts, text-short -asserts,
any.text-show ==3.10.4, any.text-show ==3.10.5,
text-show +base-4-9 +integer-gmp +new-functor-classes +template-haskell-2-11, text-show +base-4-9 +integer-gmp +new-functor-classes +template-haskell-2-11,
any.text-zipper ==0.13, any.text-zipper ==0.13,
any.tf-random ==0.5, any.tf-random ==0.5,
any.th-abstraction ==0.6.0.0, any.th-abstraction ==0.7.0.0,
any.th-compat ==0.1.5, any.th-compat ==0.1.5,
any.th-lift ==0.8.4, any.th-lift ==0.8.4,
any.th-lift-instances ==0.1.20, any.th-lift-instances ==0.1.20,
any.these ==1.2, any.these ==1.2.1,
any.time ==1.12.2, any.time ==1.12.2,
any.time-compat ==1.9.6.1, any.time-compat ==1.9.7,
time-compat -old-locale,
any.time-locale-compat ==0.1.1.5, any.time-locale-compat ==0.1.1.5,
time-locale-compat -old-locale, time-locale-compat -old-locale,
any.tls ==2.0.2, any.tls ==2.1.0,
tls -devel, tls -devel,
any.transformers ==0.5.6.2, any.transformers ==0.6.1.0,
any.transformers-base ==0.4.6, any.transformers-base ==0.4.6,
transformers-base +orphaninstances, transformers-base +orphaninstances,
any.transformers-compat ==0.7.2, any.transformers-compat ==0.7.2,
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
any.typed-process ==0.2.11.1, any.typed-process ==0.2.11.1,
any.unix ==2.7.3, any.unix ==2.8.4.0,
any.unix-compat ==0.7.1, any.unix-compat ==0.7.2,
unix-compat -old-time, any.unix-time ==0.4.15,
any.unix-time ==0.4.12,
any.unliftio ==0.2.25.0, any.unliftio ==0.2.25.0,
any.unliftio-core ==0.2.1.0, any.unliftio-core ==0.2.1.0,
any.unordered-containers ==0.2.20, any.unordered-containers ==0.2.20,
unordered-containers -debug, unordered-containers -debug,
any.utf8-string ==1.0.2, any.utf8-string ==1.0.2,
any.uuid-types ==1.0.5.1, any.uuid-types ==1.0.6,
any.vault ==0.3.1.5, any.vault ==0.3.1.5,
vault +useghc, vault +useghc,
any.vector ==0.13.1.0, any.vector ==0.13.1.0,
vector +boundschecks -internalchecks -unsafechecks -wall, vector +boundschecks -internalchecks -unsafechecks -wall,
any.vector-algorithms ==0.9.0.1, any.vector-algorithms ==0.9.0.2,
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
any.vector-stream ==0.1.0.1, any.vector-stream ==0.1.0.1,
any.void ==0.7.3, any.void ==0.7.3,
@ -333,10 +327,10 @@ constraints: any.Cabal ==3.8.1.0,
vty-crossplatform -demos, vty-crossplatform -demos,
any.vty-unix ==0.2.0.0, any.vty-unix ==0.2.0.0,
any.wide-word ==0.1.6.0, any.wide-word ==0.1.6.0,
any.witherable ==0.4.2, any.witherable ==0.5,
any.word-wrap ==0.5, any.word-wrap ==0.5,
any.wreq ==0.5.4.3, any.wreq ==0.5.4.3,
wreq -aws -developer +doctest -httpbin, wreq -aws -developer +doctest -httpbin,
any.zlib ==0.6.3.0, any.zlib ==0.7.1.0,
zlib -bundled-c-zlib +non-blocking-ffi +pkg-config zlib -bundled-c-zlib +non-blocking-ffi +pkg-config
index-state: hackage.haskell.org 2024-04-07T10:14:52Z index-state: hackage.haskell.org 2024-07-10T18:40:26Z

View file

@ -450,7 +450,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.5.3.1-beta")) <=> (withAttr titleAttr (str "Zcash Wallet v0.6.0.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
@ -631,19 +631,6 @@ mkNewABForm =
label s w = label s w =
padBottom (Pad 1) $ vLimit 1 (hLimit 10 $ str s <+> fill ' ') <+> w padBottom (Pad 1) $ vLimit 1 (hLimit 10 $ str s <+> fill ' ') <+> w
isRecipientValid :: T.Text -> Bool
isRecipientValid a =
case isValidUnifiedAddress (E.encodeUtf8 a) of
Just _a1 -> True
Nothing ->
isValidShieldedAddress (E.encodeUtf8 a) ||
(case decodeTransparentAddress (E.encodeUtf8 a) of
Just _a3 -> True
Nothing ->
case decodeExchangeAddress a of
Just _a4 -> True
Nothing -> False)
listDrawElement :: (Show a) => Bool -> a -> Widget Name listDrawElement :: (Show a) => Bool -> a -> Widget Name
listDrawElement sel a = listDrawElement sel a =
let selStr s = let selStr s =
@ -735,9 +722,6 @@ abSelAttr = A.attrName "abselected"
abMBarAttr :: A.AttrName abMBarAttr :: A.AttrName
abMBarAttr = A.attrName "menubar" abMBarAttr = A.attrName "menubar"
validBarValue :: Float -> Float
validBarValue = clamp 0 1
scanZebra :: T.Text -> T.Text -> Int -> Int -> BC.BChan Tick -> IO () scanZebra :: T.Text -> T.Text -> Int -> Int -> BC.BChan Tick -> IO ()
scanZebra dbP zHost zPort b eChan = do scanZebra dbP zHost zPort b eChan = do
_ <- liftIO $ initDb dbP _ <- liftIO $ initDb dbP

View file

@ -1,6 +1,6 @@
cabal-version: 3.0 cabal-version: 3.0
name: zenith name: zenith
version: 0.5.3.1-beta version: 0.6.0.0-beta
license: MIT license: MIT
license-file: LICENSE license-file: LICENSE
author: Rene Vergara author: Rene Vergara
@ -53,7 +53,7 @@ library
, exceptions , exceptions
, monad-logger , monad-logger
, vty-crossplatform , vty-crossplatform
, secp256k1-haskell , secp256k1-haskell >= 1
, pureMD5 , pureMD5
, ghc , ghc
, haskoin-core , haskoin-core
@ -100,7 +100,7 @@ executable zenith
, configurator , configurator
, data-default , data-default
, sort , sort
, structured-cli --, structured-cli
, text , text
, time , time
, zenith , zenith