Mavryk_raw_protocol_alpha.Script_big_mapval empty :
'a Script_typed_ir.comparable_ty ->
('b, _) Script_typed_ir.ty ->
('a, 'b) Script_typed_ir.big_mapempty is the big map with no bindings.
val mem :
Alpha_context.context ->
'key ->
('key, 'value) Script_typed_ir.big_map ->
(bool * Alpha_context.context)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tmem ctxt key big_map returns true iff key is bound in the given big_map. Consumes the cost of hashing the given key. Consumes as Storage.Big_map.Contents.mem if the key is not bound yet in the current overlay.
val get :
Alpha_context.context ->
'key ->
('key, 'value) Script_typed_ir.big_map ->
('value option * Alpha_context.context)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tget ctxt key big_map returns the value bound by key in the given big_map. If the key is not bound, None is returned instead. Consumes cost of hashing the given key. Consumes cost as Storage.Big_map.Contents.find in case of the given key is absent in the current overlay. Consumes cost of parsing data if the value is readed from storage.
val update :
Alpha_context.context ->
'key ->
'value option ->
('key, 'value) Script_typed_ir.big_map ->
(('key, 'value) Script_typed_ir.big_map * Alpha_context.context)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tupdate ctxt key new_value big_map updates the value bound by key with v if the new_value is Some v. When the new_value is None, delete the entire entry bound by key in the big_map. Consumes cost for hashing the given key. See get_and_update for details.
val get_and_update :
Alpha_context.context ->
'key ->
'value option ->
('key, 'value) Script_typed_ir.big_map ->
(('value option * ('key, 'value) Script_typed_ir.big_map)
* Alpha_context.context)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tget_and_update ctxt key new_value big_map works just like update ctxt key new_value big_map except it also returns the old value bound by key. Consumes cost for hashing the given key. This does not modify the underlying storage, only the diff table.