| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Hydra.Cluster.Faucet
Synopsis
- data FaucetException
- = FaucetHasNotEnoughFunds {
- faucetUTxO :: UTxO
- | FaucetFailedToBuildTx {
- reason :: TxBodyErrorAutoBalance Era
- | FaucetBlockfrostError {
- blockFrostError :: Text
- = FaucetHasNotEnoughFunds {
- data FaucetLog
- = TraceResourceExhaustedHandled Text
- | ReturnedFunds {
- returnAmount :: Coin
- | SubmitTxError Text
- delayBF :: MonadDelay m => ChainBackendOptions -> m ()
- seedFromFaucet :: ChainBackendOptions -> VerificationKey PaymentKey -> Value -> Tracer IO FaucetLog -> IO UTxO
- seedFromFaucetWithMinting :: ChainBackendOptions -> VerificationKey PaymentKey -> Value -> Tracer IO FaucetLog -> Maybe PlutusScript -> IO UTxO
- findFaucetUTxO :: NetworkId -> ChainBackendOptions -> Coin -> IO UTxO
- seedFromFaucetBlockfrost :: VerificationKey PaymentKey -> Coin -> BlockfrostClientT IO UTxO
- findUTxO :: MonadIO m => UTxO Era -> Lovelace -> m (UTxO Era)
- seedFromFaucet_ :: ChainBackendOptions -> VerificationKey PaymentKey -> Coin -> Tracer IO FaucetLog -> IO ()
- returnFundsToFaucet :: Tracer IO FaucetLog -> ChainBackendOptions -> Actor -> IO ()
- returnFundsToFaucet' :: Tracer IO FaucetLog -> ChainBackendOptions -> Secret (SigningKey PaymentKey) -> IO Coin
- createOutputAtAddress :: NetworkId -> ChainBackendOptions -> AddressInEra -> TxOutDatum CtxTx -> Value -> IO (TxIn, TxOut CtxUTxO)
- retryOnExceptions :: (MonadCatch m, MonadDelay m) => Tracer m FaucetLog -> ChainBackendOptions -> m a -> m a
- publishHydraScriptsAs :: ChainBackendOptions -> Actor -> IO [TxId]
- publishOrReuseHydraScripts :: ChainBackendOptions -> Actor -> FilePath -> IO [TxId]
Documentation
data FaucetException Source #
Constructors
| FaucetHasNotEnoughFunds | |
Fields
| |
| FaucetFailedToBuildTx | |
Fields
| |
| FaucetBlockfrostError | |
Fields
| |
Instances
| Exception FaucetException Source # | |
Defined in Hydra.Cluster.Faucet Methods toException :: FaucetException -> SomeException Source # fromException :: SomeException -> Maybe FaucetException Source # | |
| Show FaucetException Source # | |
Defined in Hydra.Cluster.Faucet | |
Constructors
| TraceResourceExhaustedHandled Text | |
| ReturnedFunds | |
Fields
| |
| SubmitTxError Text | |
Instances
| ToJSON FaucetLog Source # | |
Defined in Hydra.Cluster.Faucet Methods toEncoding :: FaucetLog -> Encoding toJSONList :: [FaucetLog] -> Value toEncodingList :: [FaucetLog] -> Encoding | |
| Generic FaucetLog Source # | |
| Show FaucetLog Source # | |
| Eq FaucetLog Source # | |
| type Rep FaucetLog Source # | |
Defined in Hydra.Cluster.Faucet type Rep FaucetLog = D1 ('MetaData "FaucetLog" "Hydra.Cluster.Faucet" "hydra-cluster-2.3.0-AKuIRMQTBGS8QbUdMcH2lm" 'False) (C1 ('MetaCons "TraceResourceExhaustedHandled" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: (C1 ('MetaCons "ReturnedFunds" 'PrefixI 'True) (S1 ('MetaSel ('Just "returnAmount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Coin)) :+: C1 ('MetaCons "SubmitTxError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) | |
seedFromFaucetWithMinting Source #
Arguments
| :: ChainBackendOptions | |
| -> VerificationKey PaymentKey | Recipient of the funds |
| -> Value | Value to get from faucet |
| -> Tracer IO FaucetLog | |
| -> Maybe PlutusScript | |
| -> IO UTxO |
Create a specially marked "seed" UTXO containing requested Value by
redeeming funds available to the well-known faucet.
findFaucetUTxO :: NetworkId -> ChainBackendOptions -> Coin -> IO UTxO Source #
seedFromFaucetBlockfrost Source #
Arguments
| :: VerificationKey PaymentKey | Recipient of the funds |
| -> Coin | Amount to get from faucet |
| -> BlockfrostClientT IO UTxO |
Arguments
| :: ChainBackendOptions | |
| -> VerificationKey PaymentKey | Recipient of the funds |
| -> Coin | Amount to get from faucet |
| -> Tracer IO FaucetLog | |
| -> IO () |
Like seedFromFaucet, but without returning the seeded UTxO.
returnFundsToFaucet :: Tracer IO FaucetLog -> ChainBackendOptions -> Actor -> IO () Source #
Return the remaining funds to the faucet
returnFundsToFaucet' :: Tracer IO FaucetLog -> ChainBackendOptions -> Secret (SigningKey PaymentKey) -> IO Coin Source #
createOutputAtAddress :: NetworkId -> ChainBackendOptions -> AddressInEra -> TxOutDatum CtxTx -> Value -> IO (TxIn, TxOut CtxUTxO) Source #
retryOnExceptions :: (MonadCatch m, MonadDelay m) => Tracer m FaucetLog -> ChainBackendOptions -> m a -> m a Source #
Try to submit tx and retry when some caught exception/s take place.
publishHydraScriptsAs :: ChainBackendOptions -> Actor -> IO [TxId] Source #
Publish current Hydra scripts as scripts outputs for later referencing them.
The key of the given Actor is used to pay for fees in required transactions, it is expected to have sufficient funds.
publishOrReuseHydraScripts :: ChainBackendOptions -> Actor -> FilePath -> IO [TxId] Source #
Like publishHydraScriptsAs, but caches the resulting TxIds to a file
in the given directory. On subsequent calls, the cached TxIds are validated
against the chain (using queryScriptRegistry) and reused if still valid.
This avoids re-publishing identical scripts on every test run, saving funds
and time especially on public testnets.