Data_encoding: add descriptions to encodings
This commit is contained in:
parent
f5cc599ae6
commit
ebfdeea8d5
@ -131,33 +131,49 @@ module Pool_event = struct
|
||||
(merge_objs
|
||||
(obj1 (req "event" (constant name))) obj) in
|
||||
union ~tag_size:`Uint8 [
|
||||
case (Tag 0) (branch_encoding "too_few_connections" empty)
|
||||
case (Tag 0)
|
||||
~name:"too_few_connections"
|
||||
(branch_encoding "too_few_connections" empty)
|
||||
(function Too_few_connections -> Some () | _ -> None)
|
||||
(fun () -> Too_few_connections) ;
|
||||
case (Tag 1) (branch_encoding "too_many_connections" empty)
|
||||
case (Tag 1)
|
||||
~name:"too_many_connections"
|
||||
(branch_encoding "too_many_connections" empty)
|
||||
(function Too_many_connections -> Some () | _ -> None)
|
||||
(fun () -> Too_many_connections) ;
|
||||
case (Tag 2) (branch_encoding "new_point"
|
||||
case (Tag 2)
|
||||
~name:"new_point"
|
||||
(branch_encoding "new_point"
|
||||
(obj1 (req "point" P2p_point.Id.encoding)))
|
||||
(function New_point p -> Some p | _ -> None)
|
||||
(fun p -> New_point p) ;
|
||||
case (Tag 3) (branch_encoding "new_peer"
|
||||
case (Tag 3)
|
||||
~name:"new_peer"
|
||||
(branch_encoding "new_peer"
|
||||
(obj1 (req "peer_id" P2p_peer_id.encoding)))
|
||||
(function New_peer p -> Some p | _ -> None)
|
||||
(fun p -> New_peer p) ;
|
||||
case (Tag 4) (branch_encoding "incoming_connection"
|
||||
case (Tag 4)
|
||||
~name:"incoming_connection"
|
||||
(branch_encoding "incoming_connection"
|
||||
(obj1 (req "point" P2p_point.Id.encoding)))
|
||||
(function Incoming_connection p -> Some p | _ -> None)
|
||||
(fun p -> Incoming_connection p) ;
|
||||
case (Tag 5) (branch_encoding "outgoing_connection"
|
||||
case (Tag 5)
|
||||
~name:"outgoing_connection"
|
||||
(branch_encoding "outgoing_connection"
|
||||
(obj1 (req "point" P2p_point.Id.encoding)))
|
||||
(function Outgoing_connection p -> Some p | _ -> None)
|
||||
(fun p -> Outgoing_connection p) ;
|
||||
case (Tag 6) (branch_encoding "authentication_failed"
|
||||
case (Tag 6)
|
||||
~name:"authentication_failed"
|
||||
(branch_encoding "authentication_failed"
|
||||
(obj1 (req "point" P2p_point.Id.encoding)))
|
||||
(function Authentication_failed p -> Some p | _ -> None)
|
||||
(fun p -> Authentication_failed p) ;
|
||||
case (Tag 7) (branch_encoding "accepting_request"
|
||||
case (Tag 7)
|
||||
~name:"accepting_request"
|
||||
(branch_encoding "accepting_request"
|
||||
(obj3
|
||||
(req "point" P2p_point.Id.encoding)
|
||||
(req "id_point" Id.encoding)
|
||||
@ -165,7 +181,9 @@ module Pool_event = struct
|
||||
(function Accepting_request (p, id_p, g) ->
|
||||
Some (p, id_p, g) | _ -> None)
|
||||
(fun (p, id_p, g) -> Accepting_request (p, id_p, g)) ;
|
||||
case (Tag 8) (branch_encoding "rejecting_request"
|
||||
case (Tag 8)
|
||||
~name:"rejecting_request"
|
||||
(branch_encoding "rejecting_request"
|
||||
(obj3
|
||||
(req "point" P2p_point.Id.encoding)
|
||||
(req "id_point" Id.encoding)
|
||||
@ -173,71 +191,97 @@ module Pool_event = struct
|
||||
(function Rejecting_request (p, id_p, g) ->
|
||||
Some (p, id_p, g) | _ -> None)
|
||||
(fun (p, id_p, g) -> Rejecting_request (p, id_p, g)) ;
|
||||
case (Tag 9) (branch_encoding "request_rejected"
|
||||
case (Tag 9)
|
||||
~name:"request_rejected"
|
||||
(branch_encoding "request_rejected"
|
||||
(obj2
|
||||
(req "point" P2p_point.Id.encoding)
|
||||
(opt "identity"
|
||||
(tup2 Id.encoding P2p_peer_id.encoding))))
|
||||
(function Request_rejected (p, id) -> Some (p, id) | _ -> None)
|
||||
(fun (p, id) -> Request_rejected (p, id)) ;
|
||||
case (Tag 10) (branch_encoding "connection_established"
|
||||
case (Tag 10)
|
||||
~name:"connection_established"
|
||||
(branch_encoding "connection_established"
|
||||
(obj2
|
||||
(req "id_point" Id.encoding)
|
||||
(req "peer_id" P2p_peer_id.encoding)))
|
||||
(function Connection_established (id_p, g) ->
|
||||
Some (id_p, g) | _ -> None)
|
||||
(fun (id_p, g) -> Connection_established (id_p, g)) ;
|
||||
case (Tag 11) (branch_encoding "disconnection"
|
||||
case (Tag 11)
|
||||
~name:"disconnection"
|
||||
(branch_encoding "disconnection"
|
||||
(obj1 (req "peer_id" P2p_peer_id.encoding)))
|
||||
(function Disconnection g -> Some g | _ -> None)
|
||||
(fun g -> Disconnection g) ;
|
||||
case (Tag 12) (branch_encoding "external_disconnection"
|
||||
case (Tag 12)
|
||||
~name:"external_disconnection"
|
||||
(branch_encoding "external_disconnection"
|
||||
(obj1 (req "peer_id" P2p_peer_id.encoding)))
|
||||
(function External_disconnection g -> Some g | _ -> None)
|
||||
(fun g -> External_disconnection g) ;
|
||||
case (Tag 13) (branch_encoding "gc_points" empty)
|
||||
case (Tag 13)
|
||||
~name:"gc_points"
|
||||
(branch_encoding "gc_points" empty)
|
||||
(function Gc_points -> Some () | _ -> None)
|
||||
(fun () -> Gc_points) ;
|
||||
case (Tag 14) (branch_encoding "gc_peer_ids" empty)
|
||||
case (Tag 14)
|
||||
~name:"gc_peer_ids"
|
||||
(branch_encoding "gc_peer_ids" empty)
|
||||
(function Gc_peer_ids -> Some () | _ -> None)
|
||||
(fun () -> Gc_peer_ids) ;
|
||||
case (Tag 15) (branch_encoding "swap_request_received"
|
||||
case (Tag 15)
|
||||
~name:"swap_request_received"
|
||||
(branch_encoding "swap_request_received"
|
||||
(obj1 (req "source" P2p_peer_id.encoding)))
|
||||
(function
|
||||
| Swap_request_received { source } -> Some source
|
||||
| _ -> None)
|
||||
(fun source -> Swap_request_received { source }) ;
|
||||
case (Tag 16) (branch_encoding "swap_ack_received"
|
||||
case (Tag 16)
|
||||
~name:"swap_ack_received"
|
||||
(branch_encoding "swap_ack_received"
|
||||
(obj1 (req "source" P2p_peer_id.encoding)))
|
||||
(function
|
||||
| Swap_ack_received { source } -> Some source
|
||||
| _ -> None)
|
||||
(fun source -> Swap_ack_received { source }) ;
|
||||
case (Tag 17) (branch_encoding "swap_request_sent"
|
||||
case (Tag 17)
|
||||
~name:"swap_request_sent"
|
||||
(branch_encoding "swap_request_sent"
|
||||
(obj1 (req "source" P2p_peer_id.encoding)))
|
||||
(function
|
||||
| Swap_request_sent { source } -> Some source
|
||||
| _ -> None)
|
||||
(fun source -> Swap_request_sent { source }) ;
|
||||
case (Tag 18) (branch_encoding "swap_ack_sent"
|
||||
case (Tag 18)
|
||||
~name:"swap_ack_sent"
|
||||
(branch_encoding "swap_ack_sent"
|
||||
(obj1 (req "source" P2p_peer_id.encoding)))
|
||||
(function
|
||||
| Swap_ack_sent { source } -> Some source
|
||||
| _ -> None)
|
||||
(fun source -> Swap_ack_sent { source }) ;
|
||||
case (Tag 19) (branch_encoding "swap_request_ignored"
|
||||
case (Tag 19)
|
||||
~name:"swap_request_ignored"
|
||||
(branch_encoding "swap_request_ignored"
|
||||
(obj1 (req "source" P2p_peer_id.encoding)))
|
||||
(function
|
||||
| Swap_request_ignored { source } -> Some source
|
||||
| _ -> None)
|
||||
(fun source -> Swap_request_ignored { source }) ;
|
||||
case (Tag 20) (branch_encoding "swap_success"
|
||||
case (Tag 20)
|
||||
~name:"swap_success"
|
||||
(branch_encoding "swap_success"
|
||||
(obj1 (req "source" P2p_peer_id.encoding)))
|
||||
(function
|
||||
| Swap_success { source } -> Some source
|
||||
| _ -> None)
|
||||
(fun source -> Swap_success { source }) ;
|
||||
case (Tag 21) (branch_encoding "swap_failure"
|
||||
case (Tag 21)
|
||||
~name:"swap_failure"
|
||||
(branch_encoding "swap_failure"
|
||||
(obj1 (req "source" P2p_peer_id.encoding)))
|
||||
(function
|
||||
| Swap_failure { source } -> Some source
|
||||
|
@ -142,18 +142,26 @@ module State = struct
|
||||
(merge_objs
|
||||
(obj1 (req "event_kind" (constant name))) obj) in
|
||||
union ~tag_size:`Uint8 [
|
||||
case (Tag 0) (branch_encoding "requested" empty)
|
||||
case (Tag 0)
|
||||
~name:"requested"
|
||||
(branch_encoding "requested" empty)
|
||||
(function Requested -> Some () | _ -> None)
|
||||
(fun () -> Requested) ;
|
||||
case (Tag 1) (branch_encoding "accepted"
|
||||
case (Tag 1)
|
||||
~name:"accepted"
|
||||
(branch_encoding "accepted"
|
||||
(obj1 (req "p2p_peer_id" P2p_peer_id.encoding)))
|
||||
(function Accepted p2p_peer_id -> Some p2p_peer_id | _ -> None)
|
||||
(fun p2p_peer_id -> Accepted p2p_peer_id) ;
|
||||
case (Tag 2) (branch_encoding "running"
|
||||
case (Tag 2)
|
||||
~name:"running"
|
||||
(branch_encoding "running"
|
||||
(obj1 (req "p2p_peer_id" P2p_peer_id.encoding)))
|
||||
(function Running p2p_peer_id -> Some p2p_peer_id | _ -> None)
|
||||
(fun p2p_peer_id -> Running p2p_peer_id) ;
|
||||
case (Tag 3) (branch_encoding "disconnected" empty)
|
||||
case (Tag 3)
|
||||
~name:"disconnected"
|
||||
(branch_encoding "disconnected" empty)
|
||||
(function Disconnected -> Some () | _ -> None)
|
||||
(fun () -> Disconnected) ;
|
||||
]
|
||||
|
@ -22,12 +22,13 @@ type t =
|
||||
|
||||
let encoding =
|
||||
let open Data_encoding in
|
||||
describe ~title:"Test chain status" @@
|
||||
union [
|
||||
case (Tag 0)
|
||||
case (Tag 0) ~name:"Not_running"
|
||||
(obj1 (req "status" (constant "not_running")))
|
||||
(function Not_running -> Some () | _ -> None)
|
||||
(fun () -> Not_running) ;
|
||||
case (Tag 1)
|
||||
case (Tag 1) ~name:"Forking"
|
||||
(obj3
|
||||
(req "status" (constant "forking"))
|
||||
(req "protocol" Protocol_hash.encoding)
|
||||
@ -38,7 +39,7 @@ let encoding =
|
||||
| _ -> None)
|
||||
(fun ((), protocol, expiration) ->
|
||||
Forking { protocol ; expiration }) ;
|
||||
case (Tag 2)
|
||||
case (Tag 2) ~name:"Running"
|
||||
(obj5
|
||||
(req "status" (constant "running"))
|
||||
(req "chain_id" Chain_id.encoding)
|
||||
|
@ -93,6 +93,7 @@ module T = struct
|
||||
|
||||
let encoding =
|
||||
let open Data_encoding in
|
||||
describe ~title:"timestamp" @@
|
||||
splitted
|
||||
~binary: int64
|
||||
~json:
|
||||
|
@ -39,21 +39,24 @@ module Message = struct
|
||||
let open Data_encoding in
|
||||
dynamic_size @@
|
||||
union ~tag_size:`Uint16
|
||||
([ case (Tag 0x01) null
|
||||
([ case (Tag 0x01) ~name:"Disconnect" null
|
||||
(function Disconnect -> Some () | _ -> None)
|
||||
(fun () -> Disconnect);
|
||||
case (Tag 0x02) null
|
||||
case (Tag 0x02) ~name:"Bootstrap" null
|
||||
(function Bootstrap -> Some () | _ -> None)
|
||||
(fun () -> Bootstrap);
|
||||
case (Tag 0x03) (Variable.list P2p_point.Id.encoding)
|
||||
case (Tag 0x03) ~name:"Advertise" (Variable.list P2p_point.Id.encoding)
|
||||
(function Advertise points -> Some points | _ -> None)
|
||||
(fun points -> Advertise points);
|
||||
case (Tag 0x04) (tup2 P2p_point.Id.encoding P2p_peer.Id.encoding)
|
||||
case (Tag 0x04) ~name:"Swap_request"
|
||||
(tup2 P2p_point.Id.encoding P2p_peer.Id.encoding)
|
||||
(function
|
||||
| Swap_request (point, peer_id) -> Some (point, peer_id)
|
||||
| _ -> None)
|
||||
(fun (point, peer_id) -> Swap_request (point, peer_id)) ;
|
||||
case (Tag 0x05) (tup2 P2p_point.Id.encoding P2p_peer.Id.encoding)
|
||||
case (Tag 0x05)
|
||||
~name:"Swap_ack"
|
||||
(tup2 P2p_point.Id.encoding P2p_peer.Id.encoding)
|
||||
(function
|
||||
| Swap_ack (point, peer_id) -> Some (point, peer_id)
|
||||
| _ -> None)
|
||||
|
@ -95,9 +95,11 @@ let pp_block_info ppf
|
||||
|
||||
let block_info_encoding =
|
||||
let operation_encoding =
|
||||
describe ~title:"Operation hash" @@
|
||||
merge_objs
|
||||
(obj1 (req "hash" Operation_hash.encoding))
|
||||
Operation.encoding in
|
||||
describe ~title:"Block info" @@
|
||||
conv
|
||||
(fun { hash ; chain_id ; level ; proto_level ; predecessor ;
|
||||
fitness ; timestamp ; protocol ;
|
||||
@ -136,6 +138,7 @@ type preapply_result = {
|
||||
}
|
||||
|
||||
let preapply_result_encoding =
|
||||
describe ~title:"Preapply result" @@
|
||||
(conv
|
||||
(fun { shell_header ; operations } ->
|
||||
(shell_header, operations))
|
||||
@ -188,7 +191,7 @@ module S = struct
|
||||
RPC_service.post_service
|
||||
~description:"All the information about a block."
|
||||
~query: RPC_query.empty
|
||||
~input: (obj1 (dft "operations" bool true))
|
||||
~input: (describe ~title:"Operations" (obj1 (dft "operations" bool true)))
|
||||
~output: block_info_encoding
|
||||
block_path
|
||||
|
||||
@ -197,7 +200,7 @@ module S = struct
|
||||
~description:"Returns the chain in which the block belongs."
|
||||
~query: RPC_query.empty
|
||||
~input: empty
|
||||
~output: (obj1 (req "chain_id" Chain_id.encoding))
|
||||
~output: (describe ~title:"Chain ID" (obj1 (req "chain_id" Chain_id.encoding)))
|
||||
RPC_path.(block_path / "chain_id")
|
||||
|
||||
let level =
|
||||
@ -205,7 +208,7 @@ module S = struct
|
||||
~description:"Returns the block's level."
|
||||
~query: RPC_query.empty
|
||||
~input: empty
|
||||
~output: (obj1 (req "level" int32))
|
||||
~output: (describe ~title:"Level" (obj1 (req "level" int32)))
|
||||
RPC_path.(block_path / "level")
|
||||
|
||||
let predecessor =
|
||||
@ -213,7 +216,7 @@ module S = struct
|
||||
~description:"Returns the previous block's id."
|
||||
~query: RPC_query.empty
|
||||
~input: empty
|
||||
~output: (obj1 (req "predecessor" Block_hash.encoding))
|
||||
~output: (describe ~title:"Predecessor" (obj1 (req "predecessor" Block_hash.encoding)))
|
||||
RPC_path.(block_path / "predecessor")
|
||||
|
||||
let predecessors =
|
||||
@ -221,9 +224,10 @@ module S = struct
|
||||
~description:
|
||||
"...."
|
||||
~query: RPC_query.empty
|
||||
~input: (obj1 (req "length" Data_encoding.uint16))
|
||||
~output: (obj1
|
||||
(req "blocks" (Data_encoding.list Block_hash.encoding)))
|
||||
~input: (describe ~title:"Num predecessors" (obj1 (req "length" Data_encoding.uint16)))
|
||||
~output:(describe ~title:"Block hash list"
|
||||
(obj1
|
||||
(req "blocks" (list Block_hash.encoding))))
|
||||
RPC_path.(block_path / "predecessors")
|
||||
|
||||
let hash =
|
||||
@ -239,7 +243,7 @@ module S = struct
|
||||
~description:"Returns the block's fitness."
|
||||
~query: RPC_query.empty
|
||||
~input: empty
|
||||
~output: (obj1 (req "fitness" Fitness.encoding))
|
||||
~output: (describe ~title:"Fitness" (obj1 (req "fitness" Fitness.encoding)))
|
||||
RPC_path.(block_path / "fitness")
|
||||
|
||||
let context =
|
||||
@ -247,7 +251,7 @@ module S = struct
|
||||
~description:"Returns the hash of the resulting context."
|
||||
~query: RPC_query.empty
|
||||
~input: empty
|
||||
~output: (obj1 (req "context" Context_hash.encoding))
|
||||
~output: (describe ~title:"Context hash" (obj1 (req "context" Context_hash.encoding)))
|
||||
RPC_path.(block_path / "context")
|
||||
|
||||
let raw_context_args : string RPC_arg.t =
|
||||
@ -259,16 +263,17 @@ module S = struct
|
||||
|
||||
let raw_context_result_encoding : raw_context_result Data_encoding.t =
|
||||
let open Data_encoding in
|
||||
describe ~title:"Raw Context" @@
|
||||
obj1 (req "content"
|
||||
(mu "context_tree" (fun raw_context_result_encoding ->
|
||||
union [
|
||||
case (Tag 0) bytes
|
||||
case (Tag 0) ~name:"Key" bytes
|
||||
(function Key k -> Some k | _ -> None)
|
||||
(fun k -> Key k) ;
|
||||
case (Tag 1) (assoc raw_context_result_encoding)
|
||||
case (Tag 1) ~name:"Dir" (assoc raw_context_result_encoding)
|
||||
(function Dir k -> Some k | _ -> None)
|
||||
(fun k -> Dir k) ;
|
||||
case (Tag 2) null
|
||||
case (Tag 2) ~name:"Cut" null
|
||||
(function Cut -> Some () | _ -> None)
|
||||
(fun () -> Cut) ;
|
||||
])))
|
||||
@ -296,7 +301,7 @@ module S = struct
|
||||
~description:"Returns the block's timestamp."
|
||||
~query: RPC_query.empty
|
||||
~input: empty
|
||||
~output: (obj1 (req "timestamp" Time.encoding))
|
||||
~output:(describe ~title:"Timestamp" (obj1 (req "timestamp" Time.encoding)))
|
||||
RPC_path.(block_path / "timestamp")
|
||||
|
||||
type operations_param = {
|
||||
@ -305,6 +310,7 @@ module S = struct
|
||||
|
||||
let operations_param_encoding =
|
||||
let open Data_encoding in
|
||||
describe ~title:"Operations param" @@
|
||||
conv
|
||||
(fun { contents } -> (contents))
|
||||
(fun (contents) -> { contents })
|
||||
@ -315,13 +321,18 @@ module S = struct
|
||||
~description:"List the block operations."
|
||||
~query: RPC_query.empty
|
||||
~input: operations_param_encoding
|
||||
~output: (obj1
|
||||
~output:
|
||||
(describe ~title:"Operations" @@
|
||||
obj1
|
||||
(req "operations"
|
||||
(list (list
|
||||
(list
|
||||
(describe ~title:"Operation/operation hash pair list"
|
||||
(list
|
||||
(describe ~title:"Operation, operation hash pairs"
|
||||
(obj2
|
||||
(req "hash" Operation_hash.encoding)
|
||||
(opt "contents"
|
||||
(dynamic_size Operation.encoding)))))))
|
||||
(dynamic_size Operation.encoding)))))))))
|
||||
RPC_path.(block_path / "operations")
|
||||
|
||||
let protocol =
|
||||
@ -329,7 +340,8 @@ module S = struct
|
||||
~description:"List the block protocol."
|
||||
~query: RPC_query.empty
|
||||
~input: empty
|
||||
~output: (obj1 (req "protocol" Protocol_hash.encoding))
|
||||
~output: (describe ~title:"Block protocol"
|
||||
(obj1 (req "protocol" Protocol_hash.encoding)))
|
||||
RPC_path.(block_path / "protocol")
|
||||
|
||||
let test_chain =
|
||||
@ -348,6 +360,7 @@ module S = struct
|
||||
}
|
||||
|
||||
let preapply_param_encoding =
|
||||
describe ~title:"Preapply param" @@
|
||||
(conv
|
||||
(fun { timestamp ; protocol_data ; operations ; sort_operations } ->
|
||||
(timestamp, protocol_data, operations, sort_operations))
|
||||
@ -380,7 +393,7 @@ module S = struct
|
||||
block, operations, public_keys and contracts."
|
||||
~query: RPC_query.empty
|
||||
~input: empty
|
||||
~output: (list string)
|
||||
~output: (describe ~title:"String list" (list string))
|
||||
RPC_path.(block_path / "complete" /: prefix_arg )
|
||||
|
||||
type list_param = {
|
||||
@ -393,6 +406,7 @@ module S = struct
|
||||
min_heads: int option;
|
||||
}
|
||||
let list_param_encoding =
|
||||
describe ~title:"List blocks param" @@
|
||||
conv
|
||||
(fun { include_ops ; length ; heads ; monitor ;
|
||||
delay ; min_date ; min_heads } ->
|
||||
@ -467,10 +481,11 @@ module S = struct
|
||||
~query: RPC_query.empty
|
||||
~input:empty
|
||||
~output:(Data_encoding.list
|
||||
(describe ~title:"Invalid block"
|
||||
(obj3
|
||||
(req "block" Block_hash.encoding)
|
||||
(req "level" int32)
|
||||
(req "errors" RPC_error.encoding)))
|
||||
(req "errors" RPC_error.encoding))))
|
||||
RPC_path.(root / "invalid_blocks")
|
||||
|
||||
let unmark_invalid =
|
||||
|
@ -48,18 +48,19 @@ module Event = struct
|
||||
|
||||
let encoding =
|
||||
let open Data_encoding in
|
||||
describe ~title:"Event state" @@
|
||||
union
|
||||
[ case (Tag 0)
|
||||
[ case (Tag 0) ~name:"Debug"
|
||||
(obj1 (req "message" string))
|
||||
(function Debug msg -> Some msg | _ -> None)
|
||||
(fun msg -> Debug msg) ;
|
||||
case (Tag 1)
|
||||
case (Tag 1) ~name:"Validation_success"
|
||||
(obj2
|
||||
(req "successful_validation" Request.encoding)
|
||||
(req "status" Worker_types.request_status_encoding))
|
||||
(function Validation_success (r, s) -> Some (r, s) | _ -> None)
|
||||
(fun (r, s) -> Validation_success (r, s)) ;
|
||||
case (Tag 2)
|
||||
case (Tag 2) ~name:"Validation_failure"
|
||||
(obj3
|
||||
(req "failed_validation" Request.encoding)
|
||||
(req "status" Worker_types.request_status_encoding)
|
||||
|
@ -15,13 +15,13 @@ module Request = struct
|
||||
let encoding =
|
||||
let open Data_encoding in
|
||||
union
|
||||
[ case (Tag 0)
|
||||
[ case (Tag 0) ~name:"New_head"
|
||||
(obj2
|
||||
(req "request" (constant "new_head"))
|
||||
(req "block" Block_hash.encoding))
|
||||
(function New_head h -> Some ((), h) | _ -> None)
|
||||
(fun ((), h) -> New_head h) ;
|
||||
case (Tag 1)
|
||||
case (Tag 1) ~name:"New_branch"
|
||||
(obj3
|
||||
(req "request" (constant "new_branch"))
|
||||
(req "block" Block_hash.encoding)
|
||||
|
@ -104,26 +104,28 @@ module Encoding = struct
|
||||
open Data_encoding
|
||||
|
||||
let reveal_encoding =
|
||||
describe ~title:"Reveal operation" @@
|
||||
(obj2
|
||||
(req "kind" (constant "reveal"))
|
||||
(req "public_key" Signature.Public_key.encoding))
|
||||
|
||||
let reveal_case tag =
|
||||
case tag reveal_encoding
|
||||
case tag ~name:"Reveal" reveal_encoding
|
||||
(function
|
||||
| Reveal pkh -> Some ((), pkh)
|
||||
| _ -> None)
|
||||
(fun ((), pkh) -> Reveal pkh)
|
||||
|
||||
let transaction_encoding =
|
||||
(obj4
|
||||
describe ~title:"Transaction operation" @@
|
||||
obj4
|
||||
(req "kind" (constant "transaction"))
|
||||
(req "amount" Tez_repr.encoding)
|
||||
(req "destination" Contract_repr.encoding)
|
||||
(opt "parameters" Script_repr.expr_encoding))
|
||||
(opt "parameters" Script_repr.expr_encoding)
|
||||
|
||||
let transaction_case tag =
|
||||
case tag transaction_encoding
|
||||
case tag ~name:"Transaction" transaction_encoding
|
||||
(function
|
||||
| Transaction { amount ; destination ; parameters } ->
|
||||
Some ((), amount, destination, parameters)
|
||||
@ -132,6 +134,7 @@ module Encoding = struct
|
||||
Transaction { amount ; destination ; parameters })
|
||||
|
||||
let origination_encoding =
|
||||
describe ~title:"Origination operation" @@
|
||||
(obj7
|
||||
(req "kind" (constant "origination"))
|
||||
(req "managerPubkey" Signature.Public_key_hash.encoding)
|
||||
@ -142,7 +145,7 @@ module Encoding = struct
|
||||
(opt "script" Script_repr.encoding))
|
||||
|
||||
let origination_case tag =
|
||||
case tag origination_encoding
|
||||
case tag ~name:"Origination" origination_encoding
|
||||
(function
|
||||
| Origination { manager ; credit ; spendable ;
|
||||
delegatable ; delegate ; script } ->
|
||||
@ -158,17 +161,19 @@ module Encoding = struct
|
||||
{manager ; credit ; spendable ; delegatable ; delegate ; script })
|
||||
|
||||
let delegation_encoding =
|
||||
describe ~title:"Delegation operation" @@
|
||||
(obj2
|
||||
(req "kind" (constant "delegation"))
|
||||
(opt "delegate" Signature.Public_key_hash.encoding))
|
||||
|
||||
|
||||
let delegation_case tag =
|
||||
case tag delegation_encoding
|
||||
case tag ~name:"Delegation" delegation_encoding
|
||||
(function Delegation key -> Some ((), key) | _ -> None)
|
||||
(fun ((), key) -> Delegation key)
|
||||
|
||||
let manager_kind_encoding =
|
||||
(obj5
|
||||
obj5
|
||||
(req "kind" (constant "manager"))
|
||||
(req "source" Contract_repr.encoding)
|
||||
(req "fee" Tez_repr.encoding)
|
||||
@ -179,10 +184,10 @@ module Encoding = struct
|
||||
transaction_case (Tag 1) ;
|
||||
origination_case (Tag 2) ;
|
||||
delegation_case (Tag 3) ;
|
||||
]))))
|
||||
])))
|
||||
|
||||
let manager_kind_case tag =
|
||||
case tag manager_kind_encoding
|
||||
case tag ~name:"Manager operations" manager_kind_encoding
|
||||
(function
|
||||
| Manager_operations { source; fee ; counter ;operations } ->
|
||||
Some ((), source, fee, counter, operations)
|
||||
@ -191,11 +196,12 @@ module Encoding = struct
|
||||
Manager_operations { source; fee ; counter ; operations })
|
||||
|
||||
let endorsement_encoding =
|
||||
(obj4
|
||||
(* describe ~title:"Endorsement operation" @@ *)
|
||||
obj4
|
||||
(req "kind" (constant "endorsement"))
|
||||
(req "block" Block_hash.encoding)
|
||||
(req "level" Raw_level_repr.encoding)
|
||||
(req "slots" (list int31)))
|
||||
(req "slots" (list int31))
|
||||
|
||||
let consensus_kind_encoding =
|
||||
conv
|
||||
@ -397,9 +403,11 @@ module Encoding = struct
|
||||
mu_proto_operation_encoding operation_encoding
|
||||
|
||||
let signed_proto_operation_encoding =
|
||||
describe ~title:"Signed alpha operation" @@
|
||||
mu_signed_proto_operation_encoding operation_encoding
|
||||
|
||||
let unsigned_operation_encoding =
|
||||
describe ~title:"Unsigned Alpha operation" @@
|
||||
merge_objs
|
||||
Operation.shell_header_encoding
|
||||
proto_operation_encoding
|
||||
|
@ -36,6 +36,7 @@ module Command = struct
|
||||
let open Data_encoding in
|
||||
union ~tag_size:`Uint8 [
|
||||
case (Tag 0)
|
||||
~name:"activate"
|
||||
(mk_case "activate"
|
||||
(obj3
|
||||
(req "hash" Protocol_hash.encoding)
|
||||
@ -49,6 +50,7 @@ module Command = struct
|
||||
(fun (protocol, fitness, protocol_parameters) ->
|
||||
Activate { protocol ; fitness ; protocol_parameters }) ;
|
||||
case (Tag 1)
|
||||
~name:"activate_testchain"
|
||||
(mk_case "activate_testchain"
|
||||
(obj2
|
||||
(req "hash" Protocol_hash.encoding)
|
||||
|
Loading…
Reference in New Issue
Block a user