ligo/src/test/contracts/website2.religo

24 lines
539 B
Plaintext
Raw Normal View History

2019-12-10 17:47:31 +04:00
type storage = int;
/* variant defining pseudo multi-entrypoint actions */
type action =
| Increment(int)
| Decrement(int);
let add = (a: int, b: int): int => a + b;
let sub = (a: int, b: int): int => a - b;
/* real entrypoint that re-routes the flow based on the action provided */
let main2 = (p: action, storage) => {
2019-12-10 17:47:31 +04:00
let storage =
switch (p) {
| Increment(n) => add(storage, n)
| Decrement(n) => sub(storage, n)
};
([]: list(operation), storage);
};
let main = (x: (action, storage)) => main2(x[0],x[1]);