hydra-node
Safe HaskellSafe-Inferred
LanguageGHC2021

Hydra.Chain.Blockfrost.Client

Synopsis

Documentation

data BlockfrostConversion Source #

Constructors

BlockfrostConversion 

Fields

blockfrostRetryPolicy :: MonadIO m => RetryPolicyM m Source #

Retry policy for transient Blockfrost errors: full-jitter exponential backoff with 1s base, capped at 60s, at most maxRetries retries.

submissionRetryPolicy :: MonadIO m => RetryPolicyM m Source #

Rate-limit retry policy for transaction submission: like blockfrostRetryPolicy, but gives up well before the upper validity bound of close/contest transactions (now + min(contestationPeriod, maxGraceTime = 200s), set at construction and not refreshed on retry). Retrying past that point could only surface an expired-validity error instead of a timely rate-limit failure the caller can react to. The cumulative delay limit only kicks in once reached, so the worst case is ~120s plus one more (up to 60s) delay, still below maxGraceTime.

queryScriptRegistry :: NetworkId -> [TxId] -> BlockfrostClientT IO ScriptRegistry Source #

Query for TxIns in the search for outputs containing all the reference scripts of the ScriptRegistry.

This is implemented by repeated querying until we have all necessary reference scripts as we do only know the transaction id, not the indices.

Can throw at least NewScriptRegistryException on failure.

maxRetries :: Int Source #

Maximum number of retries for transient Blockfrost errors.

awaitPolicy :: MonadIO m => RetryPolicyM m Source #

Policy for awaiting eventually-consistent query results (tx inclusion, indexer catch-up): full-jitter backoff capped at 10s per attempt, giving up once retries have accumulated ~5 minutes of waiting. Not to be confused with blockfrostRetryPolicy, which handles HTTP 429 inside every request.

runBlockfrostMWith :: (MonadIO m, MonadThrow m) => RetryPolicyM m -> Project -> BlockfrostClientT IO a -> m a Source #

Like runBlockfrostM but with a custom rate-limit retry policy.

runBlockfrostM :: (MonadIO m, MonadThrow m) => Project -> BlockfrostClientT IO a -> m a Source #

Run a Blockfrost client action, retrying when rate limited (HTTP 429) using blockfrostRetryPolicy. blockfrost-client does not expose the Retry-After header, so the delay is blind. Gives up by throwing BlockfrostRateLimited.

queryUTxOByTxIn :: NetworkId -> [TxIn] -> BlockfrostClientT IO UTxO Source #

Query the Blockfrost API to get the UTxO for TxIn and convert to cardano UTxO. Awaits the tx being indexed by Blockfrost (eventual consistency), retrying with awaitPolicy before giving up with FailedUTxOForHash.

scriptTypeToPlutusVersion :: ScriptType -> Maybe Language Source #

toCardanoUTxO :: NetworkId -> TxIn -> Address -> Maybe ScriptHash -> Maybe DatumHash -> [Amount] -> Maybe InlineDatum -> BlockfrostClientT IO UTxO Source #

queryScript :: Text -> BlockfrostClientT IO (Maybe PlutusScript) Source #

toCardanoTxOut :: NetworkId -> Text -> Value -> Maybe Text -> Maybe Text -> Maybe PlutusScript -> BlockfrostClientT IO (TxOut ctx) Source #

toCardanoPoolId :: PoolId -> Hash StakePoolKey Source #

toCardanoTxIn :: Text -> Integer -> TxIn Source #

toCardanoAddress :: Text -> Maybe AddressInEra Source #

toCardanoPolicyIdAndAssetName :: Text -> BlockfrostClientT IO (PolicyId, AssetName) Source #

toCardanoGenesisParameters :: Genesis -> GenesisParameters ShelleyEra Source #

awaitOrThrow :: (a -> Maybe b) -> BlockfrostException -> BlockfrostClientT IO a -> BlockfrostClientT IO b Source #

