hydra-node-0.22.2: The Hydra node
Safe HaskellSafe-Inferred
LanguageGHC2021

Hydra.Chain.Backend

Synopsis

Documentation

class ChainBackend a where Source #

Methods

queryGenesisParameters :: (MonadIO m, MonadThrow m) => a -> m (GenesisParameters ShelleyEra) Source #

queryScriptRegistry :: (MonadIO m, MonadThrow m) => a -> [TxId] -> m ScriptRegistry Source #

queryNetworkId :: (MonadIO m, MonadThrow m) => a -> m NetworkId Source #

queryTip :: (MonadIO m, MonadThrow m) => a -> m ChainPoint Source #

queryUTxO :: (MonadIO m, MonadThrow m) => a -> [Address ShelleyAddr] -> m UTxO Source #

queryUTxOByTxIn :: (MonadIO m, MonadThrow m) => a -> [TxIn] -> m UTxO Source #

queryEraHistory :: (MonadIO m, MonadThrow m) => a -> QueryPoint -> m EraHistory Source #

querySystemStart :: (MonadIO m, MonadThrow m) => a -> QueryPoint -> m SystemStart Source #

queryProtocolParameters :: (MonadIO m, MonadThrow m) => a -> QueryPoint -> m (PParams LedgerEra) Source #

queryStakePools :: (MonadIO m, MonadThrow m) => a -> QueryPoint -> m (Set PoolId) Source #

queryUTxOFor :: (MonadIO m, MonadThrow m) => a -> QueryPoint -> VerificationKey PaymentKey -> m UTxO Source #

submitTransaction :: (MonadIO m, MonadThrow m) => a -> Tx -> m () Source #

awaitTransaction :: (MonadIO m, MonadThrow m) => a -> Tx -> VerificationKey PaymentKey -> m UTxO Source #

getOptions :: a -> ChainBackendOptions Source #

getBlockTime :: a -> (MonadIO m, MonadThrow m) => m NominalDiffTime Source #

Instances

Instances details
ChainBackend BlockfrostBackend Source # 
Instance details

Defined in Hydra.Chain.Blockfrost

Methods

queryGenesisParameters :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> m (GenesisParameters ShelleyEra) Source #

queryScriptRegistry :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> [TxId] -> m ScriptRegistry Source #

queryNetworkId :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> m NetworkId Source #

queryTip :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> m ChainPoint Source #

queryUTxO :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> [Address ShelleyAddr] -> m UTxO Source #

queryUTxOByTxIn :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> [TxIn] -> m UTxO Source #

queryEraHistory :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> QueryPoint -> m EraHistory Source #

querySystemStart :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> QueryPoint -> m SystemStart Source #

queryProtocolParameters :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> QueryPoint -> m (PParams LedgerEra) Source #

queryStakePools :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> QueryPoint -> m (Set PoolId) Source #

queryUTxOFor :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> QueryPoint -> VerificationKey PaymentKey -> m UTxO Source #

submitTransaction :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> Tx -> m () Source #

awaitTransaction :: (MonadIO m, MonadThrow m) => BlockfrostBackend -> Tx -> VerificationKey PaymentKey -> m UTxO Source #

getOptions :: BlockfrostBackend -> ChainBackendOptions Source #

getBlockTime :: BlockfrostBackend -> (MonadIO m, MonadThrow m) => m NominalDiffTime Source #

ChainBackend DirectBackend Source # 
Instance details

Defined in Hydra.Chain.Direct

Methods

queryGenesisParameters :: (MonadIO m, MonadThrow m) => DirectBackend -> m (GenesisParameters ShelleyEra) Source #

queryScriptRegistry :: (MonadIO m, MonadThrow m) => DirectBackend -> [TxId] -> m ScriptRegistry Source #

queryNetworkId :: (MonadIO m, MonadThrow m) => DirectBackend -> m NetworkId Source #

queryTip :: (MonadIO m, MonadThrow m) => DirectBackend -> m ChainPoint Source #

queryUTxO :: (MonadIO m, MonadThrow m) => DirectBackend -> [Address ShelleyAddr] -> m UTxO Source #

queryUTxOByTxIn :: (MonadIO m, MonadThrow m) => DirectBackend -> [TxIn] -> m UTxO Source #

queryEraHistory :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> m EraHistory Source #

querySystemStart :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> m SystemStart Source #

queryProtocolParameters :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> m (PParams LedgerEra) Source #

queryStakePools :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> m (Set PoolId) Source #

queryUTxOFor :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> VerificationKey PaymentKey -> m UTxO Source #

submitTransaction :: (MonadIO m, MonadThrow m) => DirectBackend -> Tx -> m () Source #

awaitTransaction :: (MonadIO m, MonadThrow m) => DirectBackend -> Tx -> VerificationKey PaymentKey -> m UTxO Source #

getOptions :: DirectBackend -> ChainBackendOptions Source #

getBlockTime :: DirectBackend -> (MonadIO m, MonadThrow m) => m NominalDiffTime Source #

buildTransaction Source #

Arguments

:: ChainBackend backend 
=> backend 
-> AddressInEra

Change address to send

-> UTxO

Unspent transaction outputs to spend.

-> [TxIn]

Collateral inputs.

-> [TxOut CtxTx]

Outputs to create.

-> IO (Either (TxBodyErrorAutoBalance Era) Tx) 

buildTransactionWithPParams Source #

Arguments

:: ChainBackend backend 
=> PParams LedgerEra

Protocol parameters

-> backend 
-> AddressInEra

Change address to send

-> UTxO

Unspent transaction outputs to spend.

-> [TxIn]

Collateral inputs.

-> [TxOut CtxTx]

Outputs to create.

-> IO (Either (TxBodyErrorAutoBalance Era) Tx) 

Construct a simple payment consuming some inputs and producing some outputs (no certificates or withdrawals involved).

On success, the returned transaction is fully balanced. On error, return TxBodyErrorAutoBalance.

buildTransactionWithPParams' Source #

Arguments

:: PParams LedgerEra

Protocol parameters

-> SystemStart 
-> EraHistory 
-> Set PoolId 
-> AddressInEra

Change address to send

-> UTxO

Unspent transaction outputs to spend.

-> [TxIn]

Collateral inputs.

-> [TxOut CtxTx]

Outputs to create.

-> Either (TxBodyErrorAutoBalance Era) Tx 

buildTransactionWithBody Source #

Arguments

:: PParams LedgerEra

Protocol parameters

-> SystemStart

System start

-> EraHistory

Change address to send

-> Set PoolId 
-> AddressInEra 
-> TxBodyContent BuildTx

Body

-> UTxO

Unspent transaction outputs to spend.

-> Either (TxBodyErrorAutoBalance Era) Tx