Source file tx_rollup_state_storage.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
open Tx_rollup_errors_repr
let init : Raw_context.t -> Tx_rollup_repr.t -> Raw_context.t tzresult Lwt.t =
fun ctxt tx_rollup ->
Storage.Tx_rollup.State.mem ctxt tx_rollup >>=? fun (ctxt, already_exists) ->
fail_when already_exists (Tx_rollup_already_exists tx_rollup) >>=? fun () ->
let pre_allocated_storage =
Z.of_int @@ Constants_storage.tx_rollup_origination_size ctxt
in
Storage.Tx_rollup.State.init ctxt tx_rollup
@@ Tx_rollup_state_repr.initial_state ~pre_allocated_storage
>|=? fst
let find :
Raw_context.t ->
Tx_rollup_repr.t ->
(Raw_context.t * Tx_rollup_state_repr.t option) tzresult Lwt.t =
Storage.Tx_rollup.State.find
let get :
Raw_context.t ->
Tx_rollup_repr.t ->
(Raw_context.t * Tx_rollup_state_repr.t) tzresult Lwt.t =
fun ctxt tx_rollup ->
find ctxt tx_rollup >>=? fun (ctxt, state) ->
match state with
| Some state -> return (ctxt, state)
| None -> fail (Tx_rollup_does_not_exist tx_rollup)
let assert_exist :
Raw_context.t -> Tx_rollup_repr.t -> Raw_context.t tzresult Lwt.t =
fun ctxt tx_rollup ->
Storage.Tx_rollup.State.mem ctxt tx_rollup
>>=? fun (ctxt, tx_rollup_exists) ->
fail_unless tx_rollup_exists (Tx_rollup_does_not_exist tx_rollup)
>>=? fun () -> return ctxt
let update :
Raw_context.t ->
Tx_rollup_repr.t ->
Tx_rollup_state_repr.t ->
Raw_context.t tzresult Lwt.t =
fun ctxt tx_rollup t ->
Storage.Tx_rollup.State.update ctxt tx_rollup t >>=? fun (ctxt, _) ->
return ctxt