ligo/src/test/contracts/website2.religo

26 lines
672 B
Plaintext
Raw Normal View History

(* IF YOU CHANGE THIS, CHANGE THE EXAMPLE ON THE FRONT PAGE OF THE WEBSITE *)
2019-12-10 13:47:31 +00:00
type storage = int;
/* variant defining pseudo multi-entrypoint actions */
2020-03-02 18:01:56 +01:00
type parameter =
| Increment (int)
| Decrement (int);
2019-12-10 13:47:31 +00:00
let add = ((a,b): (int, int)): int => a + b;
let sub = ((a,b): (int, int)): int => a - b;
2019-12-10 13:47:31 +00:00
2020-03-02 18:01:56 +01:00
/* real entrypoint that re-routes the flow based on the parameter provided */
2019-12-10 13:47:31 +00:00
2020-03-02 18:01:56 +01:00
let main = ((p,storage): (parameter, storage)) => {
2019-12-10 13:47:31 +00:00
let storage =
switch (p) {
2020-03-02 18:01:56 +01:00
| Increment(n) => add ((storage, n))
| Decrement(n) => sub ((storage, n))
2019-12-10 13:47:31 +00:00
};
2020-03-02 18:01:56 +01:00
([]: list (operation), storage);
2019-12-10 13:47:31 +00:00
};
(* IF YOU CHANGE THIS, CHANGE THE EXAMPLE ON THE FRONT PAGE OF THE WEBSITE *)