packages feed

haskoin-store-data 0.47.0 → 0.47.1

raw patch · 5 files changed

+66/−35 lines, 5 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetAddrsBalance [Haskoin.Store.Data.Balance]
- Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetAddrsTxs [Haskoin.Store.Data.TxRef]
- Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetAddrsTxsFull [Haskoin.Store.Data.Transaction]
- Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetAddrsUnspent [Haskoin.Store.Data.Unspent]
- Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetBlockHeights [Haskoin.Store.Data.BlockData]
- Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetBlocks [Haskoin.Store.Data.BlockData]
- Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetTxs [Haskoin.Store.Data.Transaction]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrTxs [Haskoin.Store.Data.TxRef]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrTxsFull [Haskoin.Store.Data.Transaction]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrUnspent [Haskoin.Store.Data.Unspent]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrsBalance [Haskoin.Store.Data.Balance]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrsTxs [Haskoin.Store.Data.TxRef]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrsTxsFull [Haskoin.Store.Data.Transaction]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrsUnspent [Haskoin.Store.Data.Unspent]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetBlockHeight [Haskoin.Store.Data.BlockData]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetBlockHeights [Haskoin.Store.Data.BlockData]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetBlockLatest [Haskoin.Store.Data.BlockData]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetBlocks [Haskoin.Store.Data.BlockData]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetEvents [Haskoin.Store.Data.Event]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetMempool [Haskoin.Transaction.Common.TxHash]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetPeers [Haskoin.Store.Data.PeerInformation]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetTxs [Haskoin.Store.Data.Transaction]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetTxsBlock [Haskoin.Store.Data.Transaction]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetXPubBalances [Haskoin.Store.Data.XPubBal]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetXPubTxs [Haskoin.Store.Data.TxRef]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetXPubTxsFull [Haskoin.Store.Data.Transaction]
- Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetXPubUnspent [Haskoin.Store.Data.XPubUnspent]
+ Haskoin.Store.Data: SerialList :: [a] -> SerialList a
+ Haskoin.Store.Data: [getSerialList] :: SerialList a -> [a]
+ Haskoin.Store.Data: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Haskoin.Store.Data.SerialList a)
+ Haskoin.Store.Data: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Haskoin.Store.Data.SerialList a)
+ Haskoin.Store.Data: instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Haskoin.Store.Data.SerialList a)
+ Haskoin.Store.Data: instance Data.Bytes.Serial.Serial a => Data.Bytes.Serial.Serial (Haskoin.Store.Data.SerialList a)
+ Haskoin.Store.Data: instance GHC.Base.Monoid (Haskoin.Store.Data.SerialList a)
+ Haskoin.Store.Data: instance GHC.Base.Semigroup (Haskoin.Store.Data.SerialList a)
+ Haskoin.Store.Data: instance GHC.Classes.Eq a => GHC.Classes.Eq (Haskoin.Store.Data.SerialList a)
+ Haskoin.Store.Data: instance GHC.Generics.Generic (Haskoin.Store.Data.SerialList a)
+ Haskoin.Store.Data: instance GHC.Show.Show a => GHC.Show.Show (Haskoin.Store.Data.SerialList a)
+ Haskoin.Store.Data: newtype SerialList a
+ Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetAddrsBalance (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Balance)
+ Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetAddrsTxs (Haskoin.Store.Data.SerialList Haskoin.Store.Data.TxRef)
+ Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetAddrsTxsFull (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Transaction)
+ Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetAddrsUnspent (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Unspent)
+ Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetBlockHeights (Haskoin.Store.Data.SerialList Haskoin.Store.Data.BlockData)
+ Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetBlocks (Haskoin.Store.Data.SerialList Haskoin.Store.Data.BlockData)
+ Haskoin.Store.WebClient: instance Haskoin.Store.WebClient.Batchable Haskoin.Store.WebCommon.GetTxs (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Transaction)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrTxs (Haskoin.Store.Data.SerialList Haskoin.Store.Data.TxRef)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrTxsFull (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Transaction)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrUnspent (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Unspent)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrsBalance (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Balance)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrsTxs (Haskoin.Store.Data.SerialList Haskoin.Store.Data.TxRef)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrsTxsFull (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Transaction)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetAddrsUnspent (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Unspent)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetBlockHeight (Haskoin.Store.Data.SerialList Haskoin.Store.Data.BlockData)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetBlockHeights (Haskoin.Store.Data.SerialList Haskoin.Store.Data.BlockData)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetBlockLatest (Haskoin.Store.Data.SerialList Haskoin.Store.Data.BlockData)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetBlocks (Haskoin.Store.Data.SerialList Haskoin.Store.Data.BlockData)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetEvents (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Event)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetMempool (Haskoin.Store.Data.SerialList Haskoin.Transaction.Common.TxHash)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetPeers (Haskoin.Store.Data.SerialList Haskoin.Store.Data.PeerInformation)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetTxs (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Transaction)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetTxsBlock (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Transaction)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetXPubBalances (Haskoin.Store.Data.SerialList Haskoin.Store.Data.XPubBal)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetXPubTxs (Haskoin.Store.Data.SerialList Haskoin.Store.Data.TxRef)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetXPubTxsFull (Haskoin.Store.Data.SerialList Haskoin.Store.Data.Transaction)
+ Haskoin.Store.WebCommon: instance Haskoin.Store.WebCommon.ApiResource Haskoin.Store.WebCommon.GetXPubUnspent (Haskoin.Store.Data.SerialList Haskoin.Store.Data.XPubUnspent)

