Mavryk_raw_protocol_alpha.Lazy_storage_diffSee Lazy_storage_kind for an introduction on lazy storage.
This module defines operations on lazy storage types and diffs.
type ('id, 'alloc, 'updates) diff = | Remove| Update of {init : ('id, 'alloc) init;updates : 'updates;}type diffs_item = private | Item : ('i, 'a, 'u) Lazy_storage_kind.t * 'i * ('i, 'a, 'u) diff -> diffs_itemval make :
('i, 'a, 'u) Lazy_storage_kind.t ->
'i ->
('i, 'a, 'u) diff ->
diffs_itemtype diffs = diffs_item listval diffs_in_memory_size : diffs -> Cache_memory_helpers.nodes_and_sizeval encoding : diffs Mavryk_protocol_environment_alpha.Data_encoding.tval apply :
Raw_context.t ->
diffs ->
(Raw_context.t * Mavryk_protocol_environment_alpha.Z.t)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tThe returned Z.t is the size added by the application of the diffs.
val fresh :
('id, _, _) Lazy_storage_kind.t ->
temporary:bool ->
Raw_context.t ->
(Raw_context.t * 'id) Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tval init :
Raw_context.t ->
Raw_context.t Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tInitializes the storage for all lazy storage kind. This is useful for genesis only. Protocol updates need to initialize new lazy storage kinds.
val cleanup_temporaries :
Raw_context.t ->
Raw_context.t Mavryk_protocol_environment_alpha.Lwt.t