TxSamplingVariations

scalus.testing.TxSamplingVariations
trait TxSamplingVariations[S] extends TxVariations[S]

Sampling-based variations for fuzz testing.

Unlike TxVariations which enumerates all variations exhaustively, TxSamplingVariations uses a generator to sample variations. This is useful for large or continuous variation spaces.

The primary method is gen; enumerate samples from the generator.

Type parameters

S

the contract state type

Attributes

Graph
Supertypes
trait TxVariations[S]
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def gen(reader: BlockchainReader, state: S, txTemplate: TxTemplate): Gen[Future[Transaction]]

Generate a single transaction variation.

Generate a single transaction variation.

Returns a Gen that produces Future[Transaction] — the transaction is completed asynchronously.

Attributes

Concrete methods

override def enumerate(reader: BlockchainReader, state: S, txTemplate: TxTemplate)(using ExecutionContext): Future[Seq[Transaction]]

Generate all transaction variations for the given state.

Generate all transaction variations for the given state.

Returns completed, signed transactions ready to submit.

Value parameters

reader

blockchain reader for UTxO queries and tx completion

state

contract state extracted from blockchain

template

base template providing sponsor and signer

Attributes

Returns

future containing all transaction variations

Definition Classes
def sampleSize: Int

Number of samples to take when enumerating.

Number of samples to take when enumerating.

Attributes

Inherited methods

def ++(other: TxVariations[S]): TxVariations[S]

Combine two variation generators.

Combine two variation generators.

The resulting generator produces variations from both sources.

Attributes

Inherited from:
TxVariations