Files

CHANGELOG.md view
@@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) +## 0.47.1+### Fixed+- Fix serialization bugs for web data types.+ ## 0.47.0 ### Added - Support for legacy block endpoints.
haskoin-store-data.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 6f2e5dde9b64bcd3bb34b392fed519697f053ce2ad24890820c4c016339837f1+-- hash: eee57844ddf308325bf17f93eb3f4c839c3b3f45c37030619e4d592e98ed5349  name:           haskoin-store-data-version:        0.47.0+version:        0.47.1 synopsis:       Data for Haskoin Store description:    Please see the README on GitHub at <https://github.com/haskoin/haskoin-store#readme> category:       Bitcoin, Finance, Network
src/Haskoin/Store/Data.hs view
@@ -70,6 +70,7 @@       -- * Other Data     , TxId(..)     , GenericResult(..)+    , SerialList(..)     , RawResult(..)     , RawResultList(..)     , PeerInformation(..)@@ -1989,6 +1990,26 @@             let m = eitherToMaybe . Bytes.Get.runGetS deserialize =<<                     decodeHex res             maybe mzero (return . RawResult) m++newtype SerialList a = SerialList{ getSerialList :: [a] }+    deriving (Show, Eq, Generic, NFData)++instance Semigroup (SerialList a) where+    SerialList a <> SerialList b = SerialList (a <> b)++instance Monoid (SerialList a) where+    mempty = SerialList mempty++instance Serial a => Serial (SerialList a) where+    serialize (SerialList ls) = putList serialize ls+    deserialize = SerialList <$> getList deserialize++instance ToJSON a => ToJSON (SerialList a) where+    toJSON (SerialList ls) = toJSON ls+    toEncoding (SerialList ls) = toEncoding ls++instance FromJSON a => FromJSON (SerialList a) where+    parseJSON = fmap SerialList . parseJSON  newtype RawResultList a =     RawResultList
src/Haskoin/Store/WebClient.hs view
@@ -150,30 +150,36 @@ class (ApiResource a b, Monoid b) => Batchable a b where     resourceBatch :: Natural -> a -> [a] -instance Batchable GetBlocks [Store.BlockData] where-    resourceBatch i (GetBlocks hs t) = (`GetBlocks` t) <$> chunksOf i hs+instance Batchable GetBlocks (Store.SerialList Store.BlockData) where+    resourceBatch i (GetBlocks hs t) =+        (`GetBlocks` t) <$> chunksOf i hs -instance Batchable GetBlockHeights [Store.BlockData] where+instance Batchable GetBlockHeights (Store.SerialList Store.BlockData) where     resourceBatch i (GetBlockHeights (HeightsParam hs) n) =-        (`GetBlockHeights` n) <$> (HeightsParam <$> chunksOf i hs)+        (`GetBlockHeights` n) <$>+        (HeightsParam <$> chunksOf i hs) -instance Batchable GetTxs [Store.Transaction] where-    resourceBatch i (GetTxs ts) = GetTxs <$> chunksOf i ts+instance Batchable GetTxs (Store.SerialList Store.Transaction) where+    resourceBatch i (GetTxs ts) =+        GetTxs <$> chunksOf i ts  instance Batchable GetTxsRaw (Store.RawResultList Tx) where-    resourceBatch i (GetTxsRaw ts) = GetTxsRaw <$> chunksOf i ts+    resourceBatch i (GetTxsRaw ts) =+        GetTxsRaw <$> chunksOf i ts -instance Batchable GetAddrsTxs [Store.TxRef] where-    resourceBatch i (GetAddrsTxs as l) = (`GetAddrsTxs` l) <$> chunksOf i as+instance Batchable GetAddrsTxs (Store.SerialList Store.TxRef) where+    resourceBatch i (GetAddrsTxs as l) =+        (`GetAddrsTxs` l) <$> chunksOf i as -instance Batchable GetAddrsTxsFull [Store.Transaction] where+instance Batchable GetAddrsTxsFull (Store.SerialList Store.Transaction) where     resourceBatch i (GetAddrsTxsFull as l) =         (`GetAddrsTxsFull` l) <$> chunksOf i as -instance Batchable GetAddrsBalance [Store.Balance] where-    resourceBatch i (GetAddrsBalance as) = GetAddrsBalance <$> chunksOf i as+instance Batchable GetAddrsBalance (Store.SerialList Store.Balance) where+    resourceBatch i (GetAddrsBalance as) =+        GetAddrsBalance <$> chunksOf i as -instance Batchable GetAddrsUnspent [Store.Unspent] where+instance Batchable GetAddrsUnspent (Store.SerialList Store.Unspent) where     resourceBatch i (GetAddrsUnspent as l) =         (`GetAddrsUnspent` l) <$> chunksOf i as 
src/Haskoin/Store/WebCommon.hs view
@@ -112,7 +112,7 @@     queryParams (GetBlock h t) = ([ParamBox h], noDefBox t)     captureParams _ = [ProxyBox (Proxy :: Proxy BlockHash)] -instance ApiResource GetBlocks [Store.BlockData] where+instance ApiResource GetBlocks (Store.SerialList Store.BlockData) where     resourcePath _ _ = "/blocks"     queryParams (GetBlocks hs t) = ([], [ParamBox hs] <> noDefBox t) @@ -128,16 +128,16 @@ instance ApiResource GetBlockBestRaw (Store.RawResult Block) where     resourcePath _ _ = "/block/best/raw" -instance ApiResource GetBlockLatest [Store.BlockData] where+instance ApiResource GetBlockLatest (Store.SerialList Store.BlockData) where     resourcePath _ _ = "/block/latest"     queryParams (GetBlockLatest t) = ([], noDefBox t) -instance ApiResource GetBlockHeight [Store.BlockData] where+instance ApiResource GetBlockHeight (Store.SerialList Store.BlockData) where     resourcePath _ = ("/block/height/" <:>)     queryParams (GetBlockHeight h t) = ([ParamBox h], noDefBox t)     captureParams _ = [ProxyBox (Proxy :: Proxy HeightParam)] -instance ApiResource GetBlockHeights [Store.BlockData] where+instance ApiResource GetBlockHeights (Store.SerialList Store.BlockData) where     resourcePath _ _ = "/block/heights"     queryParams (GetBlockHeights hs t) = ([], [ParamBox hs] <> noDefBox t) @@ -175,7 +175,7 @@     queryParams (GetTx h) = ([ParamBox h], [])     captureParams _ = [ProxyBox (Proxy :: Proxy TxHash)] -instance ApiResource GetTxs [Store.Transaction] where+instance ApiResource GetTxs (Store.SerialList Store.Transaction) where     resourcePath _ _ = "/transactions"     queryParams (GetTxs hs) = ([], [ParamBox hs]) @@ -188,7 +188,7 @@     resourcePath _ _ = "/transactions/raw"     queryParams (GetTxsRaw hs) = ([], [ParamBox hs]) -instance ApiResource GetTxsBlock [Store.Transaction] where+instance ApiResource GetTxsBlock (Store.SerialList Store.Transaction) where     resourcePath _ = ("/transactions/block/" <:>)     queryParams (GetTxsBlock h) = ([ParamBox h], [])     captureParams _ = [ProxyBox (Proxy :: Proxy BlockHash)]@@ -211,35 +211,35 @@     resourcePath _ _ = "/transactions"     resourceBody (PostTx tx) = Just $ PostBox tx -instance ApiResource GetMempool [TxHash] where+instance ApiResource GetMempool (Store.SerialList TxHash) where     resourcePath _ _ = "/mempool"     queryParams (GetMempool l o) = ([], noMaybeBox l <> noDefBox o) -instance ApiResource GetEvents [Store.Event] where+instance ApiResource GetEvents (Store.SerialList Store.Event) where     resourcePath _ _ = "/events"  ------------- -- Address -- ------------- -instance ApiResource GetAddrTxs [Store.TxRef] where+instance ApiResource GetAddrTxs (Store.SerialList Store.TxRef) where     resourcePath _ = "/address/" <+> "/transactions"     queryParams (GetAddrTxs a (LimitsParam l o sM)) =         ([ParamBox a], noMaybeBox l <> noDefBox o <> noMaybeBox sM)     captureParams _ = [ProxyBox (Proxy :: Proxy Address)] -instance ApiResource GetAddrsTxs [Store.TxRef] where+instance ApiResource GetAddrsTxs (Store.SerialList Store.TxRef) where     resourcePath _ _ = "/address/transactions"     queryParams (GetAddrsTxs as (LimitsParam l o sM)) =         ([] , [ParamBox as] <> noMaybeBox l <> noDefBox o <> noMaybeBox sM) -instance ApiResource GetAddrTxsFull [Store.Transaction] where+instance ApiResource GetAddrTxsFull (Store.SerialList Store.Transaction) where     resourcePath _ = "/address/" <+> "/transactions/full"     queryParams (GetAddrTxsFull a (LimitsParam l o sM)) =         ([ParamBox a], noMaybeBox l <> noDefBox o <> noMaybeBox sM)     captureParams _ = [ProxyBox (Proxy :: Proxy Address)] -instance ApiResource GetAddrsTxsFull [Store.Transaction] where+instance ApiResource GetAddrsTxsFull (Store.SerialList Store.Transaction) where     resourcePath _ _ = "/address/transactions/full"     queryParams (GetAddrsTxsFull as (LimitsParam l o sM)) =         ([] , [ParamBox as] <> noMaybeBox l <> noDefBox o <> noMaybeBox sM)@@ -249,17 +249,17 @@     queryParams (GetAddrBalance a) = ([ParamBox a], [])     captureParams _ = [ProxyBox (Proxy :: Proxy Address)] -instance ApiResource GetAddrsBalance [Store.Balance] where+instance ApiResource GetAddrsBalance (Store.SerialList Store.Balance) where     resourcePath _ _ = "/address/balances"     queryParams (GetAddrsBalance as) = ([] , [ParamBox as]) -instance ApiResource GetAddrUnspent [Store.Unspent] where+instance ApiResource GetAddrUnspent (Store.SerialList Store.Unspent) where     resourcePath _ = "/address/" <+> "/unspent"     queryParams (GetAddrUnspent a (LimitsParam l o sM)) =         ([ParamBox a], noMaybeBox l <> noDefBox o <> noMaybeBox sM)     captureParams _ = [ProxyBox (Proxy :: Proxy Address)] -instance ApiResource GetAddrsUnspent [Store.Unspent] where+instance ApiResource GetAddrsUnspent (Store.SerialList Store.Unspent) where     resourcePath _ _ = "/address/unspent"     queryParams (GetAddrsUnspent as (LimitsParam l o sM)) =         ([] , [ParamBox as] <> noMaybeBox l <> noDefBox o <> noMaybeBox sM)@@ -273,7 +273,7 @@     queryParams (GetXPub p d n) = ([ParamBox p], noDefBox d <> noDefBox n)     captureParams _ = [ProxyBox (Proxy :: Proxy XPubKey)] -instance ApiResource GetXPubTxs [Store.TxRef] where+instance ApiResource GetXPubTxs (Store.SerialList Store.TxRef) where     resourcePath _ = "/xpub/" <+> "/transactions"     queryParams (GetXPubTxs p d (LimitsParam l o sM) n) =         ( [ParamBox p]@@ -281,7 +281,7 @@         )     captureParams _ = [ProxyBox (Proxy :: Proxy XPubKey)] -instance ApiResource GetXPubTxsFull [Store.Transaction] where+instance ApiResource GetXPubTxsFull (Store.SerialList Store.Transaction) where     resourcePath _ = "/xpub/" <+> "/transactions/full"     queryParams (GetXPubTxsFull p d (LimitsParam l o sM) n) =         ( [ParamBox p]@@ -289,12 +289,12 @@         )     captureParams _ = [ProxyBox (Proxy :: Proxy XPubKey)] -instance ApiResource GetXPubBalances [Store.XPubBal] where+instance ApiResource GetXPubBalances (Store.SerialList Store.XPubBal) where     resourcePath _ = "/xpub/" <+> "/balances"     queryParams (GetXPubBalances p d n) = ([ParamBox p], noDefBox d <> noDefBox n)     captureParams _ = [ProxyBox (Proxy :: Proxy XPubKey)] -instance ApiResource GetXPubUnspent [Store.XPubUnspent] where+instance ApiResource GetXPubUnspent (Store.SerialList Store.XPubUnspent) where     resourcePath _ = "/xpub/" <+> "/unspent"     queryParams (GetXPubUnspent p d (LimitsParam l o sM) n) =         ( [ParamBox p]@@ -306,7 +306,7 @@ -- Network -- ------------- -instance ApiResource GetPeers [Store.PeerInformation] where+instance ApiResource GetPeers (Store.SerialList Store.PeerInformation) where     resourcePath _ _ = "/peers"  instance ApiResource GetHealth Store.HealthCheck where