Module Make.Updater

Mavryk Protocol Environment - Protocol updater.

type validation_result = {
  1. context : Context.t;
    (*

    The resulting context, it will be used for the next block.

    *)
  2. fitness : Fitness.t;
    (*

    The effective fitness of the block (to be compared with the one 'announced' in the block header).

    *)
  3. message : string option;
    (*

    An optional informative message, akin to a 'git commit' message, which can be attached to the context when it's being commited.

    *)
  4. max_operations_ttl : int;
    (*

    The "time-to-live" of operations for the next block: any operation whose 'branch' is older than 'ttl' blocks in the past cannot be included in the next block.

    *)
  5. last_allowed_fork_level : Int32.t;
    (*

    The level of the last block for which the node might consider an alternate branch. The shell should consider as invalid any branch whose fork point is older (has a lower level) than the given value.

    *)
}

Validation result: the record returned by the protocol on the successful validation of a block.

type quota = {
  1. max_size : int;
    (*

    The maximum size (in bytes) of the serialized list of operations.

    *)
  2. max_op : int option;
    (*

    The maximum number of operations in a block. None means no limit.

    *)
}
type rpc_context = {
  1. block_hash : Block_hash.t;
  2. block_header : Block_header.shell_header;
  3. context : Context.t;
}
module type PROTOCOL = sig ... end

This is the signature of a Mavryk protocol implementation. It has access to the standard library and the Environment module.

activate ctxt ph activates an economic protocol (given by its hash ph) from the context ctxt. The resulting context is still a context for the current economic protocol, and the migration is not complete until init in invoked.