ouroboros-consensus
Safe HaskellNone
LanguageHaskell2010

Bench.Consensus.Mempool.TestBlock

Synopsis

Test block

type TestBlock = TestBlockWith Tx Source #

Initial parameters

mkInitialLedgerState ∷ [Token] → LedgerState (TestBlockWith Tx) ValuesMK Source #

Like initialLedgerState but seeded with a set of available tokens (the UTxO). Chains of transactions can then be built by consuming a seed token and producing the next one.

advanceTip ∷ Word64 → LedgerState (TestBlockWith Tx) ValuesMK → LedgerState (TestBlockWith Tx) ValuesMK Source #

Move the tip to a fresh point (distinct per n) while keeping the ledger tables unchanged. Used to force the mempool to resync/revalidate against a "new" tip without invalidating any of its transactions.

Transactions

newtype Token Source #

Constructors

Token Int 

Instances

Instances details
NFData Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

rnf ∷ Token → () #

Eq Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

(==) ∷ Token → Token → Bool #

(/=) ∷ Token → Token → Bool #

Ord Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

compare ∷ Token → Token → Ordering #

(<) ∷ Token → Token → Bool #

(<=) ∷ Token → Token → Bool #

(>) ∷ Token → Token → Bool #

(>=) ∷ Token → Token → Bool #

max ∷ Token → Token → Token #

min ∷ Token → Token → Token #

Enum Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

succ ∷ Token → Token #

pred ∷ Token → Token #

toEnum ∷ Int → Token #

fromEnum ∷ Token → Int #

enumFrom ∷ Token → [Token] #

enumFromThen ∷ Token → Token → [Token] #

enumFromTo ∷ Token → Token → [Token] #

enumFromThenTo ∷ Token → Token → Token → [Token] #

Generic Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Associated Types

