The official library for writing samplers (a.k.a Scaled Fuzzers) for the Aiken Cardano smart-contract language.
IMPORTANT: This is a work in progress and the API is not stable yet; additionally Samplers are not yet supported in the current version of Aiken (v1.1.9).
aiken add aiken-lang/bench --version v0.0.0
First, make sure you have the Aiken's user manual about tests; in particular the section about benchmarking functions.
In many situations, you can use primitives from this library out-of-the-box, composing them inline when necessary. For example, if you need a growing non-empty list of values, you can simply write:
use aiken/bench
bench my_bench(xs via bench.list(bench.int(Linear(1)), Linear(1))) {
// some function
}
You can also write your own more complex sampler. Note that writing good samplers can be complicated, so here are a few guiding principles you should follow.. TODO