Run an action with awaitPolicy until the projection yields a result, throwing the given BlockfrostException once retries are exhausted. Blockfrost is eventually consistent, so queries can lag recently submitted transactions.

queryUTxO :: NetworkId -> [Address ShelleyAddr] -> BlockfrostClientT IO UTxO Source #

Query the Blockfrost API for address UTxO and convert to cardano UTxO. NOTE: We accept the address list here to be compatible with cardano-api but in fact this is a single address query always.

queryUTxOFor :: NetworkId -> VerificationKey PaymentKey -> BlockfrostClientT IO UTxO Source #

queryTip :: BlockfrostClientT IO ChainPoint Source #

Query the Blockfrost API for Genesis and convert to cardano ChainPoint.

awaitTransaction :: NetworkId -> Tx -> VerificationKey PaymentKey -> BlockfrostClientT IO UTxO Source #

awaitUTxO Source #

Arguments

:: NetworkId

Network id

-> [Address ShelleyAddr]

Addresses we are interested in

-> Tx

Transaction to await

-> BlockfrostClientT IO UTxO 

Wait for the transaction to be included and return its outputs paying to the given addresses, awaiting until an address query reflects them. An empty result is not a failure: the tx pays nothing to those addresses, and only inclusion is awaited.

data Block #

Instances

Instances details
FromJSON Block 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Methods

parseJSON :: Value -> Parser Block

parseJSONList :: Value -> Parser [Block]

omittedField :: Maybe Block

ToJSON Block 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Methods

toJSON :: Block -> Value

toEncoding :: Block -> Encoding

toJSONList :: [Block] -> Value

toEncodingList :: [Block] -> Encoding

omitField :: Block -> Bool

Generic Block 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Associated Types

type Rep Block :: Type -> Type Source #

Methods

from :: Block -> Rep Block x Source #

to :: Rep Block x -> Block Source #

Show Block 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Eq Block 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Methods

(==) :: Block -> Block -> Bool Source #

(/=) :: Block -> Block -> Bool Source #

ToSample Block 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Methods

toSamples :: Proxy Block -> [(Text, Block)]

HasConfirmations Block Integer 
Instance details

Defined in Blockfrost.Lens

Methods

confirmations :: Lens' Block Integer

a ~ Maybe Lovelaces => HasFees Block a 
Instance details

Defined in Blockfrost.Lens

Methods

fees :: Lens' Block a

HasHash Block BlockHash 
Instance details

Defined in Blockfrost.Lens

Methods

hash :: Lens' Block BlockHash

a ~ Maybe Lovelaces => HasOutput Block a 
Instance details

Defined in Blockfrost.Lens

Methods

output :: Lens' Block a

HasSize Block Integer 
Instance details

Defined in Blockfrost.Lens

Methods

size :: Lens' Block Integer

HasSlotLeader Block Text 
Instance details

Defined in Blockfrost.Lens

Methods

slotLeader :: Lens' Block Text

HasTime Block POSIXTime 
Instance details

Defined in Blockfrost.Lens

Methods

time :: Lens' Block POSIXTime

HasTxCount Block Integer 
Instance details

Defined in Blockfrost.Lens

Methods

txCount :: Lens' Block Integer

HasBlockVrf Block (Maybe Text) 
Instance details

Defined in Blockfrost.Lens

Methods

blockVrf :: Lens' Block (Maybe Text)

HasEpoch Block (Maybe Epoch) 
Instance details

Defined in Blockfrost.Lens

Methods

epoch :: Lens' Block (Maybe Epoch)

HasEpochSlot Block (Maybe Integer) 
Instance details

Defined in Blockfrost.Lens

Methods

epochSlot :: Lens' Block (Maybe Integer)

HasHeight Block (Maybe Integer) 
Instance details

Defined in Blockfrost.Lens

Methods

