aiken/book/src/language-tour/assert.md

367 B

Assert

type Datum {
  n: Int
}

fn do_something(datum: Data) -> Bool {
  assert d: Datum = datum

  d.n == 0
}

Causes the script to fail if the raw Data doesn't match the structure of Datum.

Primarily for validating input datums / redeemers.

You can also assert patterns.

let optional_int = Some(1)

assert Some(x) = optional_int