Evm_node_lib_dev.Durable_storageTyped access layer for the EVM node durable storage.
All durable storage access MUST go through this module. The path GADT ensures type-safe read/write/delete operations. Raw_path is provided as an escape hatch for paths not yet modeled in the GADT. New code should add typed constructors instead of using Raw_path.
type _ path = | Raw_path : string -> bytes path| Chain_id : Evm_node_lib_dev_encoding.L2_types.chain_id path| Michelson_runtime_chain_id : Evm_node_lib_dev_encoding.L2_types.chain_id path| Kernel_version : string path| Kernel_root_hash : Evm_node_lib_dev_encoding.Ethereum_types.hex path| Multichain_flag : unit path| Sequencer_key : Tezos_base.TzPervasives.Signature.Public_key.t path| Chain_config_family : Evm_node_lib_dev_encoding.L2_types.chain_id ->
Evm_node_lib_dev_encoding.L2_types.ex_chain_family
path| Tezosx_feature_flag : Tezosx.runtime -> unit path| Michelson_runtime_sunrise_level : Evm_node_lib_dev_encoding.Ethereum_types.quantity
path| Current_block_number : _ Evm_node_lib_dev_encoding.L2_types.chain_family ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity
pathval storage_version : Pvm.State.t -> int Tezos_base.TzPervasives.tzresult Lwt.tval read : 'a path -> Pvm.State.t -> 'a Tezos_base.TzPervasives.tzresult Lwt.tval read_opt :
'a path ->
Pvm.State.t ->
'a option Tezos_base.TzPervasives.tzresult Lwt.tval write :
'a path ->
'a ->
Pvm.State.t ->
Pvm.State.t Tezos_base.TzPervasives.tzresult Lwt.tval delete :
'a path ->
Pvm.State.t ->
Pvm.State.t Tezos_base.TzPervasives.tzresult Lwt.tval delete_dir :
'a path ->
Pvm.State.t ->
Pvm.State.t Tezos_base.TzPervasives.tzresult Lwt.tval exists :
'a path ->
Pvm.State.t ->
bool Tezos_base.TzPervasives.tzresult Lwt.tval subkeys :
'a path ->
Pvm.State.t ->
string Tezos_base.TzPervasives.trace Tezos_base.TzPervasives.tzresult Lwt.tval list_runtimes :
Pvm.State.t ->
Tezosx.runtime list Tezos_base.TzPervasives.tzresult Lwt.tThe functions below operate on raw durable storage paths (strings) with manual decoders. They will be removed once all callers have migrated to the typed GADT API above (read, read_opt, write, ...).
val inspect_durable_and_decode_opt :
Pvm.Context.tree ->
string ->
(bytes -> 'a) ->
('a option, Tezos_base.TzPervasives.tztrace) Stdlib.result Lwt.tval inspect_durable_and_decode_default :
default:'a ->
Pvm.Context.tree ->
string ->
(bytes -> 'a) ->
('a, Tezos_base.TzPervasives.tztrace) Stdlib.result Lwt.tval inspect_durable_and_decode :
Pvm.Context.tree ->
string ->
(bytes -> 'a) ->
('a, Tezos_base.TzPervasives.tztrace) Stdlib.result Lwt.tval l2_minimum_base_fee_per_gas :
Pvm.Context.tree ->
Evm_node_lib_dev_encoding.L2_types.chain_id ->
Z.t Tezos_base.TzPervasives.tzresult Lwt.tval l2_da_fee_per_byte :
Pvm.Context.tree ->
Evm_node_lib_dev_encoding.L2_types.chain_id ->
Z.t Tezos_base.TzPervasives.tzresult Lwt.tval l2_maximum_gas_per_transaction :
Pvm.Context.tree ->
Evm_node_lib_dev_encoding.L2_types.chain_id ->
Z.t Tezos_base.TzPervasives.tzresult Lwt.tval world_state :
Pvm.Context.tree ->
Evm_node_lib_dev_encoding.L2_types.chain_id ->
string Tezos_base.TzPervasives.tzresult Lwt.t