atlas-cardano-0.5.0: Application backend for Plutus smart contracts on Cardano
Copyright(c) 2023 GYELD GMBH
LicenseApache 2.0
Maintainer[email protected]
Stabilitydevelop
Safe HaskellSafe-Inferred
LanguageGHC2021

GeniusYield.TxBuilder.Class

Description

 
Synopsis

Documentation

class Monad m ⇒ MonadError e (m ∷ TypeType) | m → e where #

The strategy of combining computations that can throw exceptions by bypassing bound functions from the point an exception is thrown to the point that it is handled.

Is parameterized over the type of error information and the monad type constructor. It is common to use Either String as the monad type constructor for an error monad in which error descriptions take the form of strings. In that case and many other common cases the resulting monad is already defined as an instance of the MonadError class. You can also define your own error type and/or use a monad type constructor other than Either String or Either IOError. In these cases you will have to explicitly define instances of the MonadError class. (If you are using the deprecated Control.Monad.Error or Control.Monad.Trans.Error, you may also have to define an Error instance.)

Methods

throwError ∷ e → m a #

Is used within a monadic computation to begin exception processing.

catchError ∷ m a → (e → m a) → m a #

A handler function to handle previous errors and return to normal execution. A common idiom is:

do { action1; action2; action3 } `catchError` handler

where the action functions can call throwError. Note that handler and the do-block must have the same return type.

Instances

Instances details
MonadError GYTxMonadException GYTxMonadClb # 
Instance details

Defined in GeniusYield.Test.Clb

MonadError GYTxMonadException GYTxGameMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

MonadError GYTxMonadException GYTxMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

MonadError GYTxMonadException GYTxBuilderMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Builder

MonadError GYTxMonadException GYTxQueryMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Query

MonadError IOException IO 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwErrorIOExceptionIO a #

catchErrorIO a → (IOExceptionIO a) → IO a #

MonadError ClientError ClientM 
Instance details

Defined in Servant.Client.Internal.HttpClient

Methods

throwErrorClientErrorClientM a #

catchErrorClientM a → (ClientErrorClientM a) → ClientM a #

MonadError () EvaluationResult 
Instance details

Defined in PlutusCore.Evaluation.Result

MonadError () Maybe

Since: mtl-2.2.2

Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ () → Maybe a #

catchErrorMaybe a → (() → Maybe a) → Maybe a #

MonadError GYTxMonadException m ⇒ MonadError GYTxMonadException (FeeTracker m) # 
Instance details

Defined in GeniusYield.Test.FeeTracker

MonadError GYTxMonadException m ⇒ MonadError GYTxMonadException (FeeTrackerGame m) # 
Instance details

Defined in GeniusYield.Test.FeeTracker

Monad m ⇒ MonadError BlockfrostError (BlockfrostClientT m) 
Instance details

Defined in Blockfrost.Client.Types

MonadError e (Either e) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → Either e a #

catchErrorEither e a → (e → Either e a) → Either e a #

MonadError e m ⇒ MonadError e (Free m) 
Instance details

Defined in Control.Monad.Free

Methods

throwError ∷ e → Free m a #

catchErrorFree m a → (e → Free m a) → Free m a #

MonadError e m ⇒ MonadError e (GenT m) 
Instance details

Defined in Hedgehog.Internal.Gen

Methods

throwError ∷ e → GenT m a #

catchErrorGenT m a → (e → GenT m a) → GenT m a #

MonadError e m ⇒ MonadError e (PropertyT m) 
Instance details

Defined in Hedgehog.Internal.Property

Methods

throwError ∷ e → PropertyT m a #

catchErrorPropertyT m a → (e → PropertyT m a) → PropertyT m a #

MonadError e m ⇒ MonadError e (TestT m) 
Instance details

Defined in Hedgehog.Internal.Property

Methods

throwError ∷ e → TestT m a #

catchErrorTestT m a → (e → TestT m a) → TestT m a #

MonadError e m ⇒ MonadError e (TreeT m) 
Instance details

Defined in Hedgehog.Internal.Tree

Methods

throwError ∷ e → TreeT m a #

catchErrorTreeT m a → (e → TreeT m a) → TreeT m a #

MonadError e m ⇒ MonadError e (KatipContextT m) 
Instance details

Defined in Katip.Monadic

Methods

throwError ∷ e → KatipContextT m a #

catchErrorKatipContextT m a → (e → KatipContextT m a) → KatipContextT m a #

MonadError e m ⇒ MonadError e (NoLoggingT m) 
Instance details

Defined in Katip.Monadic

Methods

throwError ∷ e → NoLoggingT m a #

catchErrorNoLoggingT m a → (e → NoLoggingT m a) → NoLoggingT m a #

MonadError e m ⇒ MonadError e (ListT m) 
Instance details

Defined in ListT

Methods

throwError ∷ e → ListT m a #

catchErrorListT m a → (e → ListT m a) → ListT m a #

MonadError e m ⇒ MonadError e (ResourceT m) 
Instance details

Defined in Control.Monad.Trans.Resource.Internal

Methods

throwError ∷ e → ResourceT m a #

catchErrorResourceT m a → (e → ResourceT m a) → ResourceT m a #

MonadError e m ⇒ MonadError e (MaybeT m) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → MaybeT m a #

catchErrorMaybeT m a → (e → MaybeT m a) → MaybeT m a #

MonadError e m ⇒ MonadError e (RandT g m) 
Instance details

Defined in Control.Monad.Trans.Random.Lazy

Methods

throwError ∷ e → RandT g m a #

catchErrorRandT g m a → (e → RandT g m a) → RandT g m a #

MonadError e m ⇒ MonadError e (RandT g m) 
Instance details

Defined in Control.Monad.Trans.Random.Strict

Methods

throwError ∷ e → RandT g m a #

catchErrorRandT g m a → (e → RandT g m a) → RandT g m a #

(Functor f, MonadError e m) ⇒ MonadError e (FreeT f m) 
Instance details

Defined in Control.Monad.Trans.Free

Methods

throwError ∷ e → FreeT f m a #

catchErrorFreeT f m a → (e → FreeT f m a) → FreeT f m a #

(Monoid w, MonadError e m) ⇒ MonadError e (AccumT w m)

Since: mtl-2.3

Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → AccumT w m a #

catchErrorAccumT w m a → (e → AccumT w m a) → AccumT w m a #

