polysemy-blockfrost (empty) → 0.1.0.0
raw patch · 9 files changed
+1250/−0 lines, 9 filesdep +basedep +blockfrost-apidep +blockfrost-client
Dependencies added: base, blockfrost-api, blockfrost-client, polysemy, polysemy-plugin, tasty, text
Files
- CHANGELOG.md +5/−0
- LICENSE +30/−0
- README.md +1/−0
- polysemy-blockfrost.cabal +69/−0
- src/Polysemy/Blockfrost.hs +171/−0
- src/Polysemy/Blockfrost/Api.hs +587/−0
- src/Polysemy/Blockfrost/Client.hs +9/−0
- src/Polysemy/Blockfrost/Effect/Blockfrost.hs +377/−0
- test/Main.hs +1/−0
+ CHANGELOG.md view
@@ -0,0 +1,5 @@+# Revision history for polysemy-blockfrost++## 0.1.0.0 -- YYYY-mm-dd++* First version. Released on an unsuspecting world.
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2024, John Ky++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above+ copyright notice, this list of conditions and the following+ disclaimer in the documentation and/or other materials provided+ with the distribution.++ * Neither the name of John Ky nor the names of other+ contributors may be used to endorse or promote products derived+ from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ README.md view
@@ -0,0 +1,1 @@+# polysemy-blockfrost
+ polysemy-blockfrost.cabal view
@@ -0,0 +1,69 @@+cabal-version: 3.4+++name: polysemy-blockfrost+version: 0.1.0.0+synopsis: Polysemy wrapper around the Blockfrost client+description: Polysemy wrapper around the Blockfrost client.+license: Apache-2.0+license-file: LICENSE+author: John Ky+maintainer: newhoggy@gmail.com+copyright: 2024 John Ky+category: Development+build-type: Simple+extra-doc-files: CHANGELOG.md+extra-source-files: README.md++source-repository head+ type: git+ location: https://github.com/haskell-works/polysemy-blockfrost++common base { build-depends: base >= 4.18.2.1 && < 5 }++common blockfrost-api { build-depends: blockfrost-api < 0.11 }+common blockfrost-client { build-depends: blockfrost-client < 0.9 }+common polysemy { build-depends: polysemy < 2 }+common polysemy-log { build-depends: polysemy-log < 0.11 }+common polysemy-plugin { build-depends: polysemy-plugin < 0.5 }+common tasty { build-depends: tasty < 1.6 }+common text { build-depends: text < 3 }++common polysemy-blockfrost { build-depends: polysemy-blockfrost }++common project-config+ import: polysemy,+ polysemy-plugin,+ default-extensions: BlockArguments+ DataKinds+ FlexibleContexts+ FlexibleInstances+ LambdaCase+ NoImplicitPrelude+ OverloadedStrings+ TypeApplications+ ghc-options: -Wall+ -fplugin=Polysemy.Plugin++library+ import: base, project-config,+ blockfrost-api,+ blockfrost-client,+ polysemy,+ text,+ exposed-modules: Polysemy.Blockfrost+ Polysemy.Blockfrost.Api+ Polysemy.Blockfrost.Client+ Polysemy.Blockfrost.Effect.Blockfrost+ hs-source-dirs: src+ default-language: GHC2021++test-suite polysemy-blockfrost-test+ import: base, project-config,+ tasty,+ default-language: GHC2021+ type: exitcode-stdio-1.0+ build-tool-depends: tasty-discover:tasty-discover+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -with-rtsopts=-T
+ src/Polysemy/Blockfrost.hs view
@@ -0,0 +1,171 @@+module Polysemy.Blockfrost+ ( Blockfrost,+ BlockfrostError,+ Project,+ runBlockfrost,++ -- * Client+ getRoot,+ getHealth,+ getClock,+ getMetrics,+ getMetricsEndpoints,++ -- * Client.NutLink+ nutlinkListAddress,+ nutlinkListAddressTickers',+ nutlinkListAddressTickers,+ nutlinkAddressTickers',+ nutlinkAddressTickers,+ nutlinkTickers',+ nutlinkTickers,++ -- * Client.IPFS+ ipfsGateway,+ ipfsPin,+ ipfsListPins',+ ipfsListPins,+ ipfsGetPin,+ ipfsRemovePin,++ -- * Client.Cardano.Blocks+ getLatestBlock,+ getLatestBlockTxs',+ getLatestBlockTxs,+ getBlock,+ getBlockSlot,+ getBlockEpochSlot,+ getNextBlocks',+ getNextBlocks,+ getPreviousBlocks',+ getPreviousBlocks,+ getBlockTxs',+ getBlockTxs,+ getBlockAffectedAddresses',+ getBlockAffectedAddresses,++ -- * Client.Cardano.Network+ getNetworkInfo,+ getNetworkEras,++ -- * Client.Cardano.Addresses+ getAddressInfo,+ getAddressInfoExtended,+ getAddressDetails,+ getAddressUtxos',+ getAddressUtxos,+ getAddressUtxosAsset',+ getAddressUtxosAsset,+ getAddressTransactions,++ -- * Client.Cardano.Assets+ getAssets',+ getAssets,+ getAssetDetails,+ getAssetHistory',+ getAssetHistory,+ getAssetTransactions',+ getAssetTransactions,+ getAssetAddresses',+ getAssetAddresses,+ getAssetsByPolicy',+ getAssetsByPolicy,++ -- * Client.Cardano.Scripts+ listScripts',+ listScripts,+ getScript,+ getScriptRedeemers',+ getScriptRedeemers,+ getScriptDatum,+ getScriptDatumCBOR,+ getScriptJSON,+ getScriptCBOR,++ -- * Client.Cardano.Epochs+ getLatestEpoch,+ getLatestEpochProtocolParams,+ getEpoch,+ getNextEpochs',+ getNextEpochs,+ getPreviousEpochs',+ getPreviousEpochs,+ getEpochStake',+ getEpochStake,+ getEpochStakeByPool',+ getEpochStakeByPool,+ getEpochBlocks',+ getEpochBlocks,+ getEpochBlocksByPool',+ getEpochBlocksByPool,+ getEpochProtocolParams,++ -- * Client.Cardano.Transactions+ getTx,+ getTxUtxos,+ getTxRedeemers,+ getTxStakes,+ getTxDelegations,+ getTxWithdrawals,+ getTxMirs,+ getTxPoolUpdates,+ getTxPoolRetiring,+ getTxMetadataJSON,+ getTxMetadataCBOR,+ submitTx,++ -- * Client.Cardano.Ledger+ getLedgerGenesis,++ -- * Client.Cardano.Accounts+ getAccount,+ getAccountRewards',+ getAccountRewards,+ getAccountHistory',+ getAccountHistory,+ getAccountDelegations',+ getAccountDelegations,+ getAccountRegistrations',+ getAccountRegistrations,+ getAccountWithdrawals',+ getAccountWithdrawals,+ getAccountMirs',+ getAccountMirs,+ getAccountAssociatedAddresses',+ getAccountAssociatedAddresses,+ getAccountAssociatedAddressesTotal,+ getAccountAssociatedAssets',+ getAccountAssociatedAssets,++ -- * Client.Cardano.Pools+ listPools',+ listPools,+ listPoolsExtended',+ listPoolsExtended,+ listRetiredPools',+ listRetiredPools,+ listRetiringPools',+ listRetiringPools,+ getPool,+ getPoolHistory',+ getPoolHistory,+ getPoolMetadata,+ getPoolRelays,+ getPoolDelegators',+ getPoolDelegators,+ getPoolBlocks',+ getPoolBlocks,+ getPoolUpdates',+ getPoolUpdates,++ -- * Client.Cardano.Metadata+ getTxMetadataLabels',+ getTxMetadataLabels,+ getTxMetadataByLabelJSON',+ getTxMetadataByLabelJSON,+ getTxMetadataByLabelCBOR',+ getTxMetadataByLabelCBOR,++ ) where++import Polysemy.Blockfrost.Api
+ src/Polysemy/Blockfrost/Api.hs view
@@ -0,0 +1,587 @@+{-# LANGUAGE FlexibleContexts #-}++module Polysemy.Blockfrost.Api+ ( Blockfrost,+ BlockfrostError,+ Project,+ runBlockfrost,++ -- Client+ getRoot ,+ getHealth ,+ getClock ,+ getMetrics ,+ getMetricsEndpoints ,++ -- Client.NutLink+ nutlinkListAddress ,+ nutlinkListAddressTickers' ,+ nutlinkListAddressTickers ,+ nutlinkAddressTickers' ,+ nutlinkAddressTickers ,+ nutlinkTickers' ,+ nutlinkTickers ,++ -- Client.IPFS+ ipfsGateway ,+ ipfsPin ,+ ipfsListPins' ,+ ipfsListPins ,+ ipfsGetPin ,+ ipfsRemovePin ,++ -- Client.Cardano.Blocks+ getLatestBlock ,+ getLatestBlockTxs' ,+ getLatestBlockTxs ,+ getBlock ,+ getBlockSlot ,+ getBlockEpochSlot ,+ getNextBlocks' ,+ getNextBlocks ,+ getPreviousBlocks' ,+ getPreviousBlocks ,+ getBlockTxs' ,+ getBlockTxs ,+ getBlockAffectedAddresses' ,+ getBlockAffectedAddresses ,++ -- Client.Cardano.Network+ getNetworkInfo ,+ getNetworkEras ,++ -- Client.Cardano.Addresses+ getAddressInfo ,+ getAddressInfoExtended ,+ getAddressDetails ,+ getAddressUtxos' ,+ getAddressUtxos ,+ getAddressUtxosAsset' ,+ getAddressUtxosAsset ,+ getAddressTransactions ,++ -- Client.Cardano.Assets+ getAssets' ,+ getAssets ,+ getAssetDetails ,+ getAssetHistory' ,+ getAssetHistory ,+ getAssetTransactions' ,+ getAssetTransactions ,+ getAssetAddresses' ,+ getAssetAddresses ,+ getAssetsByPolicy' ,+ getAssetsByPolicy ,++ -- Client.Cardano.Scripts+ listScripts' ,+ listScripts ,+ getScript ,+ getScriptRedeemers' ,+ getScriptRedeemers ,+ getScriptDatum ,+ getScriptDatumCBOR ,+ getScriptJSON ,+ getScriptCBOR ,++ -- Client.Cardano.Epochs+ getLatestEpoch ,+ getLatestEpochProtocolParams ,+ getEpoch ,+ getNextEpochs' ,+ getNextEpochs ,+ getPreviousEpochs' ,+ getPreviousEpochs ,+ getEpochStake' ,+ getEpochStake ,+ getEpochStakeByPool' ,+ getEpochStakeByPool ,+ getEpochBlocks' ,+ getEpochBlocks ,+ getEpochBlocksByPool' ,+ getEpochBlocksByPool ,+ getEpochProtocolParams ,++ -- Client.Cardano.Transactions+ getTx ,+ getTxUtxos ,+ getTxRedeemers ,+ getTxStakes ,+ getTxDelegations ,+ getTxWithdrawals ,+ getTxMirs ,+ getTxPoolUpdates ,+ getTxPoolRetiring ,+ getTxMetadataJSON ,+ getTxMetadataCBOR ,+ submitTx ,++ -- Client.Cardano.Ledger+ getLedgerGenesis ,++ -- Client.Cardano.Accounts+ getAccount ,+ getAccountRewards' ,+ getAccountRewards ,+ getAccountHistory' ,+ getAccountHistory ,+ getAccountDelegations' ,+ getAccountDelegations ,+ getAccountRegistrations' ,+ getAccountRegistrations ,+ getAccountWithdrawals' ,+ getAccountWithdrawals ,+ getAccountMirs' ,+ getAccountMirs ,+ getAccountAssociatedAddresses' ,+ getAccountAssociatedAddresses ,+ getAccountAssociatedAddressesTotal ,+ getAccountAssociatedAssets' ,+ getAccountAssociatedAssets ,++ -- Client.Cardano.Pools+ listPools' ,+ listPools ,+ listPoolsExtended' ,+ listPoolsExtended ,+ listRetiredPools' ,+ listRetiredPools ,+ listRetiringPools' ,+ listRetiringPools ,+ getPool ,+ getPoolHistory' ,+ getPoolHistory ,+ getPoolMetadata ,+ getPoolRelays ,+ getPoolDelegators' ,+ getPoolDelegators ,+ getPoolBlocks' ,+ getPoolBlocks ,+ getPoolUpdates' ,+ getPoolUpdates ,++ -- Client.Cardano.Metadata+ getTxMetadataLabels' ,+ getTxMetadataLabels ,+ getTxMetadataByLabelJSON' ,+ getTxMetadataByLabelJSON ,+ getTxMetadataByLabelCBOR' ,+ getTxMetadataByLabelCBOR ,++ ) where++import Control.Monad+import Data.Either+import Data.Maybe+import Data.Text+import GHC.Integer++import Blockfrost.Client (AccountDelegation,+ AccountHistory,+ AccountInfo,+ AccountMir,+ AccountRegistration,+ AccountReward,+ AccountWithdrawal,+ Address,+ AddressAssociated,+ AddressAssociatedTotal,+ AddressDetails,+ AddressInfo,+ AddressInfoExtended,+ AddressTransaction,+ AddressUtxo,+ Amount,+ AssetAddress,+ AssetDetails,+ AssetHistory,+ AssetId,+ AssetInfo,+ AssetTransaction,+ Block,+ BlockHash,+ BlockfrostError,+ CBORString,+ DatumHash,+ Epoch,+ EpochInfo,+ Genesis,+ Healthy,+ IPFSData,+ IPFSPin,+ IPFSPinChange,+ Metric, Network,+ NetworkEraSummary,+ NutlinkAddress,+ NutlinkAddressTicker,+ NutlinkTicker,+ Paged, PolicyId,+ Pool,+ PoolDelegator,+ PoolEpoch,+ PoolHistory,+ PoolId,+ PoolInfo,+ PoolMetadata,+ PoolRelay,+ PoolStakeDistribution,+ PoolUpdate,+ Project,+ ProtocolParams,+ Script,+ ScriptCBOR,+ ScriptDatum,+ ScriptDatumCBOR,+ ScriptHash,+ ScriptHashList,+ ScriptJSON,+ ScriptRedeemer,+ ServerTime,+ Slot, SortOrder,+ StakeDistribution,+ Transaction,+ TransactionDelegation,+ TransactionMetaCBOR,+ TransactionMetaJSON,+ TransactionMir,+ TransactionPoolRetiring,+ TransactionPoolUpdate,+ TransactionRedeemer,+ TransactionStake,+ TransactionUtxos,+ TransactionWithdrawal,+ TxHash, TxMeta,+ TxMetaCBOR,+ TxMetaJSON,+ URLVersion)+import Polysemy.Blockfrost.Effect.Blockfrost (Blockfrost,+ runBlockfrost)+import qualified Polysemy.Blockfrost.Effect.Blockfrost as BF+import Polysemy+import Polysemy.Error+++-- Client+getRoot :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r URLVersion+getHealth :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r Healthy+getClock :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r ServerTime+getMetrics :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [Metric]+getMetricsEndpoints :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [(Text, Metric)]++-- Client.NutLink+nutlinkListAddress :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r NutlinkAddress+nutlinkListAddressTickers' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [NutlinkAddressTicker]+nutlinkListAddressTickers :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [NutlinkAddressTicker]+nutlinkAddressTickers' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Text -> Paged -> SortOrder -> Sem r [NutlinkTicker]+nutlinkAddressTickers :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Text -> Sem r [NutlinkTicker]+nutlinkTickers' :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Paged -> SortOrder -> Sem r [(Address, NutlinkTicker)]+nutlinkTickers :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Sem r [(Address, NutlinkTicker)]++-- Client.IPFS+ipfsGateway :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Sem r IPFSData+ipfsPin :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Sem r IPFSPinChange+ipfsListPins' :: Member Blockfrost r => Member (Error BlockfrostError) r => Paged -> SortOrder -> Sem r [IPFSPin]+ipfsListPins :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [IPFSPin]+ipfsGetPin :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Sem r IPFSPin+ipfsRemovePin :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Sem r IPFSPinChange++-- Client.Cardano.Blocks+getLatestBlock :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r Block+getLatestBlockTxs' :: Member Blockfrost r => Member (Error BlockfrostError) r => Paged -> SortOrder -> Sem r [TxHash]+getLatestBlockTxs :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [TxHash]+getBlock :: Member Blockfrost r => Member (Error BlockfrostError) r => Either Integer BlockHash -> Sem r Block+getBlockSlot :: Member Blockfrost r => Member (Error BlockfrostError) r => Slot -> Sem r Block+getBlockEpochSlot :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Slot -> Sem r Block+getNextBlocks' :: Member Blockfrost r => Member (Error BlockfrostError) r => Either Integer BlockHash -> Paged -> Sem r [Block]+getNextBlocks :: Member Blockfrost r => Member (Error BlockfrostError) r => Either Integer BlockHash -> Sem r [Block]+getPreviousBlocks' :: Member Blockfrost r => Member (Error BlockfrostError) r => Either Integer BlockHash -> Paged -> Sem r [Block]+getPreviousBlocks :: Member Blockfrost r => Member (Error BlockfrostError) r => Either Integer BlockHash -> Sem r [Block]+getBlockTxs' :: Member Blockfrost r => Member (Error BlockfrostError) r => Either Integer BlockHash -> Paged -> SortOrder -> Sem r [TxHash]+getBlockTxs :: Member Blockfrost r => Member (Error BlockfrostError) r => Either Integer BlockHash -> Sem r [TxHash]+getBlockAffectedAddresses' :: Member Blockfrost r => Member (Error BlockfrostError) r => Either Integer BlockHash -> Paged -> Sem r [(Address, [TxHash])]+getBlockAffectedAddresses :: Member Blockfrost r => Member (Error BlockfrostError) r => Either Integer BlockHash -> Sem r [(Address, [TxHash])]++-- Client.Cardano.Network+getNetworkInfo :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r Network+getNetworkEras :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [NetworkEraSummary]++-- Client.Cardano.Addresses+getAddressInfo :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r AddressInfo+getAddressInfoExtended :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r AddressInfoExtended+getAddressDetails :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r AddressDetails+getAddressUtxos' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [AddressUtxo]+getAddressUtxos :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [AddressUtxo]+getAddressUtxosAsset' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> AssetId-> Paged -> SortOrder -> Sem r [AddressUtxo]+getAddressUtxosAsset :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> AssetId -> Sem r [AddressUtxo]+getAddressTransactions :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [AddressTransaction]++-- Client.Cardano.Assets+getAssets' :: Member Blockfrost r => Member (Error BlockfrostError) r => Paged -> SortOrder -> Sem r [AssetInfo]+getAssets :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [AssetInfo]+getAssetDetails :: Member Blockfrost r => Member (Error BlockfrostError) r => AssetId -> Sem r AssetDetails+getAssetHistory' :: Member Blockfrost r => Member (Error BlockfrostError) r => AssetId -> Paged -> SortOrder -> Sem r [AssetHistory]+getAssetHistory :: Member Blockfrost r => Member (Error BlockfrostError) r => AssetId -> Sem r [AssetHistory]+getAssetTransactions' :: Member Blockfrost r => Member (Error BlockfrostError) r => AssetId -> Paged -> SortOrder -> Sem r [AssetTransaction]+getAssetTransactions :: Member Blockfrost r => Member (Error BlockfrostError) r => AssetId -> Sem r [AssetTransaction]+getAssetAddresses' :: Member Blockfrost r => Member (Error BlockfrostError) r => AssetId -> Paged -> SortOrder -> Sem r [AssetAddress]+getAssetAddresses :: Member Blockfrost r => Member (Error BlockfrostError) r => AssetId -> Sem r [AssetAddress]+getAssetsByPolicy' :: Member Blockfrost r => Member (Error BlockfrostError) r => PolicyId -> Paged -> SortOrder -> Sem r [AssetInfo]+getAssetsByPolicy :: Member Blockfrost r => Member (Error BlockfrostError) r => PolicyId -> Sem r [AssetInfo]++-- Client.Cardano.Scripts+listScripts' :: Member Blockfrost r => Member (Error BlockfrostError) r => Paged -> SortOrder -> Sem r ScriptHashList+listScripts :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r ScriptHashList+getScript :: Member Blockfrost r => Member (Error BlockfrostError) r => ScriptHash -> Sem r Script+getScriptRedeemers' :: Member Blockfrost r => Member (Error BlockfrostError) r => ScriptHash -> Paged -> SortOrder -> Sem r [ScriptRedeemer]+getScriptRedeemers :: Member Blockfrost r => Member (Error BlockfrostError) r => ScriptHash -> Sem r [ScriptRedeemer]+getScriptDatum :: Member Blockfrost r => Member (Error BlockfrostError) r => DatumHash -> Sem r ScriptDatum+getScriptDatumCBOR :: Member Blockfrost r => Member (Error BlockfrostError) r => DatumHash -> Sem r ScriptDatumCBOR+getScriptJSON :: Member Blockfrost r => Member (Error BlockfrostError) r => ScriptHash -> Sem r ScriptJSON+getScriptCBOR :: Member Blockfrost r => Member (Error BlockfrostError) r => ScriptHash -> Sem r ScriptCBOR++-- Client.Cardano.Epochs+getLatestEpoch :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r EpochInfo+getLatestEpochProtocolParams :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r ProtocolParams+getEpoch :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Sem r EpochInfo+getNextEpochs' :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Paged -> Sem r [EpochInfo]+getNextEpochs :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Sem r [EpochInfo]+getPreviousEpochs' :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Paged -> Sem r [EpochInfo]+getPreviousEpochs :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Sem r [EpochInfo]+getEpochStake' :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Paged -> Sem r [StakeDistribution]+getEpochStake :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Sem r [StakeDistribution]+getEpochStakeByPool' :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> PoolId -> Paged -> Sem r [PoolStakeDistribution]+getEpochStakeByPool :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> PoolId -> Sem r [PoolStakeDistribution]+getEpochBlocks' :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Paged -> SortOrder -> Sem r [BlockHash]+getEpochBlocks :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Sem r [BlockHash]+getEpochBlocksByPool' :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> PoolId -> Paged -> SortOrder -> Sem r [BlockHash]+getEpochBlocksByPool :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> PoolId -> Sem r [BlockHash]+getEpochProtocolParams :: Member Blockfrost r => Member (Error BlockfrostError) r => Epoch -> Sem r ProtocolParams++-- Client.Cardano.Transactions+getTx :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r Transaction+getTxUtxos :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r TransactionUtxos+getTxRedeemers :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r [TransactionRedeemer]+getTxStakes :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r [TransactionStake]+getTxDelegations :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r [TransactionDelegation]+getTxWithdrawals :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r [TransactionWithdrawal]+getTxMirs :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r [TransactionMir]+getTxPoolUpdates :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r [TransactionPoolUpdate]+getTxPoolRetiring :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r [TransactionPoolRetiring]+getTxMetadataJSON :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r [TransactionMetaJSON]+getTxMetadataCBOR :: Member Blockfrost r => Member (Error BlockfrostError) r => TxHash -> Sem r [TransactionMetaCBOR]+submitTx :: Member Blockfrost r => Member (Error BlockfrostError) r => CBORString -> Sem r TxHash++-- Client.Cardano.Ledger+getLedgerGenesis :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r Genesis++-- Client.Cardano.Accounts+getAccount :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r AccountInfo+getAccountRewards' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [AccountReward]+getAccountRewards :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [AccountReward]+getAccountHistory' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [AccountHistory]+getAccountHistory :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [AccountHistory]+getAccountDelegations' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [AccountDelegation]+getAccountDelegations :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [AccountDelegation]+getAccountRegistrations' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [AccountRegistration]+getAccountRegistrations :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [AccountRegistration]+getAccountWithdrawals' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [AccountWithdrawal]+getAccountWithdrawals :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [AccountWithdrawal]+getAccountMirs' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [AccountMir]+getAccountMirs :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [AccountMir]+getAccountAssociatedAddresses' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [AddressAssociated]+getAccountAssociatedAddresses :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [AddressAssociated]+getAccountAssociatedAddressesTotal :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r AddressAssociatedTotal+getAccountAssociatedAssets' :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Paged -> SortOrder -> Sem r [Amount]+getAccountAssociatedAssets :: Member Blockfrost r => Member (Error BlockfrostError) r => Address -> Sem r [Amount]++-- Client.Cardano.Pools+listPools' :: Member Blockfrost r => Member (Error BlockfrostError) r => Paged -> SortOrder -> Sem r [PoolId]+listPools :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [PoolId]+listPoolsExtended' :: Member Blockfrost r => Member (Error BlockfrostError) r => Paged -> SortOrder -> Sem r [Pool]+listPoolsExtended :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [Pool]+listRetiredPools' :: Member Blockfrost r => Member (Error BlockfrostError) r => Paged -> SortOrder -> Sem r [PoolEpoch]+listRetiredPools :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [PoolEpoch]+listRetiringPools' :: Member Blockfrost r => Member (Error BlockfrostError) r => Paged -> SortOrder -> Sem r [PoolEpoch]+listRetiringPools :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [PoolEpoch]+getPool :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Sem r PoolInfo+getPoolHistory' :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Paged -> SortOrder -> Sem r [PoolHistory]+getPoolHistory :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Sem r [PoolHistory]+getPoolMetadata :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Sem r (Maybe PoolMetadata)+getPoolRelays :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Sem r [PoolRelay]+getPoolDelegators' :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Paged -> SortOrder -> Sem r [PoolDelegator]+getPoolDelegators :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Sem r [PoolDelegator]+getPoolBlocks' :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Paged -> SortOrder -> Sem r [BlockHash]+getPoolBlocks :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Sem r [BlockHash]+getPoolUpdates' :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Paged -> SortOrder -> Sem r [PoolUpdate]+getPoolUpdates :: Member Blockfrost r => Member (Error BlockfrostError) r => PoolId -> Sem r [PoolUpdate]++-- Client.Cardano.Metadata+getTxMetadataLabels' :: Member Blockfrost r => Member (Error BlockfrostError) r => Paged -> SortOrder -> Sem r [TxMeta]+getTxMetadataLabels :: Member Blockfrost r => Member (Error BlockfrostError) r => Sem r [TxMeta]+getTxMetadataByLabelJSON' :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Paged -> SortOrder -> Sem r [TxMetaJSON]+getTxMetadataByLabelJSON :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Sem r [TxMetaJSON]+getTxMetadataByLabelCBOR' :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Paged -> SortOrder -> Sem r [TxMetaCBOR]+getTxMetadataByLabelCBOR :: Member Blockfrost r => Member (Error BlockfrostError) r => Text -> Sem r [TxMetaCBOR]+++-- Client+getRoot = fromEither =<< BF.getRoot+getHealth = fromEither =<< BF.getHealth+getClock = fromEither =<< BF.getClock+getMetrics = fromEither =<< BF.getMetrics+getMetricsEndpoints = fromEither =<< BF.getMetricsEndpoints++-- Client.NutLink+nutlinkListAddress a = fromEither =<< BF.nutlinkListAddress a+nutlinkListAddressTickers' a b c = fromEither =<< BF.nutlinkListAddressTickers' a b c+nutlinkListAddressTickers a = fromEither =<< BF.nutlinkListAddressTickers a+nutlinkAddressTickers' a b c d = fromEither =<< BF.nutlinkAddressTickers' a b c d+nutlinkAddressTickers a b = fromEither =<< BF.nutlinkAddressTickers a b+nutlinkTickers' a b c = fromEither =<< BF.nutlinkTickers' a b c+nutlinkTickers a = fromEither =<< BF.nutlinkTickers a++-- -- Client.IPFS+ipfsGateway a = fromEither =<< BF.ipfsGateway a+ipfsPin a = fromEither =<< BF.ipfsPin a+ipfsListPins' a b = fromEither =<< BF.ipfsListPins' a b+ipfsListPins = fromEither =<< BF.ipfsListPins+ipfsGetPin a = fromEither =<< BF.ipfsGetPin a+ipfsRemovePin a = fromEither =<< BF.ipfsRemovePin a++-- Client.Cardano.Blocks+getLatestBlock = fromEither =<< BF.getLatestBlock+getLatestBlockTxs' a b = fromEither =<< BF.getLatestBlockTxs' a b+getLatestBlockTxs = fromEither =<< BF.getLatestBlockTxs+getBlock a = fromEither =<< BF.getBlock a+getBlockSlot a = fromEither =<< BF.getBlockSlot a+getBlockEpochSlot a b = fromEither =<< BF.getBlockEpochSlot a b+getNextBlocks' a b = fromEither =<< BF.getNextBlocks' a b+getNextBlocks a = fromEither =<< BF.getNextBlocks a+getPreviousBlocks' a b = fromEither =<< BF.getPreviousBlocks' a b+getPreviousBlocks a = fromEither =<< BF.getPreviousBlocks a+getBlockTxs' a b c = fromEither =<< BF.getBlockTxs' a b c+getBlockTxs a = fromEither =<< BF.getBlockTxs a+getBlockAffectedAddresses' a b = fromEither =<< BF.getBlockAffectedAddresses' a b+getBlockAffectedAddresses a = fromEither =<< BF.getBlockAffectedAddresses a++-- -- Client.Cardano.Network+getNetworkInfo = fromEither =<< BF.getNetworkInfo+getNetworkEras = fromEither =<< BF.getNetworkEras++-- Client.Cardano.Addresses+getAddressInfo a = fromEither =<< BF.getAddressInfo a+getAddressInfoExtended a = fromEither =<< BF.getAddressInfoExtended a+getAddressDetails a = fromEither =<< BF.getAddressDetails a+getAddressUtxos' a b c = fromEither =<< BF.getAddressUtxos' a b c+getAddressUtxos a = fromEither =<< BF.getAddressUtxos a+getAddressUtxosAsset' a b c d = fromEither =<< BF.getAddressUtxosAsset' a b c d+getAddressUtxosAsset a b = fromEither =<< BF.getAddressUtxosAsset a b+getAddressTransactions a = fromEither =<< BF.getAddressTransactions a++-- Client.Cardano.Assets+getAssets' a b = fromEither =<< BF.getAssets' a b+getAssets = fromEither =<< BF.getAssets+getAssetDetails a = fromEither =<< BF.getAssetDetails a+getAssetHistory' a b c = fromEither =<< BF.getAssetHistory' a b c+getAssetHistory a = fromEither =<< BF.getAssetHistory a+getAssetTransactions' a b c = fromEither =<< BF.getAssetTransactions' a b c+getAssetTransactions a = fromEither =<< BF.getAssetTransactions a+getAssetAddresses' a b c = fromEither =<< BF.getAssetAddresses' a b c+getAssetAddresses a = fromEither =<< BF.getAssetAddresses a+getAssetsByPolicy' a b c = fromEither =<< BF.getAssetsByPolicy' a b c+getAssetsByPolicy a = fromEither =<< BF.getAssetsByPolicy a++-- Client.Cardano.Scripts+listScripts' a b = fromEither =<< BF.listScripts' a b+listScripts = fromEither =<< BF.listScripts+getScript a = fromEither =<< BF.getScript a+getScriptRedeemers' a b c = fromEither =<< BF.getScriptRedeemers' a b c+getScriptRedeemers a = fromEither =<< BF.getScriptRedeemers a+getScriptDatum a = fromEither =<< BF.getScriptDatum a+getScriptDatumCBOR a = fromEither =<< BF.getScriptDatumCBOR a+getScriptJSON a = fromEither =<< BF.getScriptJSON a+getScriptCBOR a = fromEither =<< BF.getScriptCBOR a++-- Client.Cardano.Epochs+getLatestEpoch = fromEither =<< BF.getLatestEpoch+getLatestEpochProtocolParams = fromEither =<< BF.getLatestEpochProtocolParams+getEpoch a = fromEither =<< BF.getEpoch a+getNextEpochs' a b = fromEither =<< BF.getNextEpochs' a b+getNextEpochs a = fromEither =<< BF.getNextEpochs a+getPreviousEpochs' a b = fromEither =<< BF.getPreviousEpochs' a b+getPreviousEpochs a = fromEither =<< BF.getPreviousEpochs a+getEpochStake' a b = fromEither =<< BF.getEpochStake' a b+getEpochStake a = fromEither =<< BF.getEpochStake a+getEpochStakeByPool' a b c = fromEither =<< BF.getEpochStakeByPool' a b c+getEpochStakeByPool a b = fromEither =<< BF.getEpochStakeByPool a b+getEpochBlocks' a b c = fromEither =<< BF.getEpochBlocks' a b c+getEpochBlocks a = fromEither =<< BF.getEpochBlocks a+getEpochBlocksByPool' a b c d = fromEither =<< BF.getEpochBlocksByPool' a b c d+getEpochBlocksByPool a b = fromEither =<< BF.getEpochBlocksByPool a b+getEpochProtocolParams a = fromEither =<< BF.getEpochProtocolParams a++-- Client.Cardano.Transactions+getTx a = fromEither =<< BF.getTx a+getTxUtxos a = fromEither =<< BF.getTxUtxos a+getTxRedeemers a = fromEither =<< BF.getTxRedeemers a+getTxStakes a = fromEither =<< BF.getTxStakes a+getTxDelegations a = fromEither =<< BF.getTxDelegations a+getTxWithdrawals a = fromEither =<< BF.getTxWithdrawals a+getTxMirs a = fromEither =<< BF.getTxMirs a+getTxPoolUpdates a = fromEither =<< BF.getTxPoolUpdates a+getTxPoolRetiring a = fromEither =<< BF.getTxPoolRetiring a+getTxMetadataJSON a = fromEither =<< BF.getTxMetadataJSON a+getTxMetadataCBOR a = fromEither =<< BF.getTxMetadataCBOR a+submitTx a = fromEither =<< BF.submitTx a++-- Client.Cardano.Ledger+getLedgerGenesis = fromEither =<< BF.getLedgerGenesis++-- Client.Cardano.Accounts+getAccount a = fromEither =<< BF.getAccount a+getAccountRewards' a b c = fromEither =<< BF.getAccountRewards' a b c+getAccountRewards a = fromEither =<< BF.getAccountRewards a+getAccountHistory' a b c = fromEither =<< BF.getAccountHistory' a b c+getAccountHistory a = fromEither =<< BF.getAccountHistory a+getAccountDelegations' a b c = fromEither =<< BF.getAccountDelegations' a b c+getAccountDelegations a = fromEither =<< BF.getAccountDelegations a+getAccountRegistrations' a b c = fromEither =<< BF.getAccountRegistrations' a b c+getAccountRegistrations a = fromEither =<< BF.getAccountRegistrations a+getAccountWithdrawals' a b c = fromEither =<< BF.getAccountWithdrawals' a b c+getAccountWithdrawals a = fromEither =<< BF.getAccountWithdrawals a+getAccountMirs' a b c = fromEither =<< BF.getAccountMirs' a b c+getAccountMirs a = fromEither =<< BF.getAccountMirs a+getAccountAssociatedAddresses' a b c = fromEither =<< BF.getAccountAssociatedAddresses' a b c+getAccountAssociatedAddresses a = fromEither =<< BF.getAccountAssociatedAddresses a+getAccountAssociatedAddressesTotal a = fromEither =<< BF.getAccountAssociatedAddressesTotal a+getAccountAssociatedAssets' a b c = fromEither =<< BF.getAccountAssociatedAssets' a b c+getAccountAssociatedAssets a = fromEither =<< BF.getAccountAssociatedAssets a++-- Client.Cardano.Pools+listPools' a b = fromEither =<< BF.listPools' a b+listPools = fromEither =<< BF.listPools+listPoolsExtended' a b = fromEither =<< BF.listPoolsExtended' a b+listPoolsExtended = fromEither =<< BF.listPoolsExtended+listRetiredPools' a b = fromEither =<< BF.listRetiredPools' a b+listRetiredPools = fromEither =<< BF.listRetiredPools+listRetiringPools' a b = fromEither =<< BF.listRetiringPools' a b+listRetiringPools = fromEither =<< BF.listRetiringPools+getPool a = fromEither =<< BF.getPool a+getPoolHistory' a b c = fromEither =<< BF.getPoolHistory' a b c+getPoolHistory a = fromEither =<< BF.getPoolHistory a+getPoolMetadata a = fromEither =<< BF.getPoolMetadata a+getPoolRelays a = fromEither =<< BF.getPoolRelays a+getPoolDelegators' a b c = fromEither =<< BF.getPoolDelegators' a b c+getPoolDelegators a = fromEither =<< BF.getPoolDelegators a+getPoolBlocks' a b c = fromEither =<< BF.getPoolBlocks' a b c+getPoolBlocks a = fromEither =<< BF.getPoolBlocks a+getPoolUpdates' a b c = fromEither =<< BF.getPoolUpdates' a b c+getPoolUpdates a = fromEither =<< BF.getPoolUpdates a++-- Client.Cardano.Metadata+getTxMetadataLabels' a b = fromEither =<< BF.getTxMetadataLabels' a b+getTxMetadataLabels = fromEither =<< BF.getTxMetadataLabels+getTxMetadataByLabelJSON' a b c = fromEither =<< BF.getTxMetadataByLabelJSON' a b c+getTxMetadataByLabelJSON a = fromEither =<< BF.getTxMetadataByLabelJSON a+getTxMetadataByLabelCBOR' a b c = fromEither =<< BF.getTxMetadataByLabelCBOR' a b c+getTxMetadataByLabelCBOR a = fromEither =<< BF.getTxMetadataByLabelCBOR a
+ src/Polysemy/Blockfrost/Client.hs view
@@ -0,0 +1,9 @@+module Polysemy.Blockfrost.Client+ ( getRoot,+ getHealth,+ getClock,+ getMetrics,+ getMetricsEndpoints,+ ) where++import Polysemy.Blockfrost.Api
+ src/Polysemy/Blockfrost/Effect/Blockfrost.hs view
@@ -0,0 +1,377 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UnicodeSyntax #-}++{- HLINT ignore "Redundant $" -}++module Polysemy.Blockfrost.Effect.Blockfrost where++import Data.Either+import Data.Function (($))+import Data.Maybe+import Data.Text (Text)+import GHC.Integer+import System.IO (IO)++import Blockfrost.Client (BlockfrostError, Project)+import qualified Blockfrost.Client as BF+import Blockfrost.Types+import Blockfrost.Util.Pagination+import Blockfrost.Util.Sorting+import Polysemy+import Polysemy.Reader++data Blockfrost m a where++ -- Client+ GetRoot :: Blockfrost m (Either BlockfrostError URLVersion)+ GetHealth :: Blockfrost m (Either BlockfrostError Healthy)+ GetClock :: Blockfrost m (Either BlockfrostError ServerTime)+ GetMetrics :: Blockfrost m (Either BlockfrostError [Metric])+ GetMetricsEndpoints :: Blockfrost m (Either BlockfrostError [(Text, Metric)])++ -- Client.NutLink+ NutlinkListAddress :: Address -> Blockfrost m (Either BlockfrostError NutlinkAddress)+ NutlinkListAddressTickers' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [NutlinkAddressTicker])+ NutlinkListAddressTickers :: Address -> Blockfrost m (Either BlockfrostError [NutlinkAddressTicker])+ NutlinkAddressTickers' :: Address -> Text -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [NutlinkTicker])+ NutlinkAddressTickers :: Address -> Text -> Blockfrost m (Either BlockfrostError [NutlinkTicker])+ NutlinkTickers' :: Text -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [(Address, NutlinkTicker)])+ NutlinkTickers :: Text -> Blockfrost m (Either BlockfrostError [(Address, NutlinkTicker)])++ -- Client.IPFS+ IpfsGateway :: Text -> Blockfrost m (Either BlockfrostError IPFSData)+ IpfsPin :: Text -> Blockfrost m (Either BlockfrostError IPFSPinChange)+ IpfsListPins' :: Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [IPFSPin])+ IpfsListPins :: Blockfrost m (Either BlockfrostError [IPFSPin])+ IpfsGetPin :: Text -> Blockfrost m (Either BlockfrostError IPFSPin)+ IpfsRemovePin :: Text -> Blockfrost m (Either BlockfrostError IPFSPinChange)++ -- Client.Cardano.Blocks+ GetLatestBlock :: Blockfrost m (Either BlockfrostError Block)+ GetLatestBlockTxs' :: Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [TxHash])+ GetLatestBlockTxs :: Blockfrost m (Either BlockfrostError [TxHash])+ GetBlock :: Either Integer BlockHash -> Blockfrost m (Either BlockfrostError Block)+ GetBlockSlot :: Slot -> Blockfrost m (Either BlockfrostError Block)+ GetBlockEpochSlot :: Epoch -> Slot -> Blockfrost m (Either BlockfrostError Block)+ GetNextBlocks' :: Either Integer BlockHash -> Paged -> Blockfrost m (Either BlockfrostError [Block])+ GetNextBlocks :: Either Integer BlockHash -> Blockfrost m (Either BlockfrostError [Block])+ GetPreviousBlocks' :: Either Integer BlockHash -> Paged -> Blockfrost m (Either BlockfrostError [Block])+ GetPreviousBlocks :: Either Integer BlockHash -> Blockfrost m (Either BlockfrostError [Block])+ GetBlockTxs' :: Either Integer BlockHash -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [TxHash])+ GetBlockTxs :: Either Integer BlockHash -> Blockfrost m (Either BlockfrostError [TxHash])+ GetBlockAffectedAddresses' :: Either Integer BlockHash -> Paged -> Blockfrost m (Either BlockfrostError [(Address, [TxHash])])+ GetBlockAffectedAddresses :: Either Integer BlockHash -> Blockfrost m (Either BlockfrostError [(Address, [TxHash])])++ -- Client.Cardano.Network+ GetNetworkInfo :: Blockfrost m (Either BlockfrostError Network)+ GetNetworkEras :: Blockfrost m (Either BlockfrostError [NetworkEraSummary])++ -- Client.Cardano.Addresses+ GetAddressInfo :: Address -> Blockfrost m (Either BlockfrostError AddressInfo)+ GetAddressInfoExtended :: Address -> Blockfrost m (Either BlockfrostError AddressInfoExtended)+ GetAddressDetails :: Address -> Blockfrost m (Either BlockfrostError AddressDetails)+ GetAddressUtxos' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AddressUtxo])+ GetAddressUtxos :: Address -> Blockfrost m (Either BlockfrostError [AddressUtxo])+ GetAddressUtxosAsset' :: Address -> AssetId-> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AddressUtxo])+ GetAddressUtxosAsset :: Address -> AssetId -> Blockfrost m (Either BlockfrostError [AddressUtxo])+ GetAddressTransactions :: Address -> Blockfrost m (Either BlockfrostError [AddressTransaction])++ -- Client.Cardano.Assets+ GetAssets' :: Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AssetInfo])+ GetAssets :: Blockfrost m (Either BlockfrostError [AssetInfo])+ GetAssetDetails :: AssetId -> Blockfrost m (Either BlockfrostError AssetDetails)+ GetAssetHistory' :: AssetId -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AssetHistory])+ GetAssetHistory :: AssetId -> Blockfrost m (Either BlockfrostError [AssetHistory])+ GetAssetTransactions' :: AssetId -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AssetTransaction])+ GetAssetTransactions :: AssetId -> Blockfrost m (Either BlockfrostError [AssetTransaction])+ GetAssetAddresses' :: AssetId -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AssetAddress])+ GetAssetAddresses :: AssetId -> Blockfrost m (Either BlockfrostError [AssetAddress])+ GetAssetsByPolicy' :: PolicyId -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AssetInfo])+ GetAssetsByPolicy :: PolicyId -> Blockfrost m (Either BlockfrostError [AssetInfo])++ -- Client.Cardano.Scripts+ ListScripts' :: Paged -> SortOrder -> Blockfrost m (Either BlockfrostError ScriptHashList)+ ListScripts :: Blockfrost m (Either BlockfrostError ScriptHashList)+ GetScript :: ScriptHash -> Blockfrost m (Either BlockfrostError Script)+ GetScriptRedeemers' :: ScriptHash -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [ScriptRedeemer])+ GetScriptRedeemers :: ScriptHash -> Blockfrost m (Either BlockfrostError [ScriptRedeemer])+ GetScriptDatum :: DatumHash -> Blockfrost m (Either BlockfrostError ScriptDatum)+ GetScriptDatumCBOR :: DatumHash -> Blockfrost m (Either BlockfrostError ScriptDatumCBOR)+ GetScriptJSON :: ScriptHash -> Blockfrost m (Either BlockfrostError ScriptJSON)+ GetScriptCBOR :: ScriptHash -> Blockfrost m (Either BlockfrostError ScriptCBOR)++ -- Client.Cardano.Epochs+ GetLatestEpoch :: Blockfrost m (Either BlockfrostError EpochInfo)+ GetLatestEpochProtocolParams :: Blockfrost m (Either BlockfrostError ProtocolParams)+ GetEpoch :: Epoch -> Blockfrost m (Either BlockfrostError EpochInfo)+ GetNextEpochs' :: Epoch -> Paged -> Blockfrost m (Either BlockfrostError [EpochInfo])+ GetNextEpochs :: Epoch -> Blockfrost m (Either BlockfrostError [EpochInfo])+ GetPreviousEpochs' :: Epoch -> Paged -> Blockfrost m (Either BlockfrostError [EpochInfo])+ GetPreviousEpochs :: Epoch -> Blockfrost m (Either BlockfrostError [EpochInfo])+ GetEpochStake' :: Epoch -> Paged -> Blockfrost m (Either BlockfrostError [StakeDistribution])+ GetEpochStake :: Epoch -> Blockfrost m (Either BlockfrostError [StakeDistribution])+ GetEpochStakeByPool' :: Epoch -> PoolId -> Paged -> Blockfrost m (Either BlockfrostError [PoolStakeDistribution])+ GetEpochStakeByPool :: Epoch -> PoolId -> Blockfrost m (Either BlockfrostError [PoolStakeDistribution])+ GetEpochBlocks' :: Epoch -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [BlockHash])+ GetEpochBlocks :: Epoch -> Blockfrost m (Either BlockfrostError [BlockHash])+ GetEpochBlocksByPool' :: Epoch -> PoolId -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [BlockHash])+ GetEpochBlocksByPool :: Epoch -> PoolId -> Blockfrost m (Either BlockfrostError [BlockHash])+ GetEpochProtocolParams :: Epoch -> Blockfrost m (Either BlockfrostError ProtocolParams)++ -- Client.Cardano.Transactions+ GetTx :: TxHash -> Blockfrost m (Either BlockfrostError Transaction)+ GetTxUtxos :: TxHash -> Blockfrost m (Either BlockfrostError TransactionUtxos)+ GetTxRedeemers :: TxHash -> Blockfrost m (Either BlockfrostError [TransactionRedeemer])+ GetTxStakes :: TxHash -> Blockfrost m (Either BlockfrostError [TransactionStake])+ GetTxDelegations :: TxHash -> Blockfrost m (Either BlockfrostError [TransactionDelegation])+ GetTxWithdrawals :: TxHash -> Blockfrost m (Either BlockfrostError [TransactionWithdrawal])+ GetTxMirs :: TxHash -> Blockfrost m (Either BlockfrostError [TransactionMir])+ GetTxPoolUpdates :: TxHash -> Blockfrost m (Either BlockfrostError [TransactionPoolUpdate])+ GetTxPoolRetiring :: TxHash -> Blockfrost m (Either BlockfrostError [TransactionPoolRetiring])+ GetTxMetadataJSON :: TxHash -> Blockfrost m (Either BlockfrostError [TransactionMetaJSON])+ GetTxMetadataCBOR :: TxHash -> Blockfrost m (Either BlockfrostError [TransactionMetaCBOR])+ SubmitTx :: CBORString -> Blockfrost m (Either BlockfrostError TxHash)++ -- Client.Cardano.Ledger+ GetLedgerGenesis :: Blockfrost m (Either BlockfrostError Genesis)++ -- Client.Cardano.Accounts+ GetAccount :: Address -> Blockfrost m (Either BlockfrostError AccountInfo)+ GetAccountRewards' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AccountReward])+ GetAccountRewards :: Address -> Blockfrost m (Either BlockfrostError [AccountReward])+ GetAccountHistory' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AccountHistory])+ GetAccountHistory :: Address -> Blockfrost m (Either BlockfrostError [AccountHistory])+ GetAccountDelegations' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AccountDelegation])+ GetAccountDelegations :: Address -> Blockfrost m (Either BlockfrostError [AccountDelegation])+ GetAccountRegistrations' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AccountRegistration])+ GetAccountRegistrations :: Address -> Blockfrost m (Either BlockfrostError [AccountRegistration])+ GetAccountWithdrawals' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AccountWithdrawal])+ GetAccountWithdrawals :: Address -> Blockfrost m (Either BlockfrostError [AccountWithdrawal])+ GetAccountMirs' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AccountMir])+ GetAccountMirs :: Address -> Blockfrost m (Either BlockfrostError [AccountMir])+ GetAccountAssociatedAddresses' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [AddressAssociated])+ GetAccountAssociatedAddresses :: Address -> Blockfrost m (Either BlockfrostError [AddressAssociated])+ GetAccountAssociatedAddressesTotal :: Address -> Blockfrost m (Either BlockfrostError AddressAssociatedTotal)+ GetAccountAssociatedAssets' :: Address -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [Amount])+ GetAccountAssociatedAssets :: Address -> Blockfrost m (Either BlockfrostError [Amount])++ -- Client.Cardano.Pools+ ListPools' :: Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [PoolId])+ ListPools :: Blockfrost m (Either BlockfrostError [PoolId])+ ListPoolsExtended' :: Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [Pool])+ ListPoolsExtended :: Blockfrost m (Either BlockfrostError [Pool])+ ListRetiredPools' :: Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [PoolEpoch])+ ListRetiredPools :: Blockfrost m (Either BlockfrostError [PoolEpoch])+ ListRetiringPools' :: Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [PoolEpoch])+ ListRetiringPools :: Blockfrost m (Either BlockfrostError [PoolEpoch])+ GetPool :: PoolId -> Blockfrost m (Either BlockfrostError PoolInfo)+ GetPoolHistory' :: PoolId -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [PoolHistory])+ GetPoolHistory :: PoolId -> Blockfrost m (Either BlockfrostError [PoolHistory])+ GetPoolMetadata :: PoolId -> Blockfrost m (Either BlockfrostError (Maybe PoolMetadata))+ GetPoolRelays :: PoolId -> Blockfrost m (Either BlockfrostError [PoolRelay])+ GetPoolDelegators' :: PoolId -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [PoolDelegator])+ GetPoolDelegators :: PoolId -> Blockfrost m (Either BlockfrostError [PoolDelegator])+ GetPoolBlocks' :: PoolId -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [BlockHash])+ GetPoolBlocks :: PoolId -> Blockfrost m (Either BlockfrostError [BlockHash])+ GetPoolUpdates' :: PoolId -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [PoolUpdate])+ GetPoolUpdates :: PoolId -> Blockfrost m (Either BlockfrostError [PoolUpdate])++ -- Client.Cardano.Metadata+ GetTxMetadataLabels' :: Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [TxMeta])+ GetTxMetadataLabels :: Blockfrost m (Either BlockfrostError [TxMeta])+ GetTxMetadataByLabelJSON' :: Text -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [TxMetaJSON])+ GetTxMetadataByLabelJSON :: Text -> Blockfrost m (Either BlockfrostError [TxMetaJSON])+ GetTxMetadataByLabelCBOR' :: Text -> Paged -> SortOrder -> Blockfrost m (Either BlockfrostError [TxMetaCBOR])+ GetTxMetadataByLabelCBOR :: Text -> Blockfrost m (Either BlockfrostError [TxMetaCBOR])++makeSem ''Blockfrost++callBlockfrost :: ()+ => Member (Reader Project) r+ => Member (Embed IO) r+ => BF.BlockfrostClientT IO b+ -> Sem r (Either BlockfrostError b)+callBlockfrost f = do+ project <- ask @Project+ embed (BF.runBlockfrost project f)++runBlockfrost :: ()+ => Member (Embed IO) r+ => Member (Reader Project) r+ => Sem (Blockfrost ': r) a+ -> Sem r a+runBlockfrost =+ interpret $ \case+ -- Client+ GetRoot -> callBlockfrost $ BF.getRoot+ GetHealth -> callBlockfrost $ BF.getHealth+ GetClock -> callBlockfrost $ BF.getClock+ GetMetrics -> callBlockfrost $ BF.getMetrics+ GetMetricsEndpoints -> callBlockfrost $ BF.getMetricsEndpoints++ -- Client.NutLink+ NutlinkListAddress a -> callBlockfrost $ BF.nutlinkListAddress a+ NutlinkListAddressTickers' a b c -> callBlockfrost $ BF.nutlinkListAddressTickers' a b c+ NutlinkListAddressTickers a -> callBlockfrost $ BF.nutlinkListAddressTickers a+ NutlinkAddressTickers' a b c d -> callBlockfrost $ BF.nutlinkAddressTickers' a b c d+ NutlinkAddressTickers a b -> callBlockfrost $ BF.nutlinkAddressTickers a b+ NutlinkTickers' a b c -> callBlockfrost $ BF.nutlinkTickers' a b c+ NutlinkTickers a -> callBlockfrost $ BF.nutlinkTickers a++ -- -- Client.IPFS+ IpfsGateway a -> callBlockfrost $ BF.ipfsGateway a+ IpfsPin a -> callBlockfrost $ BF.ipfsPin a+ IpfsListPins' a b -> callBlockfrost $ BF.ipfsListPins' a b+ IpfsListPins -> callBlockfrost $ BF.ipfsListPins+ IpfsGetPin a -> callBlockfrost $ BF.ipfsGetPin a+ IpfsRemovePin a -> callBlockfrost $ BF.ipfsRemovePin a++ -- Client.Cardano.Blocks+ GetLatestBlock -> callBlockfrost $ BF.getLatestBlock+ GetLatestBlockTxs' a b -> callBlockfrost $ BF.getLatestBlockTxs' a b+ GetLatestBlockTxs -> callBlockfrost $ BF.getLatestBlockTxs+ GetBlock a -> callBlockfrost $ BF.getBlock a+ GetBlockSlot a -> callBlockfrost $ BF.getBlockSlot a+ GetBlockEpochSlot a b -> callBlockfrost $ BF.getBlockEpochSlot a b+ GetNextBlocks' a b -> callBlockfrost $ BF.getNextBlocks' a b+ GetNextBlocks a -> callBlockfrost $ BF.getNextBlocks a+ GetPreviousBlocks' a b -> callBlockfrost $ BF.getPreviousBlocks' a b+ GetPreviousBlocks a -> callBlockfrost $ BF.getPreviousBlocks a+ GetBlockTxs' a b c -> callBlockfrost $ BF.getBlockTxs' a b c+ GetBlockTxs a -> callBlockfrost $ BF.getBlockTxs a+ GetBlockAffectedAddresses' a b -> callBlockfrost $ BF.getBlockAffectedAddresses' a b+ GetBlockAffectedAddresses a -> callBlockfrost $ BF.getBlockAffectedAddresses a++ -- -- Client.Cardano.Network+ GetNetworkInfo -> callBlockfrost $ BF.getNetworkInfo+ GetNetworkEras -> callBlockfrost $ BF.getNetworkEras++ -- Client.Cardano.Addresses+ GetAddressInfo a -> callBlockfrost $ BF.getAddressInfo a+ GetAddressInfoExtended a -> callBlockfrost $ BF.getAddressInfoExtended a+ GetAddressDetails a -> callBlockfrost $ BF.getAddressDetails a+ GetAddressUtxos' a b c -> callBlockfrost $ BF.getAddressUtxos' a b c+ GetAddressUtxos a -> callBlockfrost $ BF.getAddressUtxos a+ GetAddressUtxosAsset' a b c d -> callBlockfrost $ BF.getAddressUtxosAsset' a b c d+ GetAddressUtxosAsset a b -> callBlockfrost $ BF.getAddressUtxosAsset a b+ GetAddressTransactions a -> callBlockfrost $ BF.getAddressTransactions a++ -- Client.Cardano.Assets+ GetAssets' a b -> callBlockfrost $ BF.getAssets' a b+ GetAssets -> callBlockfrost $ BF.getAssets+ GetAssetDetails a -> callBlockfrost $ BF.getAssetDetails a+ GetAssetHistory' a b c -> callBlockfrost $ BF.getAssetHistory' a b c+ GetAssetHistory a -> callBlockfrost $ BF.getAssetHistory a+ GetAssetTransactions' a b c -> callBlockfrost $ BF.getAssetTransactions' a b c+ GetAssetTransactions a -> callBlockfrost $ BF.getAssetTransactions a+ GetAssetAddresses' a b c -> callBlockfrost $ BF.getAssetAddresses' a b c+ GetAssetAddresses a -> callBlockfrost $ BF.getAssetAddresses a+ GetAssetsByPolicy' a b c -> callBlockfrost $ BF.getAssetsByPolicy' a b c+ GetAssetsByPolicy a -> callBlockfrost $ BF.getAssetsByPolicy a++ -- Client.Cardano.Scripts+ ListScripts' a b -> callBlockfrost $ BF.listScripts' a b+ ListScripts -> callBlockfrost $ BF.listScripts+ GetScript a -> callBlockfrost $ BF.getScript a+ GetScriptRedeemers' a b c -> callBlockfrost $ BF.getScriptRedeemers' a b c+ GetScriptRedeemers a -> callBlockfrost $ BF.getScriptRedeemers a+ GetScriptDatum a -> callBlockfrost $ BF.getScriptDatum a+ GetScriptDatumCBOR a -> callBlockfrost $ BF.getScriptDatumCBOR a+ GetScriptJSON a -> callBlockfrost $ BF.getScriptJSON a+ GetScriptCBOR a -> callBlockfrost $ BF.getScriptCBOR a++ -- Client.Cardano.Epochs+ GetLatestEpoch -> callBlockfrost $ BF.getLatestEpoch+ GetLatestEpochProtocolParams -> callBlockfrost $ BF.getLatestEpochProtocolParams+ GetEpoch a -> callBlockfrost $ BF.getEpoch a+ GetNextEpochs' a b -> callBlockfrost $ BF.getNextEpochs' a b+ GetNextEpochs a -> callBlockfrost $ BF.getNextEpochs a+ GetPreviousEpochs' a b -> callBlockfrost $ BF.getPreviousEpochs' a b+ GetPreviousEpochs a -> callBlockfrost $ BF.getPreviousEpochs a+ GetEpochStake' a b -> callBlockfrost $ BF.getEpochStake' a b+ GetEpochStake a -> callBlockfrost $ BF.getEpochStake a+ GetEpochStakeByPool' a b c -> callBlockfrost $ BF.getEpochStakeByPool' a b c+ GetEpochStakeByPool a b -> callBlockfrost $ BF.getEpochStakeByPool a b+ GetEpochBlocks' a b c -> callBlockfrost $ BF.getEpochBlocks' a b c+ GetEpochBlocks a -> callBlockfrost $ BF.getEpochBlocks a+ GetEpochBlocksByPool' a b c d -> callBlockfrost $ BF.getEpochBlocksByPool' a b c d+ GetEpochBlocksByPool a b -> callBlockfrost $ BF.getEpochBlocksByPool a b+ GetEpochProtocolParams a -> callBlockfrost $ BF.getEpochProtocolParams a++ -- Client.Cardano.Transactions+ GetTx a -> callBlockfrost $ BF.getTx a+ GetTxUtxos a -> callBlockfrost $ BF.getTxUtxos a+ GetTxRedeemers a -> callBlockfrost $ BF.getTxRedeemers a+ GetTxStakes a -> callBlockfrost $ BF.getTxStakes a+ GetTxDelegations a -> callBlockfrost $ BF.getTxDelegations a+ GetTxWithdrawals a -> callBlockfrost $ BF.getTxWithdrawals a+ GetTxMirs a -> callBlockfrost $ BF.getTxMirs a+ GetTxPoolUpdates a -> callBlockfrost $ BF.getTxPoolUpdates a+ GetTxPoolRetiring a -> callBlockfrost $ BF.getTxPoolRetiring a+ GetTxMetadataJSON a -> callBlockfrost $ BF.getTxMetadataJSON a+ GetTxMetadataCBOR a -> callBlockfrost $ BF.getTxMetadataCBOR a+ SubmitTx a -> callBlockfrost $ BF.submitTx a++ -- Client.Cardano.Ledger+ GetLedgerGenesis -> callBlockfrost $ BF.getLedgerGenesis++ -- Client.Cardano.Accounts+ GetAccount a -> callBlockfrost $ BF.getAccount a+ GetAccountRewards' a b c -> callBlockfrost $ BF.getAccountRewards' a b c+ GetAccountRewards a -> callBlockfrost $ BF.getAccountRewards a+ GetAccountHistory' a b c -> callBlockfrost $ BF.getAccountHistory' a b c+ GetAccountHistory a -> callBlockfrost $ BF.getAccountHistory a+ GetAccountDelegations' a b c -> callBlockfrost $ BF.getAccountDelegations' a b c+ GetAccountDelegations a -> callBlockfrost $ BF.getAccountDelegations a+ GetAccountRegistrations' a b c -> callBlockfrost $ BF.getAccountRegistrations' a b c+ GetAccountRegistrations a -> callBlockfrost $ BF.getAccountRegistrations a+ GetAccountWithdrawals' a b c -> callBlockfrost $ BF.getAccountWithdrawals' a b c+ GetAccountWithdrawals a -> callBlockfrost $ BF.getAccountWithdrawals a+ GetAccountMirs' a b c -> callBlockfrost $ BF.getAccountMirs' a b c+ GetAccountMirs a -> callBlockfrost $ BF.getAccountMirs a+ GetAccountAssociatedAddresses' a b c -> callBlockfrost $ BF.getAccountAssociatedAddresses' a b c+ GetAccountAssociatedAddresses a -> callBlockfrost $ BF.getAccountAssociatedAddresses a+ GetAccountAssociatedAddressesTotal a -> callBlockfrost $ BF.getAccountAssociatedAddressesTotal a+ GetAccountAssociatedAssets' a b c -> callBlockfrost $ BF.getAccountAssociatedAssets' a b c+ GetAccountAssociatedAssets a -> callBlockfrost $ BF.getAccountAssociatedAssets a++ -- Client.Cardano.Pools+ ListPools' a b -> callBlockfrost $ BF.listPools' a b+ ListPools -> callBlockfrost $ BF.listPools+ ListPoolsExtended' a b -> callBlockfrost $ BF.listPoolsExtended' a b+ ListPoolsExtended -> callBlockfrost $ BF.listPoolsExtended+ ListRetiredPools' a b -> callBlockfrost $ BF.listRetiredPools' a b+ ListRetiredPools -> callBlockfrost $ BF.listRetiredPools+ ListRetiringPools' a b -> callBlockfrost $ BF.listRetiringPools' a b+ ListRetiringPools -> callBlockfrost $ BF.listRetiringPools+ GetPool a -> callBlockfrost $ BF.getPool a+ GetPoolHistory' a b c -> callBlockfrost $ BF.getPoolHistory' a b c+ GetPoolHistory a -> callBlockfrost $ BF.getPoolHistory a+ GetPoolMetadata a -> callBlockfrost $ BF.getPoolMetadata a+ GetPoolRelays a -> callBlockfrost $ BF.getPoolRelays a+ GetPoolDelegators' a b c -> callBlockfrost $ BF.getPoolDelegators' a b c+ GetPoolDelegators a -> callBlockfrost $ BF.getPoolDelegators a+ GetPoolBlocks' a b c -> callBlockfrost $ BF.getPoolBlocks' a b c+ GetPoolBlocks a -> callBlockfrost $ BF.getPoolBlocks a+ GetPoolUpdates' a b c -> callBlockfrost $ BF.getPoolUpdates' a b c+ GetPoolUpdates a -> callBlockfrost $ BF.getPoolUpdates a++ -- Client.Cardano.Metadata+ GetTxMetadataLabels' a b -> callBlockfrost $ BF.getTxMetadataLabels' a b+ GetTxMetadataLabels -> callBlockfrost $ BF.getTxMetadataLabels+ GetTxMetadataByLabelJSON' a b c -> callBlockfrost $ BF.getTxMetadataByLabelJSON' a b c+ GetTxMetadataByLabelJSON a -> callBlockfrost $ BF.getTxMetadataByLabelJSON a+ GetTxMetadataByLabelCBOR' a b c -> callBlockfrost $ BF.getTxMetadataByLabelCBOR' a b c+ GetTxMetadataByLabelCBOR a -> callBlockfrost $ BF.getTxMetadataByLabelCBOR a
+ test/Main.hs view
@@ -0,0 +1,1 @@+{-# OPTIONS_GHC -F -pgmF tasty-discover #-}