height :: Lens' Block (Maybe Integer)

HasNextBlock Block (Maybe BlockHash) 
Instance details

Defined in Blockfrost.Lens

Methods

nextBlock :: Lens' Block (Maybe BlockHash)

HasOpCert Block (Maybe Text) 
Instance details

Defined in Blockfrost.Lens

Methods

opCert :: Lens' Block (Maybe Text)

HasOpCertCounter Block (Maybe Quantity) 
Instance details

Defined in Blockfrost.Lens

Methods

opCertCounter :: Lens' Block (Maybe Quantity)

HasPreviousBlock Block (Maybe BlockHash) 
Instance details

Defined in Blockfrost.Lens

HasSlot Block (Maybe Slot) 
Instance details

Defined in Blockfrost.Lens

Methods

slot :: Lens' Block (Maybe Slot)

type Rep Block 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

type Rep Block = D1 ('MetaData "Block" "Blockfrost.Types.Cardano.Blocks" "blockfrost-api-0.15.0.0-HeNUgdZsDZyL8sVfNe2EH8" 'False) (C1 ('MetaCons "Block" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "_blockTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 POSIXTime) :*: S1 ('MetaSel ('Just "_blockHeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Integer))) :*: (S1 ('MetaSel ('Just "_blockHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BlockHash) :*: S1 ('MetaSel ('Just "_blockSlot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Slot)))) :*: ((S1 ('MetaSel ('Just "_blockEpoch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Epoch)) :*: S1 ('MetaSel ('Just "_blockEpochSlot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Integer))) :*: (S1 ('MetaSel ('Just "_blockSlotLeader") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "_blockSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))) :*: (((S1 ('MetaSel ('Just "_blockTxCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "_blockOutput") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Lovelaces))) :*: (S1 ('MetaSel ('Just "_blockFees") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Lovelaces)) :*: S1 ('MetaSel ('Just "_blockBlockVrf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "_blockOpCert") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "_blockOpCertCounter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Quantity))) :*: (S1 ('MetaSel ('Just "_blockPreviousBlock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BlockHash)) :*: (S1 ('MetaSel ('Just "_blockNextBlock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BlockHash)) :*: S1 ('MetaSel ('Just "_blockConfirmations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))))))

newtype Slot #

Constructors

Slot Integer 

Instances

Instances details
FromJSON Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Methods

parseJSON :: Value -> Parser Slot

parseJSONList :: Value -> Parser [Slot]

omittedField :: Maybe Slot

ToJSON Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Methods

toJSON :: Slot -> Value

toEncoding :: Slot -> Encoding

toJSONList :: [Slot] -> Value

toEncodingList :: [Slot] -> Encoding

omitField :: Slot -> Bool

Enum Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Generic Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Associated Types

type Rep Slot :: Type -> Type Source #

Methods

from :: Slot -> Rep Slot x Source #

to :: Rep Slot x -> Slot Source #

Num Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Integral Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Real Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Show Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Eq Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Methods

(==) :: Slot -> Slot -> Bool Source #

(/=) :: Slot -> Slot -> Bool Source #

Ord Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

FromHttpApiData Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Methods

parseUrlPiece :: Text -> Either Text Slot

parseHeader :: ByteString -> Either Text Slot

parseQueryParam :: Text -> Either Text Slot

ToHttpApiData Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

ToSample Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Methods

toSamples :: Proxy Slot -> [(Text, Slot)]

HasBoundSlot NetworkEraBound Slot 
Instance details

Defined in Blockfrost.Lens

Methods

boundSlot :: Lens' NetworkEraBound Slot

HasSlot Transaction Slot 
Instance details

Defined in Blockfrost.Lens

Methods

slot :: Lens' Transaction Slot

HasSlot Block (Maybe Slot) 
Instance details

Defined in Blockfrost.Lens

Methods

slot :: Lens' Block (Maybe Slot)

ToCapture (Capture "slot_number" Slot) 
Instance details

Defined in Blockfrost.Types.Shared.Slot

Methods

toCapture :: Proxy (Capture "slot_number" Slot) -> DocCapture

type Rep Slot 
Instance details

Defined in Blockfrost.Types.Shared.Slot

type Rep Slot = D1 ('MetaData "Slot" "Blockfrost.Types.Shared.Slot" "blockfrost-api-0.15.0.0-HeNUgdZsDZyL8sVfNe2EH8" 'True) (C1 ('MetaCons "Slot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

newtype BlockHash #

Constructors

BlockHash Text 

Instances

Instances details
FromJSON BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

Methods

parseJSON :: Value -> Parser BlockHash

parseJSONList :: Value -> Parser [BlockHash]

omittedField :: Maybe BlockHash

ToJSON BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

Methods

toJSON :: BlockHash -> Value

toEncoding :: BlockHash -> Encoding

toJSONList :: [BlockHash] -> Value

toEncodingList :: [BlockHash] -> Encoding

omitField :: BlockHash -> Bool

IsString BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

Generic BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

Associated Types

type Rep BlockHash :: Type -> Type Source #

Show BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

Eq BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

Ord BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

FromHttpApiData BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

ToHttpApiData BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

ToSample BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

Methods

toSamples :: Proxy BlockHash -> [(Text, BlockHash)]

HasBlock AddressUtxo BlockHash 
Instance details

Defined in Blockfrost.Lens

Methods

block :: Lens' AddressUtxo BlockHash

HasBlock Transaction BlockHash 
Instance details

Defined in Blockfrost.Lens

Methods

block :: Lens' Transaction BlockHash

HasHash Block BlockHash 
Instance details

Defined in Blockfrost.Lens

Methods

hash :: Lens' Block BlockHash

HasNextBlock Block (Maybe BlockHash) 
Instance details

Defined in Blockfrost.Lens

Methods

nextBlock :: Lens' Block (Maybe BlockHash)

HasPreviousBlock Block (Maybe BlockHash) 
Instance details

Defined in Blockfrost.Lens

ToCapture (Capture "block_hash" BlockHash) 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

Methods

toCapture :: Proxy (Capture "block_hash" BlockHash) -> DocCapture

ToCapture (Capture "hash_or_number" (Either Integer BlockHash)) 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

Methods

toCapture :: Proxy (Capture "hash_or_number" (Either Integer BlockHash)) -> DocCapture

FromHttpApiData (Either Integer BlockHash) 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

ToHttpApiData (Either Integer BlockHash) 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

type Rep BlockHash 
Instance details

Defined in Blockfrost.Types.Shared.BlockHash

type Rep BlockHash = D1 ('MetaData "BlockHash" "Blockfrost.Types.Shared.BlockHash" "blockfrost-api-0.15.0.0-HeNUgdZsDZyL8sVfNe2EH8" 'True) (C1 ('MetaCons "BlockHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data BlockfrostClientT (m :: Type -> Type) a #

Instances

Instances details
Monad m => MonadError BlockfrostError (BlockfrostClientT m) 
Instance details

Defined in Blockfrost.Client.Types

Methods

throwError :: BlockfrostError -> BlockfrostClientT m a Source #

catchError :: BlockfrostClientT m a -> (BlockfrostError -> BlockfrostClientT m a) -> BlockfrostClientT m a Source #

Monad m => MonadReader ClientConfig (BlockfrostClientT m) 
Instance details

Defined in Blockfrost.Client.Types

Methods

ask :: BlockfrostClientT m ClientConfig Source #

local :: (ClientConfig -> ClientConfig) -> BlockfrostClientT m a -> BlockfrostClientT m a Source #

reader :: (ClientConfig -> a) -> BlockfrostClientT m a Source #

MonadIO m => MonadIO (BlockfrostClientT m) 
Instance details

Defined in Blockfrost.Client.Types

Methods

liftIO :: IO a -> BlockfrostClientT m a Source #

Monad m => Applicative (BlockfrostClientT m) 
Instance details

Defined in Blockfrost.Client.Types

Functor m => Functor (BlockfrostClientT m) 
Instance details

Defined in Blockfrost.Client.Types

Methods

fmap :: (a -> b) -> BlockfrostClientT m a -> BlockfrostClientT m b Source #

(<$) :: a -> BlockfrostClientT m b -> BlockfrostClientT m a Source #

Monad m => Monad (BlockfrostClientT m) 
Instance details

Defined in Blockfrost.Client.Types

MonadIO m => MonadBlockfrost (BlockfrostClientT m) 
Instance details

Defined in Blockfrost.Client.Types

Methods

liftBlockfrostClient :: ClientM a -> BlockfrostClientT m a

getConf :: BlockfrostClientT m ClientConfig

data Genesis #

Instances

Instances details
FromJSON Genesis 
Instance details

Defined in Blockfrost.Types.Cardano.Genesis

Methods

parseJSON :: Value -> Parser Genesis

parseJSONList :: Value -> Parser [Genesis]

omittedField :: Maybe Genesis

ToJSON Genesis 
Instance details

Defined in Blockfrost.Types.Cardano.Genesis

Methods

toJSON :: Genesis -> Value

toEncoding :: Genesis -> Encoding

toJSONList :: [Genesis] -> Value

toEncodingList :: [Genesis] -> Encoding

omitField :: Genesis -> Bool

Generic Genesis 
Instance details

Defined in Blockfrost.Types.Cardano.Genesis

Associated Types

type Rep Genesis :: Type -> Type Source #

Show Genesis 
Instance details

Defined in Blockfrost.Types.Cardano.Genesis

Eq Genesis 
Instance details

Defined in Blockfrost.Types.Cardano.Genesis

ToSample Genesis 
Instance details

Defined in Blockfrost.Types.Cardano.Genesis

Methods

toSamples :: Proxy Genesis -> [(Text, Genesis)]

HasActiveSlotsCoefficient Genesis Rational 
Instance details

Defined in Blockfrost.Lens

HasEpochLength Genesis Integer 
Instance details

Defined in Blockfrost.Lens

Methods

epochLength :: Lens' Genesis Integer

HasMaxKesEvolutions Genesis Integer 
Instance details

Defined in Blockfrost.Lens

a ~ Lovelaces => HasMaxLovelaceSupply Genesis a 
Instance details

Defined in Blockfrost.Lens

Methods

maxLovelaceSupply :: Lens' Genesis a

HasNetworkMagic Genesis Integer 
Instance details

Defined in Blockfrost.Lens

Methods

networkMagic :: Lens' Genesis Integer

HasSecurityParam Genesis Integer 
Instance details

Defined in Blockfrost.Lens

Methods

securityParam :: Lens' Genesis Integer

HasSlotLength Genesis Integer 
Instance details

Defined in Blockfrost.Lens

Methods

slotLength :: Lens' Genesis Integer

HasSlotsPerKesPeriod Genesis Integer 
Instance details

Defined in Blockfrost.Lens

HasSystemStart Genesis POSIXTime 
Instance details

Defined in Blockfrost.Lens

Methods

systemStart :: Lens' Genesis POSIXTime

HasUpdateQuorum Genesis Integer 
Instance details

Defined in Blockfrost.Lens

Methods

updateQuorum :: Lens' Genesis Integer

type Rep Genesis 
Instance details

Defined in Blockfrost.Types.Cardano.Genesis

type Rep Genesis = D1 ('MetaData "Genesis" "Blockfrost.Types.Cardano.Genesis" "blockfrost-api-0.15.0.0-HeNUgdZsDZyL8sVfNe2EH8" 'False) (C1 ('MetaCons "Genesis" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_genesisActiveSlotsCoefficient") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational) :*: S1 ('MetaSel ('Just "_genesisUpdateQuorum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :*: (S1 ('MetaSel ('Just "_genesisMaxLovelaceSupply") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lovelaces) :*: (S1 ('MetaSel ('Just "_genesisNetworkMagic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "_genesisEpochLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))) :*: ((S1 ('MetaSel ('Just "_genesisSystemStart") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 POSIXTime) :*: S1 ('MetaSel ('Just "_genesisSlotsPerKesPeriod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :*: (S1 ('MetaSel ('Just "_genesisSlotLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: (S1 ('MetaSel ('Just "_genesisMaxKesEvolutions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "_genesisSecurityParam") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))))))

data Project #

Instances

Instances details
IsString Project 
Instance details

Defined in Blockfrost.Auth

Generic Project 
Instance details

Defined in Blockfrost.Auth

Associated Types

type Rep Project :: Type -> Type Source #

Show Project 
Instance details

Defined in Blockfrost.Auth

Eq Project 
Instance details

Defined in Blockfrost.Auth

type Rep Project 
Instance details

Defined in Blockfrost.Auth

type Rep Project = D1 ('MetaData "Project" "Blockfrost.Auth" "blockfrost-api-0.15.0.0-HeNUgdZsDZyL8sVfNe2EH8" 'False) (C1 ('MetaCons "Project" 'PrefixI 'True) (S1 ('MetaSel ('Just "projectEnv") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Env) :*: S1 ('MetaSel ('Just "projectId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

newtype TransactionCBOR #

Constructors

TransactionCBOR 

Fields

Instances

Instances details
FromJSON TransactionCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Transactions

ToJSON TransactionCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Transactions

Generic TransactionCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Transactions

Associated Types

type Rep TransactionCBOR :: Type -> Type Source #

Show TransactionCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Transactions

Eq TransactionCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Transactions

ToSample TransactionCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Transactions

HasCbor TransactionCBOR Text 
Instance details

Defined in Blockfrost.Lens

Methods

cbor :: Lens' TransactionCBOR Text

type Rep TransactionCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Transactions

type Rep TransactionCBOR = D1 ('MetaData "TransactionCBOR" "Blockfrost.Types.Cardano.Transactions" "blockfrost-api-0.15.0.0-HeNUgdZsDZyL8sVfNe2EH8" 'True) (C1 ('MetaCons "TransactionCBOR" 'PrefixI 'True) (S1 ('MetaSel ('Just "_transactionCBORCbor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

newtype TxHash #

Constructors

TxHash 

Fields

Instances

Instances details
FromJSON TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

Methods

parseJSON :: Value -> Parser TxHash

parseJSONList :: Value -> Parser [TxHash]

omittedField :: Maybe TxHash

ToJSON TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

Methods

toJSON :: TxHash -> Value

toEncoding :: TxHash -> Encoding

toJSONList :: [TxHash] -> Value

toEncodingList :: [TxHash] -> Encoding

omitField :: TxHash -> Bool

IsString TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

Generic TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

Associated Types

type Rep TxHash :: Type -> Type Source #

Show TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

Eq TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

Ord TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

FromHttpApiData TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

Methods

parseUrlPiece :: Text -> Either Text TxHash

parseHeader :: ByteString -> Either Text TxHash

parseQueryParam :: Text -> Either Text TxHash

ToHttpApiData TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

ToSample TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

Methods

toSamples :: Proxy TxHash -> [(Text, TxHash)]

HasHash TransactionUtxos TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

hash :: Lens' TransactionUtxos TxHash

HasInitialMintTxHash AssetDetails TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

initialMintTxHash :: Lens' AssetDetails TxHash

HasTxHash AccountDelegation TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' AccountDelegation TxHash

HasTxHash AccountMir TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' AccountMir TxHash

HasTxHash AccountRegistration TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' AccountRegistration TxHash

HasTxHash AccountWithdrawal TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' AccountWithdrawal TxHash

HasTxHash AddressTransaction TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' AddressTransaction TxHash

HasTxHash AddressUtxo TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' AddressUtxo TxHash

HasTxHash AssetHistory TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' AssetHistory TxHash

HasTxHash AssetTransaction TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' AssetTransaction TxHash

HasTxHash DRepUpdate TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' DRepUpdate TxHash

HasTxHash DRepVote TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' DRepVote TxHash

HasTxHash ParamProposal TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' ParamProposal TxHash

HasTxHash ProposalInfo TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' ProposalInfo TxHash

HasTxHash ProposalMeta TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' ProposalMeta TxHash

HasTxHash ProposalVote TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' ProposalVote TxHash

HasTxHash TxMetaCBOR TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' TxMetaCBOR TxHash

HasTxHash TxMetaJSON TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' TxMetaJSON TxHash

HasTxHash PoolUpdate TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' PoolUpdate TxHash

HasTxHash UtxoInput TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' UtxoInput TxHash

HasTxHash NutlinkTicker TxHash 
Instance details

Defined in Blockfrost.Lens

Methods

txHash :: Lens' NutlinkTicker TxHash

ToCapture (Capture "hash" TxHash) 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

Methods

toCapture :: Proxy (Capture "hash" TxHash) -> DocCapture

type Rep TxHash 
Instance details

Defined in Blockfrost.Types.Shared.TxHash

type Rep TxHash = D1 ('MetaData "TxHash" "Blockfrost.Types.Shared.TxHash" "blockfrost-api-0.15.0.0-HeNUgdZsDZyL8sVfNe2EH8" 'True) (C1 ('MetaCons "TxHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "unTxHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

newtype TxHashCBOR #

Constructors

TxHashCBOR 

Instances

Instances details
FromJSON TxHashCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Methods

parseJSON :: Value -> Parser TxHashCBOR

parseJSONList :: Value -> Parser [TxHashCBOR]

omittedField :: Maybe TxHashCBOR

ToJSON TxHashCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Methods

toJSON :: TxHashCBOR -> Value

toEncoding :: TxHashCBOR -> Encoding

toJSONList :: [TxHashCBOR] -> Value

toEncodingList :: [TxHashCBOR] -> Encoding

omitField :: TxHashCBOR -> Bool

Generic TxHashCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Associated Types

type Rep TxHashCBOR :: Type -> Type Source #

Show TxHashCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Eq TxHashCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

ToSample TxHashCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

Methods

toSamples :: Proxy TxHashCBOR -> [(Text, TxHashCBOR)]

type Rep TxHashCBOR 
Instance details

Defined in Blockfrost.Types.Cardano.Blocks

type Rep TxHashCBOR = D1 ('MetaData "TxHashCBOR" "Blockfrost.Types.Cardano.Blocks" "blockfrost-api-0.15.0.0-HeNUgdZsDZyL8sVfNe2EH8" 'True) (C1 ('MetaCons "TxHashCBOR" 'PrefixI 'True) (S1 ('MetaSel ('Just "getTxHashCBOR") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TxHash, TransactionCBOR))))

tryError :: MonadError e m => m a -> m (Either e a) Source #

MonadError analogue to the try function.

allPages :: Monad m => (Paged -> m [a]) -> m [a] #

def :: Default a => a #

getBlock :: MonadBlockfrost m => Either Integer BlockHash -> m Block #

getBlockTxsCBOR' :: MonadBlockfrost m => Either Integer BlockHash -> Paged -> SortOrder -> m [TxHashCBOR] #

getLedgerGenesis :: MonadBlockfrost m => m Genesis #

listPools :: MonadBlockfrost m => m [PoolId] #

runBlockfrost :: Project -> BlockfrostClientT IO a -> IO (Either BlockfrostError a) #