Monad m ⇒ MonadError e (ExceptT e m)

Since: mtl-2.2

Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → ExceptT e m a #

catchErrorExceptT e m a → (e → ExceptT e m a) → ExceptT e m a #

MonadError e m ⇒ MonadError e (IdentityT m) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → IdentityT m a #

catchErrorIdentityT m a → (e → IdentityT m a) → IdentityT m a #

MonadError e m ⇒ MonadError e (ReaderT r m) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → ReaderT r m a #

catchErrorReaderT r m a → (e → ReaderT r m a) → ReaderT r m a #

MonadError e m ⇒ MonadError e (StateT s m) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → StateT s m a #

catchErrorStateT s m a → (e → StateT s m a) → StateT s m a #

MonadError e m ⇒ MonadError e (StateT s m) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → StateT s m a #

catchErrorStateT s m a → (e → StateT s m a) → StateT s m a #

(Monoid w, MonadError e m) ⇒ MonadError e (WriterT w m)

Since: mtl-2.3

Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → WriterT w m a #

catchErrorWriterT w m a → (e → WriterT w m a) → WriterT w m a #

(Monoid w, MonadError e m) ⇒ MonadError e (WriterT w m) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → WriterT w m a #

catchErrorWriterT w m a → (e → WriterT w m a) → WriterT w m a #

(Monoid w, MonadError e m) ⇒ MonadError e (WriterT w m) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → WriterT w m a #

catchErrorWriterT w m a → (e → WriterT w m a) → WriterT w m a #

MonadError e m ⇒ MonadError e (ConduitT i o m) 
Instance details

Defined in Data.Conduit.Internal.Conduit

Methods

throwError ∷ e → ConduitT i o m a #

catchErrorConduitT i o m a → (e → ConduitT i o m a) → ConduitT i o m a #

(Monoid w, MonadError e m) ⇒ MonadError e (RWST r w s m)

Since: mtl-2.3

Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → RWST r w s m a #

catchErrorRWST r w s m a → (e → RWST r w s m a) → RWST r w s m a #

(Monoid w, MonadError e m) ⇒ MonadError e (RWST r w s m) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → RWST r w s m a #

catchErrorRWST r w s m a → (e → RWST r w s m a) → RWST r w s m a #

(Monoid w, MonadError e m) ⇒ MonadError e (RWST r w s m) 
Instance details

Defined in Control.Monad.Error.Class

Methods

throwError ∷ e → RWST r w s m a #

catchErrorRWST r w s m a → (e → RWST r w s m a) → RWST r w s m a #

MonadError e m ⇒ MonadError e (Pipe l i o u m) 
Instance details

Defined in Data.Conduit.Internal.Pipe

Methods

throwError ∷ e → Pipe l i o u m a #

catchErrorPipe l i o u m a → (e → Pipe l i o u m a) → Pipe l i o u m a #

ThrowableBuiltins uni fun ⇒ MonadError (CekEvaluationException NamedDeBruijn uni fun) (CekM uni fun s) 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal

Methods

throwErrorCekEvaluationException NamedDeBruijn uni fun → CekM uni fun s a #

catchErrorCekM uni fun s a → (CekEvaluationException NamedDeBruijn uni fun → CekM uni fun s a) → CekM uni fun s a #

class Monad m ⇒ MonadRandom (m ∷ TypeType) where #

With a source of random number supply in hand, the MonadRandom class allows the programmer to extract random values of a variety of types.

Methods

getRandomRRandom a ⇒ (a, a) → m a #

Takes a range (lo,hi) and a random number generator g, and returns a computation that returns a random value uniformly distributed in the closed interval [lo,hi], together with a new generator. It is unspecified what happens if lo>hi. For continuous types there is no requirement that the values lo and hi are ever produced, but they may be, depending on the implementation and the interval.

See randomR for details.

getRandomRandom a ⇒ m a #

The same as getRandomR, but using a default range determined by the type:

  • For bounded types (instances of Bounded, such as Char), the range is normally the whole type.
  • For fractional types, the range is normally the semi-closed interval [0,1).
  • For Integer, the range is (arbitrarily) the range of Int.

See random for details.

getRandomRsRandom a ⇒ (a, a) → m [a] #

Plural variant of getRandomR, producing an infinite list of random values instead of returning a new generator.

See randomRs for details.

getRandomsRandom a ⇒ m [a] #

Plural variant of getRandom, producing an infinite list of random values instead of returning a new generator.

See randoms for details.

Instances

Instances details
MonadRandom GYTxMonadClb # 
Instance details

Defined in GeniusYield.Test.Clb

Methods

getRandomRRandom a ⇒ (a, a) → GYTxMonadClb a #

getRandomRandom a ⇒ GYTxMonadClb a #

getRandomRsRandom a ⇒ (a, a) → GYTxMonadClb [a] #

getRandomsRandom a ⇒ GYTxMonadClb [a] #

MonadRandom GYTxGameMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

Methods

getRandomRRandom a ⇒ (a, a) → GYTxGameMonadIO a #

getRandomRandom a ⇒ GYTxGameMonadIO a #

getRandomRsRandom a ⇒ (a, a) → GYTxGameMonadIO [a] #

getRandomsRandom a ⇒ GYTxGameMonadIO [a] #

MonadRandom GYTxMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

Methods

getRandomRRandom a ⇒ (a, a) → GYTxMonadIO a #

getRandomRandom a ⇒ GYTxMonadIO a #

getRandomRsRandom a ⇒ (a, a) → GYTxMonadIO [a] #

getRandomsRandom a ⇒ GYTxMonadIO [a] #

MonadRandom GYTxBuilderMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Builder

MonadRandom GYTxQueryMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Query

Methods

getRandomRRandom a ⇒ (a, a) → GYTxQueryMonadIO a #

getRandomRandom a ⇒ GYTxQueryMonadIO a #

getRandomRsRandom a ⇒ (a, a) → GYTxQueryMonadIO [a] #

getRandomsRandom a ⇒ GYTxQueryMonadIO [a] #

MonadRandom NonRandom 
Instance details

Defined in Control.Monad.Random.NonRandom

Methods

getRandomRRandom a ⇒ (a, a) → NonRandom a #

getRandomRandom a ⇒ NonRandom a #

getRandomRsRandom a ⇒ (a, a) → NonRandom [a] #