type Rep Token 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep Token = D1 ('MetaData "Token" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "Token" 'PrefixI 'True) (S1 ('MetaSel ('Just "unToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Methods

from ∷ Token → Rep Token x #

to ∷ Rep Token x → Token #

Num Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

(+) ∷ Token → Token → Token #

(-) ∷ Token → Token → Token #

(*) ∷ Token → Token → Token #

negate ∷ Token → Token #

abs ∷ Token → Token #

signum ∷ Token → Token #

fromInteger ∷ Integer → Token #

Show Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

showsPrec ∷ Int → Token → ShowS #

show ∷ Token → String #

showList ∷ [Token] → ShowS #

MemPack Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

NoThunks Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Serialise Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

ToExpr Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

toExpr ∷ Token → Expr Source #

listToExpr ∷ [Token] → Expr Source #

type Rep Token Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep Token = D1 ('MetaData "Token" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "Token" 'PrefixI 'True) (S1 ('MetaSel ('Just "unToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

data Tx Source #

Constructors

Tx !(Set Token) !(Set Token) 

Instances

Instances details
NFData Tx Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

rnf ∷ Tx → () #

Eq Tx Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

(==) ∷ Tx → Tx → Bool #

(/=) ∷ Tx → Tx → Bool #

Ord Tx Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

compare ∷ Tx → Tx → Ordering #

(<) ∷ Tx → Tx → Bool #

(<=) ∷ Tx → Tx → Bool #

(>) ∷ Tx → Tx → Bool #

(>=) ∷ Tx → Tx → Bool #

max ∷ Tx → Tx → Tx #

min ∷ Tx → Tx → Tx #

Generic Tx Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Associated Types

type Rep Tx 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep Tx = D1 ('MetaData "Tx" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'False) (C1 ('MetaCons "Tx" 'PrefixI 'True) (S1 ('MetaSel ('Just "consumed") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set Token)) :*: S1 ('MetaSel ('Just "produced") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set Token))))

Methods

from ∷ Tx → Rep Tx x #

to ∷ Rep Tx x → Tx #

Show Tx Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

showsPrec ∷ Int → Tx → ShowS #

show ∷ Tx → String #

showList ∷ [Tx] → ShowS #

NoThunks Tx Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

LedgerSupportsMempool TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

TxLimits TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

PayloadSemantics Tx Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Associated Types

newtype PayloadDependentState Tx mk 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

newtype PayloadDependentState Tx mk = TestPLDS {}
type PayloadDependentError Tx 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type PayloadDependentError Tx

Methods

applyPayload ∷ PayloadDependentState Tx ValuesMK → Tx → Either (PayloadDependentError Tx) (PayloadDependentState Tx TrackingMK)

getPayloadKeySets ∷ Tx → LedgerTables (TestBlockWith Tx) KeysMK

HasLedgerTables LedgerState TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

IndexedMemPack LedgerState TestBlock () Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

NFData (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

rnf ∷ GenTx TestBlock → () #

Eq (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Eq (TxId (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Ord (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Ord (TxId (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Generic (CodecConfig TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Associated Types

type Rep (CodecConfig TestBlock) 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (CodecConfig TestBlock) = D1 ('MetaData "CodecConfig" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'False) (C1 ('MetaCons "TestBlockCodecConfig" 'PrefixI 'False) (U1 ∷ Type → Type))
Generic (StorageConfig TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Associated Types

type Rep (StorageConfig TestBlock) 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (StorageConfig TestBlock) = D1 ('MetaData "StorageConfig" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'False) (C1 ('MetaCons "TestBlockStorageConfig" 'PrefixI 'False) (U1 ∷ Type → Type))
Generic (Validated (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Associated Types

type Rep (Validated (GenTx TestBlock)) 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (Validated (GenTx TestBlock)) = D1 ('MetaData "Validated" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "ValidatedGenTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx TestBlock))))
Generic (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Associated Types

type Rep (GenTx TestBlock) 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (GenTx TestBlock) = D1 ('MetaData "GenTx" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "TestBlockGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "unGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tx)))
Generic (TxId (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Associated Types

type Rep (TxId (GenTx TestBlock)) 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (TxId (GenTx TestBlock)) = D1 ('MetaData "TxId" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "TestBlockTxId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tx)))
Show (CodecConfig TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Show (StorageConfig TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Show (Validated (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Show (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Show (TxId (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

NoThunks (CodecConfig TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

NoThunks (StorageConfig TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

NoThunks (Validated (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

NoThunks (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

NoThunks (TxId (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

HasTxId (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

CanStowLedgerTables (LedgerState TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

EqMK mk ⇒ Eq (PayloadDependentState Tx mk) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

(==) ∷ PayloadDependentState Tx mk → PayloadDependentState Tx mk → Bool #

(/=) ∷ PayloadDependentState Tx mk → PayloadDependentState Tx mk → Bool #

Generic (PayloadDependentState Tx mk) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Associated Types

type Rep (PayloadDependentState Tx mk) 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (PayloadDependentState Tx mk) = D1 ('MetaData "PayloadDependentState" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "TestPLDS" 'PrefixI 'True) (S1 ('MetaSel ('Just "getTestPLDS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (mk Token ()))))

Methods

from ∷ PayloadDependentState Tx mk → Rep (PayloadDependentState Tx mk) x #

to ∷ Rep (PayloadDependentState Tx mk) x → PayloadDependentState Tx mk #

ShowMK mk ⇒ Show (PayloadDependentState Tx mk) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

showsPrec ∷ Int → PayloadDependentState Tx mk → ShowS #

show ∷ PayloadDependentState Tx mk → String #

showList ∷ [PayloadDependentState Tx mk] → ShowS #

NoThunksMK mk ⇒ NoThunks (PayloadDependentState Tx mk) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

noThunks ∷ Context → PayloadDependentState Tx mk → IO (Maybe ThunkInfo) Source #

wNoThunks ∷ Context → PayloadDependentState Tx mk → IO (Maybe ThunkInfo) Source #

showTypeOf ∷ Proxy (PayloadDependentState Tx mk) → String Source #

Serialise (PayloadDependentState Tx EmptyMK) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

Methods

encode ∷ PayloadDependentState Tx EmptyMK → Encoding Source #

decode ∷ Decoder s (PayloadDependentState Tx EmptyMK) Source #

encodeList ∷ [PayloadDependentState Tx EmptyMK] → Encoding Source #

decodeList ∷ Decoder s [PayloadDependentState Tx EmptyMK] Source #

HasLedgerTables (Ticked LedgerState) TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep Tx Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep Tx = D1 ('MetaData "Tx" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'False) (C1 ('MetaCons "Tx" 'PrefixI 'True) (S1 ('MetaSel ('Just "consumed") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set Token)) :*: S1 ('MetaSel ('Just "produced") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set Token))))
data CodecConfig TestBlock Source #

TODO: for the time being TestBlock does not have any codec config

Instance details

Defined in Bench.Consensus.Mempool.TestBlock

data StorageConfig TestBlock Source #

TODO: for the time being TestBlock does not have any storage config

Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type ApplyTxErr TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

newtype GenTx TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type TxMeasurePhase1 TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type TxMeasurePhase2 TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type TxIn TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type TxOut TestBlock Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type TxOut TestBlock = ()
type PayloadDependentError Tx Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type PayloadDependentError Tx
newtype PayloadDependentState Tx mk Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

newtype PayloadDependentState Tx mk = TestPLDS {}
type Rep (CodecConfig TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (CodecConfig TestBlock) = D1 ('MetaData "CodecConfig" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'False) (C1 ('MetaCons "TestBlockCodecConfig" 'PrefixI 'False) (U1 ∷ Type → Type))
type Rep (StorageConfig TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (StorageConfig TestBlock) = D1 ('MetaData "StorageConfig" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'False) (C1 ('MetaCons "TestBlockStorageConfig" 'PrefixI 'False) (U1 ∷ Type → Type))
type Rep (Validated (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (Validated (GenTx TestBlock)) = D1 ('MetaData "Validated" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "ValidatedGenTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx TestBlock))))
type Rep (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (GenTx TestBlock) = D1 ('MetaData "GenTx" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "TestBlockGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "unGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tx)))
type Rep (TxId (GenTx TestBlock)) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (TxId (GenTx TestBlock)) = D1 ('MetaData "TxId" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "TestBlockTxId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tx)))
newtype Validated (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

newtype TxId (GenTx TestBlock) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (PayloadDependentState Tx mk) Source # 
Instance details

Defined in Bench.Consensus.Mempool.TestBlock

type Rep (PayloadDependentState Tx mk) = D1 ('MetaData "PayloadDependentState" "Bench.Consensus.Mempool.TestBlock" "ouroboros-consensus-4.0.0.0-inplace-mempool-state-bench" 'True) (C1 ('MetaCons "TestPLDS" 'PrefixI 'True) (S1 ('MetaSel ('Just "getTestPLDS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (mk Token ()))))

mkTx Source #

Arguments

∷ [Token]

Consumed

→ [Token]

Produced

→ GenTx TestBlock 

txSize ∷ GenTx TestBlock → ByteSize32 Source #

For the mempool tests and benchmarks it is not imporant that we calculate the actual size of the transaction in bytes.