3.3 KiB
3.3 KiB
id | title | description | hide_table_of_contents |
---|---|---|---|
toplevel | Toplevel | Available functions at the top level | true |
import Syntax from '@theme/Syntax'; import SyntaxTitle from '@theme/SyntaxTitle';
These functions are available without any needed prefix.
function is_nat: int -> option(nat) val is_nat: int -> nat option let is_nat: int => option(nat)Convert an int
to a nat
if possible.
Cast an int
to nat
.
Cast an nat
to int
.
A helper to create a unit.
function failwith : string -> unit val failwith : string -> unit let failwith: string => unitCause the contract to fail with an error message.
function assert : bool -> unit val assert : bool -> unit let assert: bool => unit⚠ Using this currently requires in general a type annotation on the
failwith
call.
Check if a certain condition has been met. If not the contract will fail.
function ediv : int -> int -> option (int * nat) function ediv : mutez -> nat -> option (mutez * mutez) function ediv : mutez -> mutez -> option (nat * mutez) function ediv : nat -> nat -> option (nat * nat) val ediv : int -> int -> (int * nat) option val ediv : mutez -> nat -> (mutez * mutez) option val ediv : mutez -> mutez -> (nat * mutez) option val ediv : nat -> nat -> (nat * nat) option let ediv: (int, int) => option((int, nat)) let ediv: (mutez, nat) => option((mutez, mutez)) let ediv: (mutez, mutez) => option((nat, mutez)) let ediv: (nat, nat) => option((nat, nat))Compiles to Michelson EDIV
, one operation to get both the quotient and remainder of a division. ediv x y
returns None if y
is zero, otherwise returns Some (quotient, remainder)
such that x = (quotient * y) + remainder
and 0 <= remainder < y
.