ligo/src/test/contracts/expected/time-lock.ligo.expected
Pierre-Emmanuel Wulfman bc259fcde7 Feature/transpiler
2020-06-29 13:05:34 +00:00

34 lines
813 B
Plaintext

type storage_t is timestamp
type message_t is unit -> list (operation)
type default_pt is unit
type call_pt is message_t
type contract_return_t is list (operation) * storage_t
type entry_point_t is
Call of call_pt | Default of default_pt
function call (const p : call_pt; const s : storage_t)
: contract_return_t is
block {
if s >= now
then failwith ("Contract is still time locked")
else skip;
const message : message_t = p;
const ret_ops : list (operation) = message (unit)
} with (ret_ops, s)
function default (const p : default_pt; const s : storage_t)
: contract_return_t is ((nil : list (operation)), s)
function main
(const param : entry_point_t;
const s : storage_t) : contract_return_t is
case param of [
Call (p) -> call (p, s)
| Default (p) -> default (p, s)
]