| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Plutus.Contract.Trace
Description
A trace is a sequence of actions by simulated wallets that can be run on the mockchain. This module contains the functions needed to build traces.
Synopsis
- data TraceError e
- data EndpointError = EndpointNotActive (Maybe Wallet) EndpointDescription
- class AsTraceError r e | r -> e where
- _TraceError :: Prism' r (TraceError e)
- _TraceAssertionError :: Prism' r AssertionError
- _TContractError :: Prism' r e
- _HookError :: Prism' r EndpointError
- toNotifyError :: ContractInstanceId -> EndpointError -> NotificationError
- handleAdjustUnbalancedTx :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp
- handleSlotNotifications :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp
- handleTimeNotifications :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp
- handleOwnAddressesQueries :: (Member (LogObserve (LogMessage Text)) effs, Member WalletEffect effs) => RequestHandler effs PABReq PABResp
- handleCurrentNodeClientSlotQueries :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp
- handleCurrentChainIndexSlotQueries :: (Member (LogObserve (LogMessage Text)) effs, Member ChainIndexQueryEffect effs) => RequestHandler effs PABReq PABResp
- handleCurrentTimeQueries :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp
- handleCurrentNodeClientTimeRangeQueries :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp
- handleTimeToSlotConversions :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp
- handleUnbalancedTransactions :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member WalletEffect effs) => RequestHandler effs PABReq PABResp
- handlePendingTransactions :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member WalletEffect effs) => RequestHandler effs PABReq PABResp
- handleChainIndexQueries :: (Member (LogObserve (LogMessage Text)) effs, Member ChainIndexQueryEffect effs) => RequestHandler effs PABReq PABResp
- handleOwnInstanceIdQueries :: (Member (LogObserve (LogMessage Text)) effs, Member (Reader ContractInstanceId) effs) => RequestHandler effs PABReq PABResp
- handleYieldedUnbalancedTx :: (Member (LogObserve (LogMessage Text)) effs, Member WalletEffect effs) => RequestHandler effs PABReq PABResp
- handleGetParams :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp
- type InitialDistribution = Map Wallet Value
- defaultDist :: InitialDistribution
- defaultDistFor :: [Wallet] -> InitialDistribution
- data Wallet = Wallet {}
- mockWalletAddress :: Wallet -> CardanoAddress
- mockWalletPaymentPubKey :: Wallet -> PaymentPubKey
- mockWalletPaymentPubKeyHash :: Wallet -> PaymentPubKeyHash
- knownWallets :: [Wallet]
- knownWallet :: Integer -> Wallet
Documentation
data TraceError e Source #
Error produced while running a trace. Either a contract-specific
error (of type e), or an AssertionError from the emulator.
Constructors
| TraceAssertionError AssertionError | |
| TContractError e | |
| HookError EndpointError |
Instances
| Eq e => Eq (TraceError e) Source # | |
Defined in Plutus.Contract.Trace Methods (==) :: TraceError e -> TraceError e -> Bool Source # (/=) :: TraceError e -> TraceError e -> Bool Source # | |
| Show e => Show (TraceError e) Source # | |
Defined in Plutus.Contract.Trace | |
| AsAssertionError (TraceError e) Source # | |
Defined in Plutus.Contract.Trace Methods _AssertionError :: Prism' (TraceError e) AssertionError Source # _GenericAssertion :: Prism' (TraceError e) Text Source # | |
| AsTraceError (TraceError e) e Source # | |
Defined in Plutus.Contract.Trace Methods _TraceError :: Prism' (TraceError e) (TraceError e) Source # _TraceAssertionError :: Prism' (TraceError e) AssertionError Source # _TContractError :: Prism' (TraceError e) e Source # _HookError :: Prism' (TraceError e) EndpointError Source # | |
data EndpointError Source #
Constructors
| EndpointNotActive (Maybe Wallet) EndpointDescription |
Instances
class AsTraceError r e | r -> e where Source #
Minimal complete definition
Methods
_TraceError :: Prism' r (TraceError e) Source #
_TraceAssertionError :: Prism' r AssertionError Source #
_TContractError :: Prism' r e Source #
_HookError :: Prism' r EndpointError Source #
Instances
| AsTraceError (TraceError e) e Source # | |
Defined in Plutus.Contract.Trace Methods _TraceError :: Prism' (TraceError e) (TraceError e) Source # _TraceAssertionError :: Prism' (TraceError e) AssertionError Source # _TContractError :: Prism' (TraceError e) e Source # _HookError :: Prism' (TraceError e) EndpointError Source # | |
Handle contract requests
handleAdjustUnbalancedTx :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp Source #
handleSlotNotifications :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp Source #
handleTimeNotifications :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp Source #
handleOwnAddressesQueries :: (Member (LogObserve (LogMessage Text)) effs, Member WalletEffect effs) => RequestHandler effs PABReq PABResp Source #
handleCurrentNodeClientSlotQueries :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp Source #
handleCurrentChainIndexSlotQueries :: (Member (LogObserve (LogMessage Text)) effs, Member ChainIndexQueryEffect effs) => RequestHandler effs PABReq PABResp Source #
handleCurrentTimeQueries :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp Source #
handleCurrentNodeClientTimeRangeQueries :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp Source #
handleTimeToSlotConversions :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp Source #
handleUnbalancedTransactions :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member WalletEffect effs) => RequestHandler effs PABReq PABResp Source #
handlePendingTransactions :: (Member (LogObserve (LogMessage Text)) effs, Member (LogMsg RequestHandlerLogMsg) effs, Member WalletEffect effs) => RequestHandler effs PABReq PABResp Source #
Submit the wallet's pending transactions to the blockchain.
handleChainIndexQueries :: (Member (LogObserve (LogMessage Text)) effs, Member ChainIndexQueryEffect effs) => RequestHandler effs PABReq PABResp Source #
handleOwnInstanceIdQueries :: (Member (LogObserve (LogMessage Text)) effs, Member (Reader ContractInstanceId) effs) => RequestHandler effs PABReq PABResp Source #
handleYieldedUnbalancedTx :: (Member (LogObserve (LogMessage Text)) effs, Member WalletEffect effs) => RequestHandler effs PABReq PABResp Source #
handleGetParams :: (Member (LogObserve (LogMessage Text)) effs, Member NodeClientEffect effs) => RequestHandler effs PABReq PABResp Source #
Initial distributions of emulated chains
defaultDistFor :: [Wallet] -> InitialDistribution Source #
Wallets
A wallet identifier
Constructors
| Wallet | |
Fields | |
Instances
mockWalletAddress :: Wallet -> CardanoAddress Source #
Get the cardano address of a mock wallet. (Fails if the wallet is not a mock wallet).
mockWalletPaymentPubKey :: Wallet -> PaymentPubKey Source #
The public key of a mock wallet. (Fails if the wallet is not a mock wallet).
mockWalletPaymentPubKeyHash :: Wallet -> PaymentPubKeyHash Source #
The payment public key hash of a mock wallet. (Fails if the wallet is not a mock wallet).
knownWallets :: [Wallet] Source #
knownWallet :: Integer -> Wallet Source #