123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346(*****************************************************************************)(* *)(* Open Source License *)(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)(* Copyright (c) 2021 Tarides <contact@tarides.com> *)(* Copyright (c) 2021 Nomadic Labs, <contact@nomadic-labs.com> *)(* *)(* Permission is hereby granted, free of charge, to any person obtaining a *)(* copy of this software and associated documentation files (the "Software"),*)(* to deal in the Software without restriction, including without limitation *)(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *)(* and/or sell copies of the Software, and to permit persons to whom the *)(* Software is furnished to do so, subject to the following conditions: *)(* *)(* The above copyright notice and this permission notice shall be included *)(* in all copies or substantial portions of the Software. *)(* *)(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*)(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *)(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *)(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*)(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *)(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *)(* DEALINGS IN THE SOFTWARE. *)(* *)(*****************************************************************************)moduleKind=structtypet=[`Value|`Tree]endmoduletypeVIEW=sig(** @inline *)includeTezos_context_sigs.Context.VIEWendmoduletypeTREE=sig(** @inline *)includeTezos_context_sigs.Context.TREEendmoduletypePROOF=sig(** @inline *)includeTezos_context_sigs.Context.PROOFendmoduletypePROOF_ENCODING=sig(** @inline *)includeTezos_context_sigs.Context.PROOF_ENCODINGendmoduletypeHASH_VERSION=sig(** @inline *)includeTezos_context_sigs.Context.HASH_VERSIONend(* Copy of sigs/v3/context.mli:CACHE *)moduletypeCACHE=sigtypettypesizetypeindextypeidentifiertypekeytypevalue=..valkey_of_identifier:cache_index:index->identifier->keyvalidentifier_of_key:key->identifiervalpp:Format.formatter->t->unitvalfind:t->key->valueoptionLwt.tvalset_cache_layout:t->sizelist->tLwt.tvalupdate:t->key->(value*size)option->tvalsync:t->cache_nonce:Bytes.t->tLwt.tvalclear:t->tvallist_keys:t->cache_index:index->(key*size)listoptionvalkey_rank:t->key->intoptionvalfuture_cache_expectation:t->time_in_blocks:int->tvalcache_size:t->cache_index:index->sizeoptionvalcache_size_limit:t->cache_index:index->sizeoptionendmoduletypeCORE=sigtypetvalset_protocol:t->Tezos_crypto.Hashed.Protocol_hash.t->tLwt.tvalget_protocol:t->Tezos_crypto.Hashed.Protocol_hash.tLwt.tvalfork_test_chain:t->protocol:Tezos_crypto.Hashed.Protocol_hash.t->expiration:Time.Protocol.t->tLwt.tvalset_hash_version:t->Tezos_crypto.Hashed.Context_hash.Version.t->ttzresultLwt.tvalget_hash_version:t->Tezos_crypto.Hashed.Context_hash.Version.tendmoduletypeTREE_CORE=sigtypettypetreetypevaluevalempty:t->treevalis_empty:tree->boolvalkind:tree->Kind.tvalto_value:tree->valueoptionLwt.tvalof_value:t->value->treeLwt.tvalhash:tree->Tezos_crypto.Hashed.Context_hash.tvalequal:tree->tree->boolvalclear:?depth:int->tree->unitendmoduleV2=structtypedepth=[`Eqofint|`Leofint|`Ltofint|`Geofint|`Gtofint]moduletypeVIEW=sigtypettypekeytypevaluetypetreevalmem:t->key->boolLwt.tvalmem_tree:t->key->boolLwt.tvalfind:t->key->valueoptionLwt.tvalfind_tree:t->key->treeoptionLwt.tvallist:t->?offset:int->?length:int->key->(string*tree)traceLwt.tvaladd:t->key->value->tLwt.tvaladd_tree:t->key->tree->tLwt.tvalremove:t->key->tLwt.tvalfold:?depth:depth->t->key->init:'a->f:(key->tree->'a->'aLwt.t)->'aLwt.tendmoduleKind=KindmoduletypeTREE=sigtypettypetreeincludeVIEWwithtypet:=treeandtypetree:=treeincludeTREE_COREwithtypet:=tandtypetree:=treeandtypevalue:=valueendmoduletypeS=sigincludeVIEWwithtypekey=stringlistandtypevalue=bytesmoduleTree:sigincludeTREEwithtypet:=tandtypekey:=keyandtypevalue:=valueandtypetree:=treevalpp:Format.formatter->tree->unitendincludeCOREwithtypet:=tendendmoduleV3=V2moduleV4=structtypedepth=V3.depthmoduletypeVIEW=sigincludeV3.VIEWvalfold:?depth:depth->t->key->order:[`Sorted|`Undefined]->init:'a->f:(key->tree->'a->'aLwt.t)->'aLwt.tendmoduleKind=KindmoduletypeTREE=sigtypettypetreeincludeVIEWwithtypet:=treeandtypetree:=treeincludeTREE_COREwithtypet:=tandtypetree:=treeandtypevalue:=valueendmoduletypeS=sigincludeVIEWwithtypekey=stringlistandtypevalue=bytesmoduleTree:sigincludeTREEwithtypet:=tandtypekey:=keyandtypevalue:=valueandtypetree:=treevalpp:Format.formatter->tree->unitendincludeCOREwithtypet:=tendmoduletypeCACHE=CACHEendmoduleV5=structtypedepth=V4.depthtypeconfig=Tezos_context_sigs.Config.tletequal_config=Tezos_context_sigs.Config.equalmoduletypeVIEW=VIEWmoduleKind=KindmoduletypeTREE=TREEmoduletypeS=sigvalequal_config:config->config->boolincludeVIEWwithtypekey=stringlistandtypevalue=bytesmoduleTree:sigincludeTREEwithtypet:=tandtypekey:=keyandtypevalue:=valueandtypetree:=treevalpp:Format.formatter->tree->unitendincludeCOREwithtypet:=tmoduleProof:PROOFtypetree_proof:=Proof.treeProof.ttypestream_proof:=Proof.streamProof.ttype('proof,'result)verifier:='proof->(tree->(tree*'result)Lwt.t)->(tree*'result,[`Proof_mismatchofstring|`Stream_too_longofstring|`Stream_too_shortofstring])resultLwt.tvalverify_tree_proof:(tree_proof,'a)verifiervalverify_stream_proof:(stream_proof,'a)verifierendmoduletypeCACHE=CACHEendmoduleV6=V5moduleV7=V6moduleV8=V7moduleV9=V8moduleV10=V9moduleV11=V10moduletypeS=V7.SmoduletypeSigs=sigmoduleV2=V2moduleV3=V3moduleV4=V4moduleV5=V5moduleV6=V6moduleV7=V7moduleV8=V8moduleV9=V9moduleV10=V10moduleV11=V11moduletypeVIEW=VIEWmoduletypeTREE=TREEmoduletypeS=SmoduletypeHASH_VERSION=HASH_VERSIONmoduletypeCACHE=CACHEend