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
(** The chain starts from a genesis block associated to a seed protocol *)
type t = {
time : Time.Protocol.t;
block : Tezos_crypto.Hashed.Block_hash.t;
protocol : Tezos_crypto.Hashed.Protocol_hash.t;
}
let encoding =
let open Data_encoding in
conv
(fun {time; block; protocol} -> (time, block, protocol))
(fun (time, block, protocol) -> {time; block; protocol})
(obj3
(req "timestamp" Time.Protocol.encoding)
(req "block" Tezos_crypto.Hashed.Block_hash.encoding)
(req "protocol" Tezos_crypto.Hashed.Protocol_hash.encoding))
let pp ppf genesis =
Data_encoding.Json.pp ppf (Data_encoding.Json.construct encoding genesis)
module Parameters = struct
type t = {context_key : string; values : Data_encoding.json}
let encoding =
let open Data_encoding in
conv
(fun {context_key; values} -> (context_key, values))
(fun (context_key, values) -> {context_key; values})
(obj2 (dft "context_key" string "sandbox_parameter") (req "values" json))
end