plutus-chain-index-core-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

Plutus.ChainIndex.Emulator

Synopsis

Documentation

newtype BlockId Source #

Block identifier (usually a hash)

Constructors

BlockId 

Instances

Instances details
Eq BlockId 
Instance details

Defined in Ledger.Blockchain

Ord BlockId 
Instance details

Defined in Ledger.Blockchain

Show BlockId 
Instance details

Defined in Ledger.Blockchain

Generic BlockId 
Instance details

Defined in Ledger.Blockchain

Associated Types

type Rep BlockId :: Type -> Type Source #

ToJSON BlockId 
Instance details

Defined in Ledger.Blockchain

FromJSON BlockId 
Instance details

Defined in Ledger.Blockchain

ToSchema BlockId 
Instance details

Defined in Ledger.Blockchain

Pretty BlockId 
Instance details

Defined in Ledger.Blockchain

Methods

pretty :: BlockId -> Doc ann Source #

prettyList :: [BlockId] -> Doc ann Source #

HasDbType BlockId Source # 
Instance details

Defined in Plutus.ChainIndex.DbSchema

Associated Types

type DbType BlockId Source #

type Rep BlockId 
Instance details

Defined in Ledger.Blockchain

type Rep BlockId = D1 ('MetaData "BlockId" "Ledger.Blockchain" "plutus-ledger-0.1.0.0-BAhdPNOPbMF52ZvZJtxBkz" 'True) (C1 ('MetaCons "BlockId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getBlockId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
type DbType BlockId Source # 
Instance details

Defined in Plutus.ChainIndex.DbSchema

data Point Source #

When performing a rollback the chain sync protocol does not provide a block number where to resume from.

Constructors

PointAtGenesis 
Point 

Fields

Instances

Instances details
Eq Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Methods

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

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

Ord Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep Point :: Type -> Type Source #

Methods

from :: Point -> Rep Point x Source #

to :: Rep Point x -> Point Source #

Semigroup Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Monoid Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

ToJSON Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Pretty Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Methods

pretty :: Point -> Doc ann Source #

prettyList :: [Point] -> Doc ann Source #

type Rep Point Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep Point = D1 ('MetaData "Point" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "PointAtGenesis" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Point" 'PrefixI 'True) (S1 ('MetaSel ('Just "pointSlot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Slot) :*: S1 ('MetaSel ('Just "pointBlockId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 BlockId)))

data Tip Source #

The tip of the chain index.

Constructors

TipAtGenesis 
Tip 

Fields

Instances

Instances details
Eq Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Methods

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

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

Ord Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Methods

compare :: Tip -> Tip -> Ordering Source #

(<) :: Tip -> Tip -> Bool Source #

(<=) :: Tip -> Tip -> Bool Source #

(>) :: Tip -> Tip -> Bool Source #

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

max :: Tip -> Tip -> Tip Source #

min :: Tip -> Tip -> Tip Source #

Show Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep Tip :: Type -> Type Source #

Methods

from :: Tip -> Rep Tip x Source #

to :: Rep Tip x -> Tip Source #

Semigroup Tip Source #

This mirrors the previously defined Tip which used the Last monoid definition.

Instance details

Defined in Plutus.ChainIndex.Types

Methods

(<>) :: Tip -> Tip -> Tip Source #

sconcat :: NonEmpty Tip -> Tip Source #

stimes :: Integral b => b -> Tip -> Tip Source #

Monoid Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

ToJSON Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

ToSchema Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Pretty Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Methods

pretty :: Tip -> Doc ann Source #

prettyList :: [Tip] -> Doc ann Source #

HasDbType Tip Source # 
Instance details

Defined in Plutus.ChainIndex.DbSchema

Associated Types

type DbType Tip Source #

type Rep Tip Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep Tip = D1 ('MetaData "Tip" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "TipAtGenesis" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Tip" 'PrefixI 'True) (S1 ('MetaSel ('Just "tipSlot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Slot) :*: (S1 ('MetaSel ('Just "tipBlockId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 BlockId) :*: S1 ('MetaSel ('Just "tipBlockNo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 BlockNumber))))
type DbType Tip Source # 
Instance details

Defined in Plutus.ChainIndex.DbSchema

newtype BlockNumber Source #

Constructors

BlockNumber 

Instances

Instances details
Enum BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Eq BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Integral BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Num BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Ord BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Real BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep BlockNumber :: Type -> Type Source #

ToJSON BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

ToSchema BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Pretty BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

HasDbType BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.DbSchema

Associated Types

type DbType BlockNumber Source #

type Rep BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep BlockNumber = D1 ('MetaData "BlockNumber" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'True) (C1 ('MetaCons "BlockNumber" 'PrefixI 'True) (S1 ('MetaSel ('Just "unBlockNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
type DbType BlockNumber Source # 
Instance details

Defined in Plutus.ChainIndex.DbSchema

blockId :: Block -> BlockId Source #

Compute a hash of the block's contents.

data TxOutBalance Source #

The effect of a transaction (or a number of them) on the tx output set.

Constructors

TxOutBalance 

Fields

Instances

Instances details
Eq TxOutBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show TxOutBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic TxOutBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep TxOutBalance :: Type -> Type Source #

Semigroup TxOutBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Monoid TxOutBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

ToJSON TxOutBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON TxOutBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxOutBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxOutBalance = D1 ('MetaData "TxOutBalance" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "TxOutBalance" 'PrefixI 'True) (S1 ('MetaSel ('Just "_tobUnspentOutputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Set TxOutRef)) :*: S1 ('MetaSel ('Just "_tobSpentOutputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map TxOutRef TxId))))

data TxConfirmedState Source #

Instances

Instances details
Eq TxConfirmedState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show TxConfirmedState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic TxConfirmedState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep TxConfirmedState :: Type -> Type Source #

Semigroup TxConfirmedState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Monoid TxConfirmedState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxConfirmedState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxConfirmedState = D1 ('MetaData "TxConfirmedState" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "TxConfirmedState" 'PrefixI 'True) (S1 ('MetaSel ('Just "timesConfirmed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Sum Int)) :*: (S1 ('MetaSel ('Just "blockAdded") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Last BlockNumber)) :*: S1 ('MetaSel ('Just "validity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Last TxValidity)))))

data TxIdState Source #

Constructors

TxIdState 

Fields

Instances

Instances details
Eq TxIdState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show TxIdState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic TxIdState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep TxIdState :: Type -> Type Source #

Semigroup TxIdState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Monoid TxIdState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxIdState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxIdState = D1 ('MetaData "TxIdState" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "TxIdState" 'PrefixI 'True) (S1 ('MetaSel ('Just "txnsConfirmed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map TxId TxConfirmedState)) :*: S1 ('MetaSel ('Just "txnsDeleted") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map TxId (Sum Int)))))

data TxStatusFailure Source #

Datatype returned when we couldn't get the state of a tx or a tx output.

Constructors

TxIdStateInvalid BlockNumber TxId TxIdState

We couldn't return the status because the TxIdState was in a ... state ... that we didn't know how to decode in transactionStatus.

TxOutBalanceStateInvalid BlockNumber TxOutRef TxOutBalance

We couldn't return the status because the TxOutBalance does not contain the target tx output.

InvalidRollbackAttempt BlockNumber TxId TxIdState 

data Diagnostics Source #

Instances

Instances details
Eq Diagnostics Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Ord Diagnostics Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show Diagnostics Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic Diagnostics Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep Diagnostics :: Type -> Type Source #

ToJSON Diagnostics Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON Diagnostics Source # 
Instance details

Defined in Plutus.ChainIndex.Types

ToSchema Diagnostics Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep Diagnostics Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep Diagnostics = D1 ('MetaData "Diagnostics" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "Diagnostics" 'PrefixI 'True) ((S1 ('MetaSel ('Just "numScripts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: S1 ('MetaSel ('Just "numAddresses") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer)) :*: (S1 ('MetaSel ('Just "numAssetClasses") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: (S1 ('MetaSel ('Just "numUnspentOutputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "numUnmatchedInputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)))))

data TxOutState Source #

Constructors

Spent TxId 
Unspent 

Instances

Instances details
Eq TxOutState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Ord TxOutState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show TxOutState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic TxOutState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep TxOutState :: Type -> Type Source #

ToJSON TxOutState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON TxOutState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Pretty TxOutState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxOutState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxOutState = D1 ('MetaData "TxOutState" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "Spent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TxId)) :+: C1 ('MetaCons "Unspent" 'PrefixI 'False) (U1 :: Type -> Type))

data RollbackState a Source #

The rollback state of a Cardano transaction

Constructors

Unknown

The transaction is not on the chain. That's all we can say.

TentativelyConfirmed Depth TxValidity a

The transaction is on the chain, n blocks deep. It can still be rolled back.

Committed TxValidity a

The transaction is on the chain. It cannot be rolled back anymore.

Instances

Instances details
Functor RollbackState Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Methods

fmap :: (a -> b) -> RollbackState a -> RollbackState b Source #

(<$) :: a -> RollbackState b -> RollbackState a Source #

Eq a => Eq (RollbackState a) Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Ord a => Ord (RollbackState a) Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show a => Show (RollbackState a) Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic (RollbackState a) Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep (RollbackState a) :: Type -> Type Source #

ToJSON a => ToJSON (RollbackState a) Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON a => FromJSON (RollbackState a) Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show a => Pretty (RollbackState a) Source # 
Instance details

Defined in Plutus.ChainIndex.Types

MeetSemiLattice a => MeetSemiLattice (RollbackState a) Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep (RollbackState a) Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type TxStatus = RollbackState () Source #

The status of a Cardano transaction

newtype Depth Source #

How many blocks deep the tx is on the chain

Constructors

Depth 

Fields

Instances

Instances details
Enum Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Eq Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Methods

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

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

Integral Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Num Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Ord Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Real Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep Depth :: Type -> Type Source #

Methods

from :: Depth -> Rep Depth x Source #

to :: Rep Depth x -> Depth Source #

ToJSON Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Pretty Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Methods

pretty :: Depth -> Doc ann Source #

prettyList :: [Depth] -> Doc ann Source #

MeetSemiLattice Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Methods

(/\) :: Depth -> Depth -> Depth Source #

type Rep Depth Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep Depth = D1 ('MetaData "Depth" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'True) (C1 ('MetaCons "Depth" 'PrefixI 'True) (S1 ('MetaSel ('Just "unDepth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

data TxValidity Source #

Validity of a transaction that has been added to the ledger

Instances

Instances details
Eq TxValidity Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Ord TxValidity Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show TxValidity Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic TxValidity Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep TxValidity :: Type -> Type Source #

ToJSON TxValidity Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON TxValidity Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Pretty TxValidity Source # 
Instance details

Defined in Plutus.ChainIndex.Types

MeetSemiLattice TxValidity Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxValidity Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxValidity = D1 ('MetaData "TxValidity" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "TxValid" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TxInvalid" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnknownValidity" 'PrefixI 'False) (U1 :: Type -> Type)))

txOutStatusTxOutState :: TxOutStatus -> Maybe TxOutState Source #

Maybe extract the TxOutState (Spent or Unspent) of a TxOutStatus.

liftTxOutStatus :: TxOutStatus -> TxStatus Source #

Converts a TxOutStatus to a TxStatus. Possible since a transaction output belongs to a transaction.

Note, however, that we can't convert a TxStatus to a TxOutStatus.

data TxUtxoBalance Source #

The effect of a transaction (or a number of them) on the utxo set.

Constructors

TxUtxoBalance 

Fields

Instances

Instances details
Eq TxUtxoBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Show TxUtxoBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Generic TxUtxoBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Associated Types

type Rep TxUtxoBalance :: Type -> Type Source #

Semigroup TxUtxoBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Monoid TxUtxoBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

ToJSON TxUtxoBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

FromJSON TxUtxoBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

Serialise TxUtxoBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxUtxoBalance Source # 
Instance details

Defined in Plutus.ChainIndex.Types

type Rep TxUtxoBalance = D1 ('MetaData "TxUtxoBalance" "Plutus.ChainIndex.Types" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "TxUtxoBalance" 'PrefixI 'True) (S1 ('MetaSel ('Just "_tubUnspentOutputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Set TxOutRef)) :*: S1 ('MetaSel ('Just "_tubUnmatchedSpentInputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Set TxOutRef))))

data ChainSyncBlock Source #

A block of transactions to be synced.

Constructors

Block 

Instances

Instances details
Show ChainSyncBlock Source # 
Instance details

Defined in Plutus.ChainIndex.Types

newtype TxProcessOption Source #

User-customizable options to process a transaction. See #73 for more motivations.

Constructors

TxProcessOption 

Fields

  • tpoStoreTx :: Bool

    Should the chain index store this transaction or not. If not, only handle the UTXOs. This, for example, allows applications to skip unwanted pre-Alonzo transactions.

data CredentialMap Source #

Set of transaction output references for each address.

Instances

Instances details
Eq CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Show CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Generic CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Associated Types

type Rep CredentialMap :: Type -> Type Source #

Semigroup CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Monoid CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Ixed CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

At CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

type Rep CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

type Rep CredentialMap = D1 ('MetaData "CredentialMap" "Plutus.ChainIndex.Emulator.DiskState" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'True) (C1 ('MetaCons "CredentialMap" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unCredentialMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Credential (Set TxOutRef)))))
type Index CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

type IxValue CredentialMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

data AssetClassMap Source #

Set of transaction output references for each asset class.

Instances

Instances details
Eq AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Show AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Generic AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Associated Types

type Rep AssetClassMap :: Type -> Type Source #

Semigroup AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Monoid AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Ixed AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

At AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

type Rep AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

type Rep AssetClassMap = D1 ('MetaData "AssetClassMap" "Plutus.ChainIndex.Emulator.DiskState" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'True) (C1 ('MetaCons "AssetClassMap" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unAssetClassMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map AssetClass (Set TxOutRef)))))
type Index AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

type IxValue AssetClassMap Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

data DiskState Source #

Data that we keep on disk. (This type is used for testing only - we need other structures for the disk-backed storage)

Instances

Instances details
Eq DiskState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Show DiskState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Generic DiskState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Associated Types

type Rep DiskState :: Type -> Type Source #

Semigroup DiskState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

Monoid DiskState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

type Rep DiskState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.DiskState

data RollbackFailed Source #

Reason why the rollback operation failed

Constructors

RollbackNoTip

Rollback failed because the utxo index had no tip (not synchronised)

TipMismatch

Unable to roll back to expectedTip because the tip at that position was different

Fields

OldPointNotFound Point

Unable to find the old tip

Instances

Instances details
Eq RollbackFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Ord RollbackFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Show RollbackFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Generic RollbackFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Associated Types

type Rep RollbackFailed :: Type -> Type Source #

ToJSON RollbackFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

FromJSON RollbackFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Pretty RollbackFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

type Rep RollbackFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

type Rep RollbackFailed = D1 ('MetaData "RollbackFailed" "Plutus.ChainIndex.ChainIndexError" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "RollbackNoTip" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TipMismatch" 'PrefixI 'True) (S1 ('MetaSel ('Just "foundTip") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tip) :*: S1 ('MetaSel ('Just "targetPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)) :+: C1 ('MetaCons "OldPointNotFound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point))))

data InsertUtxoFailed Source #

UTXO state could not be inserted into the chain index

Constructors

DuplicateBlock Tip

Insertion failed as there was already a block with the given number

InsertUtxoNoTip

The _usTip field of the argument was 'Last Nothing'

Instances

Instances details
Eq InsertUtxoFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Ord InsertUtxoFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Show InsertUtxoFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Generic InsertUtxoFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Associated Types

type Rep InsertUtxoFailed :: Type -> Type Source #

ToJSON InsertUtxoFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

FromJSON InsertUtxoFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Pretty InsertUtxoFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

type Rep InsertUtxoFailed Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

type Rep InsertUtxoFailed = D1 ('MetaData "InsertUtxoFailed" "Plutus.ChainIndex.ChainIndexError" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "DuplicateBlock" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tip)) :+: C1 ('MetaCons "InsertUtxoNoTip" 'PrefixI 'False) (U1 :: Type -> Type))

data ChainIndexError Source #

Constructors

InsertionFailed InsertUtxoFailed 
RollbackFailed RollbackFailed 
ResumeNotSupported 
QueryFailedNoTip

Query failed because the chain index does not have a tip (not synchronised with node)

BeamEffectError BeamError 

Instances

Instances details
Eq ChainIndexError Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Show ChainIndexError Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Generic ChainIndexError Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Associated Types

type Rep ChainIndexError :: Type -> Type Source #

ToJSON ChainIndexError Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

FromJSON ChainIndexError Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

Pretty ChainIndexError Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

type Rep ChainIndexError Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexError

type Rep ChainIndexError = D1 ('MetaData "ChainIndexError" "Plutus.ChainIndex.ChainIndexError" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) ((C1 ('MetaCons "InsertionFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InsertUtxoFailed)) :+: C1 ('MetaCons "RollbackFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RollbackFailed))) :+: (C1 ('MetaCons "ResumeNotSupported" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "QueryFailedNoTip" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BeamEffectError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BeamError)))))

data ChainIndexQueryEffect r where Source #

Constructors

DatumFromHash :: DatumHash -> ChainIndexQueryEffect (Maybe Datum)

Get the datum from a datum hash (if available)

ValidatorFromHash :: ValidatorHash -> ChainIndexQueryEffect (Maybe Validator)

Get the validator from a validator hash (if available)

MintingPolicyFromHash :: MintingPolicyHash -> ChainIndexQueryEffect (Maybe MintingPolicy)

Get the monetary policy from an MPS hash (if available)

RedeemerFromHash :: RedeemerHash -> ChainIndexQueryEffect (Maybe Redeemer)

Get the redeemer from a redeemer hash (if available)

StakeValidatorFromHash :: StakeValidatorHash -> ChainIndexQueryEffect (Maybe StakeValidator)

Get the stake validator from a stake validator hash (if available)

UnspentTxOutFromRef :: TxOutRef -> ChainIndexQueryEffect (Maybe ChainIndexTxOut)

Get the TxOut from a TxOutRef (if available)

UtxoSetMembership :: TxOutRef -> ChainIndexQueryEffect IsUtxoResponse

Whether a tx output is part of the UTXO set

UtxoSetAtAddress :: PageQuery TxOutRef -> Credential -> ChainIndexQueryEffect UtxosResponse

Unspent outputs located at addresses with the given credential.

UtxoSetWithCurrency :: PageQuery TxOutRef -> AssetClass -> ChainIndexQueryEffect UtxosResponse

Unspent outputs containing a specific currency (AssetClass).

Note that requesting unspent outputs containing Ada should not return anything, as this request will always return all unspent outputs.

TxoSetAtAddress :: PageQuery TxOutRef -> Credential -> ChainIndexQueryEffect TxosResponse

Outputs located at addresses with the given credential.

GetTip :: ChainIndexQueryEffect Tip

Get the tip of the chain index

data ChainIndexControlEffect r where Source #

Constructors

AppendBlocks :: [ChainSyncBlock] -> ChainIndexControlEffect ()

Add new blocks to the chain index.

Rollback :: Point -> ChainIndexControlEffect ()

Roll back to a previous state (previous tip)

ResumeSync :: Point -> ChainIndexControlEffect ()

Resume syncing from a certain point

CollectGarbage :: ChainIndexControlEffect ()

Delete all data that is not covered by current UTxOs.

GetDiagnostics :: ChainIndexControlEffect Diagnostics 

getTip :: forall effs. Member ChainIndexQueryEffect effs => Eff effs Tip Source #

rollback :: forall effs. Member ChainIndexControlEffect effs => Point -> Eff effs () Source #

resumeSync :: forall effs. Member ChainIndexControlEffect effs => Point -> Eff effs () Source #

collectGarbage :: forall effs. Member ChainIndexControlEffect effs => Eff effs () Source #

data InsertUtxoPosition Source #

Outcome of inserting a UtxoState into the utxo index

Constructors

InsertAtEnd

The utxo state was added to the end. Returns the new index

InsertBeforeEnd

The utxo state was added somewhere before the end. Returns the new index and the tip

Instances

Instances details
Eq InsertUtxoPosition Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Ord InsertUtxoPosition Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Show InsertUtxoPosition Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Generic InsertUtxoPosition Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Associated Types

type Rep InsertUtxoPosition :: Type -> Type Source #

ToJSON InsertUtxoPosition Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

FromJSON InsertUtxoPosition Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Pretty InsertUtxoPosition Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

type Rep InsertUtxoPosition Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

type Rep InsertUtxoPosition = D1 ('MetaData "InsertUtxoPosition" "Plutus.ChainIndex.ChainIndexLog" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "InsertAtEnd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InsertBeforeEnd" 'PrefixI 'False) (U1 :: Type -> Type))

data ChainIndexLog Source #

Instances

Instances details
Eq ChainIndexLog Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Show ChainIndexLog Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Generic ChainIndexLog Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Associated Types

type Rep ChainIndexLog :: Type -> Type Source #

ToJSON ChainIndexLog Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

FromJSON ChainIndexLog Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Pretty ChainIndexLog Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

ToObject ChainIndexLog Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

Methods

toObject :: TracingVerbosity -> ChainIndexLog -> Object

textTransformer :: ChainIndexLog -> Object -> Text

type Rep ChainIndexLog Source # 
Instance details

Defined in Plutus.ChainIndex.ChainIndexLog

type Rep ChainIndexLog = D1 ('MetaData "ChainIndexLog" "Plutus.ChainIndex.ChainIndexLog" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (((C1 ('MetaCons "InsertionSuccess" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tip) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InsertUtxoPosition)) :+: C1 ('MetaCons "ConversionFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FromCardanoError))) :+: (C1 ('MetaCons "RollbackSuccess" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tip)) :+: C1 ('MetaCons "Err" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ChainIndexError)))) :+: ((C1 ('MetaCons "TxNotFound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxId)) :+: C1 ('MetaCons "TxOutNotFound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxOutRef))) :+: (C1 ('MetaCons "TipIsGenesis" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NoDatumScriptAddr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxOut)) :+: C1 ('MetaCons "BeamLogItem" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BeamLog))))))

data ChainIndexEmulatorState Source #

Instances

Instances details
Eq ChainIndexEmulatorState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.Handlers

Show ChainIndexEmulatorState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.Handlers

Generic ChainIndexEmulatorState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.Handlers

Associated Types

type Rep ChainIndexEmulatorState :: Type -> Type Source #

Semigroup ChainIndexEmulatorState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.Handlers

Monoid ChainIndexEmulatorState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.Handlers

type Rep ChainIndexEmulatorState Source # 
Instance details

Defined in Plutus.ChainIndex.Emulator.Handlers

type Rep ChainIndexEmulatorState = D1 ('MetaData "ChainIndexEmulatorState" "Plutus.ChainIndex.Emulator.Handlers" "plutus-chain-index-core-0.1.0.0-EG2fOrGca5623jCDzCiAyI" 'False) (C1 ('MetaCons "ChainIndexEmulatorState" 'PrefixI 'True) (S1 ('MetaSel ('Just "_diskState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DiskState) :*: S1 ('MetaSel ('Just "_utxoIndex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (UtxoIndex TxUtxoBalance))))

serveChainIndexQueryServer Source #

Arguments

:: Int

Port

-> TVar ChainIndexEmulatorState

Chain index state (TODO: When the disk state is stored in a DB, replace this with DB connection info)

-> IO ()