2018-04-16 02:44:24 +04:00
|
|
|
(**************************************************************************)
|
|
|
|
(* *)
|
|
|
|
(* Copyright (c) 2014 - 2018. *)
|
|
|
|
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
|
|
|
|
(* *)
|
|
|
|
(* All rights reserved. No warranty, explicit or implicit, provided. *)
|
|
|
|
(* *)
|
|
|
|
(**************************************************************************)
|
|
|
|
|
|
|
|
type chain = [
|
|
|
|
| `Main
|
|
|
|
| `Test
|
|
|
|
| `Hash of Chain_id.t
|
|
|
|
]
|
|
|
|
|
|
|
|
val parse_chain: string -> (chain, string) result
|
|
|
|
val to_string: chain -> string
|
|
|
|
|
|
|
|
val chain_arg: chain RPC_arg.t
|
|
|
|
|
|
|
|
type invalid_block = {
|
|
|
|
hash: Block_hash.t ;
|
|
|
|
level: Int32.t ;
|
|
|
|
errors: error list ;
|
|
|
|
}
|
|
|
|
|
|
|
|
type prefix = unit * chain
|
|
|
|
val path: (unit, prefix) RPC_path.path
|
|
|
|
|
|
|
|
open RPC_context
|
|
|
|
|
|
|
|
val chain_id:
|
|
|
|
#simple ->
|
|
|
|
?chain:chain ->
|
|
|
|
unit -> Chain_id.t tzresult Lwt.t
|
|
|
|
|
2018-06-11 21:02:26 +04:00
|
|
|
module Mempool = Block_services.Empty.Mempool
|
2018-04-16 02:44:24 +04:00
|
|
|
|
|
|
|
module Blocks : sig
|
|
|
|
|
|
|
|
val list:
|
|
|
|
#simple ->
|
|
|
|
?chain:chain ->
|
|
|
|
?heads:Block_hash.t list ->
|
|
|
|
?length:int ->
|
|
|
|
?min_date:Time.t ->
|
|
|
|
unit -> Block_hash.t list list tzresult Lwt.t
|
|
|
|
|
2018-04-22 16:40:44 +04:00
|
|
|
include (module type of Block_services.Empty)
|
|
|
|
|
2018-05-29 15:14:04 +04:00
|
|
|
type protocols = {
|
|
|
|
current_protocol: Protocol_hash.t ;
|
|
|
|
next_protocol: Protocol_hash.t ;
|
|
|
|
}
|
|
|
|
|
|
|
|
val protocols:
|
|
|
|
#RPC_context.simple -> ?chain:chain -> ?block:Block_services.block ->
|
|
|
|
unit -> protocols tzresult Lwt.t
|
|
|
|
|
2018-04-16 02:44:24 +04:00
|
|
|
end
|
|
|
|
|
|
|
|
module Invalid_blocks : sig
|
|
|
|
|
|
|
|
val list:
|
|
|
|
#simple ->
|
|
|
|
?chain:chain ->
|
|
|
|
unit -> invalid_block list tzresult Lwt.t
|
|
|
|
|
|
|
|
val get:
|
|
|
|
#simple ->
|
|
|
|
?chain:chain ->
|
|
|
|
Block_hash.t -> invalid_block tzresult Lwt.t
|
|
|
|
|
|
|
|
val delete:
|
|
|
|
#simple ->
|
|
|
|
?chain:chain ->
|
|
|
|
Block_hash.t -> unit tzresult Lwt.t
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
module S : sig
|
|
|
|
|
|
|
|
val chain_id:
|
|
|
|
([ `GET ], prefix,
|
|
|
|
prefix, unit, unit,
|
|
|
|
Chain_id.t) RPC_service.t
|
|
|
|
|
|
|
|
module Blocks : sig
|
|
|
|
|
|
|
|
val path: (prefix, prefix) RPC_path.t
|
|
|
|
|
|
|
|
val list:
|
|
|
|
([ `GET ], prefix,
|
|
|
|
prefix, < heads : Block_hash.t list;
|
|
|
|
length : int option;
|
|
|
|
min_date : Time.t option >, unit,
|
|
|
|
Block_hash.t list list) RPC_service.t
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
module Invalid_blocks : sig
|
|
|
|
|
|
|
|
val list:
|
|
|
|
([ `GET ], prefix,
|
|
|
|
prefix, unit, unit,
|
|
|
|
invalid_block list) RPC_service.t
|
|
|
|
|
|
|
|
val get:
|
|
|
|
([ `GET ], prefix,
|
|
|
|
prefix * Block_hash.t, unit, unit,
|
|
|
|
invalid_block) RPC_service.t
|
|
|
|
|
|
|
|
val delete:
|
|
|
|
([ `DELETE ], prefix,
|
|
|
|
prefix * Block_hash.t, unit, unit,
|
|
|
|
unit) RPC_service.t
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|