Revision bf51bd7372b1703c825c607ffbacc7a79b6059bf authored by Arvid Jakobsson on 27 February 2020, 14:38:50 UTC, committed by Pierre Boutillier on 09 March 2020, 20:48:03 UTC
The latter was added in 9aebc957 but the former was not removed.
1 parent ede1919
Raw File
hard_fork.mli
open Internal_pervasives

(** User-activated Upgrades, a.k.a. Hard Forks *)

(**

This module provides helpers to make “hard-fork” protocol changes happen
in sandboxes.
    
See ["src/lib/interactive_mini_network.ml"] for an example of usage.

*)

type t = private
  { level: int
  ; protocol_hash: string
  ; name: string
  ; baker: Tezos_executable.t
  ; endorser: Tezos_executable.t
  ; accuser: Tezos_executable.t }

val cmdliner_term :
     < manpager: Manpage_builder.State.t ; .. >
  -> docs:string
  -> ?prefix:string
  -> unit
  -> t option Cmdliner.Term.t
(** For a given [prefix] (default ["hard-fork"]), provide a family
    of ["--<prefix>*"] command-line options allowing to configure a
    user-activated-upgrade. *)

val executables : t -> Tezos_executable.t list
(** Get all the protocol-specific executable definitions (the “daemons”) involved in
    this hard-fork. *)

val node_network_config : t -> string * [> Ezjsonm.t]
(** Generate the JSON field for the ["{ network : { ... } }"] part of a
    node's configuration file. *)

val keyed_daemons :
     t
  -> client:Tezos_client.t
  -> key:string
  -> node:Tezos_node.t
  -> Tezos_daemon.t list
(** Prepare the baker and endorse daemons to secure the hard-fork. *)
back to top