Alpha: do not use inter-modules toplevel side-effects

This commit is contained in:
Grégoire Henry 2018-06-02 14:08:19 +02:00 committed by Benjamin Canou
parent 4bc4d6e871
commit 98f77703c4
11 changed files with 40 additions and 15 deletions

View File

@ -49,7 +49,7 @@ module Nonce = struct
end
let () =
let register () =
let open Services_registration in
register1 S.get begin fun ctxt raw_level () () ->
let level = Level.from_raw ctxt raw_level in
@ -71,3 +71,10 @@ module Delegate = Delegate_services
module Helpers = Helpers_services
module Forge = Helpers_services.Forge
module Parse = Helpers_services.Parse
let register () =
Contract.register () ;
Constants.register () ;
Delegate.register () ;
Helpers.register () ;
Nonce.register ()

View File

@ -28,3 +28,5 @@ module Delegate = Delegate_services
module Helpers = Helpers_services
module Forge = Helpers_services.Forge
module Parse = Helpers_services.Parse
val register: unit -> unit

View File

@ -32,7 +32,7 @@ module S = struct
end
let () =
let register () =
let open Services_registration in
register0_noctxt S.errors begin fun () () ->
return (Data_encoding.Json.(schema error_encoding))

View File

@ -15,3 +15,5 @@ val errors:
(** Returns all the constants of the protocol *)
val all:
'a #RPC_context.simple -> 'a -> Constants.t shell_tzresult Lwt.t
val register: unit -> unit

View File

@ -128,14 +128,11 @@ module S = struct
end
let () =
let register () =
let open Services_registration in
register0 S.list begin fun ctxt () () ->
Contract.list ctxt >>= return
end
let () =
let open Services_registration in
end ;
let register_field s f =
register1 s (fun ctxt contract () () ->
Contract.exists ctxt contract >>=? function

View File

@ -61,3 +61,6 @@ val storage:
val storage_opt:
'a #RPC_context.simple -> 'a -> Contract.t -> Script.expr option shell_tzresult Lwt.t
val register: unit -> unit

View File

@ -160,7 +160,7 @@ module S = struct
end
let () =
let register () =
let open Services_registration in
register0 S.list_delegate begin fun ctxt q () ->
Delegate.list ctxt >>= fun delegates ->
@ -377,7 +377,7 @@ module Baking_rights = struct
([], Signature.Public_key_hash.Set.empty)
rights
let () =
let register () =
let open Services_registration in
register0 S.baking_rights begin fun ctxt q () ->
requested_levels
@ -500,7 +500,7 @@ module Endorsing_rights = struct
loop l map (slot+1) in
loop contract_list Signature.Public_key_hash.Map.empty 0
let () =
let register () =
let open Services_registration in
register0 S.endorsing_rights begin fun ctxt q () ->
requested_levels
@ -524,6 +524,11 @@ module Endorsing_rights = struct
end
let register () =
register () ;
Baking_rights.register () ;
Endorsing_rights.register ()
let endorsement_rights ctxt level =
Endorsing_rights.endorsement_slots ctxt (level, None) >>=? fun l ->
return (List.map (fun { Endorsing_rights.delegate ; _ } -> delegate) l)

View File

@ -156,3 +156,5 @@ val baking_rights:
Alpha_context.t ->
int option ->
(Raw_level.t * (public_key_hash * Time.t option) list) tzresult Lwt.t
val register: unit -> unit

View File

@ -121,7 +121,7 @@ module Scripts = struct
end
let () =
let register () =
let open Services_registration in
register0 S.run_code begin fun ctxt ()
(code, storage, parameter, amount, contract) ->
@ -234,7 +234,7 @@ module Forge = struct
end
let () =
let register () =
let open Services_registration in
register0_noctxt S.operations begin fun () (shell, proto) ->
return (Data_encoding.Binary.to_bytes_exn
@ -391,7 +391,7 @@ module Parse = struct
| None -> failwith "Cant_parse_protocol_data"
| Some protocol_data -> return protocol_data
let () =
let register () =
let open Services_registration in
register0 S.operations begin fun _ctxt () (operations, check) ->
map_s begin fun raw ->
@ -452,7 +452,10 @@ module S = struct
end
let () =
let register () =
Scripts.register () ;
Forge.register () ;
Parse.register () ;
let open Services_registration in
register0 S.current_level begin fun ctxt q () ->
let level = Level.current ctxt in

View File

@ -176,3 +176,5 @@ module Parse : sig
Block_header.protocol_data shell_tzresult Lwt.t
end
val register: unit -> unit

View File

@ -50,7 +50,9 @@ let validation_passes =
max_op = Some Alpha_context.Constants.max_revelations_per_block } ;
{ max_size = 512 * 1024 ; max_op = None } ] (* 512kB *)
let rpc_services = Services_registration.get_rpc_services ()
let rpc_services =
Alpha_services.register () ;
Services_registration.get_rpc_services ()
type validation_mode =
| Application of {