getRandomsRandom a ⇒ NonRandom [a] #

MonadRandom IO 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → IO a #

getRandomRandom a ⇒ IO a #

getRandomRsRandom a ⇒ (a, a) → IO [a] #

getRandomsRandom a ⇒ IO [a] #

MonadRandom m ⇒ MonadRandom (FeeTracker m) # 
Instance details

Defined in GeniusYield.Test.FeeTracker

Methods

getRandomRRandom a ⇒ (a, a) → FeeTracker m a #

getRandomRandom a ⇒ FeeTracker m a #

getRandomRsRandom a ⇒ (a, a) → FeeTracker m [a] #

getRandomsRandom a ⇒ FeeTracker m [a] #

MonadRandom m ⇒ MonadRandom (FeeTrackerGame m) # 
Instance details

Defined in GeniusYield.Test.FeeTracker

Methods

getRandomRRandom a ⇒ (a, a) → FeeTrackerGame m a #

getRandomRandom a ⇒ FeeTrackerGame m a #

getRandomRsRandom a ⇒ (a, a) → FeeTrackerGame m [a] #

getRandomsRandom a ⇒ FeeTrackerGame m [a] #

MonadRandom m ⇒ MonadRandom (MaybeT m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → MaybeT m a #

getRandomRandom a ⇒ MaybeT m a #

getRandomRsRandom a ⇒ (a, a) → MaybeT m [a] #

getRandomsRandom a ⇒ MaybeT m [a] #

(RandomGen g, Monad m) ⇒ MonadRandom (RandT g m) 
Instance details

Defined in Control.Monad.Trans.Random.Lazy

Methods

getRandomRRandom a ⇒ (a, a) → RandT g m a #

getRandomRandom a ⇒ RandT g m a #

getRandomRsRandom a ⇒ (a, a) → RandT g m [a] #

getRandomsRandom a ⇒ RandT g m [a] #

(RandomGen g, Monad m) ⇒ MonadRandom (RandT g m) 
Instance details

Defined in Control.Monad.Trans.Random.Strict

Methods

getRandomRRandom a ⇒ (a, a) → RandT g m a #

getRandomRandom a ⇒ RandT g m a #

getRandomRsRandom a ⇒ (a, a) → RandT g m [a] #

getRandomsRandom a ⇒ RandT g m [a] #

MonadRandom m ⇒ MonadRandom (ExceptT e m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → ExceptT e m a #

getRandomRandom a ⇒ ExceptT e m a #

getRandomRsRandom a ⇒ (a, a) → ExceptT e m [a] #

getRandomsRandom a ⇒ ExceptT e m [a] #

MonadRandom m ⇒ MonadRandom (IdentityT m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → IdentityT m a #

getRandomRandom a ⇒ IdentityT m a #

getRandomRsRandom a ⇒ (a, a) → IdentityT m [a] #

getRandomsRandom a ⇒ IdentityT m [a] #

MonadRandom m ⇒ MonadRandom (ReaderT r m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → ReaderT r m a #

getRandomRandom a ⇒ ReaderT r m a #

getRandomRsRandom a ⇒ (a, a) → ReaderT r m [a] #

getRandomsRandom a ⇒ ReaderT r m [a] #

MonadRandom m ⇒ MonadRandom (StateT s m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → StateT s m a #

getRandomRandom a ⇒ StateT s m a #

getRandomRsRandom a ⇒ (a, a) → StateT s m [a] #

getRandomsRandom a ⇒ StateT s m [a] #

MonadRandom m ⇒ MonadRandom (StateT s m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → StateT s m a #

getRandomRandom a ⇒ StateT s m a #

getRandomRsRandom a ⇒ (a, a) → StateT s m [a] #

getRandomsRandom a ⇒ StateT s m [a] #

(MonadRandom m, Monoid w) ⇒ MonadRandom (WriterT w m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → WriterT w m a #

getRandomRandom a ⇒ WriterT w m a #

getRandomRsRandom a ⇒ (a, a) → WriterT w m [a] #

getRandomsRandom a ⇒ WriterT w m [a] #

(MonadRandom m, Monoid w) ⇒ MonadRandom (WriterT w m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → WriterT w m a #

getRandomRandom a ⇒ WriterT w m a #

getRandomRsRandom a ⇒ (a, a) → WriterT w m [a] #

getRandomsRandom a ⇒ WriterT w m [a] #

MonadRandom m ⇒ MonadRandom (ContT r m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → ContT r m a #

getRandomRandom a ⇒ ContT r m a #

getRandomRsRandom a ⇒ (a, a) → ContT r m [a] #

getRandomsRandom a ⇒ ContT r m [a] #

(Monoid w, MonadRandom m) ⇒ MonadRandom (RWST r w s m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → RWST r w s m a #

getRandomRandom a ⇒ RWST r w s m a #

getRandomRsRandom a ⇒ (a, a) → RWST r w s m [a] #

getRandomsRandom a ⇒ RWST r w s m [a] #

(Monoid w, MonadRandom m) ⇒ MonadRandom (RWST r w s m) 
Instance details

Defined in Control.Monad.Random.Class

Methods

getRandomRRandom a ⇒ (a, a) → RWST r w s m a #

getRandomRandom a ⇒ RWST r w s m a #

getRandomRsRandom a ⇒ (a, a) → RWST r w s m [a] #

getRandomsRandom a ⇒ RWST r w s m [a] #

class (GYTxMonad (TxMonadOf m), GYTxSpecialQueryMonad m) ⇒ GYTxGameMonad m where #

Class of monads that can simulate a "game" between different users interacting with transactions.

Associated Types

type TxMonadOf m = (r ∷ TypeType) | r → m #

Type of the supported GYTxMonad instance that can participate within the "game".

Methods

asUserUserTxMonadOf m a → m a #

Lift the supported GYTxMonad instance into the game, as a participating user wallet.

waitUntilSlotGYSlot → m GYSlot #

Wait until the chain tip is at given slot number.

waitForNextBlock ∷ m GYSlot #

Wait until the chain tip is at the next block.

class GYTxBuilderMonad m ⇒ GYTxMonad m where #

Class of monads for interacting with the blockchain using transactions.

Methods

signTxBodyGYTxBody → m GYTx #

Sign a transaction body with the user payment key to produce a transaction with witnesses.

Note: The key is not meant to be exposed to the monad, so it is only held within the closure that signs a given transaction. It is recommended to use signGYTxBody and similar to implement this method.

signTxBodyWithStakeGYTxBody → m GYTx #

Sign a transaction body with the user payment key AND user stake key to produce a transaction with witnesses. If the user wallet does not have a stake key, this function should be equivalent to signTxBody.

See note on signTxBody

submitTxGYTx → m GYTxId #

Submit a fully built transaction to the chain. Use buildTxBody to build a transaction body, and signGYTxBody to sign it before submitting.

Note: Changes made to the chain by the submitted transaction may not be reflected immediately, see awaitTxConfirmed.

Law: someUTxO calls made after a call to submitTx may return previously returned UTxOs if they were not affected by the submitted transaction.

awaitTxConfirmed'GYAwaitTxParametersGYTxId → m () #

Wait for a _recently_ submitted transaction to be confirmed.

Note: If used on a transaction submitted long ago, the behavior is undefined.

Law: Queries made after a call to awaitTxConfirmed' should reflect changes made to the chain by the identified transaction.

Instances

Instances details
GYTxMonad GYTxMonadClb # 
Instance details

Defined in GeniusYield.Test.Clb

GYTxMonad GYTxMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

GYTxMonad m ⇒ GYTxMonad (FeeTracker m) #

Override transaction submitting code of the inner monad to track submitted transaction ids.

Instance details

Defined in GeniusYield.Test.FeeTracker

GYTxMonad m ⇒ GYTxMonad (RandT g m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

GYTxMonad m ⇒ GYTxMonad (ReaderT env m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

GYTxMonad m ⇒ GYTxMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

GYTxMonad m ⇒ GYTxMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

(GYTxMonad m, Monoid w) ⇒ GYTxMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

(GYTxMonad m, Monoid w) ⇒ GYTxMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

(GYTxMonad m, Monoid w) ⇒ GYTxMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

class (Default (TxBuilderStrategy m), GYTxSpecialQueryMonad m, GYTxUserQueryMonad m) ⇒ GYTxBuilderMonad m where #

Class of monads for building transactions. This can be default derived if the requirements are met. Specifically, set TxBuilderStrategy to GYCoinSelectionStrategy if you wish to use the default in-house transaction building implementation.

Minimal complete definition

Nothing

Methods

buildTxBodyWithStrategy ∷ ∀ v. TxBuilderStrategy m → GYTxSkeleton v → m GYTxBody #

The most basic version of GYTxSkeleton builder.

NOTE ==

This is not meant to be called multiple times with several GYTxSkeletons before submission. Because the balancer will end up using the same utxos across the different txs.

Consider using buildTxBodyParallel or buildTxBodyChaining instead.

buildTxBodyParallelWithStrategy ∷ ∀ v. TxBuilderStrategy m → [GYTxSkeleton v] → m GYTxBuildResult #

A multi GYTxSkeleton builder. The result containing built bodies must be in the same order as the skeletons.

This does not perform chaining, i.e does not use utxos created by one of the given transactions in the next one. However, it does ensure that the balancer does not end up using the same own utxos when building multiple transactions at once.

This supports failure recovery by utilizing GYTxBuildResult.

buildTxBodyChainingWithStrategy ∷ ∀ v. TxBuilderStrategy m → [GYTxSkeleton v] → m GYTxBuildResult #

A chaining GYTxSkeleton builder. The result containing built bodies must be in the same order as the skeletons.

This will perform chaining, i.e it will use utxos created by one of the given transactions, when building the next one.

This supports failure recovery by utilizing GYTxBuildResult.

Instances

Instances details
GYTxBuilderMonad GYTxMonadClb # 
Instance details

Defined in GeniusYield.Test.Clb

Associated Types

type TxBuilderStrategy GYTxMonadClb #

GYTxBuilderMonad GYTxMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

Associated Types

type TxBuilderStrategy GYTxMonadIO #

GYTxBuilderMonad GYTxBuilderMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Builder

GYTxBuilderMonad m ⇒ GYTxBuilderMonad (FeeTracker m) #

Override transaction building code of the inner monad to track extra lovelace per transaction.

Instance details

Defined in GeniusYield.Test.FeeTracker

Associated Types

type TxBuilderStrategy (FeeTracker m) #

GYTxBuilderMonad m ⇒ GYTxBuilderMonad (RandT g m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

Associated Types

type TxBuilderStrategy (RandT g m) #

GYTxBuilderMonad m ⇒ GYTxBuilderMonad (ReaderT env m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

Associated Types

type TxBuilderStrategy (ReaderT env m) #

GYTxBuilderMonad m ⇒ GYTxBuilderMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

Associated Types

type TxBuilderStrategy (StateT s m) #

GYTxBuilderMonad m ⇒ GYTxBuilderMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

Associated Types

type TxBuilderStrategy (StateT s m) #

(GYTxBuilderMonad m, Monoid w) ⇒ GYTxBuilderMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

Associated Types

type TxBuilderStrategy (WriterT w m) #

(GYTxBuilderMonad m, Monoid w) ⇒ GYTxBuilderMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

Associated Types

type TxBuilderStrategy (WriterT w m) #

(GYTxBuilderMonad m, Monoid w) ⇒ GYTxBuilderMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Class

Associated Types

type TxBuilderStrategy (WriterT w m) #

class MonadError GYTxMonadException m ⇒ GYTxQueryMonad m where #

Class of monads for querying chain data.

Methods

networkId ∷ m GYNetworkId #

Get the network id

lookupDatumGYDatumHash → m (Maybe GYDatum) #

Lookup datum by its hash.

utxoAtTxOutRefGYTxOutRef → m (Maybe GYUTxO) #

Lookup GYUTxO at GYTxOutRef.

utxoAtTxOutRefWithDatumGYTxOutRef → m (Maybe (GYUTxO, Maybe GYDatum)) #

Lookup UTxO at GYTxOutRef with an attempt to resolve for datum.

utxosAtTxOutRefs ∷ [GYTxOutRef] → m GYUTxOs #

Lookup GYUTxOs at multiple GYTxOutRefs at once

utxosAtTxOutRefsWithDatums ∷ [GYTxOutRef] → m [(GYUTxO, Maybe GYDatum)] #

Lookup UTxOs at zero or more GYTxOutRef with their datums. This has a default implementation using utxosAtTxOutRefs and lookupDatum but should be overridden for efficiency if provider provides suitable option.

utxosAtAddressGYAddressMaybe GYAssetClass → m GYUTxOs #

Lookup GYUTxOs at GYAddress.

utxosAtAddressWithDatumsGYAddressMaybe GYAssetClass → m [(GYUTxO, Maybe GYDatum)] #

Lookup GYUTxO at given GYAddress with their datums. This has a default implementation using utxosAtAddress and lookupDatum but should be overridden for efficiency if provider provides suitable option.

utxosAtAddresses ∷ [GYAddress] → m GYUTxOs #

Lookup GYUTxOs at zero or more GYAddress.

utxosAtAddressesWithDatums ∷ [GYAddress] → m [(GYUTxO, Maybe GYDatum)] #

Lookup UTxOs at zero or more GYAddress with their datums. This has a default implementation using utxosAtAddresses and lookupDatum but should be overridden for efficiency if provider provides suitable option.

utxoRefsAtAddressGYAddress → m [GYTxOutRef] #

Lookup the `[GYTxOutRef]`s at a GYAddress

utxosAtPaymentCredentialGYPaymentCredentialMaybe GYAssetClass → m GYUTxOs #

utxosAtPaymentCredentialWithDatumsGYPaymentCredentialMaybe GYAssetClass → m [(GYUTxO, Maybe GYDatum)] #

Lookup UTxOs at given GYPaymentCredential with their datums. This has a default implementation using utxosAtPaymentCredential and lookupDatum but should be overridden for efficiency if provider provides suitable option.

utxosAtPaymentCredentials ∷ [GYPaymentCredential] → m GYUTxOs #

Lookup GYUTxOs at zero or more GYPaymentCredential.

utxosAtPaymentCredentialsWithDatums ∷ [GYPaymentCredential] → m [(GYUTxO, Maybe GYDatum)] #

Lookup UTxOs at zero or more GYPaymentCredential with their datums. This has a default implementation using utxosAtPaymentCredentials and lookupDatum but should be overridden for efficiency if provider provides suitable option.

stakeAddressInfoGYStakeAddress → m (Maybe GYStakeAddressInfo) #

Obtain delegation information for a stake address. Note that in case stake address is not registered, this function should return Nothing.

slotConfig ∷ m GYSlotConfig #

Obtain the slot config for the network.

Implementations using era history to create slot config may raise GYEraSummariesToSlotConfigError.

slotOfCurrentBlock ∷ m GYSlot #

This is expected to give the slot of the latest block. We say "expected" as we cache the result for 5 seconds, that is to say, suppose slot was cached at time T, now if query for current block's slot comes within time duration (T, T + 5), then we'll return the cached slot but if say, query happened at time (T + 5, T + 21) where 21 was taken as an arbitrary number above 5, then we'll query the chain tip and get the slot of the latest block seen by the provider and then store it in our cache, thus new cached value would be served for requests coming within time interval of (T + 21, T + 26).

NOTE: It's behaviour is slightly different, solely for our plutus simple model provider where it actually returns the value of the currentSlot variable maintained inside plutus simple model library.

logMsgHasCallStackGYLogNamespaceGYLogSeverityString → m () #

Log a message with specified namespace and severity.

Instances

Instances details
GYTxQueryMonad GYTxMonadClb # 
Instance details

Defined in GeniusYield.Test.Clb

GYTxQueryMonad GYTxGameMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

Methods

networkIdGYTxGameMonadIO GYNetworkId #

lookupDatumGYDatumHashGYTxGameMonadIO (Maybe GYDatum) #

utxoAtTxOutRefGYTxOutRefGYTxGameMonadIO (Maybe GYUTxO) #

utxoAtTxOutRefWithDatumGYTxOutRefGYTxGameMonadIO (Maybe (GYUTxO, Maybe GYDatum)) #

utxosAtTxOutRefs ∷ [GYTxOutRef] → GYTxGameMonadIO GYUTxOs #

utxosAtTxOutRefsWithDatums ∷ [GYTxOutRef] → GYTxGameMonadIO [(GYUTxO, Maybe GYDatum)] #

utxosAtAddressGYAddressMaybe GYAssetClassGYTxGameMonadIO GYUTxOs #

utxosAtAddressWithDatumsGYAddressMaybe GYAssetClassGYTxGameMonadIO [(GYUTxO, Maybe GYDatum)] #

utxosAtAddresses ∷ [GYAddress] → GYTxGameMonadIO GYUTxOs #

utxosAtAddressesWithDatums ∷ [GYAddress] → GYTxGameMonadIO [(GYUTxO, Maybe GYDatum)] #

utxoRefsAtAddressGYAddressGYTxGameMonadIO [GYTxOutRef] #

utxosAtPaymentCredentialGYPaymentCredentialMaybe GYAssetClassGYTxGameMonadIO GYUTxOs #

utxosAtPaymentCredentialWithDatumsGYPaymentCredentialMaybe GYAssetClassGYTxGameMonadIO [(GYUTxO, Maybe GYDatum)] #

utxosAtPaymentCredentials ∷ [GYPaymentCredential] → GYTxGameMonadIO GYUTxOs #

utxosAtPaymentCredentialsWithDatums ∷ [GYPaymentCredential] → GYTxGameMonadIO [(GYUTxO, Maybe GYDatum)] #

stakeAddressInfoGYStakeAddressGYTxGameMonadIO (Maybe GYStakeAddressInfo) #

slotConfigGYTxGameMonadIO GYSlotConfig #

slotOfCurrentBlockGYTxGameMonadIO GYSlot #

logMsgGYLogNamespaceGYLogSeverityStringGYTxGameMonadIO () #

GYTxQueryMonad GYTxMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

GYTxQueryMonad GYTxBuilderMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Builder

Methods

networkIdGYTxBuilderMonadIO GYNetworkId #

lookupDatumGYDatumHashGYTxBuilderMonadIO (Maybe GYDatum) #

utxoAtTxOutRefGYTxOutRefGYTxBuilderMonadIO (Maybe GYUTxO) #

utxoAtTxOutRefWithDatumGYTxOutRefGYTxBuilderMonadIO (Maybe (GYUTxO, Maybe GYDatum)) #

utxosAtTxOutRefs ∷ [GYTxOutRef] → GYTxBuilderMonadIO GYUTxOs #

utxosAtTxOutRefsWithDatums ∷ [GYTxOutRef] → GYTxBuilderMonadIO [(GYUTxO, Maybe GYDatum)] #

utxosAtAddressGYAddressMaybe GYAssetClassGYTxBuilderMonadIO GYUTxOs #

utxosAtAddressWithDatumsGYAddressMaybe GYAssetClassGYTxBuilderMonadIO [(GYUTxO, Maybe GYDatum)] #

utxosAtAddresses ∷ [GYAddress] → GYTxBuilderMonadIO GYUTxOs #

utxosAtAddressesWithDatums ∷ [GYAddress] → GYTxBuilderMonadIO [(GYUTxO, Maybe GYDatum)] #

utxoRefsAtAddressGYAddressGYTxBuilderMonadIO [GYTxOutRef] #

utxosAtPaymentCredentialGYPaymentCredentialMaybe GYAssetClassGYTxBuilderMonadIO GYUTxOs #

utxosAtPaymentCredentialWithDatumsGYPaymentCredentialMaybe GYAssetClassGYTxBuilderMonadIO [(GYUTxO, Maybe GYDatum)] #

utxosAtPaymentCredentials ∷ [GYPaymentCredential] → GYTxBuilderMonadIO GYUTxOs #

utxosAtPaymentCredentialsWithDatums ∷ [GYPaymentCredential] → GYTxBuilderMonadIO [(GYUTxO, Maybe GYDatum)] #

stakeAddressInfoGYStakeAddressGYTxBuilderMonadIO (Maybe GYStakeAddressInfo) #

slotConfigGYTxBuilderMonadIO GYSlotConfig #

slotOfCurrentBlockGYTxBuilderMonadIO GYSlot #

logMsgGYLogNamespaceGYLogSeverityStringGYTxBuilderMonadIO () #

GYTxQueryMonad GYTxQueryMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Query

Methods

networkIdGYTxQueryMonadIO GYNetworkId #

lookupDatumGYDatumHashGYTxQueryMonadIO (Maybe GYDatum) #

utxoAtTxOutRefGYTxOutRefGYTxQueryMonadIO (Maybe GYUTxO) #

utxoAtTxOutRefWithDatumGYTxOutRefGYTxQueryMonadIO (Maybe (GYUTxO, Maybe GYDatum)) #

utxosAtTxOutRefs ∷ [GYTxOutRef] → GYTxQueryMonadIO GYUTxOs #

utxosAtTxOutRefsWithDatums ∷ [GYTxOutRef] → GYTxQueryMonadIO [(GYUTxO, Maybe GYDatum)] #

utxosAtAddressGYAddressMaybe GYAssetClassGYTxQueryMonadIO GYUTxOs #

utxosAtAddressWithDatumsGYAddressMaybe GYAssetClassGYTxQueryMonadIO [(GYUTxO, Maybe GYDatum)] #

utxosAtAddresses ∷ [GYAddress] → GYTxQueryMonadIO GYUTxOs #

utxosAtAddressesWithDatums ∷ [GYAddress] → GYTxQueryMonadIO [(GYUTxO, Maybe GYDatum)] #

utxoRefsAtAddressGYAddressGYTxQueryMonadIO [GYTxOutRef] #

utxosAtPaymentCredentialGYPaymentCredentialMaybe GYAssetClassGYTxQueryMonadIO GYUTxOs #

utxosAtPaymentCredentialWithDatumsGYPaymentCredentialMaybe GYAssetClassGYTxQueryMonadIO [(GYUTxO, Maybe GYDatum)] #

utxosAtPaymentCredentials ∷ [GYPaymentCredential] → GYTxQueryMonadIO GYUTxOs #

utxosAtPaymentCredentialsWithDatums ∷ [GYPaymentCredential] → GYTxQueryMonadIO [(GYUTxO, Maybe GYDatum)] #

stakeAddressInfoGYStakeAddressGYTxQueryMonadIO (Maybe GYStakeAddressInfo) #

slotConfigGYTxQueryMonadIO GYSlotConfig #

slotOfCurrentBlockGYTxQueryMonadIO GYSlot #

logMsgGYLogNamespaceGYLogSeverityStringGYTxQueryMonadIO () #

GYTxQueryMonad m ⇒ GYTxQueryMonad (FeeTracker m) # 
Instance details

Defined in GeniusYield.Test.FeeTracker

GYTxQueryMonad m ⇒ GYTxQueryMonad (FeeTrackerGame m) # 
Instance details

Defined in GeniusYield.Test.FeeTracker

Methods

networkIdFeeTrackerGame m GYNetworkId #

lookupDatumGYDatumHashFeeTrackerGame m (Maybe GYDatum) #

utxoAtTxOutRefGYTxOutRefFeeTrackerGame m (Maybe GYUTxO) #

utxoAtTxOutRefWithDatumGYTxOutRefFeeTrackerGame m (Maybe (GYUTxO, Maybe GYDatum)) #

utxosAtTxOutRefs ∷ [GYTxOutRef] → FeeTrackerGame m GYUTxOs #

utxosAtTxOutRefsWithDatums ∷ [GYTxOutRef] → FeeTrackerGame m [(GYUTxO, Maybe GYDatum)] #

utxosAtAddressGYAddressMaybe GYAssetClassFeeTrackerGame m GYUTxOs #

utxosAtAddressWithDatumsGYAddressMaybe GYAssetClassFeeTrackerGame m [(GYUTxO, Maybe GYDatum)] #

utxosAtAddresses ∷ [GYAddress] → FeeTrackerGame m GYUTxOs #

utxosAtAddressesWithDatums ∷ [GYAddress] → FeeTrackerGame m [(GYUTxO, Maybe GYDatum)] #

utxoRefsAtAddressGYAddressFeeTrackerGame m [GYTxOutRef] #

utxosAtPaymentCredentialGYPaymentCredentialMaybe GYAssetClassFeeTrackerGame m GYUTxOs #

utxosAtPaymentCredentialWithDatumsGYPaymentCredentialMaybe GYAssetClassFeeTrackerGame m [(GYUTxO, Maybe GYDatum)] #

utxosAtPaymentCredentials ∷ [GYPaymentCredential] → FeeTrackerGame m GYUTxOs #

utxosAtPaymentCredentialsWithDatums ∷ [GYPaymentCredential] → FeeTrackerGame m [(GYUTxO, Maybe GYDatum)] #

stakeAddressInfoGYStakeAddressFeeTrackerGame m (Maybe GYStakeAddressInfo) #

slotConfigFeeTrackerGame m GYSlotConfig #

slotOfCurrentBlockFeeTrackerGame m GYSlot #

logMsgGYLogNamespaceGYLogSeverityStringFeeTrackerGame m () #

GYTxQueryMonad m ⇒ GYTxQueryMonad (RandT g m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

GYTxQueryMonad m ⇒ GYTxQueryMonad (ReaderT env m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

GYTxQueryMonad m ⇒ GYTxQueryMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

GYTxQueryMonad m ⇒ GYTxQueryMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

(GYTxQueryMonad m, Monoid w) ⇒ GYTxQueryMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

(GYTxQueryMonad m, Monoid w) ⇒ GYTxQueryMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

(GYTxQueryMonad m, Monoid w) ⇒ GYTxQueryMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

class GYTxQueryMonad m ⇒ GYTxSpecialQueryMonad m where #

Class of monads for querying special chain data.

Instances

Instances details
GYTxSpecialQueryMonad GYTxMonadClb # 
Instance details

Defined in GeniusYield.Test.Clb

GYTxSpecialQueryMonad GYTxGameMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

GYTxSpecialQueryMonad GYTxMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

GYTxSpecialQueryMonad GYTxBuilderMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Builder

GYTxSpecialQueryMonad GYTxQueryMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Query

GYTxSpecialQueryMonad m ⇒ GYTxSpecialQueryMonad (FeeTracker m) # 
Instance details

Defined in GeniusYield.Test.FeeTracker

GYTxSpecialQueryMonad m ⇒ GYTxSpecialQueryMonad (FeeTrackerGame m) # 
Instance details

Defined in GeniusYield.Test.FeeTracker

GYTxSpecialQueryMonad m ⇒ GYTxSpecialQueryMonad (RandT g m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

GYTxSpecialQueryMonad m ⇒ GYTxSpecialQueryMonad (ReaderT env m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

GYTxSpecialQueryMonad m ⇒ GYTxSpecialQueryMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

GYTxSpecialQueryMonad m ⇒ GYTxSpecialQueryMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

(GYTxSpecialQueryMonad m, Monoid w) ⇒ GYTxSpecialQueryMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

(GYTxSpecialQueryMonad m, Monoid w) ⇒ GYTxSpecialQueryMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

(GYTxSpecialQueryMonad m, Monoid w) ⇒ GYTxSpecialQueryMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

class GYTxQueryMonad m ⇒ GYTxUserQueryMonad m where #

Class of monads for querying as a user.

Methods

ownAddresses ∷ m [GYAddress] #

Get your own address(es).

ownChangeAddress ∷ m GYAddress #

Get own change address.

ownCollateral ∷ m (Maybe GYUTxO) #

Get own collateral utxo.

availableUTxOs ∷ m GYUTxOs #

Get available own UTxOs that can be operated upon.

someUTxOPlutusVersion → m GYTxOutRef #

Return some unspent transaction output translatable to the given language corresponding to the script in question.

Law: Must return the different values.

Instances

Instances details
GYTxUserQueryMonad GYTxMonadClb # 
Instance details

Defined in GeniusYield.Test.Clb

GYTxUserQueryMonad GYTxMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO

GYTxUserQueryMonad GYTxBuilderMonadIO # 
Instance details

Defined in GeniusYield.TxBuilder.IO.Builder

GYTxUserQueryMonad m ⇒ GYTxUserQueryMonad (FeeTracker m) # 
Instance details

Defined in GeniusYield.Test.FeeTracker

GYTxUserQueryMonad m ⇒ GYTxUserQueryMonad (RandT g m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

GYTxUserQueryMonad m ⇒ GYTxUserQueryMonad (ReaderT env m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

GYTxUserQueryMonad m ⇒ GYTxUserQueryMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

GYTxUserQueryMonad m ⇒ GYTxUserQueryMonad (StateT s m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

(GYTxUserQueryMonad m, Monoid w) ⇒ GYTxUserQueryMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

(GYTxUserQueryMonad m, Monoid w) ⇒ GYTxUserQueryMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

(GYTxUserQueryMonad m, Monoid w) ⇒ GYTxUserQueryMonad (WriterT w m) # 
Instance details

Defined in GeniusYield.TxBuilder.Query.Class

data GYTxSkeleton (v ∷ PlutusVersion) #

Transaction skeleton

Note: let's add fields as we need them.

The parameter v indicates the minimum version of scripts allowed as inputs.

Instances

Instances details
Monoid (GYTxSkeleton v) # 
Instance details

Defined in GeniusYield.TxBuilder.Common

Semigroup (GYTxSkeleton v) # 
Instance details

Defined in GeniusYield.TxBuilder.Common

Show (GYTxSkeleton v) # 
Instance details

Defined in GeniusYield.TxBuilder.Common

Methods

showsPrecIntGYTxSkeleton v → ShowS #

showGYTxSkeleton v → String #

showList ∷ [GYTxSkeleton v] → ShowS #

buildTxBodyGYTxBuilderMonad m ⇒ GYTxSkeleton v → m GYTxBody #

buildTxBodyWithStrategy with the default coin selection strategy.

buildTxBodyParallelGYTxBuilderMonad m ⇒ [GYTxSkeleton v] → m GYTxBuildResult #

buildTxBodyParallelWithStrategy with the default coin selection strategy.

buildTxBodyChainingGYTxBuilderMonad m ⇒ [GYTxSkeleton v] → m GYTxBuildResult #

buildTxBodyChainingWithStrategy with the default coin selection strategy.

waitNSlotsGYTxGameMonad m ⇒ Word64 → m GYSlot #

Wait until the chain tip has progressed by N slots.

waitNSlots_GYTxGameMonad m ⇒ Word64 → m () #

waitNSlots_ = void . waitNSlots

waitUntilSlot_GYTxGameMonad m ⇒ GYSlot → m () #

waitUntilSlot_ = void . waitUntilSlot

submitTx_GYTxMonad m ⇒ GYTx → m () #

submitTx_ = void . submitTx

submitTxConfirmedGYTxMonad m ⇒ GYTx → m GYTxId #

submitTxConfirmed' with default tx waiting parameters.

submitTxConfirmed_GYTxMonad m ⇒ GYTx → m () #

submitTxConfirmed_ = void . submitTxConfirmed

submitTxConfirmed'GYTxMonad m ⇒ GYAwaitTxParametersGYTx → m GYTxId #

Equivalent to a call to submitTx and then a call to awaitTxConfirmed' with submitted tx id.

submitTxConfirmed'_GYTxMonad m ⇒ GYAwaitTxParametersGYTx → m () #

submitTxConfirmed'_ p = void . submitTxConfirmed' p

submitTxBody ∷ (GYTxMonad m, ToShelleyWitnessSigningKey a) ⇒ GYTxBody → [a] → m GYTxId #

Signs a GYTxBody with the given keys and submits the transaction. Equivalent to a call to signGYTxBody, followed by a call to submitTx

submitTxBody_ ∷ (GYTxMonad f, ToShelleyWitnessSigningKey a) ⇒ GYTxBody → [a] → f () #

submitTxBody_ t = void . submitTxBody t

submitTxBodyConfirmed ∷ (GYTxMonad m, ToShelleyWitnessSigningKey a) ⇒ GYTxBody → [a] → m GYTxId #

Signs a GYTxBody with the given keys, submits the transaction, and waits for its confirmation. Equivalent to a call to signGYTxBody, followed by a call to submitTxConfirmed.

submitTxBodyConfirmed_ ∷ (GYTxMonad m, ToShelleyWitnessSigningKey a) ⇒ GYTxBody → [a] → m () #

submitTxBodyConfirmed_ t = void . submitTxBodyConfirmed t

awaitTxConfirmedGYTxMonad m ⇒ GYTxId → m () #

Wait for a _recently_ submitted transaction to be confirmed, with default waiting parameters.

lookupDatum'GYTxQueryMonad m ⇒ GYDatumHash → m GYDatum #

A version of lookupDatum that raises GYNoDatumForHash if the datum is not found.

utxoAtTxOutRef'GYTxQueryMonad m ⇒ GYTxOutRef → m GYUTxO #

A version of utxoAtTxOutRef that raises GYNoUtxoAtRef if the utxo is not found.

utxoAtTxOutRefWithDatum'GYTxQueryMonad m ⇒ GYTxOutRef → m (GYUTxO, Maybe GYDatum) #

A version of utxoAtTxOutRefWithDatum that raises GYNoUtxoAtRef if the utxo is not found.

someUTxOWithoutRefScriptGYTxMonad m ⇒ m GYTxOutRef #

Returns some UTxO present in wallet which doesn't have reference script.

slotToBeginTimeGYTxQueryMonad f ⇒ GYSlot → f GYTime #

Get the starting GYTime of a GYSlot in GYTxMonad.

slotToEndTimeGYTxQueryMonad f ⇒ GYSlot → f GYTime #

Get the ending GYTime of a GYSlot (inclusive) in GYTxMonad.

enclosingSlotFromTimeGYTxQueryMonad f ⇒ GYTime → f (Maybe GYSlot) #

Get the GYSlot of a GYTime in GYTxMonad.

Returns Nothing if given time is before known system start.

enclosingSlotFromTime'GYTxQueryMonad m ⇒ GYTime → m GYSlot #

Partial version of enclosingSlotFromTime.

Raises GYTimeUnderflowException if given time is before known system start.

scriptAddressGYTxQueryMonad m ⇒ GYValidator v → m GYAddress #

Calculate script's address.

scriptAddress'GYTxQueryMonad m ⇒ GYValidatorHash → m GYAddress #

Calculate script's address.

addressFromText'MonadError GYTxMonadException m ⇒ Text → m GYAddress #

Parse the bech32 representation of an address into GYAddress in GYTxMonad.

Throw GYConversionException if parsing fails.

addressFromPlutusMGYTxQueryMonad m ⇒ Address → m (Either PlutusToCardanoError GYAddress) #

Convert a Address to GYAddress in GYTxMonad.

Explicitly returns an error rather than throwing it.

addressFromPlutus'GYTxQueryMonad m ⇒ Address → m GYAddress #

Convert a Address to GYAddress in GYTxMonad.

Throw GYConversionException if conversion fails.

valueFromPlutus'MonadError GYTxMonadException m ⇒ Value → m GYValue #

Convert a Value to GYValue in GYTxMonad.

Throw GYConversionException if conversion fails.

valueFromPlutusIOValueIO GYValue #

Convert a Value to GYValue in IO.

Throw GYConversionException if conversion fails.

makeAssetClass'MonadError GYTxMonadException m ⇒ TextText → m GYAssetClass #

Create a GYAssetClass from the textual representation of currency symbol and token name in GYTxMonad.

Throw GYConversionException if conversion fails.

makeAssetClassIOTextTextIO GYAssetClass #

makeAssetClass' in the IO monad.

Throw GYConversionException if conversion fails.

advanceSlot'MonadError GYTxMonadException m ⇒ GYSlotNatural → m GYSlot #

Advance GYSlot forward in GYTxMonad. If slot value overflows, throw GYSlotOverflowException.

utxoDatumPureHushedFromData a ⇒ (GYUTxO, Maybe GYDatum) → Maybe (GYTxOutRef, (GYAddress, GYValue, a)) #

Obtain original datum representation of an UTxO.

utxoDatum' ∷ (GYTxQueryMonad m, FromData a) ⇒ GYUTxO → m (GYAddress, GYValue, a) #

Version of utxoDatum that throws GYTxMonadException.

utxoDatumPureWithOriginalDatum' ∷ (MonadError GYTxMonadException m, FromData a) ⇒ (GYUTxO, Maybe GYDatum) → m (GYAddress, GYValue, a, GYDatum) #

Like utxoDatumPure' but also returns original raw datum.

skeletonToRefScriptsORefsGYTxSkeleton v → [GYTxOutRef] #

Given a skeleton, returns a list of reference to reference script UTxOs which are present as witness.

wrapReqWithTimeLog ∷ (GYTxQueryMonad m, MonadIO m) ⇒ String → m a → m a #

Log the time a particular monad action took.

wt ∷ (GYTxQueryMonad m, MonadIO m) ⇒ String → m a → m a #

Synonym of wrapReqWithTimeLog.