Compare commits
No commits in common. "e371fcdb724686bfb51157911c5d4c0fda433c53" and "815b4f16b4b3036b6ed0143c6dd667c212aa0487" have entirely different histories.
e371fcdb72
...
815b4f16b4
6 changed files with 13 additions and 253 deletions
|
@ -1,5 +1,4 @@
|
|||
packages: ./*.cabal
|
||||
|
||||
with-compiler: ghc-9.4.8
|
||||
|
||||
source-repository-package
|
||||
|
|
|
@ -1,207 +0,0 @@
|
|||
active-repositories: hackage.haskell.org:merge
|
||||
constraints: any.Cabal ==3.8.1.0,
|
||||
any.Cabal-syntax ==3.8.1.0,
|
||||
any.HUnit ==1.6.2.0,
|
||||
any.OneTuple ==0.4.1.1,
|
||||
any.QuickCheck ==2.14.3,
|
||||
QuickCheck -old-random +templatehaskell,
|
||||
any.StateVar ==1.2.2,
|
||||
any.aeson ==2.2.1.0,
|
||||
aeson +ordered-keymap,
|
||||
any.alex ==3.5.1.0,
|
||||
any.ansi-terminal ==1.1,
|
||||
ansi-terminal -example,
|
||||
any.ansi-terminal-types ==1.1,
|
||||
any.appar ==0.1.8,
|
||||
any.array ==0.5.4.0,
|
||||
any.asn1-encoding ==0.9.6,
|
||||
any.asn1-parse ==0.9.5,
|
||||
any.asn1-types ==0.3.4,
|
||||
any.assoc ==1.1,
|
||||
assoc +tagged,
|
||||
any.async ==2.2.5,
|
||||
async -bench,
|
||||
any.attoparsec ==0.14.4,
|
||||
attoparsec -developer,
|
||||
any.attoparsec-aeson ==2.2.0.1,
|
||||
any.base ==4.17.2.1,
|
||||
any.base-orphans ==0.9.1,
|
||||
any.base16 ==1.0,
|
||||
any.base16-bytestring ==1.0.2.0,
|
||||
any.base58-bytestring ==0.1.0,
|
||||
any.base64-bytestring ==1.2.1.0,
|
||||
any.basement ==0.0.16,
|
||||
any.bifunctors ==5.6.1,
|
||||
bifunctors +tagged,
|
||||
any.binary ==0.8.9.1,
|
||||
any.binary-orphans ==1.0.4.1,
|
||||
any.bitvec ==1.1.5.0,
|
||||
bitvec +simd,
|
||||
any.blaze-builder ==0.4.2.3,
|
||||
any.borsh ==0.3.0,
|
||||
any.byteorder ==1.0.4,
|
||||
any.bytes ==0.17.3,
|
||||
any.bytestring ==0.11.5.3,
|
||||
any.c2hs ==0.28.8,
|
||||
c2hs +base3 -regression,
|
||||
any.call-stack ==0.4.0,
|
||||
any.case-insensitive ==1.2.1.0,
|
||||
any.cborg ==0.2.10.0,
|
||||
cborg +optimize-gmp,
|
||||
any.cereal ==0.5.8.3,
|
||||
cereal -bytestring-builder,
|
||||
any.colour ==2.3.6,
|
||||
any.comonad ==5.0.8,
|
||||
comonad +containers +distributive +indexed-traversable,
|
||||
any.conduit ==1.3.5,
|
||||
any.conduit-extra ==1.3.6,
|
||||
any.containers ==0.6.7,
|
||||
any.contravariant ==1.5.5,
|
||||
contravariant +semigroups +statevar +tagged,
|
||||
any.cookie ==0.5.0,
|
||||
any.crypton ==0.34,
|
||||
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-x509 ==1.7.6,
|
||||
any.crypton-x509-store ==1.6.9,
|
||||
any.crypton-x509-system ==1.6.7,
|
||||
any.crypton-x509-validation ==1.6.12,
|
||||
any.cryptonite ==0.30,
|
||||
cryptonite -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq -support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
|
||||
any.data-default ==0.7.1.1,
|
||||
any.data-default-class ==0.1.2.0,
|
||||
any.data-default-instances-containers ==0.0.1,
|
||||
any.data-default-instances-dlist ==0.0.1,
|
||||
any.data-default-instances-old-locale ==0.0.1,
|
||||
any.data-fix ==0.3.2,
|
||||
any.deepseq ==1.4.8.0,
|
||||
any.directory ==1.3.7.1,
|
||||
any.distributive ==0.6.2.1,
|
||||
distributive +semigroups +tagged,
|
||||
any.dlist ==1.0,
|
||||
dlist -werror,
|
||||
any.entropy ==0.4.1.10,
|
||||
entropy -donotgetentropy,
|
||||
any.envy ==2.1.2.0,
|
||||
any.exceptions ==0.10.5,
|
||||
any.filepath ==1.4.2.2,
|
||||
any.foldable1-classes-compat ==0.1,
|
||||
foldable1-classes-compat +tagged,
|
||||
any.foreign-rust ==0.1.0,
|
||||
any.generically ==0.1.1,
|
||||
any.generics-sop ==0.5.1.4,
|
||||
any.ghc-bignum ==1.3,
|
||||
any.ghc-boot-th ==9.4.8,
|
||||
any.ghc-prim ==0.9.1,
|
||||
any.half ==0.3.1,
|
||||
any.happy ==1.20.1.1,
|
||||
any.hashable ==1.4.3.0,
|
||||
hashable +integer-gmp -random-initial-seed,
|
||||
any.haskell-lexer ==1.1.1,
|
||||
any.haskoin-core ==1.0.4,
|
||||
any.hexstring ==0.12.0,
|
||||
any.hourglass ==0.2.12,
|
||||
any.hsc2hs ==0.68.10,
|
||||
hsc2hs -in-ghc-tree,
|
||||
any.hspec ==2.11.7,
|
||||
any.hspec-core ==2.11.7,
|
||||
any.hspec-discover ==2.11.7,
|
||||
any.hspec-expectations ==0.8.4,
|
||||
any.http-client ==0.7.16,
|
||||
http-client +network-uri,
|
||||
any.http-client-tls ==0.3.6.3,
|
||||
any.http-conduit ==2.3.8.3,
|
||||
http-conduit +aeson,
|
||||
any.http-types ==0.12.4,
|
||||
any.indexed-traversable ==0.1.3,
|
||||
any.indexed-traversable-instances ==0.1.1.2,
|
||||
any.integer-conversion ==0.1.0.1,
|
||||
any.integer-gmp ==1.1,
|
||||
any.integer-logarithms ==1.0.3.1,
|
||||
integer-logarithms -check-bounds +integer-gmp,
|
||||
any.iproute ==1.7.12,
|
||||
any.language-c ==0.9.3,
|
||||
language-c -allwarnings +iecfpextension +usebytestrings,
|
||||
any.memory ==0.18.0,
|
||||
memory +support_bytestring +support_deepseq,
|
||||
any.mime-types ==0.1.2.0,
|
||||
any.mono-traversable ==1.0.17.0,
|
||||
any.mtl ==2.2.2,
|
||||
any.murmur3 ==1.0.5,
|
||||
any.network ==3.1.4.0,
|
||||
network -devel,
|
||||
any.network-uri ==2.6.4.2,
|
||||
any.old-locale ==1.0.0.7,
|
||||
any.old-time ==1.1.0.4,
|
||||
any.parsec ==3.1.16.1,
|
||||
any.pem ==0.2.4,
|
||||
any.pretty ==1.1.3.6,
|
||||
any.primitive ==0.9.0.0,
|
||||
any.process ==1.6.18.0,
|
||||
any.quickcheck-io ==0.2.0,
|
||||
any.random ==1.2.1.2,
|
||||
any.regex-base ==0.94.0.2,
|
||||
any.regex-compat ==0.95.2.1,
|
||||
any.regex-posix ==0.96.0.1,
|
||||
regex-posix -_regex-posix-clib,
|
||||
any.resourcet ==1.3.0,
|
||||
any.rts ==1.0.2,
|
||||
any.safe ==0.3.21,
|
||||
any.scientific ==0.3.7.0,
|
||||
scientific -bytestring-builder -integer-simple,
|
||||
any.secp256k1-haskell ==1.1.0,
|
||||
any.semialign ==1.3,
|
||||
semialign +semigroupoids,
|
||||
any.semigroupoids ==6.0.0.1,
|
||||
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
|
||||
any.serialise ==0.2.6.1,
|
||||
serialise +newtime15,
|
||||
any.socks ==0.6.1,
|
||||
any.sop-core ==0.5.0.2,
|
||||
any.split ==0.2.5,
|
||||
any.splitmix ==0.1.0.5,
|
||||
splitmix -optimised-mixer,
|
||||
any.stm ==2.5.1.0,
|
||||
any.streaming-commons ==0.2.2.6,
|
||||
streaming-commons -use-bytestring-builder,
|
||||
any.strict ==0.5,
|
||||
any.string-conversions ==0.4.0.1,
|
||||
any.tagged ==0.8.8,
|
||||
tagged +deepseq +transformers,
|
||||
any.template-haskell ==2.19.0.0,
|
||||
any.text ==2.0.2,
|
||||
any.text-iso8601 ==0.1,
|
||||
any.text-short ==0.1.5,
|
||||
text-short -asserts,
|
||||
any.tf-random ==0.5,
|
||||
any.th-abstraction ==0.6.0.0,
|
||||
any.th-compat ==0.1.4,
|
||||
any.these ==1.2,
|
||||
any.time ==1.12.2,
|
||||
any.time-compat ==1.9.6.1,
|
||||
time-compat -old-locale,
|
||||
any.tls ==2.0.1,
|
||||
tls -devel,
|
||||
any.transformers ==0.5.6.2,
|
||||
any.transformers-compat ==0.7.2,
|
||||
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
|
||||
any.typed-process ==0.2.11.1,
|
||||
any.unix ==2.7.3,
|
||||
any.unix-time ==0.4.12,
|
||||
any.unliftio-core ==0.2.1.0,
|
||||
any.unordered-containers ==0.2.20,
|
||||
unordered-containers -debug,
|
||||
any.utf8-string ==1.0.2,
|
||||
any.uuid-types ==1.0.5.1,
|
||||
any.vector ==0.13.1.0,
|
||||
vector +boundschecks -internalchecks -unsafechecks -wall,
|
||||
any.vector-algorithms ==0.9.0.1,
|
||||
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
|
||||
any.vector-stream ==0.1.0.1,
|
||||
any.void ==0.7.3,
|
||||
void -safe,
|
||||
any.wide-word ==0.1.6.0,
|
||||
any.witherable ==0.4.2,
|
||||
any.zlib ==0.7.0.0,
|
||||
zlib -bundled-c-zlib +non-blocking-ffi +pkg-config
|
||||
index-state: hackage.haskell.org 2024-03-06T20:26:39Z
|
|
@ -77,8 +77,8 @@ encodeUnifiedAddress ua = encodeBech32m (E.encodeUtf8 hr) b
|
|||
where
|
||||
hr =
|
||||
case ua_net ua of
|
||||
MainNet -> uniPaymentAddressHrp
|
||||
TestNet -> uniTestPaymentAddressHrp
|
||||
MainNet -> "u"
|
||||
TestNet -> "utest"
|
||||
b = f4Jumble $ tReceiver <> sReceiver <> oReceiver <> padding
|
||||
tReceiver =
|
||||
case t_rec ua of
|
||||
|
|
|
@ -26,12 +26,19 @@ import ZcashHaskell.Types
|
|||
( TransparentAddress(..)
|
||||
, TransparentType(..)
|
||||
, ZcashNet(..)
|
||||
, getTransparentPrefix
|
||||
)
|
||||
|
||||
encodeTransparent :: TransparentAddress -> T.Text
|
||||
encodeTransparent t =
|
||||
encodeTransparent' (getTransparentPrefix (ta_net t) (ta_type t)) $ ta_bytes t
|
||||
case ta_type t of
|
||||
P2SH ->
|
||||
case ta_net t of
|
||||
MainNet -> encodeTransparent' (0x1c, 0xbd) $ ta_bytes t
|
||||
_ -> encodeTransparent' (0x1c, 0xba) $ ta_bytes t
|
||||
P2PKH ->
|
||||
case ta_net t of
|
||||
MainNet -> encodeTransparent' (0x1c, 0xb8) $ ta_bytes t
|
||||
_ -> encodeTransparent' (0x1d, 0x25) $ ta_bytes t
|
||||
where
|
||||
encodeTransparent' :: (Word8, Word8) -> BS.ByteString -> T.Text
|
||||
encodeTransparent' (a, b) h =
|
||||
|
|
|
@ -64,7 +64,7 @@ data ZcashNet
|
|||
type AccountId = Int
|
||||
|
||||
-- ** Constants
|
||||
-- | Type for coin types on the different networks
|
||||
-- | Types for coin types on the different networks
|
||||
data CoinType
|
||||
= MainNetCoin
|
||||
| TestNetCoin
|
||||
|
@ -77,45 +77,6 @@ getValue c =
|
|||
TestNetCoin -> 1
|
||||
RegTestNetCoin -> 1
|
||||
|
||||
-- | Constants for Sapling Human-readable part
|
||||
sapExtSpendingKeyHrp = "secret-extended-key-main" :: String
|
||||
|
||||
sapExtFullViewingKeyHrp = "zxviews" :: String
|
||||
|
||||
sapPaymentAddressHrp = "zs" :: String
|
||||
|
||||
sapTestExtSpendingKeyHrp = "secret-extended-key-test" :: String
|
||||
|
||||
sapTestExtFullViewingKeyHrp = "zxviewtestsapling" :: String
|
||||
|
||||
sapTestPaymentAddressHrp = "ztestsapling" :: String
|
||||
|
||||
-- | Constants for Unified Human-readable part
|
||||
uniPaymentAddressHrp = "u" :: T.Text
|
||||
|
||||
uniFullViewingKeyHrp = "uview" :: T.Text
|
||||
|
||||
uniIncomingViewingKeyHrp = "uivk" :: T.Text
|
||||
|
||||
uniTestPaymentAddressHrp = "utest" :: T.Text
|
||||
|
||||
uniTestFullViewingKeyHrp = "uviewtest" :: T.Text
|
||||
|
||||
uniTestIncomingViewingKeyHrp = "uivktest" :: T.Text
|
||||
|
||||
-- | Function to get the Base58 prefix for encoding a 'TransparentAddress'
|
||||
getTransparentPrefix :: ZcashNet -> TransparentType -> (Word8, Word8)
|
||||
getTransparentPrefix n t =
|
||||
case t of
|
||||
P2SH ->
|
||||
case n of
|
||||
MainNet -> (0x1c, 0xbd)
|
||||
_ -> (0x1c, 0xba)
|
||||
P2PKH ->
|
||||
case n of
|
||||
MainNet -> (0x1c, 0xb8)
|
||||
_ -> (0x1d, 0x25)
|
||||
|
||||
-- * RPC
|
||||
-- | A type to model Zcash RPC calls
|
||||
data RpcCall = RpcCall
|
||||
|
|
|
@ -5,7 +5,7 @@ cabal-version: 3.0
|
|||
-- see: https://github.com/sol/hpack
|
||||
|
||||
name: zcash-haskell
|
||||
version: 0.4.3.1
|
||||
version: 0.4.3.0
|
||||
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>
|
||||
category: Blockchain
|
||||
|
|
Loading…
Reference in a new issue