From f95ebc7b00dc2be16143874428aaaf96f3bdc788 Mon Sep 17 00:00:00 2001 From: Rene Vergara Date: Wed, 14 Feb 2024 08:19:34 -0600 Subject: [PATCH] Add host parameter for Zebra nodes --- CHANGELOG.md | 4 +++- package.yaml | 2 +- src/ZcashHaskell/Utils.hs | 10 +++++++--- zcash-haskell.cabal | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 95aad13..b6b0375 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,15 @@ 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/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.4.0] + +## [Unreleased] ### Added - Function to encode a human-readable transparent address - Function to generate a seed phrase - Implementations of `Read` for types +- Function to make RPC calls to `zebrad` ### Changed diff --git a/package.yaml b/package.yaml index 649fb1a..1749c60 100644 --- a/package.yaml +++ b/package.yaml @@ -1,5 +1,5 @@ name: zcash-haskell -version: 0.4.1 +version: 0.4.2 git: "https://git.vergara.tech/Vergara_Tech/zcash-haskell" license: MIT author: "Rene Vergara" diff --git a/src/ZcashHaskell/Utils.hs b/src/ZcashHaskell/Utils.hs index 32e56d0..853857c 100644 --- a/src/ZcashHaskell/Utils.hs +++ b/src/ZcashHaskell/Utils.hs @@ -26,6 +26,7 @@ import Control.Monad.IO.Class import Data.Aeson import qualified Data.ByteString as BS import qualified Data.Text as T +import qualified Data.Text.Encoding as E import Foreign.Rust.Marshall.Variable import Network.HTTP.Simple import ZcashHaskell.Types @@ -62,13 +63,16 @@ makeZcashCall username password m p = do -- | Make a Zebra RPC call makeZebraCall :: (MonadIO m, FromJSON a) - => Int -- ^ Port for `zebrad` + => T.Text -- ^ Hostname for `zebrad` + -> Int -- ^ Port for `zebrad` -> T.Text -- ^ RPC method to call -> [Data.Aeson.Value] -- ^ List of parameters -> m (Response a) -makeZebraCall port m params = do +makeZebraCall host port m params = do let payload = RpcCall "2.0" "zh" m params let myRequest = setRequestBodyJSON payload $ - setRequestPort port $ setRequestMethod "POST" defaultRequest + setRequestPort port $ + setRequestHost (E.encodeUtf8 host) $ + setRequestMethod "POST" defaultRequest httpJSON myRequest diff --git a/zcash-haskell.cabal b/zcash-haskell.cabal index 1df1725..3b60510 100644 --- a/zcash-haskell.cabal +++ b/zcash-haskell.cabal @@ -5,7 +5,7 @@ cabal-version: 1.12 -- see: https://github.com/sol/hpack name: zcash-haskell -version: 0.4.1 +version: 0.4.2 synopsis: Utilities to interact with the Zcash blockchain description: Please see the README on the repo at category: Blockchain