From 0c98b7fd817057628533d2f6f1315c8b881135aa Mon Sep 17 00:00:00 2001 From: coldstar1993 Date: Thu, 23 May 2024 00:01:01 +0800 Subject: [PATCH] [ci skip] Updates --- assets/icons.js | 15 + assets/icons.svg | 1 + assets/main.js | 7 +- assets/navigation.js | 1 + assets/search.js | 2 +- assets/style.css | 887 ++++++++++-------- classes/BaseMerkleProof.html | 450 +-------- classes/BaseSiblingPath.html | 500 +--------- classes/CSMTUtils.html | 410 +------- classes/CompactDeepSparseMerkleSubTree.html | 629 ++----------- classes/CompactSparseMerkleProof.html | 606 +++--------- classes/CompactSparseMerkleTree.html | 704 ++------------ classes/DeepMerkleSubTree.html | 342 +------ classes/DeepSparseMerkleSubTree.html | 378 +------- classes/LevelStore.html | 483 ++-------- classes/MemoryStore.html | 406 +------- classes/MerkleTree.html | 672 ++----------- classes/MerkleTreeUtils.html | 510 ++-------- classes/MongoStore.html | 491 ++-------- classes/PoseidonHasher.html | 169 +--- classes/ProvableCSMTUtils.html | 184 +--- classes/ProvableDeepMerkleSubTree.html | 318 +------ classes/ProvableDeepSparseMerkleSubTree.html | 345 +------ classes/ProvableMerkleTreeUtils.html | 253 +---- classes/ProvableSMTUtils.html | 329 +------ classes/RocksStore.html | 483 ++-------- classes/SMTUtils.html | 455 +-------- classes/SparseMerkleProof.html | 472 ++-------- classes/SparseMerkleTree.html | 721 ++------------ classes/SparseTree.html | 467 ++------- classes/StandardIndexedTree.html | 800 ++-------------- classes/StandardTree.html | 465 ++------- classes/TreeHasher.html | 366 +------- functions/PoseidonHasherFunc.html | 119 +-- functions/SiblingPath.html | 119 +-- functions/bufferToInt256.html | 123 +-- functions/countCommonPrefix.html | 125 +-- functions/countSetBits.html | 119 +-- functions/createEmptyValue.html | 130 +-- functions/defaultNodes.html | 121 +-- functions/fieldArrayToStringArray.html | 119 +-- functions/fieldToHexString.html | 125 +-- functions/greaterThanFor254BitField.html | 125 +-- functions/hexStringToField.html | 125 +-- functions/int256ToBuffer.html | 123 +-- functions/loadTree.html | 159 +--- functions/newTree.html | 169 +--- functions/printBits.html | 124 +-- functions/separateHighPartFor254BitField.html | 124 +-- functions/strToFieldArry.html | 125 +-- functions/toBigIntBE.html | 128 +-- functions/toBigIntLE.html | 128 +-- functions/toBufferBE.html | 133 +-- functions/toBufferLE.html | 133 +-- hierarchy.html | 1 + index.html | 329 ++----- interfaces/AppendOnlyTree.html | 243 +---- interfaces/CSparseCompactMerkleProof.html | 117 +-- interfaces/CompactMerkleProof.html | 101 +- interfaces/CompactMerkleProofJSON.html | 101 +- interfaces/IMerkleTree.html | 212 +---- interfaces/IndexedTree.html | 377 +------- interfaces/LeafData.html | 99 +- interfaces/LowLeafWitnessData.html | 99 +- interfaces/SiblingPathSource.html | 95 +- interfaces/SparseCompactMerkleProof.html | 93 +- interfaces/SparseCompactMerkleProofJSON.html | 93 +- interfaces/Store.html | 342 +------ interfaces/UpdateOnlyTree.html | 246 +---- modules.html | 248 ++--- types/Hasher.html | 123 +-- variables/INITIAL_LEAF.html | 110 +-- 72 files changed, 2389 insertions(+), 16657 deletions(-) create mode 100644 assets/icons.js create mode 100644 assets/icons.svg create mode 100644 assets/navigation.js create mode 100644 hierarchy.html diff --git a/assets/icons.js b/assets/icons.js new file mode 100644 index 0000000..b79c9e8 --- /dev/null +++ b/assets/icons.js @@ -0,0 +1,15 @@ +(function(svg) { + svg.innerHTML = ``; + svg.style.display = 'none'; + if (location.protocol === 'file:') { + if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements); + else updateUseElements() + function updateUseElements() { + document.querySelectorAll('use').forEach(el => { + if (el.getAttribute('href').includes('#icon-')) { + el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); + } + }); + } + } +})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg'))) \ No newline at end of file diff --git a/assets/icons.svg b/assets/icons.svg new file mode 100644 index 0000000..7dead61 --- /dev/null +++ b/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/main.js b/assets/main.js index f7c8366..d6f1388 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,7 +1,8 @@ "use strict"; -"use strict";(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?h+=2:a==u&&(n+=r[l+1]*i[h+1],l+=2,h+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),m=s.str.charAt(1),v;m in s.node.edges?v=s.node.edges[m]:(v=new t.TokenSet,s.node.edges[m]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ce=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});var le=[];function B(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureFocusedElementVisible(){this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null);let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}};var I=class{constructor(e){this.el=e.el,this.app=e.app}};var J=class{constructor(){this.listeners={}}addEventListener(e,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(n)}removeEventListener(e,n){if(!(e in this.listeners))return;let r=this.listeners[e];for(let i=0,s=r.length;i{let n=Date.now();return(...r)=>{n+e-Date.now()<0&&(t(...r),n=Date.now())}};var re=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.navigation=document.querySelector(".col-menu"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.searchInput=document.querySelector("#tsd-search input"),this.searchInput&&this.searchInput.addEventListener("focus",()=>{this.hideShowToolbar()}),this.onResize(),this.onScroll()}triggerResize(){let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onScroll(){this.scrollTop=window.scrollY||0;let n=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(n),this.hideShowToolbar()}hideShowToolbar(){let n=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0||!!this.searchInput&&this.searchInput===document.activeElement,n!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.navigation?.classList.toggle("col-menu--hide")),this.lastY=this.scrollTop}},R=re;R.instance=new re;var X=class extends I{constructor(n){super(n);this.anchors=[];this.index=-1;R.instance.addEventListener("resize",()=>this.onResize()),R.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substring(0,n.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let i=r.href;if(i.indexOf("#")==-1||i.substring(0,n.length)!=n)return;let s=i.substring(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=r.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let n;for(let i=0,s=this.anchors.length;ii.position-s.position);let r=new CustomEvent("scroll",{detail:{scrollTop:R.instance.scrollTop}});this.onScroll(r)}onScroll(n){let r=n.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>r;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var me=De(de());function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let n=document.querySelector("#tsd-search input"),r=document.querySelector("#tsd-search .results");if(!n||!r)throw new Error("The input field or the result list wrapper was not found");let i=!1;r.addEventListener("mousedown",()=>i=!0),r.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),n.addEventListener("focus",()=>t.classList.add("has-focus")),n.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Fe(t,r,n,s)}function Fe(t,e,n,r){n.addEventListener("input",ue(()=>{He(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?pe(e,-1):s.key==="ArrowDown"?pe(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ae(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=me.Index.load(window.searchData.index))}function He(t,e,n,r){if(Ae(r,t),!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${fe(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes??"";let m=document.createElement("a");m.href=r.base+u.url,m.innerHTML=l,h.append(m),e.appendChild(h)}}function pe(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function fe(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ie(t.substring(s,o)),`${ie(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ie(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",j="mouseup",Z={x:0,y:0},ge=!1,se=!1,Be=!1,A=!1,xe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(xe?"is-mobile":"not-mobile");xe&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",ye="touchmove",j="touchend");document.addEventListener(F,t=>{se=!0,A=!1;let e=F=="touchstart"?t.targetTouches[0]:t;Z.y=e.pageY||0,Z.x=e.pageX||0});document.addEventListener(ye,t=>{if(se&&!A){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);A=Math.sqrt(n*n+r*r)>10}});document.addEventListener(j,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends I{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(j,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(j,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){A||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!A&&this.active&&n.target.closest(".col-menu")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var oe;try{oe=localStorage}catch{oe={getItem(){return null},setItem(){}}}var Q=oe;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var ee=class extends I{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var te=class extends I{constructor(n){super(n);this.calculateHeights(),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.textContent.replace(/\s+/g,"-").toLowerCase()}`,this.setLocalStorage(this.fromLocalStorage(),!0),this.summary.addEventListener("click",r=>this.toggleVisibility(r)),this.icon.style.transform=this.getIconRotation()}getIconRotation(n=this.el.open){return`rotate(${n?0:-90}deg)`}calculateHeights(){let n=this.el.open,{position:r,left:i}=this.el.style;this.el.style.position="fixed",this.el.style.left="-9999px",this.el.open=!0,this.expandedHeight=this.el.offsetHeight+"px",this.el.open=!1,this.collapsedHeight=this.el.offsetHeight+"px",this.el.open=n,this.el.style.height=n?this.expandedHeight:this.collapsedHeight,this.el.style.position=r,this.el.style.left=i}toggleVisibility(n){n.preventDefault(),this.el.style.overflow="hidden",this.el.open?this.collapse():this.expand()}expand(n=!0){this.el.open=!0,this.animate(this.collapsedHeight,this.expandedHeight,{opening:!0,duration:n?300:0})}collapse(n=!0){this.animate(this.expandedHeight,this.collapsedHeight,{opening:!1,duration:n?300:0})}animate(n,r,{opening:i,duration:s=300}){if(this.animation)return;let o={duration:s,easing:"ease"};this.animation=this.el.animate({height:[n,r]},o),this.icon.animate({transform:[this.icon.style.transform||this.getIconRotation(!i),this.getIconRotation(i)]},o).addEventListener("finish",()=>{this.icon.style.transform=this.getIconRotation(i)}),this.animation.addEventListener("finish",()=>this.animationEnd(i))}animationEnd(n){this.el.open=n,this.animation=void 0,this.el.style.height="auto",this.el.style.overflow="visible",this.setLocalStorage(n)}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.open}setLocalStorage(n,r=!1){this.fromLocalStorage()===n&&!r||(Q.setItem(this.key,n.toString()),this.el.open=n,this.handleValueChange(r))}handleValueChange(n=!1){this.fromLocalStorage()===this.el.open&&!n||(this.fromLocalStorage()?this.expand(!1):this.collapse(!1))}};function be(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,Ee(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),Ee(t.value)})}function Ee(t){document.documentElement.dataset.theme=t}ve();B(X,".menu-highlight");B(K,"a[data-toggle]");B(te,".tsd-index-accordion");B(ee,".tsd-filter-item input[type=checkbox]");var we=document.getElementById("theme");we&&be(we);var je=new Y;Object.defineProperty(window,"app",{value:je});})(); +"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(console.log("Show page"),document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){console.log("Scorlling");let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ve(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ve(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ne(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); /*! Bundled license information: lunr/lunr.js: diff --git a/assets/navigation.js b/assets/navigation.js new file mode 100644 index 0000000..bed175c --- /dev/null +++ b/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACqWXUW/aMBSF/wvP1bay0m19gxVUJtqiJd0epmkyyQ1YDXbkOC1o2n+vQ4HEie+N6R6jc+5n+/pwE3797WnY6N5Vb8RyuAX1mMJcSZn0znoZ0ysjRCnLc8jfNwzvVnqdGtcjF3Hv6rz/+d+ZxQr4IuViOS8hTlbNQLG+Brfhg+Zp3qYcJbJerjMW6WuALMiYOpwhKBahAnBASb/HSvUqpJWY80Q6eYCmkWKXh+1oS8vSxfNq9hu6PIMnSAMtlQNXaRThFtZSbRFETaQZ+AX49bxyIeluGEiWFEuJHeioUYS5zIHHUtywfAWqTbF1kqTkE1ukQPxuWxYfnkdGUasv3yuzHQU+a3XePWL0YXe33afr32X0mCOJqjSKgO/DZ32PIXrS9Owem6fMy1cvxekkaCZipuKpiGEDMYJqm3yYNKyLUurYFKg0ijDMMhDxvUi39k640KASFhmQbbFh/cGl9frf9XP/UnMGosZF3eQSnuz/hH4L7u88waWVgk9dQa4Rp1iMGxhX+OoYLHc2ZgYsuWaaORkHkQTI59L2k2sBeY6jWjYKWvu8DGShIvcRWy4SeUoU35JErAaNDlVALmRP9jqxPdft0ocsZhrIX7dtoWDNQaO3mal3jZj+hy+fzgf9enrvpuF0OPszGw8nFeGJKV6+5Ex6a7rN+thHv3wmhYgqWGKeNJei+f1Tumzk5YU7ei4W+sfHgiyKJAEVyqnQpmcuju0gUJEshDYhWUsxV5DwjYvWMnUBA9AjrnOUtdcpjAKTk/E609sfLC3AiWp4CFwMCStSfSdjcO6qrhOYhEMaD5Vi29B8NytzU7sHFxGxdsFDeQObVz9KrXkI3HLXHRWumJhI1R9cmI5PynIXFzUTC6wOmwglym16CBzfRTWUo110XTDbQaBSyRpvrgpy0IhyAc9Y9V4iijNzWjT8R5EA5GAGt7mMG75czZnS3ZdHV1BLabW/F5NNZ4ptB4HScsSXZtqMxi5MpXogZiRi1oHYZQPdxV71QKC72KstxO8XIm/HOTATAAA=" \ No newline at end of file diff --git a/assets/search.js b/assets/search.js index 9f1c8ef..90bc18f 100644 --- a/assets/search.js +++ b/assets/search.js @@ -1 +1 @@ -window.searchData = JSON.parse("{\"kinds\":{\"32\":\"Variable\",\"64\":\"Function\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"4194304\":\"Type alias\"},\"rows\":[{\"kind\":4194304,\"name\":\"Hasher\",\"url\":\"types/Hasher.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Hasher.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"Hasher\"},{\"kind\":64,\"name\":\"PoseidonHasherFunc\",\"url\":\"functions/PoseidonHasherFunc.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":256,\"name\":\"Store\",\"url\":\"interfaces/Store.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"getNodes\",\"url\":\"interfaces/Store.html#getNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"preparePutNodes\",\"url\":\"interfaces/Store.html#preparePutNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"prepareDelNodes\",\"url\":\"interfaces/Store.html#prepareDelNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"getValue\",\"url\":\"interfaces/Store.html#getValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"preparePutValue\",\"url\":\"interfaces/Store.html#preparePutValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"prepareDelValue\",\"url\":\"interfaces/Store.html#prepareDelValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"interfaces/Store.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"prepareUpdateRoot\",\"url\":\"interfaces/Store.html#prepareUpdateRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"interfaces/Store.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"clearPrepareOperationCache\",\"url\":\"interfaces/Store.html#clearPrepareOperationCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"interfaces/Store.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":2048,\"name\":\"getValuesMap\",\"url\":\"interfaces/Store.html#getValuesMap\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Store\"},{\"kind\":128,\"name\":\"MemoryStore\",\"url\":\"classes/MemoryStore.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/MemoryStore.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":1024,\"name\":\"nodesMap\",\"url\":\"classes/MemoryStore.html#nodesMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MemoryStore\"},{\"kind\":1024,\"name\":\"valuesMap\",\"url\":\"classes/MemoryStore.html#valuesMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MemoryStore\"},{\"kind\":1024,\"name\":\"operationCache\",\"url\":\"classes/MemoryStore.html#operationCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"clearPrepareOperationCache\",\"url\":\"classes/MemoryStore.html#clearPrepareOperationCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/MemoryStore.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"prepareUpdateRoot\",\"url\":\"classes/MemoryStore.html#prepareUpdateRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"getNodes\",\"url\":\"classes/MemoryStore.html#getNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"preparePutNodes\",\"url\":\"classes/MemoryStore.html#preparePutNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"prepareDelNodes\",\"url\":\"classes/MemoryStore.html#prepareDelNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"getValue\",\"url\":\"classes/MemoryStore.html#getValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"preparePutValue\",\"url\":\"classes/MemoryStore.html#preparePutValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"prepareDelValue\",\"url\":\"classes/MemoryStore.html#prepareDelValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"classes/MemoryStore.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/MemoryStore.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":2048,\"name\":\"getValuesMap\",\"url\":\"classes/MemoryStore.html#getValuesMap\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MemoryStore\"},{\"kind\":128,\"name\":\"LevelStore\",\"url\":\"classes/LevelStore.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/LevelStore.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":1024,\"name\":\"db\",\"url\":\"classes/LevelStore.html#db\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"LevelStore\"},{\"kind\":1024,\"name\":\"nodesSubLevel\",\"url\":\"classes/LevelStore.html#nodesSubLevel\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"LevelStore\"},{\"kind\":1024,\"name\":\"leavesSubLevel\",\"url\":\"classes/LevelStore.html#leavesSubLevel\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"LevelStore\"},{\"kind\":1024,\"name\":\"operationCache\",\"url\":\"classes/LevelStore.html#operationCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"LevelStore\"},{\"kind\":1024,\"name\":\"eltTyp\",\"url\":\"classes/LevelStore.html#eltTyp\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"clearPrepareOperationCache\",\"url\":\"classes/LevelStore.html#clearPrepareOperationCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/LevelStore.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"prepareUpdateRoot\",\"url\":\"classes/LevelStore.html#prepareUpdateRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"getNodes\",\"url\":\"classes/LevelStore.html#getNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"preparePutNodes\",\"url\":\"classes/LevelStore.html#preparePutNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"prepareDelNodes\",\"url\":\"classes/LevelStore.html#prepareDelNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"strToValue\",\"url\":\"classes/LevelStore.html#strToValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"getValue\",\"url\":\"classes/LevelStore.html#getValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"valueToStr\",\"url\":\"classes/LevelStore.html#valueToStr\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"preparePutValue\",\"url\":\"classes/LevelStore.html#preparePutValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"prepareDelValue\",\"url\":\"classes/LevelStore.html#prepareDelValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"classes/LevelStore.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/LevelStore.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":2048,\"name\":\"getValuesMap\",\"url\":\"classes/LevelStore.html#getValuesMap\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"LevelStore\"},{\"kind\":128,\"name\":\"MongoStore\",\"url\":\"classes/MongoStore.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/MongoStore.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":1024,\"name\":\"db\",\"url\":\"classes/MongoStore.html#db\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MongoStore\"},{\"kind\":1024,\"name\":\"nodesModel\",\"url\":\"classes/MongoStore.html#nodesModel\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MongoStore\"},{\"kind\":1024,\"name\":\"valuesModel\",\"url\":\"classes/MongoStore.html#valuesModel\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MongoStore\"},{\"kind\":1024,\"name\":\"nodesOperationCache\",\"url\":\"classes/MongoStore.html#nodesOperationCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MongoStore\"},{\"kind\":1024,\"name\":\"valuesOperationCache\",\"url\":\"classes/MongoStore.html#valuesOperationCache\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MongoStore\"},{\"kind\":1024,\"name\":\"eltTyp\",\"url\":\"classes/MongoStore.html#eltTyp\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"clearPrepareOperationCache\",\"url\":\"classes/MongoStore.html#clearPrepareOperationCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/MongoStore.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"prepareUpdateRoot\",\"url\":\"classes/MongoStore.html#prepareUpdateRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"getNodes\",\"url\":\"classes/MongoStore.html#getNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"preparePutNodes\",\"url\":\"classes/MongoStore.html#preparePutNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"prepareDelNodes\",\"url\":\"classes/MongoStore.html#prepareDelNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"strToValue\",\"url\":\"classes/MongoStore.html#strToValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"getValue\",\"url\":\"classes/MongoStore.html#getValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"valueToStr\",\"url\":\"classes/MongoStore.html#valueToStr\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"preparePutValue\",\"url\":\"classes/MongoStore.html#preparePutValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"prepareDelValue\",\"url\":\"classes/MongoStore.html#prepareDelValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"classes/MongoStore.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/MongoStore.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":2048,\"name\":\"getValuesMap\",\"url\":\"classes/MongoStore.html#getValuesMap\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MongoStore\"},{\"kind\":128,\"name\":\"RocksStore\",\"url\":\"classes/RocksStore.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/RocksStore.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":1024,\"name\":\"db\",\"url\":\"classes/RocksStore.html#db\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"RocksStore\"},{\"kind\":1024,\"name\":\"batch\",\"url\":\"classes/RocksStore.html#batch\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"RocksStore\"},{\"kind\":1024,\"name\":\"nodesKey\",\"url\":\"classes/RocksStore.html#nodesKey\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"RocksStore\"},{\"kind\":1024,\"name\":\"leavesKey\",\"url\":\"classes/RocksStore.html#leavesKey\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"RocksStore\"},{\"kind\":1024,\"name\":\"eltTyp\",\"url\":\"classes/RocksStore.html#eltTyp\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"clearPrepareOperationCache\",\"url\":\"classes/RocksStore.html#clearPrepareOperationCache\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/RocksStore.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"prepareUpdateRoot\",\"url\":\"classes/RocksStore.html#prepareUpdateRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"getNodes\",\"url\":\"classes/RocksStore.html#getNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"preparePutNodes\",\"url\":\"classes/RocksStore.html#preparePutNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"prepareDelNodes\",\"url\":\"classes/RocksStore.html#prepareDelNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"strToValue\",\"url\":\"classes/RocksStore.html#strToValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"getValue\",\"url\":\"classes/RocksStore.html#getValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"valueToStr\",\"url\":\"classes/RocksStore.html#valueToStr\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"preparePutValue\",\"url\":\"classes/RocksStore.html#preparePutValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"prepareDelValue\",\"url\":\"classes/RocksStore.html#prepareDelValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"classes/RocksStore.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/RocksStore.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":2048,\"name\":\"getValuesMap\",\"url\":\"classes/RocksStore.html#getValuesMap\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"RocksStore\"},{\"kind\":128,\"name\":\"SparseMerkleTree\",\"url\":\"classes/SparseMerkleTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":1024,\"name\":\"initialPoseidonHashRoot\",\"url\":\"classes/SparseMerkleTree.html#initialPoseidonHashRoot\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"build\",\"url\":\"classes/SparseMerkleTree.html#build\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"import\",\"url\":\"classes/SparseMerkleTree.html#import\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/SparseMerkleTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-private\",\"parent\":\"SparseMerkleTree\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/SparseMerkleTree.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/SparseMerkleTree.html#store\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/SparseMerkleTree.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":1024,\"name\":\"config\",\"url\":\"classes/SparseMerkleTree.html#config\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/SparseMerkleTree.html#config.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"SparseMerkleTree.config\"},{\"kind\":1024,\"name\":\"hashKey\",\"url\":\"classes/SparseMerkleTree.html#config.__type.hashKey\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"SparseMerkleTree.config.__type\"},{\"kind\":1024,\"name\":\"hashValue\",\"url\":\"classes/SparseMerkleTree.html#config.__type.hashValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"SparseMerkleTree.config.__type\"},{\"kind\":1024,\"name\":\"keyType\",\"url\":\"classes/SparseMerkleTree.html#keyType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":1024,\"name\":\"valueType\",\"url\":\"classes/SparseMerkleTree.html#valueType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"getKeyField\",\"url\":\"classes/SparseMerkleTree.html#getKeyField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/SparseMerkleTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"isEmpty\",\"url\":\"classes/SparseMerkleTree.html#isEmpty\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"depth\",\"url\":\"classes/SparseMerkleTree.html#depth\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"setRoot\",\"url\":\"classes/SparseMerkleTree.html#setRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"getStore\",\"url\":\"classes/SparseMerkleTree.html#getStore\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"getHasher\",\"url\":\"classes/SparseMerkleTree.html#getHasher\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/SparseMerkleTree.html#get\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/SparseMerkleTree.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/SparseMerkleTree.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/SparseMerkleTree.html#delete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/SparseMerkleTree.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"updateAll\",\"url\":\"classes/SparseMerkleTree.html#updateAll\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"prove\",\"url\":\"classes/SparseMerkleTree.html#prove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"proveCompact\",\"url\":\"classes/SparseMerkleTree.html#proveCompact\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"digest\",\"url\":\"classes/SparseMerkleTree.html#digest\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"updateForRoot\",\"url\":\"classes/SparseMerkleTree.html#updateForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"updateWithSideNodes\",\"url\":\"classes/SparseMerkleTree.html#updateWithSideNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"sideNodesForRoot\",\"url\":\"classes/SparseMerkleTree.html#sideNodesForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":2048,\"name\":\"proveForRoot\",\"url\":\"classes/SparseMerkleTree.html#proveForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SparseMerkleTree\"},{\"kind\":128,\"name\":\"ProvableSMTUtils\",\"url\":\"classes/ProvableSMTUtils.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":1024,\"name\":\"EMPTY_VALUE\",\"url\":\"classes/ProvableSMTUtils.html#EMPTY_VALUE\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ProvableSMTUtils\"},{\"kind\":1024,\"name\":\"verifyProofByField\",\"url\":\"classes/ProvableSMTUtils.html#verifyProofByField\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ProvableSMTUtils\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ProvableSMTUtils.html#verifyProofByField.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"ProvableSMTUtils.verifyProofByField\"},{\"kind\":1024,\"name\":\"computeRootByField\",\"url\":\"classes/ProvableSMTUtils.html#computeRootByField\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ProvableSMTUtils\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ProvableSMTUtils.html#computeRootByField.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"ProvableSMTUtils.computeRootByField\"},{\"kind\":2048,\"name\":\"checkMembership\",\"url\":\"classes/ProvableSMTUtils.html#checkMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableSMTUtils\"},{\"kind\":2048,\"name\":\"checkNonMembership\",\"url\":\"classes/ProvableSMTUtils.html#checkNonMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableSMTUtils\"},{\"kind\":2048,\"name\":\"computeRoot\",\"url\":\"classes/ProvableSMTUtils.html#computeRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableSMTUtils\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ProvableSMTUtils.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ProvableSMTUtils\"},{\"kind\":128,\"name\":\"SparseMerkleProof\",\"url\":\"classes/SparseMerkleProof.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":1024,\"name\":\"sideNodes\",\"url\":\"classes/SparseMerkleProof.html#sideNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseMerkleProof\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/SparseMerkleProof.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseMerkleProof\"},{\"kind\":128,\"name\":\"SMTUtils\",\"url\":\"classes/SMTUtils.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"sparseCompactMerkleProofToJson\",\"url\":\"classes/SMTUtils.html#sparseCompactMerkleProofToJson\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":2048,\"name\":\"jsonToSparseCompactMerkleProof\",\"url\":\"classes/SMTUtils.html#jsonToSparseCompactMerkleProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":2048,\"name\":\"computeRoot\",\"url\":\"classes/SMTUtils.html#computeRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":2048,\"name\":\"checkMembership\",\"url\":\"classes/SMTUtils.html#checkMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":2048,\"name\":\"checkNonMembership\",\"url\":\"classes/SMTUtils.html#checkNonMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":2048,\"name\":\"verifyProof\",\"url\":\"classes/SMTUtils.html#verifyProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":2048,\"name\":\"verifyCompactProof\",\"url\":\"classes/SMTUtils.html#verifyCompactProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":2048,\"name\":\"compactProof\",\"url\":\"classes/SMTUtils.html#compactProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":2048,\"name\":\"decompactProof\",\"url\":\"classes/SMTUtils.html#decompactProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/SMTUtils.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"SMTUtils\"},{\"kind\":256,\"name\":\"SparseCompactMerkleProof\",\"url\":\"interfaces/SparseCompactMerkleProof.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"sideNodes\",\"url\":\"interfaces/SparseCompactMerkleProof.html#sideNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"SparseCompactMerkleProof\"},{\"kind\":1024,\"name\":\"bitMask\",\"url\":\"interfaces/SparseCompactMerkleProof.html#bitMask\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"SparseCompactMerkleProof\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"interfaces/SparseCompactMerkleProof.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"SparseCompactMerkleProof\"},{\"kind\":256,\"name\":\"SparseCompactMerkleProofJSON\",\"url\":\"interfaces/SparseCompactMerkleProofJSON.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"sideNodes\",\"url\":\"interfaces/SparseCompactMerkleProofJSON.html#sideNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"SparseCompactMerkleProofJSON\"},{\"kind\":1024,\"name\":\"bitMask\",\"url\":\"interfaces/SparseCompactMerkleProofJSON.html#bitMask\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"SparseCompactMerkleProofJSON\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"interfaces/SparseCompactMerkleProofJSON.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"SparseCompactMerkleProofJSON\"},{\"kind\":128,\"name\":\"DeepSparseMerkleSubTree\",\"url\":\"classes/DeepSparseMerkleSubTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DeepSparseMerkleSubTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"nodeStore\",\"url\":\"classes/DeepSparseMerkleSubTree.html#nodeStore\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"valueStore\",\"url\":\"classes/DeepSparseMerkleSubTree.html#valueStore\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/DeepSparseMerkleSubTree.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/DeepSparseMerkleSubTree.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"config\",\"url\":\"classes/DeepSparseMerkleSubTree.html#config\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/DeepSparseMerkleSubTree.html#config.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"DeepSparseMerkleSubTree.config\"},{\"kind\":1024,\"name\":\"hashKey\",\"url\":\"classes/DeepSparseMerkleSubTree.html#config.__type.hashKey\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"DeepSparseMerkleSubTree.config.__type\"},{\"kind\":1024,\"name\":\"hashValue\",\"url\":\"classes/DeepSparseMerkleSubTree.html#config.__type.hashValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"DeepSparseMerkleSubTree.config.__type\"},{\"kind\":1024,\"name\":\"keyType\",\"url\":\"classes/DeepSparseMerkleSubTree.html#keyType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"valueType\",\"url\":\"classes/DeepSparseMerkleSubTree.html#valueType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/DeepSparseMerkleSubTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getHeight\",\"url\":\"classes/DeepSparseMerkleSubTree.html#getHeight\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getKeyField\",\"url\":\"classes/DeepSparseMerkleSubTree.html#getKeyField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getValueField\",\"url\":\"classes/DeepSparseMerkleSubTree.html#getValueField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/DeepSparseMerkleSubTree.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"addBranch\",\"url\":\"classes/DeepSparseMerkleSubTree.html#addBranch\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"prove\",\"url\":\"classes/DeepSparseMerkleSubTree.html#prove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/DeepSparseMerkleSubTree.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepSparseMerkleSubTree\"},{\"kind\":128,\"name\":\"ProvableDeepSparseMerkleSubTree\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"nodeStore\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#nodeStore\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"valueStore\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#valueStore\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"config\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#config\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#config.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"ProvableDeepSparseMerkleSubTree.config\"},{\"kind\":1024,\"name\":\"hashKey\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#config.__type.hashKey\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ProvableDeepSparseMerkleSubTree.config.__type\"},{\"kind\":1024,\"name\":\"hashValue\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#config.__type.hashValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ProvableDeepSparseMerkleSubTree.config.__type\"},{\"kind\":1024,\"name\":\"keyType\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#keyType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"valueType\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#valueType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getHeight\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#getHeight\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getKeyField\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#getKeyField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getValueField\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#getValueField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"addBranch\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#addBranch\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"prove\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#prove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/ProvableDeepSparseMerkleSubTree.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepSparseMerkleSubTree\"},{\"kind\":128,\"name\":\"MerkleTree\",\"url\":\"classes/MerkleTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"build\",\"url\":\"classes/MerkleTree.html#build\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"import\",\"url\":\"classes/MerkleTree.html#import\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/MerkleTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-private\",\"parent\":\"MerkleTree\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/MerkleTree.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/MerkleTree.html#store\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/MerkleTree.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":1024,\"name\":\"height\",\"url\":\"classes/MerkleTree.html#height\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":1024,\"name\":\"maxNumIndex\",\"url\":\"classes/MerkleTree.html#maxNumIndex\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":1024,\"name\":\"hashValue\",\"url\":\"classes/MerkleTree.html#hashValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":1024,\"name\":\"valueType\",\"url\":\"classes/MerkleTree.html#valueType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/MerkleTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"isEmpty\",\"url\":\"classes/MerkleTree.html#isEmpty\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"depth\",\"url\":\"classes/MerkleTree.html#depth\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"setRoot\",\"url\":\"classes/MerkleTree.html#setRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"getStore\",\"url\":\"classes/MerkleTree.html#getStore\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"getHasher\",\"url\":\"classes/MerkleTree.html#getHasher\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/MerkleTree.html#get\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/MerkleTree.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/MerkleTree.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/MerkleTree.html#delete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/MerkleTree.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"updateAll\",\"url\":\"classes/MerkleTree.html#updateAll\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"prove\",\"url\":\"classes/MerkleTree.html#prove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"proveCompact\",\"url\":\"classes/MerkleTree.html#proveCompact\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"digest\",\"url\":\"classes/MerkleTree.html#digest\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"updateForRoot\",\"url\":\"classes/MerkleTree.html#updateForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"updateWithSideNodes\",\"url\":\"classes/MerkleTree.html#updateWithSideNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"sideNodesForRoot\",\"url\":\"classes/MerkleTree.html#sideNodesForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":2048,\"name\":\"proveForRoot\",\"url\":\"classes/MerkleTree.html#proveForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MerkleTree\"},{\"kind\":128,\"name\":\"ProvableMerkleTreeUtils\",\"url\":\"classes/ProvableMerkleTreeUtils.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":1024,\"name\":\"EMPTY_VALUE\",\"url\":\"classes/ProvableMerkleTreeUtils.html#EMPTY_VALUE\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ProvableMerkleTreeUtils\"},{\"kind\":2048,\"name\":\"MerkleProof\",\"url\":\"classes/ProvableMerkleTreeUtils.html#MerkleProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableMerkleTreeUtils\"},{\"kind\":2048,\"name\":\"computeRoot\",\"url\":\"classes/ProvableMerkleTreeUtils.html#computeRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableMerkleTreeUtils\"},{\"kind\":2048,\"name\":\"checkMembership\",\"url\":\"classes/ProvableMerkleTreeUtils.html#checkMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableMerkleTreeUtils\"},{\"kind\":2048,\"name\":\"checkNonMembership\",\"url\":\"classes/ProvableMerkleTreeUtils.html#checkNonMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableMerkleTreeUtils\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ProvableMerkleTreeUtils.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ProvableMerkleTreeUtils\"},{\"kind\":128,\"name\":\"BaseMerkleProof\",\"url\":\"classes/BaseMerkleProof.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":1024,\"name\":\"height\",\"url\":\"classes/BaseMerkleProof.html#height\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"BaseMerkleProof\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/BaseMerkleProof.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"BaseMerkleProof\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/BaseMerkleProof.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"BaseMerkleProof\"},{\"kind\":1024,\"name\":\"sideNodes\",\"url\":\"classes/BaseMerkleProof.html#sideNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"BaseMerkleProof\"},{\"kind\":2048,\"name\":\"height\",\"url\":\"classes/BaseMerkleProof.html#height-1\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"BaseMerkleProof\"},{\"kind\":128,\"name\":\"MerkleTreeUtils\",\"url\":\"classes/MerkleTreeUtils.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"compactMerkleProof\",\"url\":\"classes/MerkleTreeUtils.html#compactMerkleProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"decompactMerkleProof\",\"url\":\"classes/MerkleTreeUtils.html#decompactMerkleProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"compactMerkleProofToJson\",\"url\":\"classes/MerkleTreeUtils.html#compactMerkleProofToJson\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"jsonToCompactMerkleProof\",\"url\":\"classes/MerkleTreeUtils.html#jsonToCompactMerkleProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"computeRoot\",\"url\":\"classes/MerkleTreeUtils.html#computeRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"checkMembership\",\"url\":\"classes/MerkleTreeUtils.html#checkMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"checkNonMembership\",\"url\":\"classes/MerkleTreeUtils.html#checkNonMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"verifyProof\",\"url\":\"classes/MerkleTreeUtils.html#verifyProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"verifyProofByField\",\"url\":\"classes/MerkleTreeUtils.html#verifyProofByField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"verifyProofByFieldWithUpdates\",\"url\":\"classes/MerkleTreeUtils.html#verifyProofByFieldWithUpdates\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/MerkleTreeUtils.html#verifyProofByFieldWithUpdates.verifyProofByFieldWithUpdates-1.__type-1\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"MerkleTreeUtils.verifyProofByFieldWithUpdates.verifyProofByFieldWithUpdates\"},{\"kind\":1024,\"name\":\"ok\",\"url\":\"classes/MerkleTreeUtils.html#verifyProofByFieldWithUpdates.verifyProofByFieldWithUpdates-1.__type-1.ok\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"MerkleTreeUtils.verifyProofByFieldWithUpdates.verifyProofByFieldWithUpdates.__type\"},{\"kind\":1024,\"name\":\"updates\",\"url\":\"classes/MerkleTreeUtils.html#verifyProofByFieldWithUpdates.verifyProofByFieldWithUpdates-1.__type-1.updates-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"MerkleTreeUtils.verifyProofByFieldWithUpdates.verifyProofByFieldWithUpdates.__type\"},{\"kind\":2048,\"name\":\"computeRootByField\",\"url\":\"classes/MerkleTreeUtils.html#computeRootByField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":2048,\"name\":\"computeRootByFieldWithUpdates\",\"url\":\"classes/MerkleTreeUtils.html#computeRootByFieldWithUpdates\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/MerkleTreeUtils.html#computeRootByFieldWithUpdates.computeRootByFieldWithUpdates-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"MerkleTreeUtils.computeRootByFieldWithUpdates.computeRootByFieldWithUpdates\"},{\"kind\":1024,\"name\":\"actualRoot\",\"url\":\"classes/MerkleTreeUtils.html#computeRootByFieldWithUpdates.computeRootByFieldWithUpdates-1.__type.actualRoot\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"MerkleTreeUtils.computeRootByFieldWithUpdates.computeRootByFieldWithUpdates.__type\"},{\"kind\":1024,\"name\":\"updates\",\"url\":\"classes/MerkleTreeUtils.html#computeRootByFieldWithUpdates.computeRootByFieldWithUpdates-1.__type.updates\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"MerkleTreeUtils.computeRootByFieldWithUpdates.computeRootByFieldWithUpdates.__type\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/MerkleTreeUtils.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"MerkleTreeUtils\"},{\"kind\":256,\"name\":\"CompactMerkleProof\",\"url\":\"interfaces/CompactMerkleProof.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"height\",\"url\":\"interfaces/CompactMerkleProof.html#height\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CompactMerkleProof\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"interfaces/CompactMerkleProof.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CompactMerkleProof\"},{\"kind\":1024,\"name\":\"sideNodes\",\"url\":\"interfaces/CompactMerkleProof.html#sideNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CompactMerkleProof\"},{\"kind\":1024,\"name\":\"bitMask\",\"url\":\"interfaces/CompactMerkleProof.html#bitMask\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CompactMerkleProof\"},{\"kind\":256,\"name\":\"CompactMerkleProofJSON\",\"url\":\"interfaces/CompactMerkleProofJSON.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"height\",\"url\":\"interfaces/CompactMerkleProofJSON.html#height\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CompactMerkleProofJSON\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"interfaces/CompactMerkleProofJSON.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CompactMerkleProofJSON\"},{\"kind\":1024,\"name\":\"sideNodes\",\"url\":\"interfaces/CompactMerkleProofJSON.html#sideNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CompactMerkleProofJSON\"},{\"kind\":1024,\"name\":\"bitMask\",\"url\":\"interfaces/CompactMerkleProofJSON.html#bitMask\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CompactMerkleProofJSON\"},{\"kind\":128,\"name\":\"DeepMerkleSubTree\",\"url\":\"classes/DeepMerkleSubTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DeepMerkleSubTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"nodeStore\",\"url\":\"classes/DeepMerkleSubTree.html#nodeStore\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"valueStore\",\"url\":\"classes/DeepMerkleSubTree.html#valueStore\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/DeepMerkleSubTree.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"height\",\"url\":\"classes/DeepMerkleSubTree.html#height\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/DeepMerkleSubTree.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"hashValue\",\"url\":\"classes/DeepMerkleSubTree.html#hashValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"valueType\",\"url\":\"classes/DeepMerkleSubTree.html#valueType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/DeepMerkleSubTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"getHeight\",\"url\":\"classes/DeepMerkleSubTree.html#getHeight\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"getValueField\",\"url\":\"classes/DeepMerkleSubTree.html#getValueField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/DeepMerkleSubTree.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"addBranch\",\"url\":\"classes/DeepMerkleSubTree.html#addBranch\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"prove\",\"url\":\"classes/DeepMerkleSubTree.html#prove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/DeepMerkleSubTree.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeepMerkleSubTree\"},{\"kind\":128,\"name\":\"ProvableDeepMerkleSubTree\",\"url\":\"classes/ProvableDeepMerkleSubTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"nodeStore\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#nodeStore\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"valueStore\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#valueStore\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"height\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#height\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"hashValue\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#hashValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":1024,\"name\":\"valueType\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#valueType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"getValueField\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#getValueField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"getHeight\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#getHeight\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"addBranch\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#addBranch\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"prove\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#prove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/ProvableDeepMerkleSubTree.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableDeepMerkleSubTree\"},{\"kind\":128,\"name\":\"CompactSparseMerkleTree\",\"url\":\"classes/CompactSparseMerkleTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"import\",\"url\":\"classes/CompactSparseMerkleTree.html#import\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CompactSparseMerkleTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":1024,\"name\":\"th\",\"url\":\"classes/CompactSparseMerkleTree.html#th\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/CompactSparseMerkleTree.html#store\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/CompactSparseMerkleTree.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":1024,\"name\":\"config\",\"url\":\"classes/CompactSparseMerkleTree.html#config\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CompactSparseMerkleTree.html#config.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"CompactSparseMerkleTree.config\"},{\"kind\":1024,\"name\":\"hashKey\",\"url\":\"classes/CompactSparseMerkleTree.html#config.__type.hashKey\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CompactSparseMerkleTree.config.__type\"},{\"kind\":1024,\"name\":\"hashValue\",\"url\":\"classes/CompactSparseMerkleTree.html#config.__type.hashValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CompactSparseMerkleTree.config.__type\"},{\"kind\":1024,\"name\":\"keyType\",\"url\":\"classes/CompactSparseMerkleTree.html#keyType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":1024,\"name\":\"valueType\",\"url\":\"classes/CompactSparseMerkleTree.html#valueType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"getKeyField\",\"url\":\"classes/CompactSparseMerkleTree.html#getKeyField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/CompactSparseMerkleTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"getTreeHasher\",\"url\":\"classes/CompactSparseMerkleTree.html#getTreeHasher\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"getStore\",\"url\":\"classes/CompactSparseMerkleTree.html#getStore\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"setRoot\",\"url\":\"classes/CompactSparseMerkleTree.html#setRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"depth\",\"url\":\"classes/CompactSparseMerkleTree.html#depth\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/CompactSparseMerkleTree.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/CompactSparseMerkleTree.html#get\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CompactSparseMerkleTree.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/CompactSparseMerkleTree.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"updateAll\",\"url\":\"classes/CompactSparseMerkleTree.html#updateAll\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/CompactSparseMerkleTree.html#delete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"prove\",\"url\":\"classes/CompactSparseMerkleTree.html#prove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"proveUpdatable\",\"url\":\"classes/CompactSparseMerkleTree.html#proveUpdatable\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"proveCompact\",\"url\":\"classes/CompactSparseMerkleTree.html#proveCompact\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"proveCompactForRoot\",\"url\":\"classes/CompactSparseMerkleTree.html#proveCompactForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"doProveForRoot\",\"url\":\"classes/CompactSparseMerkleTree.html#doProveForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"updateForRoot\",\"url\":\"classes/CompactSparseMerkleTree.html#updateForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"updateWithSideNodes\",\"url\":\"classes/CompactSparseMerkleTree.html#updateWithSideNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"deleteWithSideNodes\",\"url\":\"classes/CompactSparseMerkleTree.html#deleteWithSideNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":2048,\"name\":\"sideNodesForRoot\",\"url\":\"classes/CompactSparseMerkleTree.html#sideNodesForRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"CompactSparseMerkleTree\"},{\"kind\":128,\"name\":\"TreeHasher\",\"url\":\"classes/TreeHasher.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"poseidon\",\"url\":\"classes/TreeHasher.html#poseidon\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/TreeHasher.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/TreeHasher.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"TreeHasher\"},{\"kind\":1024,\"name\":\"keyType\",\"url\":\"classes/TreeHasher.html#keyType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"TreeHasher\"},{\"kind\":1024,\"name\":\"valueType\",\"url\":\"classes/TreeHasher.html#valueType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"TreeHasher\"},{\"kind\":2048,\"name\":\"digestValue\",\"url\":\"classes/TreeHasher.html#digestValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":2048,\"name\":\"path\",\"url\":\"classes/TreeHasher.html#path-1\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":2048,\"name\":\"getHasher\",\"url\":\"classes/TreeHasher.html#getHasher\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":2048,\"name\":\"digestLeaf\",\"url\":\"classes/TreeHasher.html#digestLeaf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/TreeHasher.html#digestLeaf.digestLeaf-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"TreeHasher.digestLeaf.digestLeaf\"},{\"kind\":1024,\"name\":\"hash\",\"url\":\"classes/TreeHasher.html#digestLeaf.digestLeaf-1.__type.hash\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"TreeHasher.digestLeaf.digestLeaf.__type\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"classes/TreeHasher.html#digestLeaf.digestLeaf-1.__type.value\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"TreeHasher.digestLeaf.digestLeaf.__type\"},{\"kind\":2048,\"name\":\"parseLeaf\",\"url\":\"classes/TreeHasher.html#parseLeaf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/TreeHasher.html#parseLeaf.parseLeaf-1.__type-2\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"TreeHasher.parseLeaf.parseLeaf\"},{\"kind\":1024,\"name\":\"path\",\"url\":\"classes/TreeHasher.html#parseLeaf.parseLeaf-1.__type-2.path\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"TreeHasher.parseLeaf.parseLeaf.__type\"},{\"kind\":1024,\"name\":\"leaf\",\"url\":\"classes/TreeHasher.html#parseLeaf.parseLeaf-1.__type-2.leaf\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"TreeHasher.parseLeaf.parseLeaf.__type\"},{\"kind\":2048,\"name\":\"isLeaf\",\"url\":\"classes/TreeHasher.html#isLeaf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":2048,\"name\":\"isEmptyData\",\"url\":\"classes/TreeHasher.html#isEmptyData\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":2048,\"name\":\"isEmptyDataInCircuit\",\"url\":\"classes/TreeHasher.html#isEmptyDataInCircuit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":2048,\"name\":\"emptyData\",\"url\":\"classes/TreeHasher.html#emptyData\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":2048,\"name\":\"digestNode\",\"url\":\"classes/TreeHasher.html#digestNode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/TreeHasher.html#digestNode.digestNode-1.__type-1\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"TreeHasher.digestNode.digestNode\"},{\"kind\":1024,\"name\":\"hash\",\"url\":\"classes/TreeHasher.html#digestNode.digestNode-1.__type-1.hash-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"TreeHasher.digestNode.digestNode.__type\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"classes/TreeHasher.html#digestNode.digestNode-1.__type-1.value-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"TreeHasher.digestNode.digestNode.__type\"},{\"kind\":2048,\"name\":\"parseNode\",\"url\":\"classes/TreeHasher.html#parseNode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TreeHasher\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/TreeHasher.html#parseNode.parseNode-1.__type-3\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"TreeHasher.parseNode.parseNode\"},{\"kind\":1024,\"name\":\"leftNode\",\"url\":\"classes/TreeHasher.html#parseNode.parseNode-1.__type-3.leftNode\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"TreeHasher.parseNode.parseNode.__type\"},{\"kind\":1024,\"name\":\"rightNode\",\"url\":\"classes/TreeHasher.html#parseNode.parseNode-1.__type-3.rightNode\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"TreeHasher.parseNode.parseNode.__type\"},{\"kind\":128,\"name\":\"CompactSparseMerkleProof\",\"url\":\"classes/CompactSparseMerkleProof.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CompactSparseMerkleProof.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"CompactSparseMerkleProof\"},{\"kind\":1024,\"name\":\"sideNodes\",\"url\":\"classes/CompactSparseMerkleProof.html#sideNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactSparseMerkleProof\"},{\"kind\":1024,\"name\":\"nonMembershipLeafData\",\"url\":\"classes/CompactSparseMerkleProof.html#nonMembershipLeafData\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactSparseMerkleProof\"},{\"kind\":1024,\"name\":\"siblingData\",\"url\":\"classes/CompactSparseMerkleProof.html#siblingData\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactSparseMerkleProof\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/CompactSparseMerkleProof.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactSparseMerkleProof\"},{\"kind\":128,\"name\":\"CSMTUtils\",\"url\":\"classes/CSMTUtils.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"verifyCompactProof\",\"url\":\"classes/CSMTUtils.html#verifyCompactProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CSMTUtils\"},{\"kind\":2048,\"name\":\"verifyProofWithUpdates\",\"url\":\"classes/CSMTUtils.html#verifyProofWithUpdates\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CSMTUtils\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CSMTUtils.html#verifyProofWithUpdates.verifyProofWithUpdates-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"CSMTUtils.verifyProofWithUpdates.verifyProofWithUpdates\"},{\"kind\":1024,\"name\":\"ok\",\"url\":\"classes/CSMTUtils.html#verifyProofWithUpdates.verifyProofWithUpdates-1.__type.ok\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CSMTUtils.verifyProofWithUpdates.verifyProofWithUpdates.__type\"},{\"kind\":1024,\"name\":\"updates\",\"url\":\"classes/CSMTUtils.html#verifyProofWithUpdates.verifyProofWithUpdates-1.__type.updates\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CSMTUtils.verifyProofWithUpdates.verifyProofWithUpdates.__type\"},{\"kind\":2048,\"name\":\"checkMemebership\",\"url\":\"classes/CSMTUtils.html#checkMemebership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CSMTUtils\"},{\"kind\":2048,\"name\":\"checkNonMemebership\",\"url\":\"classes/CSMTUtils.html#checkNonMemebership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CSMTUtils\"},{\"kind\":2048,\"name\":\"verifyProof\",\"url\":\"classes/CSMTUtils.html#verifyProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CSMTUtils\"},{\"kind\":2048,\"name\":\"compactProof\",\"url\":\"classes/CSMTUtils.html#compactProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CSMTUtils\"},{\"kind\":2048,\"name\":\"decompactProof\",\"url\":\"classes/CSMTUtils.html#decompactProof\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CSMTUtils\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CSMTUtils.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"CSMTUtils\"},{\"kind\":256,\"name\":\"CSparseCompactMerkleProof\",\"url\":\"interfaces/CSparseCompactMerkleProof.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"sideNodes\",\"url\":\"interfaces/CSparseCompactMerkleProof.html#sideNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CSparseCompactMerkleProof\"},{\"kind\":1024,\"name\":\"nonMembershipLeafData\",\"url\":\"interfaces/CSparseCompactMerkleProof.html#nonMembershipLeafData\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CSparseCompactMerkleProof\"},{\"kind\":1024,\"name\":\"bitMask\",\"url\":\"interfaces/CSparseCompactMerkleProof.html#bitMask\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CSparseCompactMerkleProof\"},{\"kind\":1024,\"name\":\"numSideNodes\",\"url\":\"interfaces/CSparseCompactMerkleProof.html#numSideNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CSparseCompactMerkleProof\"},{\"kind\":1024,\"name\":\"siblingData\",\"url\":\"interfaces/CSparseCompactMerkleProof.html#siblingData\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CSparseCompactMerkleProof\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"interfaces/CSparseCompactMerkleProof.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CSparseCompactMerkleProof\"},{\"kind\":128,\"name\":\"CompactDeepSparseMerkleSubTree\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"import\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#import\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"addBranch\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#addBranch\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"th\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#th\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#store\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"root\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#root\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"config\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#config\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#config.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"CompactDeepSparseMerkleSubTree.config\"},{\"kind\":1024,\"name\":\"hashKey\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#config.__type.hashKey\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CompactDeepSparseMerkleSubTree.config.__type\"},{\"kind\":1024,\"name\":\"hashValue\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#config.__type.hashValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"CompactDeepSparseMerkleSubTree.config.__type\"},{\"kind\":1024,\"name\":\"keyType\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#keyType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":1024,\"name\":\"valueType\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#valueType\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getKeyField\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#getKeyField\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getTreeHasher\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#getTreeHasher\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"getStore\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#getStore\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"setRoot\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#setRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"depth\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#depth\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#get\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"update\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#update\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"updateAll\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#updateAll\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#delete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"prove\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#prove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"proveUpdatable\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#proveUpdatable\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":2048,\"name\":\"proveCompact\",\"url\":\"classes/CompactDeepSparseMerkleSubTree.html#proveCompact\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"CompactDeepSparseMerkleSubTree\"},{\"kind\":128,\"name\":\"ProvableCSMTUtils\",\"url\":\"classes/ProvableCSMTUtils.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"checkMembership\",\"url\":\"classes/ProvableCSMTUtils.html#checkMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableCSMTUtils\"},{\"kind\":2048,\"name\":\"checkNonMembership\",\"url\":\"classes/ProvableCSMTUtils.html#checkNonMembership\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ProvableCSMTUtils\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ProvableCSMTUtils.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ProvableCSMTUtils\"},{\"kind\":64,\"name\":\"defaultNodes\",\"url\":\"functions/defaultNodes.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"toBigIntLE\",\"url\":\"functions/toBigIntLE.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"toBufferLE\",\"url\":\"functions/toBufferLE.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"toBigIntBE\",\"url\":\"functions/toBigIntBE.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"toBufferBE\",\"url\":\"functions/toBufferBE.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"separateHighPartFor254BitField\",\"url\":\"functions/separateHighPartFor254BitField.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/separateHighPartFor254BitField.html#separateHighPartFor254BitField.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"separateHighPartFor254BitField.separateHighPartFor254BitField\"},{\"kind\":1024,\"name\":\"xDiv2Var\",\"url\":\"functions/separateHighPartFor254BitField.html#separateHighPartFor254BitField.__type.xDiv2Var\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"separateHighPartFor254BitField.separateHighPartFor254BitField.__type\"},{\"kind\":1024,\"name\":\"isOddVar\",\"url\":\"functions/separateHighPartFor254BitField.html#separateHighPartFor254BitField.__type.isOddVar\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"separateHighPartFor254BitField.separateHighPartFor254BitField.__type\"},{\"kind\":64,\"name\":\"greaterThanFor254BitField\",\"url\":\"functions/greaterThanFor254BitField.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"fieldArrayToStringArray\",\"url\":\"functions/fieldArrayToStringArray.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"createEmptyValue\",\"url\":\"functions/createEmptyValue.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"fieldToHexString\",\"url\":\"functions/fieldToHexString.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"hexStringToField\",\"url\":\"functions/hexStringToField.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"strToFieldArry\",\"url\":\"functions/strToFieldArry.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"countCommonPrefix\",\"url\":\"functions/countCommonPrefix.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"countSetBits\",\"url\":\"functions/countSetBits.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"printBits\",\"url\":\"functions/printBits.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"int256ToBuffer\",\"url\":\"functions/int256ToBuffer.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"bufferToInt256\",\"url\":\"functions/bufferToInt256.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":32,\"name\":\"INITIAL_LEAF\",\"url\":\"variables/INITIAL_LEAF.html\",\"classes\":\"tsd-kind-variable\"},{\"kind\":64,\"name\":\"newTree\",\"url\":\"functions/newTree.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"loadTree\",\"url\":\"functions/loadTree.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":256,\"name\":\"AppendOnlyTree\",\"url\":\"interfaces/AppendOnlyTree.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"appendLeaves\",\"url\":\"interfaces/AppendOnlyTree.html#appendLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"AppendOnlyTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"interfaces/AppendOnlyTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"AppendOnlyTree\"},{\"kind\":2048,\"name\":\"getNumLeaves\",\"url\":\"interfaces/AppendOnlyTree.html#getNumLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"AppendOnlyTree\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"interfaces/AppendOnlyTree.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"AppendOnlyTree\"},{\"kind\":2048,\"name\":\"getDepth\",\"url\":\"interfaces/AppendOnlyTree.html#getDepth\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"AppendOnlyTree\"},{\"kind\":2048,\"name\":\"rollback\",\"url\":\"interfaces/AppendOnlyTree.html#rollback\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"AppendOnlyTree\"},{\"kind\":2048,\"name\":\"getLeafValue\",\"url\":\"interfaces/AppendOnlyTree.html#getLeafValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"AppendOnlyTree\"},{\"kind\":2048,\"name\":\"getSiblingPath\",\"url\":\"interfaces/AppendOnlyTree.html#getSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"AppendOnlyTree\"},{\"kind\":256,\"name\":\"LeafData\",\"url\":\"interfaces/LeafData.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/LeafData.html#value\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"LeafData\"},{\"kind\":1024,\"name\":\"nextIndex\",\"url\":\"interfaces/LeafData.html#nextIndex\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"LeafData\"},{\"kind\":1024,\"name\":\"nextValue\",\"url\":\"interfaces/LeafData.html#nextValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"LeafData\"},{\"kind\":256,\"name\":\"IndexedTree\",\"url\":\"interfaces/IndexedTree.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"findIndexOfPreviousValue\",\"url\":\"interfaces/IndexedTree.html#findIndexOfPreviousValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IndexedTree\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/IndexedTree.html#findIndexOfPreviousValue.findIndexOfPreviousValue-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"IndexedTree.findIndexOfPreviousValue.findIndexOfPreviousValue\"},{\"kind\":1024,\"name\":\"index\",\"url\":\"interfaces/IndexedTree.html#findIndexOfPreviousValue.findIndexOfPreviousValue-1.__type.index\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"IndexedTree.findIndexOfPreviousValue.findIndexOfPreviousValue.__type\"},{\"kind\":1024,\"name\":\"alreadyPresent\",\"url\":\"interfaces/IndexedTree.html#findIndexOfPreviousValue.findIndexOfPreviousValue-1.__type.alreadyPresent\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"IndexedTree.findIndexOfPreviousValue.findIndexOfPreviousValue.__type\"},{\"kind\":2048,\"name\":\"getLatestLeafDataCopy\",\"url\":\"interfaces/IndexedTree.html#getLatestLeafDataCopy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"updateLeaf\",\"url\":\"interfaces/IndexedTree.html#updateLeaf\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"batchInsert\",\"url\":\"interfaces/IndexedTree.html#batchInsert\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"appendLeaves\",\"url\":\"interfaces/IndexedTree.html#appendLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"interfaces/IndexedTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"getNumLeaves\",\"url\":\"interfaces/IndexedTree.html#getNumLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"interfaces/IndexedTree.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"getDepth\",\"url\":\"interfaces/IndexedTree.html#getDepth\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"rollback\",\"url\":\"interfaces/IndexedTree.html#rollback\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"getLeafValue\",\"url\":\"interfaces/IndexedTree.html#getLeafValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"IndexedTree\"},{\"kind\":2048,\"name\":\"getSiblingPath\",\"url\":\"interfaces/IndexedTree.html#getSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"IndexedTree\"},{\"kind\":256,\"name\":\"SiblingPathSource\",\"url\":\"interfaces/SiblingPathSource.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"getSiblingPath\",\"url\":\"interfaces/SiblingPathSource.html#getSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"SiblingPathSource\"},{\"kind\":256,\"name\":\"IMerkleTree\",\"url\":\"interfaces/IMerkleTree.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"interfaces/IMerkleTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IMerkleTree\"},{\"kind\":2048,\"name\":\"getNumLeaves\",\"url\":\"interfaces/IMerkleTree.html#getNumLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IMerkleTree\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"interfaces/IMerkleTree.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IMerkleTree\"},{\"kind\":2048,\"name\":\"getDepth\",\"url\":\"interfaces/IMerkleTree.html#getDepth\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IMerkleTree\"},{\"kind\":2048,\"name\":\"rollback\",\"url\":\"interfaces/IMerkleTree.html#rollback\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IMerkleTree\"},{\"kind\":2048,\"name\":\"getLeafValue\",\"url\":\"interfaces/IMerkleTree.html#getLeafValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IMerkleTree\"},{\"kind\":2048,\"name\":\"getSiblingPath\",\"url\":\"interfaces/IMerkleTree.html#getSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"IMerkleTree\"},{\"kind\":256,\"name\":\"UpdateOnlyTree\",\"url\":\"interfaces/UpdateOnlyTree.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"updateLeaf\",\"url\":\"interfaces/UpdateOnlyTree.html#updateLeaf\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"UpdateOnlyTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"interfaces/UpdateOnlyTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"UpdateOnlyTree\"},{\"kind\":2048,\"name\":\"getNumLeaves\",\"url\":\"interfaces/UpdateOnlyTree.html#getNumLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"UpdateOnlyTree\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"interfaces/UpdateOnlyTree.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"UpdateOnlyTree\"},{\"kind\":2048,\"name\":\"getDepth\",\"url\":\"interfaces/UpdateOnlyTree.html#getDepth\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"UpdateOnlyTree\"},{\"kind\":2048,\"name\":\"rollback\",\"url\":\"interfaces/UpdateOnlyTree.html#rollback\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"UpdateOnlyTree\"},{\"kind\":2048,\"name\":\"getLeafValue\",\"url\":\"interfaces/UpdateOnlyTree.html#getLeafValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"UpdateOnlyTree\"},{\"kind\":2048,\"name\":\"getSiblingPath\",\"url\":\"interfaces/UpdateOnlyTree.html#getSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"UpdateOnlyTree\"},{\"kind\":128,\"name\":\"SparseTree\",\"url\":\"classes/SparseTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/SparseTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"updateLeaf\",\"url\":\"classes/SparseTree.html#updateLeaf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SparseTree\"},{\"kind\":1024,\"name\":\"maxIndex\",\"url\":\"classes/SparseTree.html#maxIndex\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":1024,\"name\":\"cachedSize\",\"url\":\"classes/SparseTree.html#cachedSize\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":1024,\"name\":\"db\",\"url\":\"classes/SparseTree.html#db\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/SparseTree.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":1024,\"name\":\"size\",\"url\":\"classes/SparseTree.html#size\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/SparseTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"getNumLeaves\",\"url\":\"classes/SparseTree.html#getNumLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"getName\",\"url\":\"classes/SparseTree.html#getName\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"getDepth\",\"url\":\"classes/SparseTree.html#getDepth\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"getSiblingPath\",\"url\":\"classes/SparseTree.html#getSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"classes/SparseTree.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"rollback\",\"url\":\"classes/SparseTree.html#rollback\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"getLeafValue\",\"url\":\"classes/SparseTree.html#getLeafValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"addLeafToCacheAndHashToRoot\",\"url\":\"classes/SparseTree.html#addLeafToCacheAndHashToRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"init\",\"url\":\"classes/SparseTree.html#init\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"initFromDb\",\"url\":\"classes/SparseTree.html#initFromDb\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":2048,\"name\":\"writeMeta\",\"url\":\"classes/SparseTree.html#writeMeta\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SparseTree\"},{\"kind\":256,\"name\":\"LowLeafWitnessData\",\"url\":\"interfaces/LowLeafWitnessData.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"leafData\",\"url\":\"interfaces/LowLeafWitnessData.html#leafData\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"LowLeafWitnessData\"},{\"kind\":1024,\"name\":\"siblingPath\",\"url\":\"interfaces/LowLeafWitnessData.html#siblingPath\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"LowLeafWitnessData\"},{\"kind\":1024,\"name\":\"index\",\"url\":\"interfaces/LowLeafWitnessData.html#index\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"LowLeafWitnessData\"},{\"kind\":128,\"name\":\"StandardIndexedTree\",\"url\":\"classes/StandardIndexedTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/StandardIndexedTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":1024,\"name\":\"leaves\",\"url\":\"classes/StandardIndexedTree.html#leaves\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":1024,\"name\":\"cachedLeaves\",\"url\":\"classes/StandardIndexedTree.html#cachedLeaves\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"StandardIndexedTree\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/StandardIndexedTree.html#cachedLeaves.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"StandardIndexedTree.cachedLeaves\"},{\"kind\":2048,\"name\":\"appendLeaves\",\"url\":\"classes/StandardIndexedTree.html#appendLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"classes/StandardIndexedTree.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"rollback\",\"url\":\"classes/StandardIndexedTree.html#rollback\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"getLeafValue\",\"url\":\"classes/StandardIndexedTree.html#getLeafValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"getPureLeafValue\",\"url\":\"classes/StandardIndexedTree.html#getPureLeafValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"findIndexOfPreviousValue\",\"url\":\"classes/StandardIndexedTree.html#findIndexOfPreviousValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/StandardIndexedTree.html#findIndexOfPreviousValue.findIndexOfPreviousValue-1.__type-1\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"StandardIndexedTree.findIndexOfPreviousValue.findIndexOfPreviousValue\"},{\"kind\":1024,\"name\":\"index\",\"url\":\"classes/StandardIndexedTree.html#findIndexOfPreviousValue.findIndexOfPreviousValue-1.__type-1.index\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"StandardIndexedTree.findIndexOfPreviousValue.findIndexOfPreviousValue.__type\"},{\"kind\":1024,\"name\":\"alreadyPresent\",\"url\":\"classes/StandardIndexedTree.html#findIndexOfPreviousValue.findIndexOfPreviousValue-1.__type-1.alreadyPresent\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"StandardIndexedTree.findIndexOfPreviousValue.findIndexOfPreviousValue.__type\"},{\"kind\":2048,\"name\":\"getLatestLeafDataCopy\",\"url\":\"classes/StandardIndexedTree.html#getLatestLeafDataCopy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"appendLeaf\",\"url\":\"classes/StandardIndexedTree.html#appendLeaf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"findMinIndex\",\"url\":\"classes/StandardIndexedTree.html#findMinIndex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"init\",\"url\":\"classes/StandardIndexedTree.html#init\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"initFromDb\",\"url\":\"classes/StandardIndexedTree.html#initFromDb\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"commitLeaves\",\"url\":\"classes/StandardIndexedTree.html#commitLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"clearCachedLeaves\",\"url\":\"classes/StandardIndexedTree.html#clearCachedLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"_updateLeaf\",\"url\":\"classes/StandardIndexedTree.html#_updateLeaf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"updateLeafWithNoValueCheck\",\"url\":\"classes/StandardIndexedTree.html#updateLeafWithNoValueCheck\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"updateLeaf\",\"url\":\"classes/StandardIndexedTree.html#updateLeaf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"batchInsert\",\"url\":\"classes/StandardIndexedTree.html#batchInsert\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"getSubtreeSiblingPath\",\"url\":\"classes/StandardIndexedTree.html#getSubtreeSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardIndexedTree\"},{\"kind\":1024,\"name\":\"maxIndex\",\"url\":\"classes/StandardIndexedTree.html#maxIndex\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":1024,\"name\":\"cachedSize\",\"url\":\"classes/StandardIndexedTree.html#cachedSize\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":1024,\"name\":\"db\",\"url\":\"classes/StandardIndexedTree.html#db\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/StandardIndexedTree.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":1024,\"name\":\"size\",\"url\":\"classes/StandardIndexedTree.html#size\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/StandardIndexedTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"getNumLeaves\",\"url\":\"classes/StandardIndexedTree.html#getNumLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"getName\",\"url\":\"classes/StandardIndexedTree.html#getName\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"getDepth\",\"url\":\"classes/StandardIndexedTree.html#getDepth\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"getSiblingPath\",\"url\":\"classes/StandardIndexedTree.html#getSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"addLeafToCacheAndHashToRoot\",\"url\":\"classes/StandardIndexedTree.html#addLeafToCacheAndHashToRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":2048,\"name\":\"writeMeta\",\"url\":\"classes/StandardIndexedTree.html#writeMeta\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardIndexedTree\"},{\"kind\":128,\"name\":\"StandardTree\",\"url\":\"classes/StandardTree.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/StandardTree.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"appendLeaves\",\"url\":\"classes/StandardTree.html#appendLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"StandardTree\"},{\"kind\":1024,\"name\":\"maxIndex\",\"url\":\"classes/StandardTree.html#maxIndex\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":1024,\"name\":\"cachedSize\",\"url\":\"classes/StandardTree.html#cachedSize\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":1024,\"name\":\"db\",\"url\":\"classes/StandardTree.html#db\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":1024,\"name\":\"hasher\",\"url\":\"classes/StandardTree.html#hasher\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":1024,\"name\":\"size\",\"url\":\"classes/StandardTree.html#size\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"getRoot\",\"url\":\"classes/StandardTree.html#getRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"getNumLeaves\",\"url\":\"classes/StandardTree.html#getNumLeaves\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"getName\",\"url\":\"classes/StandardTree.html#getName\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"getDepth\",\"url\":\"classes/StandardTree.html#getDepth\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"getSiblingPath\",\"url\":\"classes/StandardTree.html#getSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"commit\",\"url\":\"classes/StandardTree.html#commit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"rollback\",\"url\":\"classes/StandardTree.html#rollback\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"getLeafValue\",\"url\":\"classes/StandardTree.html#getLeafValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"addLeafToCacheAndHashToRoot\",\"url\":\"classes/StandardTree.html#addLeafToCacheAndHashToRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"init\",\"url\":\"classes/StandardTree.html#init\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"initFromDb\",\"url\":\"classes/StandardTree.html#initFromDb\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":2048,\"name\":\"writeMeta\",\"url\":\"classes/StandardTree.html#writeMeta\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"StandardTree\"},{\"kind\":128,\"name\":\"PoseidonHasher\",\"url\":\"classes/PoseidonHasher.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/PoseidonHasher.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"PoseidonHasher\"},{\"kind\":2048,\"name\":\"compress\",\"url\":\"classes/PoseidonHasher.html#compress\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"PoseidonHasher\"},{\"kind\":2048,\"name\":\"compressInputs\",\"url\":\"classes/PoseidonHasher.html#compressInputs\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"PoseidonHasher\"},{\"kind\":2048,\"name\":\"hashToTree\",\"url\":\"classes/PoseidonHasher.html#hashToTree\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"PoseidonHasher\"},{\"kind\":64,\"name\":\"SiblingPath\",\"url\":\"functions/SiblingPath.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":128,\"name\":\"BaseSiblingPath\",\"url\":\"classes/BaseSiblingPath.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":1024,\"name\":\"height\",\"url\":\"classes/BaseSiblingPath.html#height\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"BaseSiblingPath\"},{\"kind\":2048,\"name\":\"zero\",\"url\":\"classes/BaseSiblingPath.html#zero\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"BaseSiblingPath\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/BaseSiblingPath.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"BaseSiblingPath\"},{\"kind\":1024,\"name\":\"path\",\"url\":\"classes/BaseSiblingPath.html#path\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"BaseSiblingPath\"},{\"kind\":2048,\"name\":\"height\",\"url\":\"classes/BaseSiblingPath.html#height-1\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"BaseSiblingPath\"},{\"kind\":2048,\"name\":\"calculateRoot\",\"url\":\"classes/BaseSiblingPath.html#calculateRoot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"BaseSiblingPath\"},{\"kind\":2048,\"name\":\"getSubtreeSiblingPath\",\"url\":\"classes/BaseSiblingPath.html#getSubtreeSiblingPath\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"BaseSiblingPath\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/BaseSiblingPath.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"BaseSiblingPath\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,39.445]],[\"comment/0\",[]],[\"name/1\",[1,34.165]],[\"comment/1\",[]],[\"name/2\",[2,59.814]],[\"comment/2\",[]],[\"name/3\",[3,46.821]],[\"comment/3\",[]],[\"name/4\",[4,46.821]],[\"comment/4\",[]],[\"name/5\",[5,46.821]],[\"comment/5\",[]],[\"name/6\",[6,46.821]],[\"comment/6\",[]],[\"name/7\",[7,46.821]],[\"comment/7\",[]],[\"name/8\",[8,46.821]],[\"comment/8\",[]],[\"name/9\",[9,46.821]],[\"comment/9\",[]],[\"name/10\",[10,33.665]],[\"comment/10\",[]],[\"name/11\",[11,46.821]],[\"comment/11\",[]],[\"name/12\",[12,38.612]],[\"comment/12\",[]],[\"name/13\",[13,46.821]],[\"comment/13\",[]],[\"name/14\",[14,41.356]],[\"comment/14\",[]],[\"name/15\",[15,46.821]],[\"comment/15\",[]],[\"name/16\",[16,59.814]],[\"comment/16\",[]],[\"name/17\",[17,31.097]],[\"comment/17\",[]],[\"name/18\",[18,59.814]],[\"comment/18\",[]],[\"name/19\",[19,59.814]],[\"comment/19\",[]],[\"name/20\",[20,54.706]],[\"comment/20\",[]],[\"name/21\",[13,46.821]],[\"comment/21\",[]],[\"name/22\",[10,33.665]],[\"comment/22\",[]],[\"name/23\",[11,46.821]],[\"comment/23\",[]],[\"name/24\",[4,46.821]],[\"comment/24\",[]],[\"name/25\",[5,46.821]],[\"comment/25\",[]],[\"name/26\",[6,46.821]],[\"comment/26\",[]],[\"name/27\",[7,46.821]],[\"comment/27\",[]],[\"name/28\",[8,46.821]],[\"comment/28\",[]],[\"name/29\",[9,46.821]],[\"comment/29\",[]],[\"name/30\",[12,38.612]],[\"comment/30\",[]],[\"name/31\",[14,41.356]],[\"comment/31\",[]],[\"name/32\",[15,46.821]],[\"comment/32\",[]],[\"name/33\",[21,59.814]],[\"comment/33\",[]],[\"name/34\",[17,31.097]],[\"comment/34\",[]],[\"name/35\",[22,45.151]],[\"comment/35\",[]],[\"name/36\",[23,59.814]],[\"comment/36\",[]],[\"name/37\",[24,59.814]],[\"comment/37\",[]],[\"name/38\",[20,54.706]],[\"comment/38\",[]],[\"name/39\",[25,51.341]],[\"comment/39\",[]],[\"name/40\",[13,46.821]],[\"comment/40\",[]],[\"name/41\",[10,33.665]],[\"comment/41\",[]],[\"name/42\",[11,46.821]],[\"comment/42\",[]],[\"name/43\",[4,46.821]],[\"comment/43\",[]],[\"name/44\",[5,46.821]],[\"comment/44\",[]],[\"name/45\",[6,46.821]],[\"comment/45\",[]],[\"name/46\",[26,51.341]],[\"comment/46\",[]],[\"name/47\",[7,46.821]],[\"comment/47\",[]],[\"name/48\",[27,51.341]],[\"comment/48\",[]],[\"name/49\",[8,46.821]],[\"comment/49\",[]],[\"name/50\",[9,46.821]],[\"comment/50\",[]],[\"name/51\",[12,38.612]],[\"comment/51\",[]],[\"name/52\",[14,41.356]],[\"comment/52\",[]],[\"name/53\",[15,46.821]],[\"comment/53\",[]],[\"name/54\",[28,59.814]],[\"comment/54\",[]],[\"name/55\",[17,31.097]],[\"comment/55\",[]],[\"name/56\",[22,45.151]],[\"comment/56\",[]],[\"name/57\",[29,59.814]],[\"comment/57\",[]],[\"name/58\",[30,59.814]],[\"comment/58\",[]],[\"name/59\",[31,59.814]],[\"comment/59\",[]],[\"name/60\",[32,59.814]],[\"comment/60\",[]],[\"name/61\",[25,51.341]],[\"comment/61\",[]],[\"name/62\",[13,46.821]],[\"comment/62\",[]],[\"name/63\",[10,33.665]],[\"comment/63\",[]],[\"name/64\",[11,46.821]],[\"comment/64\",[]],[\"name/65\",[4,46.821]],[\"comment/65\",[]],[\"name/66\",[5,46.821]],[\"comment/66\",[]],[\"name/67\",[6,46.821]],[\"comment/67\",[]],[\"name/68\",[26,51.341]],[\"comment/68\",[]],[\"name/69\",[7,46.821]],[\"comment/69\",[]],[\"name/70\",[27,51.341]],[\"comment/70\",[]],[\"name/71\",[8,46.821]],[\"comment/71\",[]],[\"name/72\",[9,46.821]],[\"comment/72\",[]],[\"name/73\",[12,38.612]],[\"comment/73\",[]],[\"name/74\",[14,41.356]],[\"comment/74\",[]],[\"name/75\",[15,46.821]],[\"comment/75\",[]],[\"name/76\",[33,59.814]],[\"comment/76\",[]],[\"name/77\",[17,31.097]],[\"comment/77\",[]],[\"name/78\",[22,45.151]],[\"comment/78\",[]],[\"name/79\",[34,59.814]],[\"comment/79\",[]],[\"name/80\",[35,59.814]],[\"comment/80\",[]],[\"name/81\",[36,59.814]],[\"comment/81\",[]],[\"name/82\",[25,51.341]],[\"comment/82\",[]],[\"name/83\",[13,46.821]],[\"comment/83\",[]],[\"name/84\",[10,33.665]],[\"comment/84\",[]],[\"name/85\",[11,46.821]],[\"comment/85\",[]],[\"name/86\",[4,46.821]],[\"comment/86\",[]],[\"name/87\",[5,46.821]],[\"comment/87\",[]],[\"name/88\",[6,46.821]],[\"comment/88\",[]],[\"name/89\",[26,51.341]],[\"comment/89\",[]],[\"name/90\",[7,46.821]],[\"comment/90\",[]],[\"name/91\",[27,51.341]],[\"comment/91\",[]],[\"name/92\",[8,46.821]],[\"comment/92\",[]],[\"name/93\",[9,46.821]],[\"comment/93\",[]],[\"name/94\",[12,38.612]],[\"comment/94\",[]],[\"name/95\",[14,41.356]],[\"comment/95\",[]],[\"name/96\",[15,46.821]],[\"comment/96\",[]],[\"name/97\",[37,59.814]],[\"comment/97\",[]],[\"name/98\",[38,59.814]],[\"comment/98\",[]],[\"name/99\",[39,54.706]],[\"comment/99\",[]],[\"name/100\",[40,48.828]],[\"comment/100\",[]],[\"name/101\",[17,31.097]],[\"comment/101\",[]],[\"name/102\",[41,35.835]],[\"comment/102\",[]],[\"name/103\",[3,46.821]],[\"comment/103\",[]],[\"name/104\",[0,39.445]],[\"comment/104\",[]],[\"name/105\",[42,46.821]],[\"comment/105\",[]],[\"name/106\",[1,34.165]],[\"comment/106\",[]],[\"name/107\",[43,46.821]],[\"comment/107\",[]],[\"name/108\",[44,42.468]],[\"comment/108\",[]],[\"name/109\",[45,45.151]],[\"comment/109\",[]],[\"name/110\",[46,41.356]],[\"comment/110\",[]],[\"name/111\",[47,46.821]],[\"comment/111\",[]],[\"name/112\",[10,33.665]],[\"comment/112\",[]],[\"name/113\",[48,54.706]],[\"comment/113\",[]],[\"name/114\",[49,48.828]],[\"comment/114\",[]],[\"name/115\",[50,48.828]],[\"comment/115\",[]],[\"name/116\",[51,48.828]],[\"comment/116\",[]],[\"name/117\",[52,51.341]],[\"comment/117\",[]],[\"name/118\",[53,48.828]],[\"comment/118\",[]],[\"name/119\",[54,45.151]],[\"comment/119\",[]],[\"name/120\",[14,41.356]],[\"comment/120\",[]],[\"name/121\",[55,48.828]],[\"comment/121\",[]],[\"name/122\",[56,42.468]],[\"comment/122\",[]],[\"name/123\",[57,48.828]],[\"comment/123\",[]],[\"name/124\",[58,42.468]],[\"comment/124\",[]],[\"name/125\",[59,48.828]],[\"comment/125\",[]],[\"name/126\",[60,54.706]],[\"comment/126\",[]],[\"name/127\",[61,51.341]],[\"comment/127\",[]],[\"name/128\",[62,51.341]],[\"comment/128\",[]],[\"name/129\",[63,51.341]],[\"comment/129\",[]],[\"name/130\",[64,54.706]],[\"comment/130\",[]],[\"name/131\",[65,59.814]],[\"comment/131\",[]],[\"name/132\",[66,54.706]],[\"comment/132\",[]],[\"name/133\",[67,54.706]],[\"comment/133\",[]],[\"name/134\",[1,34.165]],[\"comment/134\",[]],[\"name/135\",[68,54.706]],[\"comment/135\",[]],[\"name/136\",[1,34.165]],[\"comment/136\",[]],[\"name/137\",[69,46.821]],[\"comment/137\",[]],[\"name/138\",[70,46.821]],[\"comment/138\",[]],[\"name/139\",[71,48.828]],[\"comment/139\",[]],[\"name/140\",[17,31.097]],[\"comment/140\",[]],[\"name/141\",[72,59.814]],[\"comment/141\",[]],[\"name/142\",[73,42.468]],[\"comment/142\",[]],[\"name/143\",[41,35.835]],[\"comment/143\",[]],[\"name/144\",[74,59.814]],[\"comment/144\",[]],[\"name/145\",[75,59.814]],[\"comment/145\",[]],[\"name/146\",[76,59.814]],[\"comment/146\",[]],[\"name/147\",[71,48.828]],[\"comment/147\",[]],[\"name/148\",[69,46.821]],[\"comment/148\",[]],[\"name/149\",[70,46.821]],[\"comment/149\",[]],[\"name/150\",[77,51.341]],[\"comment/150\",[]],[\"name/151\",[78,54.706]],[\"comment/151\",[]],[\"name/152\",[79,54.706]],[\"comment/152\",[]],[\"name/153\",[80,54.706]],[\"comment/153\",[]],[\"name/154\",[17,31.097]],[\"comment/154\",[]],[\"name/155\",[81,59.814]],[\"comment/155\",[]],[\"name/156\",[73,42.468]],[\"comment/156\",[]],[\"name/157\",[82,46.821]],[\"comment/157\",[]],[\"name/158\",[41,35.835]],[\"comment/158\",[]],[\"name/159\",[83,59.814]],[\"comment/159\",[]],[\"name/160\",[73,42.468]],[\"comment/160\",[]],[\"name/161\",[82,46.821]],[\"comment/161\",[]],[\"name/162\",[41,35.835]],[\"comment/162\",[]],[\"name/163\",[84,59.814]],[\"comment/163\",[]],[\"name/164\",[17,31.097]],[\"comment/164\",[]],[\"name/165\",[85,48.828]],[\"comment/165\",[]],[\"name/166\",[86,48.828]],[\"comment/166\",[]],[\"name/167\",[41,35.835]],[\"comment/167\",[]],[\"name/168\",[0,39.445]],[\"comment/168\",[]],[\"name/169\",[42,46.821]],[\"comment/169\",[]],[\"name/170\",[1,34.165]],[\"comment/170\",[]],[\"name/171\",[43,46.821]],[\"comment/171\",[]],[\"name/172\",[44,42.468]],[\"comment/172\",[]],[\"name/173\",[45,45.151]],[\"comment/173\",[]],[\"name/174\",[46,41.356]],[\"comment/174\",[]],[\"name/175\",[10,33.665]],[\"comment/175\",[]],[\"name/176\",[87,48.828]],[\"comment/176\",[]],[\"name/177\",[47,46.821]],[\"comment/177\",[]],[\"name/178\",[88,48.828]],[\"comment/178\",[]],[\"name/179\",[54,45.151]],[\"comment/179\",[]],[\"name/180\",[89,46.821]],[\"comment/180\",[]],[\"name/181\",[58,42.468]],[\"comment/181\",[]],[\"name/182\",[56,42.468]],[\"comment/182\",[]],[\"name/183\",[90,59.814]],[\"comment/183\",[]],[\"name/184\",[17,31.097]],[\"comment/184\",[]],[\"name/185\",[85,48.828]],[\"comment/185\",[]],[\"name/186\",[86,48.828]],[\"comment/186\",[]],[\"name/187\",[41,35.835]],[\"comment/187\",[]],[\"name/188\",[0,39.445]],[\"comment/188\",[]],[\"name/189\",[42,46.821]],[\"comment/189\",[]],[\"name/190\",[1,34.165]],[\"comment/190\",[]],[\"name/191\",[43,46.821]],[\"comment/191\",[]],[\"name/192\",[44,42.468]],[\"comment/192\",[]],[\"name/193\",[45,45.151]],[\"comment/193\",[]],[\"name/194\",[46,41.356]],[\"comment/194\",[]],[\"name/195\",[10,33.665]],[\"comment/195\",[]],[\"name/196\",[87,48.828]],[\"comment/196\",[]],[\"name/197\",[47,46.821]],[\"comment/197\",[]],[\"name/198\",[88,48.828]],[\"comment/198\",[]],[\"name/199\",[89,46.821]],[\"comment/199\",[]],[\"name/200\",[58,42.468]],[\"comment/200\",[]],[\"name/201\",[56,42.468]],[\"comment/201\",[]],[\"name/202\",[91,59.814]],[\"comment/202\",[]],[\"name/203\",[39,54.706]],[\"comment/203\",[]],[\"name/204\",[40,48.828]],[\"comment/204\",[]],[\"name/205\",[17,31.097]],[\"comment/205\",[]],[\"name/206\",[41,35.835]],[\"comment/206\",[]],[\"name/207\",[3,46.821]],[\"comment/207\",[]],[\"name/208\",[0,39.445]],[\"comment/208\",[]],[\"name/209\",[92,41.356]],[\"comment/209\",[]],[\"name/210\",[93,59.814]],[\"comment/210\",[]],[\"name/211\",[44,42.468]],[\"comment/211\",[]],[\"name/212\",[46,41.356]],[\"comment/212\",[]],[\"name/213\",[10,33.665]],[\"comment/213\",[]],[\"name/214\",[48,54.706]],[\"comment/214\",[]],[\"name/215\",[49,48.828]],[\"comment/215\",[]],[\"name/216\",[50,48.828]],[\"comment/216\",[]],[\"name/217\",[51,48.828]],[\"comment/217\",[]],[\"name/218\",[52,51.341]],[\"comment/218\",[]],[\"name/219\",[53,48.828]],[\"comment/219\",[]],[\"name/220\",[54,45.151]],[\"comment/220\",[]],[\"name/221\",[14,41.356]],[\"comment/221\",[]],[\"name/222\",[55,48.828]],[\"comment/222\",[]],[\"name/223\",[56,42.468]],[\"comment/223\",[]],[\"name/224\",[57,48.828]],[\"comment/224\",[]],[\"name/225\",[58,42.468]],[\"comment/225\",[]],[\"name/226\",[59,48.828]],[\"comment/226\",[]],[\"name/227\",[60,54.706]],[\"comment/227\",[]],[\"name/228\",[61,51.341]],[\"comment/228\",[]],[\"name/229\",[62,51.341]],[\"comment/229\",[]],[\"name/230\",[63,51.341]],[\"comment/230\",[]],[\"name/231\",[64,54.706]],[\"comment/231\",[]],[\"name/232\",[94,59.814]],[\"comment/232\",[]],[\"name/233\",[66,54.706]],[\"comment/233\",[]],[\"name/234\",[95,59.814]],[\"comment/234\",[]],[\"name/235\",[71,48.828]],[\"comment/235\",[]],[\"name/236\",[69,46.821]],[\"comment/236\",[]],[\"name/237\",[70,46.821]],[\"comment/237\",[]],[\"name/238\",[17,31.097]],[\"comment/238\",[]],[\"name/239\",[96,59.814]],[\"comment/239\",[]],[\"name/240\",[92,41.356]],[\"comment/240\",[]],[\"name/241\",[17,31.097]],[\"comment/241\",[]],[\"name/242\",[41,35.835]],[\"comment/242\",[]],[\"name/243\",[73,42.468]],[\"comment/243\",[]],[\"name/244\",[92,41.356]],[\"comment/244\",[]],[\"name/245\",[97,59.814]],[\"comment/245\",[]],[\"name/246\",[98,54.706]],[\"comment/246\",[]],[\"name/247\",[99,59.814]],[\"comment/247\",[]],[\"name/248\",[100,59.814]],[\"comment/248\",[]],[\"name/249\",[101,59.814]],[\"comment/249\",[]],[\"name/250\",[71,48.828]],[\"comment/250\",[]],[\"name/251\",[69,46.821]],[\"comment/251\",[]],[\"name/252\",[70,46.821]],[\"comment/252\",[]],[\"name/253\",[77,51.341]],[\"comment/253\",[]],[\"name/254\",[67,54.706]],[\"comment/254\",[]],[\"name/255\",[102,59.814]],[\"comment/255\",[]],[\"name/256\",[1,34.165]],[\"comment/256\",[]],[\"name/257\",[103,54.706]],[\"comment/257\",[]],[\"name/258\",[104,51.341]],[\"comment/258\",[]],[\"name/259\",[68,54.706]],[\"comment/259\",[]],[\"name/260\",[105,59.814]],[\"comment/260\",[]],[\"name/261\",[1,34.165]],[\"comment/261\",[]],[\"name/262\",[106,59.814]],[\"comment/262\",[]],[\"name/263\",[104,51.341]],[\"comment/263\",[]],[\"name/264\",[17,31.097]],[\"comment/264\",[]],[\"name/265\",[98,54.706]],[\"comment/265\",[]],[\"name/266\",[92,41.356]],[\"comment/266\",[]],[\"name/267\",[41,35.835]],[\"comment/267\",[]],[\"name/268\",[73,42.468]],[\"comment/268\",[]],[\"name/269\",[82,46.821]],[\"comment/269\",[]],[\"name/270\",[107,59.814]],[\"comment/270\",[]],[\"name/271\",[92,41.356]],[\"comment/271\",[]],[\"name/272\",[41,35.835]],[\"comment/272\",[]],[\"name/273\",[73,42.468]],[\"comment/273\",[]],[\"name/274\",[82,46.821]],[\"comment/274\",[]],[\"name/275\",[108,59.814]],[\"comment/275\",[]],[\"name/276\",[17,31.097]],[\"comment/276\",[]],[\"name/277\",[85,48.828]],[\"comment/277\",[]],[\"name/278\",[86,48.828]],[\"comment/278\",[]],[\"name/279\",[41,35.835]],[\"comment/279\",[]],[\"name/280\",[92,41.356]],[\"comment/280\",[]],[\"name/281\",[0,39.445]],[\"comment/281\",[]],[\"name/282\",[44,42.468]],[\"comment/282\",[]],[\"name/283\",[46,41.356]],[\"comment/283\",[]],[\"name/284\",[10,33.665]],[\"comment/284\",[]],[\"name/285\",[87,48.828]],[\"comment/285\",[]],[\"name/286\",[88,48.828]],[\"comment/286\",[]],[\"name/287\",[54,45.151]],[\"comment/287\",[]],[\"name/288\",[89,46.821]],[\"comment/288\",[]],[\"name/289\",[58,42.468]],[\"comment/289\",[]],[\"name/290\",[56,42.468]],[\"comment/290\",[]],[\"name/291\",[109,59.814]],[\"comment/291\",[]],[\"name/292\",[17,31.097]],[\"comment/292\",[]],[\"name/293\",[85,48.828]],[\"comment/293\",[]],[\"name/294\",[86,48.828]],[\"comment/294\",[]],[\"name/295\",[41,35.835]],[\"comment/295\",[]],[\"name/296\",[92,41.356]],[\"comment/296\",[]],[\"name/297\",[0,39.445]],[\"comment/297\",[]],[\"name/298\",[44,42.468]],[\"comment/298\",[]],[\"name/299\",[46,41.356]],[\"comment/299\",[]],[\"name/300\",[88,48.828]],[\"comment/300\",[]],[\"name/301\",[10,33.665]],[\"comment/301\",[]],[\"name/302\",[87,48.828]],[\"comment/302\",[]],[\"name/303\",[89,46.821]],[\"comment/303\",[]],[\"name/304\",[58,42.468]],[\"comment/304\",[]],[\"name/305\",[56,42.468]],[\"comment/305\",[]],[\"name/306\",[110,59.814]],[\"comment/306\",[]],[\"name/307\",[40,48.828]],[\"comment/307\",[]],[\"name/308\",[17,31.097]],[\"comment/308\",[]],[\"name/309\",[111,54.706]],[\"comment/309\",[]],[\"name/310\",[3,46.821]],[\"comment/310\",[]],[\"name/311\",[41,35.835]],[\"comment/311\",[]],[\"name/312\",[42,46.821]],[\"comment/312\",[]],[\"name/313\",[1,34.165]],[\"comment/313\",[]],[\"name/314\",[43,46.821]],[\"comment/314\",[]],[\"name/315\",[44,42.468]],[\"comment/315\",[]],[\"name/316\",[45,45.151]],[\"comment/316\",[]],[\"name/317\",[46,41.356]],[\"comment/317\",[]],[\"name/318\",[47,46.821]],[\"comment/318\",[]],[\"name/319\",[10,33.665]],[\"comment/319\",[]],[\"name/320\",[112,54.706]],[\"comment/320\",[]],[\"name/321\",[51,48.828]],[\"comment/321\",[]],[\"name/322\",[50,48.828]],[\"comment/322\",[]],[\"name/323\",[49,48.828]],[\"comment/323\",[]],[\"name/324\",[14,41.356]],[\"comment/324\",[]],[\"name/325\",[53,48.828]],[\"comment/325\",[]],[\"name/326\",[54,45.151]],[\"comment/326\",[]],[\"name/327\",[56,42.468]],[\"comment/327\",[]],[\"name/328\",[57,48.828]],[\"comment/328\",[]],[\"name/329\",[55,48.828]],[\"comment/329\",[]],[\"name/330\",[58,42.468]],[\"comment/330\",[]],[\"name/331\",[113,54.706]],[\"comment/331\",[]],[\"name/332\",[59,48.828]],[\"comment/332\",[]],[\"name/333\",[114,59.814]],[\"comment/333\",[]],[\"name/334\",[115,59.814]],[\"comment/334\",[]],[\"name/335\",[61,51.341]],[\"comment/335\",[]],[\"name/336\",[62,51.341]],[\"comment/336\",[]],[\"name/337\",[116,59.814]],[\"comment/337\",[]],[\"name/338\",[63,51.341]],[\"comment/338\",[]],[\"name/339\",[117,59.814]],[\"comment/339\",[]],[\"name/340\",[118,59.814]],[\"comment/340\",[]],[\"name/341\",[17,31.097]],[\"comment/341\",[]],[\"name/342\",[0,39.445]],[\"comment/342\",[]],[\"name/343\",[45,45.151]],[\"comment/343\",[]],[\"name/344\",[46,41.356]],[\"comment/344\",[]],[\"name/345\",[119,59.814]],[\"comment/345\",[]],[\"name/346\",[120,51.341]],[\"comment/346\",[]],[\"name/347\",[52,51.341]],[\"comment/347\",[]],[\"name/348\",[121,59.814]],[\"comment/348\",[]],[\"name/349\",[1,34.165]],[\"comment/349\",[]],[\"name/350\",[122,54.706]],[\"comment/350\",[]],[\"name/351\",[123,51.341]],[\"comment/351\",[]],[\"name/352\",[124,59.814]],[\"comment/352\",[]],[\"name/353\",[1,34.165]],[\"comment/353\",[]],[\"name/354\",[120,51.341]],[\"comment/354\",[]],[\"name/355\",[125,59.814]],[\"comment/355\",[]],[\"name/356\",[126,59.814]],[\"comment/356\",[]],[\"name/357\",[127,59.814]],[\"comment/357\",[]],[\"name/358\",[128,59.814]],[\"comment/358\",[]],[\"name/359\",[129,59.814]],[\"comment/359\",[]],[\"name/360\",[130,59.814]],[\"comment/360\",[]],[\"name/361\",[1,34.165]],[\"comment/361\",[]],[\"name/362\",[122,54.706]],[\"comment/362\",[]],[\"name/363\",[123,51.341]],[\"comment/363\",[]],[\"name/364\",[131,59.814]],[\"comment/364\",[]],[\"name/365\",[1,34.165]],[\"comment/365\",[]],[\"name/366\",[132,59.814]],[\"comment/366\",[]],[\"name/367\",[133,59.814]],[\"comment/367\",[]],[\"name/368\",[134,59.814]],[\"comment/368\",[]],[\"name/369\",[17,31.097]],[\"comment/369\",[]],[\"name/370\",[73,42.468]],[\"comment/370\",[]],[\"name/371\",[135,54.706]],[\"comment/371\",[]],[\"name/372\",[136,54.706]],[\"comment/372\",[]],[\"name/373\",[41,35.835]],[\"comment/373\",[]],[\"name/374\",[137,59.814]],[\"comment/374\",[]],[\"name/375\",[78,54.706]],[\"comment/375\",[]],[\"name/376\",[138,59.814]],[\"comment/376\",[]],[\"name/377\",[1,34.165]],[\"comment/377\",[]],[\"name/378\",[103,54.706]],[\"comment/378\",[]],[\"name/379\",[104,51.341]],[\"comment/379\",[]],[\"name/380\",[139,59.814]],[\"comment/380\",[]],[\"name/381\",[140,59.814]],[\"comment/381\",[]],[\"name/382\",[77,51.341]],[\"comment/382\",[]],[\"name/383\",[79,54.706]],[\"comment/383\",[]],[\"name/384\",[80,54.706]],[\"comment/384\",[]],[\"name/385\",[17,31.097]],[\"comment/385\",[]],[\"name/386\",[141,59.814]],[\"comment/386\",[]],[\"name/387\",[73,42.468]],[\"comment/387\",[]],[\"name/388\",[135,54.706]],[\"comment/388\",[]],[\"name/389\",[82,46.821]],[\"comment/389\",[]],[\"name/390\",[142,59.814]],[\"comment/390\",[]],[\"name/391\",[136,54.706]],[\"comment/391\",[]],[\"name/392\",[41,35.835]],[\"comment/392\",[]],[\"name/393\",[143,59.814]],[\"comment/393\",[]],[\"name/394\",[40,48.828]],[\"comment/394\",[]],[\"name/395\",[17,31.097]],[\"comment/395\",[]],[\"name/396\",[89,46.821]],[\"comment/396\",[]],[\"name/397\",[111,54.706]],[\"comment/397\",[]],[\"name/398\",[3,46.821]],[\"comment/398\",[]],[\"name/399\",[41,35.835]],[\"comment/399\",[]],[\"name/400\",[42,46.821]],[\"comment/400\",[]],[\"name/401\",[1,34.165]],[\"comment/401\",[]],[\"name/402\",[43,46.821]],[\"comment/402\",[]],[\"name/403\",[44,42.468]],[\"comment/403\",[]],[\"name/404\",[45,45.151]],[\"comment/404\",[]],[\"name/405\",[46,41.356]],[\"comment/405\",[]],[\"name/406\",[47,46.821]],[\"comment/406\",[]],[\"name/407\",[10,33.665]],[\"comment/407\",[]],[\"name/408\",[112,54.706]],[\"comment/408\",[]],[\"name/409\",[51,48.828]],[\"comment/409\",[]],[\"name/410\",[50,48.828]],[\"comment/410\",[]],[\"name/411\",[49,48.828]],[\"comment/411\",[]],[\"name/412\",[14,41.356]],[\"comment/412\",[]],[\"name/413\",[53,48.828]],[\"comment/413\",[]],[\"name/414\",[54,45.151]],[\"comment/414\",[]],[\"name/415\",[56,42.468]],[\"comment/415\",[]],[\"name/416\",[57,48.828]],[\"comment/416\",[]],[\"name/417\",[55,48.828]],[\"comment/417\",[]],[\"name/418\",[58,42.468]],[\"comment/418\",[]],[\"name/419\",[113,54.706]],[\"comment/419\",[]],[\"name/420\",[59,48.828]],[\"comment/420\",[]],[\"name/421\",[144,59.814]],[\"comment/421\",[]],[\"name/422\",[69,46.821]],[\"comment/422\",[]],[\"name/423\",[70,46.821]],[\"comment/423\",[]],[\"name/424\",[17,31.097]],[\"comment/424\",[]],[\"name/425\",[145,59.814]],[\"comment/425\",[]],[\"name/426\",[146,59.814]],[\"comment/426\",[]],[\"name/427\",[147,59.814]],[\"comment/427\",[]],[\"name/428\",[148,59.814]],[\"comment/428\",[]],[\"name/429\",[149,59.814]],[\"comment/429\",[]],[\"name/430\",[150,59.814]],[\"comment/430\",[]],[\"name/431\",[1,34.165]],[\"comment/431\",[]],[\"name/432\",[151,59.814]],[\"comment/432\",[]],[\"name/433\",[152,59.814]],[\"comment/433\",[]],[\"name/434\",[153,59.814]],[\"comment/434\",[]],[\"name/435\",[154,59.814]],[\"comment/435\",[]],[\"name/436\",[155,59.814]],[\"comment/436\",[]],[\"name/437\",[156,59.814]],[\"comment/437\",[]],[\"name/438\",[157,59.814]],[\"comment/438\",[]],[\"name/439\",[158,59.814]],[\"comment/439\",[]],[\"name/440\",[159,59.814]],[\"comment/440\",[]],[\"name/441\",[160,59.814]],[\"comment/441\",[]],[\"name/442\",[161,59.814]],[\"comment/442\",[]],[\"name/443\",[162,59.814]],[\"comment/443\",[]],[\"name/444\",[163,59.814]],[\"comment/444\",[]],[\"name/445\",[164,59.814]],[\"comment/445\",[]],[\"name/446\",[165,59.814]],[\"comment/446\",[]],[\"name/447\",[166,59.814]],[\"comment/447\",[]],[\"name/448\",[167,59.814]],[\"comment/448\",[]],[\"name/449\",[168,48.828]],[\"comment/449\",[]],[\"name/450\",[10,33.665]],[\"comment/450\",[]],[\"name/451\",[169,43.72]],[\"comment/451\",[]],[\"name/452\",[12,38.612]],[\"comment/452\",[]],[\"name/453\",[170,43.72]],[\"comment/453\",[]],[\"name/454\",[171,43.72]],[\"comment/454\",[]],[\"name/455\",[172,43.72]],[\"comment/455\",[]],[\"name/456\",[173,42.468]],[\"comment/456\",[]],[\"name/457\",[174,54.706]],[\"comment/457\",[]],[\"name/458\",[123,51.341]],[\"comment/458\",[]],[\"name/459\",[175,59.814]],[\"comment/459\",[]],[\"name/460\",[176,59.814]],[\"comment/460\",[]],[\"name/461\",[177,59.814]],[\"comment/461\",[]],[\"name/462\",[178,54.706]],[\"comment/462\",[]],[\"name/463\",[1,34.165]],[\"comment/463\",[]],[\"name/464\",[179,51.341]],[\"comment/464\",[]],[\"name/465\",[180,54.706]],[\"comment/465\",[]],[\"name/466\",[181,54.706]],[\"comment/466\",[]],[\"name/467\",[182,48.828]],[\"comment/467\",[]],[\"name/468\",[183,54.706]],[\"comment/468\",[]],[\"name/469\",[168,48.828]],[\"comment/469\",[]],[\"name/470\",[10,33.665]],[\"comment/470\",[]],[\"name/471\",[169,43.72]],[\"comment/471\",[]],[\"name/472\",[12,38.612]],[\"comment/472\",[]],[\"name/473\",[170,43.72]],[\"comment/473\",[]],[\"name/474\",[171,43.72]],[\"comment/474\",[]],[\"name/475\",[172,43.72]],[\"comment/475\",[]],[\"name/476\",[173,42.468]],[\"comment/476\",[]],[\"name/477\",[184,59.814]],[\"comment/477\",[]],[\"name/478\",[173,42.468]],[\"comment/478\",[]],[\"name/479\",[185,59.814]],[\"comment/479\",[]],[\"name/480\",[10,33.665]],[\"comment/480\",[]],[\"name/481\",[169,43.72]],[\"comment/481\",[]],[\"name/482\",[12,38.612]],[\"comment/482\",[]],[\"name/483\",[170,43.72]],[\"comment/483\",[]],[\"name/484\",[171,43.72]],[\"comment/484\",[]],[\"name/485\",[172,43.72]],[\"comment/485\",[]],[\"name/486\",[173,42.468]],[\"comment/486\",[]],[\"name/487\",[186,59.814]],[\"comment/487\",[]],[\"name/488\",[182,48.828]],[\"comment/488\",[]],[\"name/489\",[10,33.665]],[\"comment/489\",[]],[\"name/490\",[169,43.72]],[\"comment/490\",[]],[\"name/491\",[12,38.612]],[\"comment/491\",[]],[\"name/492\",[170,43.72]],[\"comment/492\",[]],[\"name/493\",[171,43.72]],[\"comment/493\",[]],[\"name/494\",[172,43.72]],[\"comment/494\",[]],[\"name/495\",[173,42.468]],[\"comment/495\",[]],[\"name/496\",[187,59.814]],[\"comment/496\",[]],[\"name/497\",[17,31.097]],[\"comment/497\",[]],[\"name/498\",[182,48.828]],[\"comment/498\",[]],[\"name/499\",[188,51.341]],[\"comment/499\",[]],[\"name/500\",[189,51.341]],[\"comment/500\",[]],[\"name/501\",[22,45.151]],[\"comment/501\",[]],[\"name/502\",[0,39.445]],[\"comment/502\",[]],[\"name/503\",[190,51.341]],[\"comment/503\",[]],[\"name/504\",[10,33.665]],[\"comment/504\",[]],[\"name/505\",[169,43.72]],[\"comment/505\",[]],[\"name/506\",[191,51.341]],[\"comment/506\",[]],[\"name/507\",[170,43.72]],[\"comment/507\",[]],[\"name/508\",[173,42.468]],[\"comment/508\",[]],[\"name/509\",[12,38.612]],[\"comment/509\",[]],[\"name/510\",[171,43.72]],[\"comment/510\",[]],[\"name/511\",[172,43.72]],[\"comment/511\",[]],[\"name/512\",[192,51.341]],[\"comment/512\",[]],[\"name/513\",[193,51.341]],[\"comment/513\",[]],[\"name/514\",[194,51.341]],[\"comment/514\",[]],[\"name/515\",[195,51.341]],[\"comment/515\",[]],[\"name/516\",[196,59.814]],[\"comment/516\",[]],[\"name/517\",[174,54.706]],[\"comment/517\",[]],[\"name/518\",[197,54.706]],[\"comment/518\",[]],[\"name/519\",[179,51.341]],[\"comment/519\",[]],[\"name/520\",[198,59.814]],[\"comment/520\",[]],[\"name/521\",[17,31.097]],[\"comment/521\",[]],[\"name/522\",[199,59.814]],[\"comment/522\",[]],[\"name/523\",[200,59.814]],[\"comment/523\",[]],[\"name/524\",[1,34.165]],[\"comment/524\",[]],[\"name/525\",[168,48.828]],[\"comment/525\",[]],[\"name/526\",[12,38.612]],[\"comment/526\",[]],[\"name/527\",[171,43.72]],[\"comment/527\",[]],[\"name/528\",[172,43.72]],[\"comment/528\",[]],[\"name/529\",[201,59.814]],[\"comment/529\",[]],[\"name/530\",[178,54.706]],[\"comment/530\",[]],[\"name/531\",[1,34.165]],[\"comment/531\",[]],[\"name/532\",[179,51.341]],[\"comment/532\",[]],[\"name/533\",[180,54.706]],[\"comment/533\",[]],[\"name/534\",[181,54.706]],[\"comment/534\",[]],[\"name/535\",[202,59.814]],[\"comment/535\",[]],[\"name/536\",[203,59.814]],[\"comment/536\",[]],[\"name/537\",[193,51.341]],[\"comment/537\",[]],[\"name/538\",[194,51.341]],[\"comment/538\",[]],[\"name/539\",[204,59.814]],[\"comment/539\",[]],[\"name/540\",[205,59.814]],[\"comment/540\",[]],[\"name/541\",[206,59.814]],[\"comment/541\",[]],[\"name/542\",[207,59.814]],[\"comment/542\",[]],[\"name/543\",[182,48.828]],[\"comment/543\",[]],[\"name/544\",[183,54.706]],[\"comment/544\",[]],[\"name/545\",[208,54.706]],[\"comment/545\",[]],[\"name/546\",[188,51.341]],[\"comment/546\",[]],[\"name/547\",[189,51.341]],[\"comment/547\",[]],[\"name/548\",[22,45.151]],[\"comment/548\",[]],[\"name/549\",[0,39.445]],[\"comment/549\",[]],[\"name/550\",[190,51.341]],[\"comment/550\",[]],[\"name/551\",[10,33.665]],[\"comment/551\",[]],[\"name/552\",[169,43.72]],[\"comment/552\",[]],[\"name/553\",[191,51.341]],[\"comment/553\",[]],[\"name/554\",[170,43.72]],[\"comment/554\",[]],[\"name/555\",[173,42.468]],[\"comment/555\",[]],[\"name/556\",[192,51.341]],[\"comment/556\",[]],[\"name/557\",[195,51.341]],[\"comment/557\",[]],[\"name/558\",[209,59.814]],[\"comment/558\",[]],[\"name/559\",[17,31.097]],[\"comment/559\",[]],[\"name/560\",[168,48.828]],[\"comment/560\",[]],[\"name/561\",[188,51.341]],[\"comment/561\",[]],[\"name/562\",[189,51.341]],[\"comment/562\",[]],[\"name/563\",[22,45.151]],[\"comment/563\",[]],[\"name/564\",[0,39.445]],[\"comment/564\",[]],[\"name/565\",[190,51.341]],[\"comment/565\",[]],[\"name/566\",[10,33.665]],[\"comment/566\",[]],[\"name/567\",[169,43.72]],[\"comment/567\",[]],[\"name/568\",[191,51.341]],[\"comment/568\",[]],[\"name/569\",[170,43.72]],[\"comment/569\",[]],[\"name/570\",[173,42.468]],[\"comment/570\",[]],[\"name/571\",[12,38.612]],[\"comment/571\",[]],[\"name/572\",[171,43.72]],[\"comment/572\",[]],[\"name/573\",[172,43.72]],[\"comment/573\",[]],[\"name/574\",[192,51.341]],[\"comment/574\",[]],[\"name/575\",[193,51.341]],[\"comment/575\",[]],[\"name/576\",[194,51.341]],[\"comment/576\",[]],[\"name/577\",[195,51.341]],[\"comment/577\",[]],[\"name/578\",[210,59.814]],[\"comment/578\",[]],[\"name/579\",[17,31.097]],[\"comment/579\",[]],[\"name/580\",[211,59.814]],[\"comment/580\",[]],[\"name/581\",[212,59.814]],[\"comment/581\",[]],[\"name/582\",[213,59.814]],[\"comment/582\",[]],[\"name/583\",[197,54.706]],[\"comment/583\",[]],[\"name/584\",[214,59.814]],[\"comment/584\",[]],[\"name/585\",[92,41.356]],[\"comment/585\",[]],[\"name/586\",[215,59.814]],[\"comment/586\",[]],[\"name/587\",[17,31.097]],[\"comment/587\",[]],[\"name/588\",[120,51.341]],[\"comment/588\",[]],[\"name/589\",[92,41.356]],[\"comment/589\",[]],[\"name/590\",[216,59.814]],[\"comment/590\",[]],[\"name/591\",[208,54.706]],[\"comment/591\",[]],[\"name/592\",[217,59.814]],[\"comment/592\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":1,\"name\":{\"1\":{},\"106\":{},\"134\":{},\"136\":{},\"170\":{},\"190\":{},\"256\":{},\"261\":{},\"313\":{},\"349\":{},\"353\":{},\"361\":{},\"365\":{},\"377\":{},\"401\":{},\"431\":{},\"463\":{},\"524\":{},\"531\":{}},\"comment\":{}}],[\"_updateleaf\",{\"_index\":206,\"name\":{\"541\":{}},\"comment\":{}}],[\"actualroot\",{\"_index\":106,\"name\":{\"262\":{}},\"comment\":{}}],[\"addbranch\",{\"_index\":89,\"name\":{\"180\":{},\"199\":{},\"288\":{},\"303\":{},\"396\":{}},\"comment\":{}}],[\"addleaftocacheandhashtoroot\",{\"_index\":192,\"name\":{\"512\":{},\"556\":{},\"574\":{}},\"comment\":{}}],[\"alreadypresent\",{\"_index\":180,\"name\":{\"465\":{},\"533\":{}},\"comment\":{}}],[\"appendleaf\",{\"_index\":202,\"name\":{\"535\":{}},\"comment\":{}}],[\"appendleaves\",{\"_index\":168,\"name\":{\"449\":{},\"469\":{},\"525\":{},\"560\":{}},\"comment\":{}}],[\"appendonlytree\",{\"_index\":167,\"name\":{\"448\":{}},\"comment\":{}}],[\"basemerkleproof\",{\"_index\":96,\"name\":{\"239\":{}},\"comment\":{}}],[\"basesiblingpath\",{\"_index\":214,\"name\":{\"584\":{}},\"comment\":{}}],[\"batch\",{\"_index\":34,\"name\":{\"79\":{}},\"comment\":{}}],[\"batchinsert\",{\"_index\":183,\"name\":{\"468\":{},\"544\":{}},\"comment\":{}}],[\"bitmask\",{\"_index\":82,\"name\":{\"157\":{},\"161\":{},\"269\":{},\"274\":{},\"389\":{}},\"comment\":{}}],[\"buffertoint256\",{\"_index\":163,\"name\":{\"444\":{}},\"comment\":{}}],[\"build\",{\"_index\":39,\"name\":{\"99\":{},\"203\":{}},\"comment\":{}}],[\"cachedleaves\",{\"_index\":200,\"name\":{\"523\":{}},\"comment\":{}}],[\"cachedsize\",{\"_index\":189,\"name\":{\"500\":{},\"547\":{},\"562\":{}},\"comment\":{}}],[\"calculateroot\",{\"_index\":216,\"name\":{\"590\":{}},\"comment\":{}}],[\"checkmembership\",{\"_index\":69,\"name\":{\"137\":{},\"148\":{},\"236\":{},\"251\":{},\"422\":{}},\"comment\":{}}],[\"checkmemebership\",{\"_index\":139,\"name\":{\"380\":{}},\"comment\":{}}],[\"checknonmembership\",{\"_index\":70,\"name\":{\"138\":{},\"149\":{},\"237\":{},\"252\":{},\"423\":{}},\"comment\":{}}],[\"checknonmemebership\",{\"_index\":140,\"name\":{\"381\":{}},\"comment\":{}}],[\"clear\",{\"_index\":14,\"name\":{\"14\":{},\"31\":{},\"52\":{},\"74\":{},\"95\":{},\"120\":{},\"221\":{},\"324\":{},\"412\":{}},\"comment\":{}}],[\"clearcachedleaves\",{\"_index\":205,\"name\":{\"540\":{}},\"comment\":{}}],[\"clearprepareoperationcache\",{\"_index\":13,\"name\":{\"13\":{},\"21\":{},\"40\":{},\"62\":{},\"83\":{}},\"comment\":{}}],[\"commit\",{\"_index\":12,\"name\":{\"12\":{},\"30\":{},\"51\":{},\"73\":{},\"94\":{},\"452\":{},\"472\":{},\"482\":{},\"491\":{},\"509\":{},\"526\":{},\"571\":{}},\"comment\":{}}],[\"commitleaves\",{\"_index\":204,\"name\":{\"539\":{}},\"comment\":{}}],[\"compactdeepsparsemerklesubtree\",{\"_index\":143,\"name\":{\"393\":{}},\"comment\":{}}],[\"compactmerkleproof\",{\"_index\":98,\"name\":{\"246\":{},\"265\":{}},\"comment\":{}}],[\"compactmerkleproofjson\",{\"_index\":107,\"name\":{\"270\":{}},\"comment\":{}}],[\"compactmerkleprooftojson\",{\"_index\":100,\"name\":{\"248\":{}},\"comment\":{}}],[\"compactproof\",{\"_index\":79,\"name\":{\"152\":{},\"383\":{}},\"comment\":{}}],[\"compactsparsemerkleproof\",{\"_index\":134,\"name\":{\"368\":{}},\"comment\":{}}],[\"compactsparsemerkletree\",{\"_index\":110,\"name\":{\"306\":{}},\"comment\":{}}],[\"compress\",{\"_index\":211,\"name\":{\"580\":{}},\"comment\":{}}],[\"compressinputs\",{\"_index\":212,\"name\":{\"581\":{}},\"comment\":{}}],[\"computeroot\",{\"_index\":71,\"name\":{\"139\":{},\"147\":{},\"235\":{},\"250\":{}},\"comment\":{}}],[\"computerootbyfield\",{\"_index\":68,\"name\":{\"135\":{},\"259\":{}},\"comment\":{}}],[\"computerootbyfieldwithupdates\",{\"_index\":105,\"name\":{\"260\":{}},\"comment\":{}}],[\"config\",{\"_index\":42,\"name\":{\"105\":{},\"169\":{},\"189\":{},\"312\":{},\"400\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":17,\"name\":{\"17\":{},\"34\":{},\"55\":{},\"77\":{},\"101\":{},\"140\":{},\"154\":{},\"164\":{},\"184\":{},\"205\":{},\"238\":{},\"241\":{},\"264\":{},\"276\":{},\"292\":{},\"308\":{},\"341\":{},\"369\":{},\"385\":{},\"395\":{},\"424\":{},\"497\":{},\"521\":{},\"559\":{},\"579\":{},\"587\":{}},\"comment\":{}}],[\"countcommonprefix\",{\"_index\":159,\"name\":{\"440\":{}},\"comment\":{}}],[\"countsetbits\",{\"_index\":160,\"name\":{\"441\":{}},\"comment\":{}}],[\"createemptyvalue\",{\"_index\":155,\"name\":{\"436\":{}},\"comment\":{}}],[\"csmtutils\",{\"_index\":137,\"name\":{\"374\":{}},\"comment\":{}}],[\"csparsecompactmerkleproof\",{\"_index\":141,\"name\":{\"386\":{}},\"comment\":{}}],[\"db\",{\"_index\":22,\"name\":{\"35\":{},\"56\":{},\"78\":{},\"501\":{},\"548\":{},\"563\":{}},\"comment\":{}}],[\"decompactmerkleproof\",{\"_index\":99,\"name\":{\"247\":{}},\"comment\":{}}],[\"decompactproof\",{\"_index\":80,\"name\":{\"153\":{},\"384\":{}},\"comment\":{}}],[\"deepmerklesubtree\",{\"_index\":108,\"name\":{\"275\":{}},\"comment\":{}}],[\"deepsparsemerklesubtree\",{\"_index\":84,\"name\":{\"163\":{}},\"comment\":{}}],[\"defaultnodes\",{\"_index\":145,\"name\":{\"425\":{}},\"comment\":{}}],[\"delete\",{\"_index\":55,\"name\":{\"121\":{},\"222\":{},\"329\":{},\"417\":{}},\"comment\":{}}],[\"deletewithsidenodes\",{\"_index\":116,\"name\":{\"337\":{}},\"comment\":{}}],[\"depth\",{\"_index\":49,\"name\":{\"114\":{},\"215\":{},\"323\":{},\"411\":{}},\"comment\":{}}],[\"digest\",{\"_index\":60,\"name\":{\"126\":{},\"227\":{}},\"comment\":{}}],[\"digestleaf\",{\"_index\":121,\"name\":{\"348\":{}},\"comment\":{}}],[\"digestnode\",{\"_index\":130,\"name\":{\"360\":{}},\"comment\":{}}],[\"digestvalue\",{\"_index\":119,\"name\":{\"345\":{}},\"comment\":{}}],[\"doproveforroot\",{\"_index\":115,\"name\":{\"334\":{}},\"comment\":{}}],[\"elttyp\",{\"_index\":25,\"name\":{\"39\":{},\"61\":{},\"82\":{}},\"comment\":{}}],[\"empty_value\",{\"_index\":66,\"name\":{\"132\":{},\"233\":{}},\"comment\":{}}],[\"emptydata\",{\"_index\":129,\"name\":{\"359\":{}},\"comment\":{}}],[\"fieldarraytostringarray\",{\"_index\":154,\"name\":{\"435\":{}},\"comment\":{}}],[\"fieldtohexstring\",{\"_index\":156,\"name\":{\"437\":{}},\"comment\":{}}],[\"findindexofpreviousvalue\",{\"_index\":178,\"name\":{\"462\":{},\"530\":{}},\"comment\":{}}],[\"findminindex\",{\"_index\":203,\"name\":{\"536\":{}},\"comment\":{}}],[\"get\",{\"_index\":53,\"name\":{\"118\":{},\"219\":{},\"325\":{},\"413\":{}},\"comment\":{}}],[\"getdepth\",{\"_index\":170,\"name\":{\"453\":{},\"473\":{},\"483\":{},\"492\":{},\"507\":{},\"554\":{},\"569\":{}},\"comment\":{}}],[\"gethasher\",{\"_index\":52,\"name\":{\"117\":{},\"218\":{},\"347\":{}},\"comment\":{}}],[\"getheight\",{\"_index\":87,\"name\":{\"176\":{},\"196\":{},\"285\":{},\"302\":{}},\"comment\":{}}],[\"getkeyfield\",{\"_index\":47,\"name\":{\"111\":{},\"177\":{},\"197\":{},\"318\":{},\"406\":{}},\"comment\":{}}],[\"getlatestleafdatacopy\",{\"_index\":181,\"name\":{\"466\":{},\"534\":{}},\"comment\":{}}],[\"getleafvalue\",{\"_index\":172,\"name\":{\"455\":{},\"475\":{},\"485\":{},\"494\":{},\"511\":{},\"528\":{},\"573\":{}},\"comment\":{}}],[\"getname\",{\"_index\":191,\"name\":{\"506\":{},\"553\":{},\"568\":{}},\"comment\":{}}],[\"getnodes\",{\"_index\":4,\"name\":{\"4\":{},\"24\":{},\"43\":{},\"65\":{},\"86\":{}},\"comment\":{}}],[\"getnumleaves\",{\"_index\":169,\"name\":{\"451\":{},\"471\":{},\"481\":{},\"490\":{},\"505\":{},\"552\":{},\"567\":{}},\"comment\":{}}],[\"getpureleafvalue\",{\"_index\":201,\"name\":{\"529\":{}},\"comment\":{}}],[\"getroot\",{\"_index\":10,\"name\":{\"10\":{},\"22\":{},\"41\":{},\"63\":{},\"84\":{},\"112\":{},\"175\":{},\"195\":{},\"213\":{},\"284\":{},\"301\":{},\"319\":{},\"407\":{},\"450\":{},\"470\":{},\"480\":{},\"489\":{},\"504\":{},\"551\":{},\"566\":{}},\"comment\":{}}],[\"getsiblingpath\",{\"_index\":173,\"name\":{\"456\":{},\"476\":{},\"478\":{},\"486\":{},\"495\":{},\"508\":{},\"555\":{},\"570\":{}},\"comment\":{}}],[\"getstore\",{\"_index\":51,\"name\":{\"116\":{},\"217\":{},\"321\":{},\"409\":{}},\"comment\":{}}],[\"getsubtreesiblingpath\",{\"_index\":208,\"name\":{\"545\":{},\"591\":{}},\"comment\":{}}],[\"gettreehasher\",{\"_index\":112,\"name\":{\"320\":{},\"408\":{}},\"comment\":{}}],[\"getvalue\",{\"_index\":7,\"name\":{\"7\":{},\"27\":{},\"47\":{},\"69\":{},\"90\":{}},\"comment\":{}}],[\"getvaluefield\",{\"_index\":88,\"name\":{\"178\":{},\"198\":{},\"286\":{},\"300\":{}},\"comment\":{}}],[\"getvaluesmap\",{\"_index\":15,\"name\":{\"15\":{},\"32\":{},\"53\":{},\"75\":{},\"96\":{}},\"comment\":{}}],[\"greaterthanfor254bitfield\",{\"_index\":153,\"name\":{\"434\":{}},\"comment\":{}}],[\"has\",{\"_index\":54,\"name\":{\"119\":{},\"179\":{},\"220\":{},\"287\":{},\"326\":{},\"414\":{}},\"comment\":{}}],[\"hash\",{\"_index\":122,\"name\":{\"350\":{},\"362\":{}},\"comment\":{}}],[\"hasher\",{\"_index\":0,\"name\":{\"0\":{},\"104\":{},\"168\":{},\"188\":{},\"208\":{},\"281\":{},\"297\":{},\"342\":{},\"502\":{},\"549\":{},\"564\":{}},\"comment\":{}}],[\"hashkey\",{\"_index\":43,\"name\":{\"107\":{},\"171\":{},\"191\":{},\"314\":{},\"402\":{}},\"comment\":{}}],[\"hashtotree\",{\"_index\":213,\"name\":{\"582\":{}},\"comment\":{}}],[\"hashvalue\",{\"_index\":44,\"name\":{\"108\":{},\"172\":{},\"192\":{},\"211\":{},\"282\":{},\"298\":{},\"315\":{},\"403\":{}},\"comment\":{}}],[\"height\",{\"_index\":92,\"name\":{\"209\":{},\"240\":{},\"244\":{},\"266\":{},\"271\":{},\"280\":{},\"296\":{},\"585\":{},\"589\":{}},\"comment\":{}}],[\"hexstringtofield\",{\"_index\":157,\"name\":{\"438\":{}},\"comment\":{}}],[\"imerkletree\",{\"_index\":185,\"name\":{\"479\":{}},\"comment\":{}}],[\"import\",{\"_index\":40,\"name\":{\"100\":{},\"204\":{},\"307\":{},\"394\":{}},\"comment\":{}}],[\"index\",{\"_index\":179,\"name\":{\"464\":{},\"519\":{},\"532\":{}},\"comment\":{}}],[\"indexedtree\",{\"_index\":177,\"name\":{\"461\":{}},\"comment\":{}}],[\"init\",{\"_index\":193,\"name\":{\"513\":{},\"537\":{},\"575\":{}},\"comment\":{}}],[\"initfromdb\",{\"_index\":194,\"name\":{\"514\":{},\"538\":{},\"576\":{}},\"comment\":{}}],[\"initial_leaf\",{\"_index\":164,\"name\":{\"445\":{}},\"comment\":{}}],[\"initialposeidonhashroot\",{\"_index\":38,\"name\":{\"98\":{}},\"comment\":{}}],[\"int256tobuffer\",{\"_index\":162,\"name\":{\"443\":{}},\"comment\":{}}],[\"isempty\",{\"_index\":48,\"name\":{\"113\":{},\"214\":{}},\"comment\":{}}],[\"isemptydata\",{\"_index\":127,\"name\":{\"357\":{}},\"comment\":{}}],[\"isemptydataincircuit\",{\"_index\":128,\"name\":{\"358\":{}},\"comment\":{}}],[\"isleaf\",{\"_index\":126,\"name\":{\"356\":{}},\"comment\":{}}],[\"isoddvar\",{\"_index\":152,\"name\":{\"433\":{}},\"comment\":{}}],[\"jsontocompactmerkleproof\",{\"_index\":101,\"name\":{\"249\":{}},\"comment\":{}}],[\"jsontosparsecompactmerkleproof\",{\"_index\":76,\"name\":{\"146\":{}},\"comment\":{}}],[\"keytype\",{\"_index\":45,\"name\":{\"109\":{},\"173\":{},\"193\":{},\"316\":{},\"343\":{},\"404\":{}},\"comment\":{}}],[\"leaf\",{\"_index\":125,\"name\":{\"355\":{}},\"comment\":{}}],[\"leafdata\",{\"_index\":174,\"name\":{\"457\":{},\"517\":{}},\"comment\":{}}],[\"leaves\",{\"_index\":199,\"name\":{\"522\":{}},\"comment\":{}}],[\"leaveskey\",{\"_index\":36,\"name\":{\"81\":{}},\"comment\":{}}],[\"leavessublevel\",{\"_index\":24,\"name\":{\"37\":{}},\"comment\":{}}],[\"leftnode\",{\"_index\":132,\"name\":{\"366\":{}},\"comment\":{}}],[\"levelstore\",{\"_index\":21,\"name\":{\"33\":{}},\"comment\":{}}],[\"loadtree\",{\"_index\":166,\"name\":{\"447\":{}},\"comment\":{}}],[\"lowleafwitnessdata\",{\"_index\":196,\"name\":{\"516\":{}},\"comment\":{}}],[\"maxindex\",{\"_index\":188,\"name\":{\"499\":{},\"546\":{},\"561\":{}},\"comment\":{}}],[\"maxnumindex\",{\"_index\":93,\"name\":{\"210\":{}},\"comment\":{}}],[\"memorystore\",{\"_index\":16,\"name\":{\"16\":{}},\"comment\":{}}],[\"merkleproof\",{\"_index\":95,\"name\":{\"234\":{}},\"comment\":{}}],[\"merkletree\",{\"_index\":91,\"name\":{\"202\":{}},\"comment\":{}}],[\"merkletreeutils\",{\"_index\":97,\"name\":{\"245\":{}},\"comment\":{}}],[\"mongostore\",{\"_index\":28,\"name\":{\"54\":{}},\"comment\":{}}],[\"newtree\",{\"_index\":165,\"name\":{\"446\":{}},\"comment\":{}}],[\"nextindex\",{\"_index\":175,\"name\":{\"459\":{}},\"comment\":{}}],[\"nextvalue\",{\"_index\":176,\"name\":{\"460\":{}},\"comment\":{}}],[\"nodeskey\",{\"_index\":35,\"name\":{\"80\":{}},\"comment\":{}}],[\"nodesmap\",{\"_index\":18,\"name\":{\"18\":{}},\"comment\":{}}],[\"nodesmodel\",{\"_index\":29,\"name\":{\"57\":{}},\"comment\":{}}],[\"nodesoperationcache\",{\"_index\":31,\"name\":{\"59\":{}},\"comment\":{}}],[\"nodessublevel\",{\"_index\":23,\"name\":{\"36\":{}},\"comment\":{}}],[\"nodestore\",{\"_index\":85,\"name\":{\"165\":{},\"185\":{},\"277\":{},\"293\":{}},\"comment\":{}}],[\"nonmembershipleafdata\",{\"_index\":135,\"name\":{\"371\":{},\"388\":{}},\"comment\":{}}],[\"numsidenodes\",{\"_index\":142,\"name\":{\"390\":{}},\"comment\":{}}],[\"ok\",{\"_index\":103,\"name\":{\"257\":{},\"378\":{}},\"comment\":{}}],[\"operationcache\",{\"_index\":20,\"name\":{\"20\":{},\"38\":{}},\"comment\":{}}],[\"parseleaf\",{\"_index\":124,\"name\":{\"352\":{}},\"comment\":{}}],[\"parsenode\",{\"_index\":131,\"name\":{\"364\":{}},\"comment\":{}}],[\"path\",{\"_index\":120,\"name\":{\"346\":{},\"354\":{},\"588\":{}},\"comment\":{}}],[\"poseidon\",{\"_index\":118,\"name\":{\"340\":{}},\"comment\":{}}],[\"poseidonhasher\",{\"_index\":210,\"name\":{\"578\":{}},\"comment\":{}}],[\"poseidonhasherfunc\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"preparedelnodes\",{\"_index\":6,\"name\":{\"6\":{},\"26\":{},\"45\":{},\"67\":{},\"88\":{}},\"comment\":{}}],[\"preparedelvalue\",{\"_index\":9,\"name\":{\"9\":{},\"29\":{},\"50\":{},\"72\":{},\"93\":{}},\"comment\":{}}],[\"prepareputnodes\",{\"_index\":5,\"name\":{\"5\":{},\"25\":{},\"44\":{},\"66\":{},\"87\":{}},\"comment\":{}}],[\"prepareputvalue\",{\"_index\":8,\"name\":{\"8\":{},\"28\":{},\"49\":{},\"71\":{},\"92\":{}},\"comment\":{}}],[\"prepareupdateroot\",{\"_index\":11,\"name\":{\"11\":{},\"23\":{},\"42\":{},\"64\":{},\"85\":{}},\"comment\":{}}],[\"printbits\",{\"_index\":161,\"name\":{\"442\":{}},\"comment\":{}}],[\"provablecsmtutils\",{\"_index\":144,\"name\":{\"421\":{}},\"comment\":{}}],[\"provabledeepmerklesubtree\",{\"_index\":109,\"name\":{\"291\":{}},\"comment\":{}}],[\"provabledeepsparsemerklesubtree\",{\"_index\":90,\"name\":{\"183\":{}},\"comment\":{}}],[\"provablemerkletreeutils\",{\"_index\":94,\"name\":{\"232\":{}},\"comment\":{}}],[\"provablesmtutils\",{\"_index\":65,\"name\":{\"131\":{}},\"comment\":{}}],[\"prove\",{\"_index\":58,\"name\":{\"124\":{},\"181\":{},\"200\":{},\"225\":{},\"289\":{},\"304\":{},\"330\":{},\"418\":{}},\"comment\":{}}],[\"provecompact\",{\"_index\":59,\"name\":{\"125\":{},\"226\":{},\"332\":{},\"420\":{}},\"comment\":{}}],[\"provecompactforroot\",{\"_index\":114,\"name\":{\"333\":{}},\"comment\":{}}],[\"proveforroot\",{\"_index\":64,\"name\":{\"130\":{},\"231\":{}},\"comment\":{}}],[\"proveupdatable\",{\"_index\":113,\"name\":{\"331\":{},\"419\":{}},\"comment\":{}}],[\"rightnode\",{\"_index\":133,\"name\":{\"367\":{}},\"comment\":{}}],[\"rocksstore\",{\"_index\":33,\"name\":{\"76\":{}},\"comment\":{}}],[\"rollback\",{\"_index\":171,\"name\":{\"454\":{},\"474\":{},\"484\":{},\"493\":{},\"510\":{},\"527\":{},\"572\":{}},\"comment\":{}}],[\"root\",{\"_index\":41,\"name\":{\"102\":{},\"143\":{},\"158\":{},\"162\":{},\"167\":{},\"187\":{},\"206\":{},\"242\":{},\"267\":{},\"272\":{},\"279\":{},\"295\":{},\"311\":{},\"373\":{},\"392\":{},\"399\":{}},\"comment\":{}}],[\"separatehighpartfor254bitfield\",{\"_index\":150,\"name\":{\"430\":{}},\"comment\":{}}],[\"setroot\",{\"_index\":50,\"name\":{\"115\":{},\"216\":{},\"322\":{},\"410\":{}},\"comment\":{}}],[\"siblingdata\",{\"_index\":136,\"name\":{\"372\":{},\"391\":{}},\"comment\":{}}],[\"siblingpath\",{\"_index\":197,\"name\":{\"518\":{},\"583\":{}},\"comment\":{}}],[\"siblingpathsource\",{\"_index\":184,\"name\":{\"477\":{}},\"comment\":{}}],[\"sidenodes\",{\"_index\":73,\"name\":{\"142\":{},\"156\":{},\"160\":{},\"243\":{},\"268\":{},\"273\":{},\"370\":{},\"387\":{}},\"comment\":{}}],[\"sidenodesforroot\",{\"_index\":63,\"name\":{\"129\":{},\"230\":{},\"338\":{}},\"comment\":{}}],[\"size\",{\"_index\":190,\"name\":{\"503\":{},\"550\":{},\"565\":{}},\"comment\":{}}],[\"smtutils\",{\"_index\":74,\"name\":{\"144\":{}},\"comment\":{}}],[\"sparsecompactmerkleproof\",{\"_index\":81,\"name\":{\"155\":{}},\"comment\":{}}],[\"sparsecompactmerkleproofjson\",{\"_index\":83,\"name\":{\"159\":{}},\"comment\":{}}],[\"sparsecompactmerkleprooftojson\",{\"_index\":75,\"name\":{\"145\":{}},\"comment\":{}}],[\"sparsemerkleproof\",{\"_index\":72,\"name\":{\"141\":{}},\"comment\":{}}],[\"sparsemerkletree\",{\"_index\":37,\"name\":{\"97\":{}},\"comment\":{}}],[\"sparsetree\",{\"_index\":187,\"name\":{\"496\":{}},\"comment\":{}}],[\"standardindexedtree\",{\"_index\":198,\"name\":{\"520\":{}},\"comment\":{}}],[\"standardtree\",{\"_index\":209,\"name\":{\"558\":{}},\"comment\":{}}],[\"store\",{\"_index\":3,\"name\":{\"3\":{},\"103\":{},\"207\":{},\"310\":{},\"398\":{}},\"comment\":{}}],[\"strtofieldarry\",{\"_index\":158,\"name\":{\"439\":{}},\"comment\":{}}],[\"strtovalue\",{\"_index\":26,\"name\":{\"46\":{},\"68\":{},\"89\":{}},\"comment\":{}}],[\"th\",{\"_index\":111,\"name\":{\"309\":{},\"397\":{}},\"comment\":{}}],[\"tobigintbe\",{\"_index\":148,\"name\":{\"428\":{}},\"comment\":{}}],[\"tobigintle\",{\"_index\":146,\"name\":{\"426\":{}},\"comment\":{}}],[\"tobufferbe\",{\"_index\":149,\"name\":{\"429\":{}},\"comment\":{}}],[\"tobufferle\",{\"_index\":147,\"name\":{\"427\":{}},\"comment\":{}}],[\"tostring\",{\"_index\":217,\"name\":{\"592\":{}},\"comment\":{}}],[\"treehasher\",{\"_index\":117,\"name\":{\"339\":{}},\"comment\":{}}],[\"update\",{\"_index\":56,\"name\":{\"122\":{},\"182\":{},\"201\":{},\"223\":{},\"290\":{},\"305\":{},\"327\":{},\"415\":{}},\"comment\":{}}],[\"updateall\",{\"_index\":57,\"name\":{\"123\":{},\"224\":{},\"328\":{},\"416\":{}},\"comment\":{}}],[\"updateforroot\",{\"_index\":61,\"name\":{\"127\":{},\"228\":{},\"335\":{}},\"comment\":{}}],[\"updateleaf\",{\"_index\":182,\"name\":{\"467\":{},\"488\":{},\"498\":{},\"543\":{}},\"comment\":{}}],[\"updateleafwithnovaluecheck\",{\"_index\":207,\"name\":{\"542\":{}},\"comment\":{}}],[\"updateonlytree\",{\"_index\":186,\"name\":{\"487\":{}},\"comment\":{}}],[\"updates\",{\"_index\":104,\"name\":{\"258\":{},\"263\":{},\"379\":{}},\"comment\":{}}],[\"updatewithsidenodes\",{\"_index\":62,\"name\":{\"128\":{},\"229\":{},\"336\":{}},\"comment\":{}}],[\"value\",{\"_index\":123,\"name\":{\"351\":{},\"363\":{},\"458\":{}},\"comment\":{}}],[\"valuesmap\",{\"_index\":19,\"name\":{\"19\":{}},\"comment\":{}}],[\"valuesmodel\",{\"_index\":30,\"name\":{\"58\":{}},\"comment\":{}}],[\"valuesoperationcache\",{\"_index\":32,\"name\":{\"60\":{}},\"comment\":{}}],[\"valuestore\",{\"_index\":86,\"name\":{\"166\":{},\"186\":{},\"278\":{},\"294\":{}},\"comment\":{}}],[\"valuetostr\",{\"_index\":27,\"name\":{\"48\":{},\"70\":{},\"91\":{}},\"comment\":{}}],[\"valuetype\",{\"_index\":46,\"name\":{\"110\":{},\"174\":{},\"194\":{},\"212\":{},\"283\":{},\"299\":{},\"317\":{},\"344\":{},\"405\":{}},\"comment\":{}}],[\"verifycompactproof\",{\"_index\":78,\"name\":{\"151\":{},\"375\":{}},\"comment\":{}}],[\"verifyproof\",{\"_index\":77,\"name\":{\"150\":{},\"253\":{},\"382\":{}},\"comment\":{}}],[\"verifyproofbyfield\",{\"_index\":67,\"name\":{\"133\":{},\"254\":{}},\"comment\":{}}],[\"verifyproofbyfieldwithupdates\",{\"_index\":102,\"name\":{\"255\":{}},\"comment\":{}}],[\"verifyproofwithupdates\",{\"_index\":138,\"name\":{\"376\":{}},\"comment\":{}}],[\"writemeta\",{\"_index\":195,\"name\":{\"515\":{},\"557\":{},\"577\":{}},\"comment\":{}}],[\"xdiv2var\",{\"_index\":151,\"name\":{\"432\":{}},\"comment\":{}}],[\"zero\",{\"_index\":215,\"name\":{\"586\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAACs2dWZPbOLKo/8oN+9VTLWwUOW+9TYzn9hbHnjlxo6PDoSqxXJpWiXW0VNvTMf/9kgBBAclMLCSr57x0qywQmUQCicSHBPT7q2Pz2+nVn3/+/dWvu8P21Z/5qlozxd+8Omwe61d/fvXXzemhPr568+py3Ld/nj8/1acvzD/ePJwf9+03d/vN6VS3lbx69e83tp5CKVEMtXz40D1I1/J6KOBU9ubV0+ZYH85XLZzq5VD3T82p3m2bgynzl8vhbpBz3/5x3jWH0xfjQkHtubrq/u7cHK+q7w7n+ni/uWv111+Eq1nJcqjnY33+odm2RYJVvXaK4W1h9CGEPB3rruBPlyRZ49LTRX5T7zNEOqUniGzb6B+b/SVilddOsVlNmSJrXHpWU2aIdEpPa8r/appzvCX7UtPf6u9P2825ThCGlZ8g9q55fNzFZA2FpgjY15vjT0bZH5/q46ZzNV9v7h5ihgs+OFWRFJnzRtvp+81T4ojri6YJY/wq6/v6sTl+9l1uX8sXzndBr6sYdzrB4XQ+Xu7ah6L1vfYL48q7CjqvsOLXCenQOTa3rUiBTsmrtPNp+6fd6U9Px+Zc353rbab055GpSPHPqKlmym/wkUAqMSo/R5Pc8Ul3hfwhmqARdLak+Ji/TZBFe11SarrjTXtXPx4IvWw4Fkh/21HcE3vXaOiTLnsUAMVkR2OgtFb2Q4VQK4fDhKxWThSaGhVltXKe7Gh4lOJJ/FAiMIEEo4lUn5XonpboN2kTRdK0TswNzuT+Xf1c7/G5/frVIlM7qC5pZne0I6a27W1UkC6SNoPF5enw4N3lVpeMioall9Ki7WrPGWqMii+lRySwgHpMjCvietT78/vP40ED5Q/FZsidGs6Mun9+NBPXhwpmoPBYLBOXFA9loMz0SCbpPfF5HXnR8Hye/KZkGEO8ZzSKSZZMBjGE5GgME5fcOub3DT6nQ6Fe0aXGFRlCIfYNRxJxWXrF9b55d45PWV7Rpd41FsDR/Wvum8fCN7p/zZVMBG/jECEYuyX65zRXPM8b0YEb1WODcRs+47lMpjl8bAgkM3y1DJHxq0sDMlft0sM2KCgjbIvLM1Sn/c84WIJyvaJLye+xTpICftlFWyCGXLCmCAQnS7RJpkrEQ0vpRASSUIvMQBKVO5mLwQE5AYtF9SGpGBAehWJRSQlMDMjMQGIp70kAovGLRsBQ6pvSPAx/zzgOS5VM0zBcchyGRSUHAkkodEIgmWTfNOlxFBeVFQgkUS+WF0jm9K+0V04GgRn9K0tyHAPG/SZBAUdBSxgCpvnnNFc8zxsFCCDRY8MAEJ3xnEDyv5q7X094IHn9apFAElSXFEg62qUHklBQRiAZl3e7Od89REXaUktJ1YHY/60/RwU7BZeSbeBhinC35FLSiYAMis4MyFC5UwOyUcfOD8ji+lABGRQeC8jikuIBGZSZHpAlvSceoyAvGg5Okt+UDMiI94wGZMmSyYCMkBwNyOKSAwEZFDohIEuyb5r0aEAWlxUIyKC0CQFZTv9Ke+XUgCynf2VJjgZkCX4TD8jGk38wIEv0z2mueJ43ogMyqscGAzJ8xnMCsndt0VP9fX38dV+/P9Zj28ECweDMm0t3h915t9m7ebeof0clvKafxt909CJEG99edvttog627DyJu8en5pj82rZwtszUwBiXS4XHg0vaPbezbaIqXjc4ptv8CA0ccoip8k/oagNXwJZdVoMHP4E+rMJQeFkdWvve7z6mdwZTeLYOwTMAKUrcRI4FjJ7tdQ+YAltbJKhwc302SxX7BgGN8FkzVadI6vckrX6tP79PN9W19LKd1oRJ6Xq45WdrAmfm1vR/2dXJc4f/xEyHmrQ2I/VYZN7cnb59fDqnjpxr6XlSt/XTecw/cJm27DyJp6zWPS3Uuq2VcCpGGvXdaKqaKPevObOTW3625HSZs6W1fjJ9/p0tDV8tEP48fCojeZzs63Nq7xkKz5N50QAmUeZQeAmZX+7H29ohsab8PMnt9PGc+rK27AISv24enzZ3qUMFPDKzT+0+1qdUyUPhZeddY7+/NMcMnwyfeQmN/nt3fni329Y4TwvpBZ9cVruTrTmvyZDHltVLd8w8ncAj8yNLh3r81Na9ud3X775///fzbj+2ICyQTj2+/f6n9//vwz++/O7v36bV+tp/Ah+zI4WpiLk+7u4/t6Wb+6+IcBVXAn0wW5ek5V6qAv0S5U88WZMb5C3I9fDj08VsH+Q1FPrgH9lQYwVia+RRPcg7UJHMQ3336/f14219PD3sxlCSUHH0VHYDjbX4oTlMUwQ+OFOXa9vlG2yK9FSuRwmPb3uHnAuBivUQCzpyXSLdbZ6SJtNrpa9PoTl0d2iXKLvA3GD0n0osHTUoZJmvgdvS1LSUNB35AYEW2YeEjuT3zd9OzSEs4HX0YSLAjAyhf7YPv2/eEZVHdIo+PE2n0LDOH85JDi3gzaa50wXc6GT3GZPtzMwRoX7JOdL67pEuFDwwvSclSr1bQt62zpA4KpwsM3l7KXv6wV7QvXwn5ifceyiIsnPmodTqiRlp7P+RV6Gyv3bn7zenX/NVuT64jCLejJisxWhuzFQhpRf87d2PP+Ro1pV/4d4wiJjRI/RrLdcrripN7RkhhXJ7x1WbST0EquIETt/U9ZMbZL273KJJDUS5RRJPQ3Un+UPqJQLJmvjeQVAT97GU3alMrfRW3AS1vOdeQC80tg9qRCclzNWFyAsIahNKD5irD5EjEOvQZKrABH2SuEiCQjEkQlUxLXsgXaFoEkFYscm5BJkahlMKZulIZRYENQwmGCziqvJ1iiQbTNAqaZc/qFNssz9fh7/Wu48P+VoMjy2lB5l9EdMkMwkjXzM9Vqbp5j36Atphu96x2WUpm22226+OmwNyeiWogfvYInrg+7ZBHcLbt5nyiV3yoAKRzfIE/4bsdaXGxpHyi8TIKTKy0PViMXOSZrmx80QtAzF0kprZsfREPdGYOknDjNh6om5EjJ2kXVasPVE/IuZOHSDpsXe6fll7kwvE4rGqpsXk+QpGY/M0RSfH6BM1Dsfqi+hMxexJGufF7nNc5XQdc2P5dC2TYvokHWOx/XSdiBg/VatIrD9dLzLmT9UsM/afrmlgDZCqa/ZaYKK2dFyepGk8Pp+oFx6nJ+kUjtcn6kPE7UkKReL3DB/n3Ys+JLWN7mrwU+eo6DzhHBxMwgufgIvn/RFn36CYyKk3VE76He++rPyTbng6YTQChoKzTrfFZeLn2kaZnVkn2uJSiXgais08xZYgF5+jRnLHc9E8uY+bTz9cHt8etvWnqHC/7JItTt13PW70zBuNotLpwApKzz98FXcf9G35vuz4ZflRR0Ucbxp5qsjBprgk/EgTlBM+zBSXQh1jGvmH2S1HHl1CjBQ+tJQkiziuhAiLHFRKkpYiZ4YEDNAio3qGBOo2eTAnRi6Tj/dp9PjRuFMHDx7F5RBBGZQTib9S5WDHjHBRoQNGcWl46AslhaPcRCnUcSJUWOwgUUK/wI8QjfpF3uGhVPtR501wG+YeNUnVInxUCNdl2iGhhFkhdjxoND1MPRiU2B9T9Zh0GAiPbpCtkWvB8GkgUG7ZQ0FY5Vlng+BbEO1uiuHJokFd/AcX0SXlMAWqS86ZilRdEo+64PpknnjJ0Snt4AutVt75F1qz3M09wnDpm3q0Ku4g/moTPpQCvk8ftMSSE6sPW3e6bwR1JMx9f2wef7z9Z41M0KhUr/zIJ6JHUBI1Oe3+Vb89aBw5doeoLuCJRbU5Nzma2NLg4OAienx5+bTb7zbH8UKRUMV9YGFd3h5aF5iqhy28sA44mCB0INnEHB26MZChhVt8cT1yeqlXflFNtNNPU8IWXbhXfN05+c0huXPa8i8xYr0DAhE9urLL69BZOl0Lp/SiWtQo3kJVqEeEa5r81IAB75oJgQItOk7nUaHB8wiJ0uiTrMS8GTsjkmjg/HDlT2yuzGkT839+kP/vcXmLD/P/uWyQFSw+zm3ZRTXoqjqev83QAzyxqDa7U55lvPJzNcG3b3HGkMMWsPOmoSUQuYROPDyduFodDpdm60I8OUubcY3EmffE1okcek/UyhxfTzj1jmoVeHp2W1EcZjJ/WYi7zOIty3GWuXwlUZPQOXlUhZTj8vmyqTtxYirErsSZrElHxM2N/2muE1HKryJXv6Ss2HxNkCuLnG//xOwlSHSoBmXOEEeFtM14OfmCb3rT0MeTF3zZSM7rZbHOlv7iF/tP/5n3p6aELGeQcT9W/uQ01RnEqvjjnEFQE+RiLqynJPeOGcKoYdHGHW2YPilQmPy+N57QF3/1JR3DIq9/yeuny757fppl5m5PwAs493+k3f8y5+YXwE/itcY2feZfrzLpYpV0scHbTabfcrPI/TZTb7ZJvlAm/SqZuZfI5HSs69Uo2Z1ryg0tk+9myROf2dFyLtBZ7OqcOZfmZN9RY0qGbqfxSixy5havNflGGl/l7HO1hPQpt9AkaRK5fwZRZdLNM0m6kHfOIFpk3jaTJJ/YGSA0CKXQz9CBvusG0yH3lptkHejrUQg1Agn1M3sneeUI1TkzLxuhNEm+ZgTRI+WCkVS5gatFcMkJl4qkyo5c2oHLn3RdR5JG1EUdeJ+c3wLhyzkQqWnXciTJpi/kQOTGr+JIkhm4hAMRmnD9BjnKiYs3whM+WXLxyzYmBgD0q8y6YGOBgCBbs8RLNZYIELJ1i16kMS9gyNaHCBwiGmUFEPk6xS/0mBtQTNIpfqfDAgHGtN4evRdhgYAjRbOJp+YXmoynaBi9rWFCiDRFj4QbGiaFTNm6pN0eMCmAyNYlfmNAdkCRrUPCLQH5AUbSKHcCjR4/jH77BmpFlEtPNSFO84fqjR3tp3TPD3OCWqQEOXFVPNeKHOINqgCO84YOLmVqgt8EEFQm71qATH3QMCaoTtbVCJnaEDdsxbpLzg/gxjVK2jBMUCm2A0hVMe0OrXSFondnhRWbfGdWpobhu7Jm6UjdkRXUMPeHczO7Ph39BbXKv8khrlfy3U5BzaJ3Oi2iGxr1xfQKxnz5OnRfE1cdxDTxHl1KH3zFHFMlfN9DphbUlRbhiW5Zy+CXdwQ1CN/kkSkfv84h7AWDdzvk94TsTrCUbAySBmWHUGmmbCLOD4qPRPmTNMCupEhQInQ/RfYIQK/6iAyB4L0fmRrg676gAuFV3xT5Ol+mW6RNUMR9djmNqKs94vrE7vmYoQ11v0OyUsE7H0aMJ7cvNz+FLqEI92n47AvoF77GJGHc/wHaha83SdAx4a6T2XbW/meGpngFL6Bp9IKWcLCTdFvLBB1d2hSITK9fpTOlp+ZU77bIsRxQ2WunIO6mHMXy6RGUlgKMUIEpmxVQWNbuRFwqtRSFYvNuZo7LpZebUHLu7gIqG7lpCocEULpfNsO2fsfdICuBUadtCwXS+eNS6BvvoKj4jXeprfhdvRkfPsIbsS+aIS+JhNHCbq4f4/nwTjVoDaFhO1Onm76OaYpFWNNzRjcnFXxO7P+pGoLB0U4lSf3ILfnS3WiQdTN8uh6/oX9m3qkGqYEyUqJ/CGl009cxRa1IF9pn2QbXbp9mtTTtwKntpL4zFJvq7/rbXL9pl2MJwtyyC0h8e/h6d7y77MZBXkC0+9BUHerkd64XeGPjM7qwNNFj9UX/mDmlE3Zz/Zhy4HLkGkEdC8wqtFZ6Xpmh3IIzS0BJXc2iWo5nl6Qe5Zb8Q2YXrf3w6domItlR+jXQ/vs+bUyFtbpx6pmiXqQ7HbvskyXUdCtaSM9wAgV+Ap8quEieZrDyqRkME68qCuuCH8sJ3ZGSq9nBvVOhm+TR6SqsJVXHy2h82t3ud4ePE/T0n3wZ7VJTMkKHDOfq4w64d9+/x6/BGb5JJ0jmlHuvATFuvVpfo08QQ2rQNH5VRehYOqoB8lS6FmkpJSlib/B/jq+vr7VnVZxxzcQi+oculJj4ChPPiC/zOrHz4Iu9E3pPT03dkANeDik/cYg5t+xkCR89Mn+IZ1h0xvtmuLK7RZzYcP9WksxR6XSpybEQfMuE4Ad7SffAt5mcEi8SoAqnH/sOH3oO1p9y7pl8m0kRVbpq8ahqlpqhE9phxaKHtLNb7PI43i7MaCj/8YWUwsLMnH6Fh5qzVCIvFwjrEr5fIEWJ8Qou9Teuw8WXSogP/kYgkhefEGDHfzIwc7U5+xe4kxVLPEeSolf8MEmyVokp/UF1Ipn9/2cRu6Zn/Ad1jSf+v4C6odXnxN8Hfzllw+cFJv8g96IK5xwnWOAXuiM1zTpcsODvcyepOfeowaK/zr2ExpGDB9N/m/vlhlj0XMKcH+teVO3cYwvzfpH6RVUPpZNl//D4i2gYP/MQ05M4+vAi2gZPRMQUJa8RWFDHyHmJcJjwh9g8eJoiqN/4UMXy2gXPWoSngdGRixfpgVM73wtrFjinEdQMHtdYXrPwKY7cn3R/Kf0CZzwSVIRHPV5i1IZOgESG7eggyPL6Bc+HBNUbHxN5Ie2ip0fiauKHSF5I38jZkri22BGTZeJK5MIlendxVCId9aT+PCSxC5L684s5myFTVMn7Mcg5CJ/SIuO6KXTbUzqO6H5z2Z99QHt/Odydd62QL9yvg3Z2qjw3X+0+vj2cv/sWqfD6ZUZ1l/v7+khV13+Zq91XIe2+ytaOqq7/MrW6U90asJ2B/rr7+PDT5tgd3eJKfrU7+yumq4jwA2GxIQCSJeF1pEwEjUSejrQJsT7+9M3umf/DCT5f4I1uHCEv8GoRaLE7/bjdvvQbOkL+kDd0xsLHY90+eHz/sDlEhwFZNnXg3XeFvzweN5/fN+/Ox93ho/4DEUWUTBV0pzXVucg+I7tKgEWy3uF989f6k9GLUt4pklr1g33gfUOZABZJdnnnY/9E245Yg/sFktu5uRzObQj02Bx+Otb3u09YQ8MyWZW/q89tL8NmTffr1Cqf2qaj6hu+S62sLc5V8b6ffpAa/QKp1d7q0u+bt/pppFq/QLBacY2A3v7w9v3bL7/78N23X/5lqPR5c9x18cvpC/frVE0P9W/epuVVxf6b1Ir2zWZL1GS/Cse/TvbEl09P9WH742H/2avR2e71S6QH1hv93Hf15hnfZkfqfQ2ewb07UDmRjEYk58LQZCV+uDzmtQF4Zkl17lq3sktukqH0wi3yjUcH463xTRYTTFPj2Oz3t5s7NB8FU8Mpv3BrdKk2/qQbbxH3mYXVeWcySX7aZJnIf2quSo57CiU02e/SU7eeqXb2qnodPkE5qESlF9Wfzm8P2/pTXJBbdLowsveMhYV3LRFhri20pvWWmiecr9Mnifv2n/SDP9630c7zrrmcyNeBAl4HHsZf0H2DxDXnFPk31BfxzGtXRnb15KKM6o0LvtHNLtiPZ71XZM252bdrk+3n9pFTJ+yF33Mk7Q954dGs0SV2n+2A/bp5+pz03tSTOcMF2dnwDvWG5HvFJwu93ZzvHt4euh+XTpLql58sNhbQjuSS0WxoWkxQJBDaYhbPimvTxAeDWkyH/Ig2QRE6nB2pkBnLprUCGchiLZAXxSYoEAphRwpkx69pLRAMXlHvkx25pikSCVsxVabErIQyTpDk1PquuRzv0JYZFUoPmOLvilceemP3Dcf6E8Ggc58U1uDgCqvUdyP9Wu7NrK5+U/0YIhP3Y5mCA35rdMnn2G/lvyXtp5A3HPupTIFBvwQFon4p/w3Dfgh5S9wP5QuO+R1E9CS/gyvjjEdz1i/E8fwS6aMyHOIhtaZEeUDdfIeAyc2NdZKVCLoJQpP8iCdNHdp5YIpkxj3JLUK6FKI18qKfNDVCjgZTIzsGSm6NoPshWiQ/EkpWJ+KUCIWm+CVSJTd9xyT6eG7J5pJcv1rkpg1QHZmTEnolR9t0h0gpkOAJUXke33jcfPJ5IiXNKTgxCT2uzN3m7qHevtv9K2rM117RF1NoextVRBd5MQWIu0ChEqG7QJdR5JRilNPy5kg6kAD1yJ2rkySP5+mA+PwJOk2H7lOKeFNuQcnfoFn3iOi8yThJNjblBDSYMtfE9QChET0rZMVEcbmjQISSnB2BJLX9OPoItHx+2BHXYbPtIOf9++brzuN/edh2R3XeN0l+IPzsi7mp3SGho/SFlmqmrrq/HJvHb+Izlld0Kfm/dc98XyP3WEHxbslFTeDu7Da/dYb/7935UJ9O5B7vqFT6bu8+tHeM1/vaeYbYIx2rHb7RgYrCKQ1OCZAuXQly648SH97GCwt2Y/7z5rDdHLfYnvHQ68ZlllkFEPVOWw4gL0L3NzT0oNTZh0FihmQTaVOhD9kc/lPIQB/d1x7WKen0epI6sW1yrBLvdXK28KKaJWWlhZsmKU6h+20QAmdIpiMVSnYU0GZID8cqlAZJtDZPi58ux3qaJvDJ2dpEE2CiWmVnwbzkIJ6eWBG4VRiT9kLJMS/6gpEcmUVec1quzMu+dmLKzAu9f0bqTJIvSs+fyXADwxSDMMXotOTDxamz98gtfb87ENwx1EucpxbWCV+zUbqMFm8zpFKrtpBsZPk2K1zIju78pxa2hb4J4etpYSfy6MLafQghekqvDwSsX0Sja93dxaw/NNpXfd0d3E1XMFjH7F42pclStjfSNcDS+qIqpOT25QWH7y6357ZEkGgG5gf08dkrPHoPiFJlgc2g3AUovisUXu/N3B5KVxHbJ6JUm7VhlK4StXNEqTV7CyldNXwviVJs5qZS1vDEqXJgQOZtM2XpEthvCig0YeMpTyt0ByqkUNZWVJYuxJ5UQJnMzak81z7Vp0/ZrsoI/nP2T8jVwItspKS/RGB3gVJ5iW2GsEtDiHQQRS/OoJeBz0krx5AbmsgyZ0UkLxGKzIxBXib4mBh1LBtuzIgzlg8wJkcWS4cUc2KJ+UHE7OhhobBhTrwwP1CYFSEsEBosEBMsFgzM2BWanr+SIDu6LzQnhyXNDvH9mLl5LCmT6YRI7A8KwSaT0an5LIlyI2x0Xk5Lgg7xuPNFAs5ApPlT/4P2xJXH/teLRJtIlWn38fma0o7p6VifkFsXUbFD4SVkvj08Xc55kodH5sh/0CMXXStgsr3imXKdi32wueh6t4/zbTgJyumLX21OQZIJvk9Prnqou1/uTKrv9VAWbxmoI2GSf9XHJk1eX3KWtPvWU/14+88auRwVlemVT/NuiZp0kfDbg75rbDwQUF3AE4tqc25yNLGlwY+wL6LHl5dPu/1ucxxv3xKquA8srIv2Oal62MIL64AHT4QOeaFTxpjJ0MItvrgeOb3UK7+oJnfoDh+qxN1oI2+RXvF1FwZskFQPomPY8i8xYv/27scfUvXoyi6vQ2fpdC2c0otqUXe3aKapYIvOlZ8aSeJdMyGUpEV7YcNTahDy+im0c5rY0PlBSiALLXXIb/Z3l/3mXKOLRrx9wSOz5KftYKN65O1eJw97cPFrZOAPpWdKnRKm/Odd3v+eCWBxp/c/lw1ycz/u9WzZRTXoqjqev83QAzyxqDa7U55lvPITNfnlTZ/u+uffux8/PrXLyrYYvxE3VfvcvRkDf/7ZqPhGE8mupl/67/5Rd1NAV8IU+WL16s3PqzdydbMq1C+/vPnZPqG/0P+gi7U+9Wf2RsibdekXY16xdrb/mb8pVjdSSK8Y94qJ9i/xRq5vpGReMeEVk+1fEismvWKq/UthxZRXrGj/KrBihVds3f61xoqtvWJl+1eJFSu9Yq1Rfq6wYpXfvF1rs1XXwBw2MDCEtgTDqmS+LVjX5m3MIKobLrhf0jcH65qdoQZhvkVY1/KstQm7qdaFX9I3Cusan6FmYb5dWNf+rMB6DfNNwzoTsPUbwW7WbO2X9K3DOiuwEq3TNxDrDMEqtKRvI94Zgq/eKHUjuP/u3LcRZ2R7cjBeOGl37tuIC9Lu3LcRJ4cN903EyYHDfQtxcuhw30CcHDzctw8nhw/3zcPJAcR964gV2duFbx3ByD4sfOsITvZhARxaZwLOsF4kfOsISfZh4ZtHdEbg/I1UN+s1kO7bR3RW4AKV7htIdGZoY3mspG8hUZK9XfgmEp0huHqj2vYsgJ6+jeSKHBfSt5Fk5LiQvo0kJ8eF9G0kBTmdgGlHUuNC+haSihoX0jeQ1AYqsCaSvoEkOYKkbx+p7bNGq/TtIytqrEnfPGpFjTXlW0cxcqwp3zqKk2NN+dZRghxryjeP6ozAUd+uQGCgyLGmfAOpghxryjeQ0iMInS+UbyHVmUGs0JK+hVRnB4F6D+WbqOgMIdAIq/BtVDByVBa+jQpOjsrCt1EhyFFZ+DYqJDkqC99GhaJGZQHCt4IalYVvoWJNBnq+gYqSHJWFb6CiokZl4dtnvSJH5dq3z5pRo3Ltm2fNqVG59q2zFuSoXPvWWdNR3Nq3zpqO4ta+edadEQQ6B61BgE1HcWvfQOuSHJVr30BrPYLQeW3tW6jUI0hhJUvfQmVnB4HGpaVvopKTY630bVTSkXbp26iU5FgrfRuVihxrpW+jsqDGWumbqFxTY60Eq6CSGmulb6CyIsda6RuoWlFjrfLtUzFyrFW+fSpOjbXKN08lqLFW+dapJDnWKt86lSLHWuVbpyrIsVb55qk6I4g11jMr3z6VnoPQubICC1U9gios3qvgWrWzg1y9kVWraOkVNd+5ZRk52M13btnOGJK9EcWNVHARDFasKxIhmK/cop1BUMRhvnKL6smI49WCVetKmwtFIiuwbF11RpGEtmDhuurMItv+Im5WJWxcsHRddYaRCvOP5junrMYIskBX7iPE0BlGomOQQcjA6BUsg5hBwwRZYn2MQdCgcYKs0E4GUYMGCgrvkBA2aKSgGF4W2E1DBcUxD8MgcNBYQQm8XmA3DRaURO0GoAPTaIEgLgA7MA0XlEJ14BAOdbZRBdrPAHpgGjCoNV4vsJtmDKrE6wV2MwACtzFAEMwwCHQ9ygCFYBo2FAy1GwARTPOGArcxYBFMI4dC4GWB3TR0KCSqLwASTGOHAo1JGEASTIOHosDrhVivs02xxssCuxkugbozwCWYpg8FPowBmWCC9pIATTANIAp09mUATjCNINYrvCywmoYQa3zEA0DBDKHApyuAKJgGEWt0LcYApGAaRawFOioApmCGU+DToIQ4tjPNGo17GYAVTDOJNd7LAK9gmkqscSYLiAUzyAJvXwAtmEYThI0BtmCaThA2BuSCaUCxRmNBBuAF04hijXdfgC+YhhRrNCpiAGAwjSlK3EMBhMEUTQGZgiC9s02J0gEGMAbTsILoZwBkMI0rSjzYASiDaWBB9EkAM5hGFiW6EmQAZzANLQh9AdBgGlsQ+gKkwYpAKAmgBtPoosTHEMAarAjYDYANpvlFic/GBdwC6WxTFnhZYDdNMah3A3bTHAOPfQHiYJpkELEvoBxMswzcqwPMwTTNIGJfQDqYBhpE7AtgB9NIg4h9Ae5gGmoQsS8AHswQDzyeBciDabBR4nHRGm5daavhMTXAHkzDjbLE6wVmWwdiSYA+mAYcJe59AfxgGnEQcRzAH6wMxJIAgDCNOSqUijKAQFgZGG0AgrAyMNoABmFlYLQBEsLKwGgDMISV9GgDOISVgdEGgAir6NEGkAirAqMNQBFWBUYb4CKsCow2gEZYFRhtAI6wKjDaAB5hVWC0AUDCqsBoA4iEVYHRBiAJ0yiEGEEAk3CNQvARxAEm4RqF4COIA0zCNQqp0HiAA0zCDSZB4xcOOAnXMATHOhyAEr6id1Y4ACVc0xB8BHFASrimIfjGOQAlfEUONg44CdcspOJYj+SAk3DNQio0euGAk3DDSdARxAEn4ZqF4KOCA07CGb3PwgEn4YaToNEsB5yEaxaCMxUOOAk3nATvDYCTcMNJ0BUAB5yEG06Crrc54CTccBKUqXCYnKFZCD4PcpiewekMAD5K0NBzGzqvcJiiYTgJPophkobhJKg34zBPw3AS3JPAVA3NQnCmwmG2huEkeEYLTNgwnARlKhzmbBhOgtsYcBJuOAnKVDjgJNxwEpSpcMBJuGYhFRrVc8BJuOEkKFPhgJNwDUMqdBXNASjhGobgK2MOQAnXNARfGXNASrimIfjKmANSwjUNITw1ICVc05AKXfVzQEq4piGETwWkhGsaUqEcigNSwjUNqXB/BkgJ1zSkwvs6ICVcmv00vLMDVMKlCUsYXhhYTvMQtuJ4YWA6DUTYSuCFge00EWErvMMDXMI1EmErhRcG1lMm3xANgTkAJtyke6xwXwWICTcZHyvcgACZcJP0scLjE8BMeICZcMBMuOYiRMwBmAkPMBMOmAnXXITo9YCZcM1FiN4JmAlXVaiJgfGKkPEANeGFyRfF+z3AJtykgjC83wNuwk02CMP7PQAnvE8IweMqQE54YXa08X4P0AnXeIQx3CMDdsI1H2F4sikH8IRrQsIYus/KAT7hBU2ZOcAnXDMSwtcDfsI1IyF8PeAnXDMSnIJywE/4mt4b4ICfcJMvgqfTcgBQuAEo2GqVA37C18Z0+PAHAIWbtJEuIxF7O2A6TUnwLQoOCArXlIThyZscIBRekmtxDggKL02WHJ4ODxAKL3ng7QBD4SaLBPeEgKFww1CIsQQgCteghHBvAKLwMrCsAxCFa1BCuFgAUbgmJTjm5YCi8NKYDvcqAKPwKhCxAI7CDUfBXw5wFF7RezsccBSuWQnxcoCj8D7HBA9hAUjhVWBBDkAKNyAFX9IAkMI1LMFRGQcghVf0JgEHIIVXgSU5ACliRZ5REYCjiBW9IheAo4gVvSIXgKOIFb0iF4CjCM1KcE4lAEcRmpXg7EkAjiI0K8FXuAJwFKFhCc6pBAApQtMSfHUpAEkRmpbgK1wBSIowZ1o4OjELgFIEo/OEBEApQuMSvP8KgFKExiV4/xUApQiDUtD+KwBKEYz2lAKgFKFxCd5/AUkRmpYQ/ReQFKFpCdF/AUkRmpYQ/QyQFMHps0gCkBShaQnR1wFJEZqWEH0SkBRhSAreJwFJEYak4H0SkBShaQnjaPwnAEoRGpfgQFQAlCI4ndQqAEoRGpcwjsZeArAUoXkJflYOnoDRuITov/AMjMYl+P6DgKdgzDEYLOYRo2Mwep8AVxcehNG0hOjr8CiMpiX4/oOAh2E0LSHGBTwOI+h9AgEPxBiSgo8LeCRGmMAEDUAFQClC4xIcnwqAUoTGJTiWFQClCI1LcNwrAEoRGpcQh6IAShHmfAyKZQUgKULDEmLSAiBFaFZCDGTAUYRGJTg+FQCjCE1KcIQrAEURGpQQjgdAFGEgCkeXLwJAFKE5Cc5lBWAowjAU/OiIAAxFGIaCnx4RgKEIzUlwiisAQxGak+AUVwCGIjQnYfjBFAEgitCgBEe+AkAUoUEJw88VCEBRhKEo+DEAASiKKOhULwEgitCcBJ/BAUIRJvME91SAoAgNSQhPBQCKMAAFP7ggAEARBqAINN1eAIAizMEa3M6AnwjDT/DUcwH4iTD8BJ03AD0RhbEc7i8BPhEm+6Tb1UQ0BvxErM1eDz6WAEARa3qmA/xEmNM2RBMDgCL6Azf4GAUARRiAIvGxBBCKMAhF4uMDIBRhEIokjn8C62lMwiTe4QBDEYahSDyuAgxF0AxFAIYiDEMh+gVgKMIwFKJfAIYiDEOReE8GEEWUZHKsAAhFmNM4EmVlAjAUURrroacJBYAoQoMSpvCeDCiKKOltHwEoitCgBAcYAkAUYXJRFEqIBaAoQpMSplBCLABGERWdsicARhGVOSyK93rAUYRGJXi+pwAYRRiMovARAjiKqMjcZgEwiqgMd8ZDBcBRRGXWBygLFACkCA1LmMKHKSApcmWshw5TCViK1LwEp8kSsBS5ovNkJWApckXnyUrAUuSK3vORgKVIk5Oi0BEtAUyRK3rTRwKYIldrus9LQFPkisaXEtAUuTK2Q32FBDhFGpyCDyYJcIpkNL+UAKdIc4JHoU5IAp4izREedP0hAU+RLGA8wFOkZiY4HJCAp0hzYQi+fpaAqEhGZhRJAFQko/mlBEBFMjp/TwKgIjk530nAUySn8/ck4CmS0/l7EvAUyen8PQl4iuR0/p4EPEVqZIKvnyXAKZKbfXL0TgeAU6TBKfj6WQKeIjUywdfPEuAUqZkJvn6WgKdIw1PQJZsEPEUGLhWRgKdIDU3w9bMEQEVqaIKvnyUAKlLQIEwCoCI1NMHXzxIAFamhCb5+lgCoSA1N8PWzBEBFGqCCr58lICpSQxN8/SzhNSPmFE+BRkoS3jSiqQm+GSvhXSPmGA+6GSvhbSOS3qSTowtHtKcs0PWBhJeOmOSUAl0fSHjxiElOKdBIScK7R0xySoFGPxLeP2KSU/BTaxJeQWKSUwo88ABcRSraXwKqIk1qSoHP+QCrSINVCny6BVhFGqxS4LMiwCqyT03BOxzgKrK/lQQ3NgAr0oAV/JSZBGBFKgOhcWMDsiINWcHPjklAVqQhK/jhMQnIiuzJCm5sgFakyU9Z4xYEcEWa/JQ1bkFAV6TJT1njFgR4RRq8UuIWBHhFGryCH8mSAK9Ik59S4hYEfEUavoIfnpKAr0jDV0qJ+kRAWKQhLPjsCwCLNICl22GTN1AJwFfkmr4LSAK8Ig1e6XbjkHqB9Qxf6baWkLLAeAavdNtbSFlgO0NXukgTmaEAXZGGrlT4WgXQFWnoCo4fJKAr0tAVPItfAroiDV2p8C4E6Io0dAXPYJeAr0jDVyo0O0QCviJLko5JQFekoSsVeiWKBHRFGrpSofm3EvAVafgKnkwqAV+Rhq9U6L6nBHxFGr5S4eEI4CuyDI09AFhkGRh7ALDIKjD2AF+RVWDsAbwiq8DYA3hFVoGxB+iKrAJjD9AVWYXGHqArUiMUvsI9MuAr0vAVqmZgu8pcbYePPcBXZBWwHcArakXbTgG6olaBO9QAXVEr2nYK0BW1om2nAF1RK9p2CtAVtQrYTgG6olbGdqjDUgCvKINX8EGqAF5RK3oTVgG8ogxeIcwBTMfo6yMVgCvK5Krg5gBwRRm4gpsDsBVljv3g5gBsRRm2QpgDwBWlAQpfoVOCAnRFGbqCX5oH4IpiIdMBvKKYGXYSmxMU4CtKMxS+QicQBQCLMjez4rf3AcKiOLmVpwBgURqi8BW6xaMAYVGczhBTgLAoLumOCQiL4sZ2KIZVALEog1jwngkQi+IBl6kAYlF9ygo6PABiUbyiuzxALMrc2op3eYBYlMYovDtZgLQEYCxKGNuhwZgCkEX1t7eiwF0ByqI0SeEM3UNXALMoc4crwx0h4CxKBKJNBUCLMje5MvQgiQKkRRnSgodjCpAWZe5zZejCUAHUogIXpihAWpSmKRzP1FcAtSiNUzieqa8Aa1GGtWCRqQKoRRnUggduCqAWZVAL3u0BaVGGtODdHoAWZUAL3u0BZ1Hmolf8FIICnEUZzoLH8wpe90pzFgUvfDWchehA8M5Xw1nweF7Ba18NZ8HjeQVvfjVXv+IHEdTo8lcz9vCrWuH9r+YCWMJfwCtgzR2whL+At8Aqc4klfg8svAhWoxSOn0VQgLOowkx7uHMBnEWZ+2DxVHkFOIsynIWY1wFnUYaz4OsmBTiL0iiFc7yDAs6iChWIGABnUUURiBgAZ1EapVD3/QID0neoKABZVFEFIgZAWdSazrNVgLIoQ1nwiAFQFrXmgYgBYBbVYxY0YgCYRa1DMSfgLGqtArM14CxKoxRqTgWcRa2N7fBpBHAWtabzIBTALMpgFmJqAJhFlatA3wSYRZUs0DcBZlHmNlm8bwLOojRKwfsmoCxKgxSqbwLKokr6Xg4FIIsykAXvm4CxKI1RqL4JGIvqGQvaNwFiUQaxEH0TMBZVBRZ7gLEow1jwaR0wFtUzFnRaB4xFaY5CjQ8AWVQlA7MToCyqUoHZCVAWVYVGHqAsqjIjD4/JAGVRVWDkAciiKjPt4TEOoCzFykx7aBBQAMxSrMy0hwYBBeAsxcrEnGhMXQDQUmiYwvEk3QKQlkLTFPy4SAFIS6FhCscTegtAWgoNU/DoqQCgpdAsBT9aXwDOUqzow8sF4CyF4Sz40foCgJai/6UbNJmmAKSlMKQFP1pfANRS9DfR4tYDrKXor1hB45ACwJbCwBb8aH0BYEthfvgGP51dANhSGNiCn/suAG0pDG3Bj9YXgLYU5hdw8KP1BaAthfkRHHSsFgC2FCabBU98LQBtKTRSIfo9wC2FwS3EjxsA3FJopELEkQXgLYVmKhxPIi8AcCk0UyF6PuAtBQ+ZDwCXwgAXomMA4FIY4IIf2y8AcSkMccGP7RcAuRQGueDH9oueuegfGXuuj+d6+9b82NjPP7/68OH8+al+9eb3Vx/6XyBj9pfQfn/F2v/8+82r7upr80FI+8H+SxvTmg9V/6E7D24+lP2/dOeJzIc2sjYf1vZfhjJlX3OXZKk/dFlU5oOyH8r+qW75bz6Yr/59/UW07q/u3T9cnrabc72vN/fuu3XrquHtutUU/vTm7nzZ7I/6Rx+dhnEf7s56Ew9vt7fHzeHuwX22jWGurVoObVb1L906avOB96/YpceR1XdvdW7uNncP9eaw7X7i/NxAZbsg5PqmorekssbpghGi/v2x3mw/d7/Y3v2z+/7t4n+oUlqDdWt/oqanp/qwHZmAuYopGXv4uT55SpTSUcJ2qG5zru8aVq11Fay5Oew/n/XPwrt1C7fuNVWB/vFB+1OIzuPMGTrdxRpakW6o4vXcbk71Y338dV8/tdbzGslt6e6SHrqCk/kZQfOjrE4rtyHMUEMXuFA1nP1+KpzWJVtQP7U7dK3g94/K7R99l+5gAVHN7vy4Of3qDRNnhHXX1ZphUjDrUXor86p3AF3yLVH55f6+1a/ZHc76vhdHzbWrJq3dZbffek3jPGYHLidbVo9OpP928PPa/SU1dszj3e/F+4NaOQ+zyrZw7zIV6ZOGH7IduQnhtHjBSXXMb2A7jehq0l1EZPo6o4azruCxfrytj6eH3ZNbVeG6RmFtLq2p7UzD7UzT5e+FhdSIlC6ZfhAjKqpr6yoOzQFXdb1yVS2tqrYzWOW7K1x6VYMNauTg2rqudkXNU3dt/zp6zznDl9kZ1fr+3iGt+3+v+qmA2Ym2uyXPPGHnVynIpu4kk32cM9fFk23d1dHOM93PojZP9XFz3jUHXaf3SsJt815T274r62PN/0tyNLZ/78Bk7lRro5G+OtVXv+7FVX2LycGulW3Tlf3A7LN8mImGqZY0n9YKa7+V236Ui2v/fmojlW1dP53aNrSTycn8UrTfnVyXx8hOaSok5iTmdq7uwqbeJ5NDflTbP0/NwbeBcAMqsp+MKjo3o6pct8rJqbuvavRu7pTA7EDpzrgEq3FbfdxcyjGiKCMauVWNrMedd+vuM6BraoM20JPWTk+ivV7/6O7wdDmDCko3jgj05PbJ0eyydtcSorL+0rpJYftQEVKsr/f2s/6pY2/mKN3qbWXr0HjxK/ttd34wCwU/kHP9FyfDoLvmcL/76D4oXaeysv61sC9e2nDfumTJAnWfzsdL97POfuziCLBrhiEQ772WnUKtb2LWTTJll2+F/WCjeG615XZa47YwL63XtTNGd3eL+cCtDsWwjrMR+co6TTsPyWHVxmy8YhVTa+s0q/5DEWiZy+Hc/WNzaPvs/e6T3z7OLC/pmaer41Sf2wjUN/zanXbJ5eFdu0I61/Xj0/nz82Z/8Qer2+elIgfr6fF8Oe/AAkIJN0YhJzPjLCLeWq3dCILSY3vrj3ZHvp2+emMNJrLhgipshF9SfnIbU5K5UaQJY0PVjCoo3YBMDYsCquW6qZKeJLk7v1XUtJYw3bpLVEYuMLb1/eayPx+aLfA+hduDJK1HO1N4Yt0Il9kQiVuiIGxELQXdzl2VnVM87bb1WDHhdQ+6lid/LSrdydV6A86sM5F2uhXUeNvuPtYnb2IpXLtzu0Lg1CRrKoAkorvx4Po+ZMxgHu5aw4+03UmZnCPMw2MvIdzVSEHauGl7/HN93xxHLEow1xZUH6v35/Nnb2XBvWWQdbbm/+Q41q7OX/45NuV24HUEOlDBh1EzFIU7gXM7A5Fv09XSztYb3xDuG5GTP4ZrVq7z6dug4FQNOmLYHI+bz+emnZt3h4/6D9/5r1znT5lV13RuHupPph6/Cu5WQQ2y+7a4fqK5b2fB511zOY07WeWistKuVCTVV7s6H3cH87SHLBxjK3JKuz82j/rN/FZeuV5VDtM7ZeOullFw77JMbsPzglEjtqujuf1nfecNmWrtKmLNvSJbuK1k3KQrd8ViA9mCXFF9rD0V3PmdMRtoWY4jLLuUIlDfyL12e+lXM1uy3qX/G3uv7Ac2gAAbf9kFriqpTt8K7Phy7UWhyg1zbRjK7fsIch7vKqt3Hx+8Nim9kNZuK9hdAGHDSMEpFNHW+ms9XhxIt1776mwIjisbuVpoI8mFVSugQ2dmAuncz13z5A97t2t1x1VMo5JeuauwrWrcu8rStaTtDRY/KNsWynIQNRAL2xVVFeg6umoPJ7qrQ271tl1IkYvWri4YHbi+pu8RQ3fuh0kvoAz0j8PlEWP+blQ/cEC746RWwwdLRPmwC2D7fEjo0+VYowbh7npLycAgGc3PboAy8LVecet7+naxazBmORSzuzTMrri4tbhY2Q982F2zcZ0d1tIuOKVdcErLq9VqiOJtF7LNqcpA/yd2GZi7rSWt1rIaPtheaVeXyoZ/yq4cle3miuQ/nfx2HezHui5ZsOtJfl0S2z5CzuZdpSZyp3ZQ3OWAsgvmggcGdVfb2FsyF6EIG3NJMlhtKxp1RKcbDoy5r8fOQX29JGy01Y4cpet0mF3lMbsQF6th0R+wj6759LgBENtdnNluaz2X+b/tMxU5PPVa+9jOQoc2DOZKtmv20Sswdw9Bkn63tY3Xh9xlmp2E2drS/GGA2d1vYYmuJCPUzvp+mO7a3tpIkPs0497j+BFLcVYDxbHGGvbFVoPVrPJ2bIhimP3tB/u4IrF5p047t3pu3g1h7LY1s26WWTAuhF2Mk/O22beGa+cuq8sBjqGHR6NEuga1TcHsdMZsRMQHfGUJmRgch4VpktwKG0cwlZsWYKcgbl0Qt9uY3AYGfEiVGPb/7fAoVoOfId/crhrOzXgcrN0NbEV5mB3OmbvDk9enK8pz7h6fGn/jV3qTnX25a+Rm5yUy6B8tObpDCU5ENYQ7tscqqnX08/V2xHYqt2FKyke2ix+QROGufAbfZZGYIiFRV1G3gAB4zY0KlB0hSg2xGzUDd9XtNvsPI4Lh8i9JYoT+8afmVO+2zaEbOzBecf0UbXm9l35uzN663/HcyLWgxs7upLn2BuSVuHtx3EZFBYmDdqcRj5DuHHbdJSQb5ESgBJe/rqkpyXl6d7jbHe8uYGvR9UNiTY7C08ic7v6BWJO94dRst89g49fdC5FkSk63sj43MSjrLpQLqjOYqlJQtAvVu9+Zxutr5xmYieaSHbYaJmhh/bkNhS2qFnYfWJJR2rjJXY62pjqMXfn5PsUdfHblqki6iuWCuOkcZFqDeRDMw8JpVDKcME+2ce6+fq73nmivi5KP3yPc041oyDWDFjiK2t19NTKG2jebsf92E4MkCRj2zW+dpX7bnQ/ta0ODcdfPKEGp/rj5NEZgLsVSlnQou6JV5IzSVtYuaUf1udMRZ+TD9WNz/DxqRXerm1FNQSWWuRsugurueHxQubui5N749dnx/paby8HJ6eqxOXxsxn3HTRukHj3Uv427jhvVFJTVD/WnMxKGuM+SbLl7FqGvbpclNwg0R4Fj2zES2bP0g3DF5U6DpLb6wfY/vkNwIx3KIehH6VQdd0+C3HvVdaAuyZ18qW6tn4Zdw8VDzI5Jdg237RKIxLRewhfq613eIGz8LldkQ10e8S005U7TK6qNGj/XzuXv3E40oqKE0wZy84qG5S3VT/TMPp4v3ayWNTXx6GfHU4e730YuOkeQyZ3qhDWvsGFAwakRYuNdvzJ34iM7qRsq+5Eud5NxFGkDv4L7y+HOq8QxA1WByYtrR+moEzkKWPBlV1h2GdmvKEisf6195LfcLFc7gPpZru8xdkFNJij0tT9dxpTYDXj62i1UsSvf/l1I+HytfaS7M7gsEbFwtH8HCypITN7XbrKCRlTXo469hAF09Pr370GGRk/t4h3JPHG3EApyXB2b503rOvH0EXdXXEpyWPR1RJIh3F1VMkJx64okRbjRMqMHf19hIIpwdzU5uVNmK8IaqnDnCzLFVW+9e33XnV3tDgOz+6p8AB+2R4uBxtk+Imw3lGTMraX26ylPuJtEYSVwO/CFTVmV5GEBt2I0ocB17OQCkspHKFz0ZneleLht9RjrbOR3vMrVw8605Cx17GjceKZxKyG3fo7N3a+nUTQhnDiEZADHZr+/3YCceHcrU9r5SdplqrJbN8ru86jBs8qBKFEtBhvcXbcyu8XL7FYbU5Z+2iUxs3MCswczuOXa3GYO8tL+i8W4fNgGGLLJrXFFNWxnDdmMlJFOnU9t/elDa6z20zlE8t3NbDJV4TTecXPTbRkb9s0Gdm+VJI/j9PtA49DPhTLV8K6US6S2k9y1j7KbzgW5jHKqOTWX4x2I41xPT+6doCGoi4iZnbSYRZqsGLC17QtDf7EGF8O2Ipk8MUjGXIWrgB0BfOhW5OJjfBjGjcTs5qqymyyKTEzvKtodxqkqlZtlMkznZIyPzSxr7/wFqUACNHNXrYzMuaFqghk07sE2Rka9VG3jdHs3zZbJsHYUFXSTSEj2FcqLd9P3yEDcVDDe6nBHI3nWskPV281xS+wqcPdEhCJnXlvLeKvLjYZJTjyeoBx/1I9aO7Xw60FSO0bJLKnT+dhvIW2OR5DG5iZzkOdPdAXjnAkvhbofRP0sQm7xgxWfe2pBDCE8ybrOzebyabffbcBruF6SD+sLctV9bm53H7vYHNA2tzEk1Zr2YRDNFC4EIgeK3VKBkt1NMDL7xD4MJbs7XiR17zYDkB0Z17VyG4RxOzcUw3YlmcTQ9yzfv7oYw0Yq3EYqhY2WCzIRqzvN2S77fE1dKDmsf8nZGTk55CZBcRtHczXkxto+zOk2HKdxcjeKLDg1EyDjp7sYw3kjK51RHpJIOnHlC3IIm2WuF0a5cNlOqsyevOd2x5wPSxq7LyPsikhYnSXJl43Yzd7jf+6BBWar59dabcILCe5NrVjE4c6lNnGGW78iSJqM3yHA3DhB2pBZWc+rbC6BIrdBr/V2ufYH0wdGR2y5C0QViQRMZdhxdu72JEXGaugBKNdzrocEBhsAkjvEpi7yBEHhHbq0iMZOVYIMc5D8eXeBtx5Qpl2SkJMpnqjkrq2p2aF/EnJzd9lMDjPzbACcu4ewKddlKhmxb28zyEbx14WcjQfI3AtdrXZhXt/xMlpNHbaZyTWqqQpu4roK2lRIZrP+mE1u5ddDuPbDkFBsj4CLYmBt1JB9ro+7+8931DFPl+BYVy/ILA5T2bgW11ENk+OQeE3mLDnVYYcZ3Vptbghfk2YbVUYdZnQ3hTi5w+3UR1Xk5ssJMlflt+Pu3AbscOvV3RoaTiwOm+bkEvbTdvfMR7kObuckU4H+VR8bf0pm7ihD9f/lzaun3VPdrrzbUj//8u9//390+HSLrPkBAA=="; \ No newline at end of file diff --git a/assets/style.css b/assets/style.css index 496e66f..778b949 100644 --- a/assets/style.css +++ b/assets/style.css @@ -6,17 +6,36 @@ --light-color-background-warning: #e6e600; --light-color-icon-background: var(--light-color-background); --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); --light-color-text: #222; - --light-color-text-aside: #707070; - --light-color-link: #4da6ff; - --light-color-ts: #db1373; - --light-color-ts-interface: #139d2c; - --light-color-ts-enum: #9c891a; - --light-color-ts-class: #2484e5; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; --light-color-ts-function: #572be7; - --light-color-ts-namespace: #b111c9; - --light-color-ts-private: #707070; - --light-color-ts-variable: #4d68ff; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-external-icon: url("data:image/svg+xml;utf8,"); --light-color-scheme: light; @@ -27,17 +46,36 @@ --dark-color-warning-text: #222; --dark-color-icon-background: var(--dark-color-background-secondary); --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; --dark-color-text: #f5f5f5; --dark-color-text-aside: #dddddd; --dark-color-link: #00aff4; - --dark-color-ts: #ff6492; - --dark-color-ts-interface: #6cff87; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); --dark-color-ts-enum: #f4d93e; - --dark-color-ts-class: #61b0ff; - --dark-color-ts-function: #9772ff; - --dark-color-ts-namespace: #e14dff; - --dark-color-ts-private: #e2e2e2; - --dark-color-ts-variable: #4d68ff; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-external-icon: url("data:image/svg+xml;utf8,"); --dark-color-scheme: dark; } @@ -50,17 +88,35 @@ --color-warning-text: var(--light-color-warning-text); --color-icon-background: var(--light-color-icon-background); --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-class: var(--light-color-ts-class); - --color-ts-function: var(--light-color-ts-function); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-private: var(--light-color-ts-private); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --external-icon: var(--light-external-icon); --color-scheme: var(--light-color-scheme); } @@ -74,17 +130,35 @@ --color-warning-text: var(--dark-color-warning-text); --color-icon-background: var(--dark-color-icon-background); --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-function: var(--dark-color-ts-function); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-private: var(--dark-color-ts-private); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --external-icon: var(--dark-external-icon); --color-scheme: var(--dark-color-scheme); } @@ -105,17 +179,35 @@ body { --color-warning-text: var(--light-color-warning-text); --color-icon-background: var(--light-color-icon-background); --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-class: var(--light-color-ts-class); - --color-ts-function: var(--light-color-ts-function); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-private: var(--light-color-ts-private); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --external-icon: var(--light-external-icon); --color-scheme: var(--light-color-scheme); } @@ -127,17 +219,35 @@ body { --color-warning-text: var(--dark-color-warning-text); --color-icon-background: var(--dark-color-icon-background); --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-function: var(--dark-color-ts-function); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-private: var(--dark-color-ts-private); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --external-icon: var(--dark-external-icon); --color-scheme: var(--dark-color-scheme); } @@ -156,6 +266,16 @@ h6 { line-height: 1.2; } +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); +} + h1 { font-size: 1.875rem; margin: 0.67rem 0; @@ -190,12 +310,6 @@ h6 { text-transform: uppercase; } -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; -} - dl, menu, ol, @@ -208,61 +322,25 @@ dd { } .container { - max-width: 1600px; + max-width: 1700px; padding: 0 2rem; } -@media (min-width: 640px) { - .container { - padding: 0 4rem; - } -} -@media (min-width: 1200px) { - .container { - padding: 0 8rem; - } -} -@media (min-width: 1600px) { - .container { - padding: 0 12rem; - } -} - /* Footer */ -.tsd-generator { +footer { border-top: 1px solid var(--color-accent); padding-top: 1rem; padding-bottom: 1rem; max-height: 3.5rem; } - -.tsd-generator > p { - margin-top: 0; - margin-bottom: 0; - padding: 0 1rem; +.tsd-generator { + margin: 0 1em; } .container-main { - display: flex; - justify-content: space-between; - position: relative; margin: 0 auto; -} - -.col-4, -.col-8 { - box-sizing: border-box; - float: left; - padding: 2rem 1rem; -} - -.col-4 { - flex: 0 0 25%; -} -.col-8 { - flex: 1 0; - flex-wrap: wrap; - padding-left: 0; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); } @keyframes fade-in { @@ -305,22 +383,6 @@ dd { opacity: 0; } } -@keyframes shift-to-left { - from { - transform: translate(0, 0); - } - to { - transform: translate(-25%, 0); - } -} -@keyframes unshift-to-left { - from { - transform: translate(-25%, 0); - } - to { - transform: translate(0, 0); - } -} @keyframes pop-in-from-right { from { transform: translate(100%, 0); @@ -340,7 +402,8 @@ dd { } body { background: var(--color-background); - font-family: "Segoe UI", sans-serif; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 16px; color: var(--color-text); } @@ -369,13 +432,29 @@ pre { } pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; padding: 10px; - border: 0.1em solid var(--color-accent); + border: 1px solid var(--color-accent); } pre code { padding: 0; font-size: 100%; } +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} blockquote { margin: 1em 0; @@ -391,13 +470,12 @@ blockquote { padding: 0 0 0 20px; margin: 0; } -.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, +.tsd-typography h4, .tsd-typography h5, .tsd-typography h6 { font-size: 1em; - margin: 0; } .tsd-typography h5, .tsd-typography h6 { @@ -408,90 +486,18 @@ blockquote { .tsd-typography ol { margin: 1em 0; } - -@media (max-width: 1024px) { - html .col-content { - float: none; - max-width: 100%; - width: 100%; - padding-top: 3rem; - } - html .col-menu { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - max-width: 25rem; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-menu > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu :is(header, footer, .col-content) { - animation: shift-to-left 0.4s; - } - - .to-has-menu .col-menu { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu :is(header, footer, .col-content) { - animation: unshift-to-left 0.4s; - } - - .from-has-menu .col-menu { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu :is(header, footer, .col-content) { - transform: translate(-25%, 0); - } - .has-menu .col-menu { - visibility: visible; - transform: translate(0, 0); - display: flex; - flex-direction: column; - gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); } .tsd-breadcrumb { @@ -641,6 +647,28 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { font-weight: bold; } +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + .tsd-panel-group.tsd-index-group { margin-bottom: 0; } @@ -672,43 +700,6 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { -o-page-break-inside: avoid; page-break-inside: avoid; } -.tsd-index-panel a, -.tsd-index-panel a.tsd-parent-kind-module { - color: var(--color-ts); -} -.tsd-index-panel a.tsd-parent-kind-interface { - color: var(--color-ts-interface); -} -.tsd-index-panel a.tsd-parent-kind-enum { - color: var(--color-ts-enum); -} -.tsd-index-panel a.tsd-parent-kind-class { - color: var(--color-ts-class); -} -.tsd-index-panel a.tsd-kind-module { - color: var(--color-ts-namespace); -} -.tsd-index-panel a.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-index-panel a.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-index-panel a.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-index-panel a.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-index-panel a.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-index-panel a.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-index-panel a.tsd-is-private { - color: var(--color-ts-private); -} .tsd-flag { display: inline-block; @@ -723,7 +714,7 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { } .tsd-anchor { - position: absolute; + position: relative; top: -100px; } @@ -737,108 +728,62 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { margin-bottom: 0; border-bottom: none; } -.tsd-member [data-tsd-kind] { - color: var(--color-ts); -} -.tsd-member [data-tsd-kind="Interface"] { - color: var(--color-ts-interface); -} -.tsd-member [data-tsd-kind="Enum"] { - color: var(--color-ts-enum); -} -.tsd-member [data-tsd-kind="Class"] { - color: var(--color-ts-class); + +.tsd-navigation.settings { + margin: 1rem 0; } -.tsd-member [data-tsd-kind="Private"] { - color: var(--color-ts-private); +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; } - -.tsd-navigation a { - display: block; - margin: 0.4rem 0; - border-left: 2px solid transparent; +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; color: var(--color-text); text-decoration: none; - transition: border-left-color 0.1s; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); } -.tsd-navigation a:hover { +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { text-decoration: underline; } -.tsd-navigation ul { - margin: 0; +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; padding: 0; list-style: none; } -.tsd-navigation li { +.tsd-navigation li, +.tsd-page-navigation li { padding: 0; + max-width: 100%; } - -.tsd-navigation.primary .tsd-accordion-details > ul { - margin-top: 0.75rem; -} -.tsd-navigation.primary a { - padding: 0.75rem 0.5rem; - margin: 0; +.tsd-nested-navigation { + margin-left: 3rem; } -.tsd-navigation.primary ul li a { - margin-left: 0.5rem; +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; } -.tsd-navigation.primary ul li li a { +.tsd-small-nested-navigation { margin-left: 1.5rem; } -.tsd-navigation.primary ul li li li a { - margin-left: 2.5rem; -} -.tsd-navigation.primary ul li li li li a { - margin-left: 3.5rem; -} -.tsd-navigation.primary ul li li li li li a { - margin-left: 4.5rem; -} -.tsd-navigation.primary ul li li li li li li a { - margin-left: 5.5rem; -} -.tsd-navigation.primary li.current > a { - border-left: 0.15rem var(--color-text) solid; -} -.tsd-navigation.primary li.selected > a { - font-weight: bold; - border-left: 0.2rem var(--color-text) solid; -} -.tsd-navigation.primary ul li a:hover { - border-left: 0.2rem var(--color-text-aside) solid; -} -.tsd-navigation.primary li.globals + li > span, -.tsd-navigation.primary li.globals + li > a { - padding-top: 20px; +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; } -.tsd-navigation.secondary.tsd-navigation--toolbar-hide { - max-height: calc(100vh - 1rem); - top: 0.5rem; -} -.tsd-navigation.secondary > ul { - display: inline; - padding-right: 0.5rem; - transition: opacity 0.2s; -} -.tsd-navigation.secondary ul li a { - padding-left: 0; -} -.tsd-navigation.secondary ul li li a { - padding-left: 1.1rem; -} -.tsd-navigation.secondary ul li li li a { - padding-left: 2.2rem; -} -.tsd-navigation.secondary ul li li li li a { - padding-left: 3.3rem; -} -.tsd-navigation.secondary ul li li li li li a { - padding-left: 4.4rem; -} -.tsd-navigation.secondary ul li li li li li li a { - padding-left: 5.5rem; +.tsd-page-navigation ul { + padding-left: 1.75rem; } #tsd-sidebar-links a { @@ -851,41 +796,40 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { } a.tsd-index-link { - margin: 0.25rem 0; + padding: 0.25rem 0 !important; font-size: 1rem; line-height: 1.25rem; display: inline-flex; align-items: center; + color: var(--color-text); } -.tsd-accordion-summary > h1, -.tsd-accordion-summary > h2, -.tsd-accordion-summary > h3, -.tsd-accordion-summary > h4, -.tsd-accordion-summary > h5 { - display: inline-flex; - align-items: center; - vertical-align: middle; - margin-bottom: 0; +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { user-select: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; -} -.tsd-accordion-summary { - display: block; + cursor: pointer; } +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} .tsd-accordion-summary > * { margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; } -.tsd-accordion-summary::-webkit-details-marker { - display: none; -} -.tsd-index-accordion .tsd-accordion-summary svg { - margin-right: 0.25rem; +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; } .tsd-index-content > :not(:first-child) { margin-top: 0.75rem; @@ -910,34 +854,6 @@ a.tsd-index-link { margin-right: 0.8rem; } -@media (min-width: 1025px) { - .col-content { - margin: 2rem auto; - } - - .menu-sticky-wrap { - position: sticky; - height: calc(100vh - 2rem); - top: 4rem; - right: 0; - padding: 0 1.5rem; - padding-top: 1rem; - margin-top: 3rem; - transition: 0.3s ease-in-out; - transition-property: top, padding-top, padding, height; - overflow-y: auto; - } - .col-menu { - border-left: 1px solid var(--color-accent); - } - .col-menu--hide { - top: 1rem; - } - .col-menu .tsd-navigation:not(:last-child) { - padding-bottom: 1.75rem; - } -} - .tsd-panel { margin-bottom: 2.5rem; } @@ -1018,8 +934,9 @@ a.tsd-index-link { box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } #tsd-search .results li { - padding: 0 10px; background-color: var(--color-background); + line-height: initial; + padding: 4px; } #tsd-search .results li:nth-child(even) { background-color: var(--color-background-secondary); @@ -1027,12 +944,15 @@ a.tsd-index-link { #tsd-search .results li.state { display: none; } -#tsd-search .results li.current, -#tsd-search .results li:hover { +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { background-color: var(--color-accent); } #tsd-search .results a { - display: block; + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; } #tsd-search .results a:before { top: 10px; @@ -1088,6 +1008,11 @@ a.tsd-index-link { overflow-x: auto; } +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + .tsd-signature-symbol { color: var(--color-text-aside); font-weight: normal; @@ -1143,7 +1068,7 @@ ul.tsd-type-parameter-list h5 { } .tsd-page-toolbar { - position: fixed; + position: sticky; z-index: 1; top: 0; left: 0; @@ -1183,16 +1108,14 @@ ul.tsd-type-parameter-list h5 { padding: 12px 0; } -.tsd-page-toolbar--hide { - transform: translateY(-100%); -} - .tsd-widget { display: inline-block; overflow: hidden; opacity: 0.8; height: 40px; - transition: opacity 0.1s, background-color 0.2s; + transition: + opacity 0.1s, + background-color 0.2s; vertical-align: bottom; cursor: pointer; } @@ -1214,12 +1137,6 @@ ul.tsd-type-parameter-list h5 { .tsd-widget.menu { display: none; } -@media (max-width: 1024px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } -} input[type="checkbox"] + .tsd-widget:before { background-position: -120px 0; } @@ -1250,7 +1167,7 @@ img { } .deprecated { - text-decoration: line-through; + text-decoration: line-through !important; } .warning { @@ -1259,6 +1176,78 @@ img { background: var(--color-background-warning); } +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + * { scrollbar-width: thin; scrollbar-color: var(--color-accent) var(--color-icon-background); @@ -1277,3 +1266,147 @@ img { border-radius: 999rem; border: 0.25rem solid var(--color-icon-background); } + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/classes/BaseMerkleProof.html b/classes/BaseMerkleProof.html index fe74f99..090c418 100644 --- a/classes/BaseMerkleProof.html +++ b/classes/BaseMerkleProof.html @@ -1,423 +1,27 @@ -BaseMerkleProof | o1js-merkle
-
- -
-
-
-
- -

Class BaseMerkleProof

-
-

Merkle proof CircuitValue for an element in a MerkleTree.

-
-
-

Hierarchy

-
    -
  • CircuitValue -
      -
    • BaseMerkleProof
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
root: Field
-
- -
sideNodes: Field[]
-
- -
height: number
-
-

Methods

-
- -
    - -
  • -
    -

    Parameters

    -
    -

    Returns void

-
- -
    - -
  • -
    -

    Parameters

    -
    -

    Returns Bool

-
- -
-
- -
    - -
  • -

    Returns boolean

-
- -
    - -
  • -

    Returns BaseMerkleProof

-
- -
    - -
  • -

    Returns Field[]

-
- -
    - -
  • -

    Returns any

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      v: InstanceType<T>
    -

    Returns void

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -

    Returns InstanceType<T>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      xs: Field[]
    -

    Returns InstanceType<T>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      value: any
    -

    Returns InstanceType<T>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      value: NonMethods<InstanceType<T>>
    -

    Returns InstanceType<T>

-
- -
    - -
  • -

    Returns number

-
- -
    - -
  • -

    Returns []

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      t: InstanceType<T>
    -

    Returns InstanceType<T>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      v: InstanceType<T>
    -

    Returns Field[]

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      v: InstanceType<T>
    -

    Returns HashInput

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      v: InstanceType<T>
    -

    Returns any

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +BaseMerkleProof | o1js-merkle

Class BaseMerkleProof

Merkle proof CircuitValue for an element in a MerkleTree.

+

BaseMerkleProof

+

Hierarchy

  • CircuitValue
    • BaseMerkleProof

Constructors

Properties

root: Field
sideNodes: Field[]
height: number

Methods

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • xs: Field[]

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • value: any

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • value: NonMethods<InstanceType<T>>

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • value: any

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • t: InstanceType<T>

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • v: InstanceType<T>

    Returns HashInput

\ No newline at end of file diff --git a/classes/BaseSiblingPath.html b/classes/BaseSiblingPath.html index 268c26c..a23fe15 100644 --- a/classes/BaseSiblingPath.html +++ b/classes/BaseSiblingPath.html @@ -1,472 +1,28 @@ -BaseSiblingPath | o1js-merkle
-
- -
-
-
-
- -

Class BaseSiblingPath

-
-

Hierarchy

-
    -
  • CircuitValue -
      -
    • BaseSiblingPath
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
path: Field[]
-
- -
height: number
-
-

Methods

-
- -
    - -
  • -
    -

    Parameters

    -
    -

    Returns void

-
- -
-
- -
    - -
  • -
    -

    Parameters

    -
    -

    Returns Bool

-
- -
-
- -
-
- -
    - -
  • -

    Returns boolean

-
- -
    - -
  • -

    Returns BaseSiblingPath

-
- -
    - -
  • -

    Returns Field[]

-
- -
    - -
  • -

    Returns any

-
- -
-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      v: InstanceType<T>
    -

    Returns void

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -

    Returns InstanceType<T>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      xs: Field[]
    -

    Returns InstanceType<T>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      value: any
    -

    Returns InstanceType<T>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      value: NonMethods<InstanceType<T>>
    -

    Returns InstanceType<T>

-
- -
    - -
  • -

    Returns number

-
- -
    - -
  • -

    Returns []

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      t: InstanceType<T>
    -

    Returns InstanceType<T>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      v: InstanceType<T>
    -

    Returns Field[]

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      v: InstanceType<T>
    -

    Returns HashInput

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T extends AnyConstructor

    -
    -

    Parameters

    -
      -
    • -
      this: T
    • -
    • -
      v: InstanceType<T>
    -

    Returns any

-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +BaseSiblingPath | o1js-merkle

Class BaseSiblingPath

Hierarchy

  • CircuitValue
    • BaseSiblingPath

Constructors

Properties

path: Field[]
height: number

Methods

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • xs: Field[]

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • value: any

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • value: NonMethods<InstanceType<T>>

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • value: any

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • t: InstanceType<T>

    Returns InstanceType<T>

  • Type Parameters

    • T extends AnyConstructor

    Parameters

    • this: T
    • v: InstanceType<T>

    Returns HashInput

\ No newline at end of file diff --git a/classes/CSMTUtils.html b/classes/CSMTUtils.html index 2832af4..5a2cb0f 100644 --- a/classes/CSMTUtils.html +++ b/classes/CSMTUtils.html @@ -1,367 +1,49 @@ -CSMTUtils | o1js-merkle
-
- -
-
-
-
- -

Class CSMTUtils

-
-

Collection of utility functions for compact sparse merkle tree

-
-
-

Hierarchy

-
    -
  • CSMTUtils
-
-
-
- -
-
-

Constructors

-
- -
-
-

Methods

-
- -
    - -
  • -

    Returns true if the value is in the tree and it is at the index from the key

    - -

    Static

    -

    Returns

    {boolean}

    - -

    Memberof

    CSMTUtils

    -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      proof: CompactSparseMerkleProof
    • -
    • -
      expectedRoot: Field
    • -
    • -
      key: K
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      Optional value: V
    • -
    • -
      Optional valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashKey: boolean;
          hashValue: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashKey: boolean
      • -
      • -
        hashValue: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns boolean

-
- -
    - -
  • -

    Returns true if there is no value at the index from the key

    - -

    Static

    -

    Returns

    {boolean}

    - -

    Memberof

    CSMTUtils

    -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      proof: CompactSparseMerkleProof
    • -
    • -
      expectedRoot: Field
    • -
    • -
      key: K
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      Optional options: {
          hashKey: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashKey: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns boolean

-
- -
-
- -
-
- -
    - -
  • -

    Verify Compact Proof for Compact Sparse Merkle Tree

    - -

    Static

    -

    Returns

    {boolean}

    - -

    Memberof

    CSMTUtils

    -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      cproof: CSparseCompactMerkleProof
    • -
    • -
      expectedRoot: Field
    • -
    • -
      key: K
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      Optional value: V
    • -
    • -
      Optional valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashKey: boolean;
          hashValue: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashKey: boolean
      • -
      • -
        hashValue: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns boolean

-
- -
    - -
  • -

    Verify Proof of Compact Sparse Merkle Tree

    - -

    Static

    -

    Returns

    {boolean}

    - -

    Memberof

    CSMTUtils

    -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      proof: CompactSparseMerkleProof
    • -
    • -
      root: Field
    • -
    • -
      key: K
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      Optional value: V
    • -
    • -
      Optional valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashKey: boolean;
          hashValue: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashKey: boolean
      • -
      • -
        hashValue: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns boolean

-
- -
    - -
  • -

    Verify a merkle proof, return result and updates.

    - -

    Static

    -

    Returns

    {({ +CSMTUtils | o1js-merkle

    Class CSMTUtils

    Collection of utility functions for compact sparse merkle tree

    +

    CSMTUtils

    +

    Constructors

    Methods

    • Returns true if the value is in the tree and it is at the index from the key

      +

      Type Parameters

      • K
      • V

      Parameters

      • proof: CompactSparseMerkleProof
      • expectedRoot: Field
      • key: K
      • keyType: Provable<K>
      • Optional value: V
      • Optional valueType: Provable<V>
      • Optional options: {
            hashKey: boolean;
            hashValue: boolean;
            hasher: Hasher;
        } = ...

        hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

        +
        • hashKey: boolean
        • hashValue: boolean
        • hasher: Hasher

      Returns boolean

      {boolean}

      +

      Static

      Memberof

      CSMTUtils

      +
    • Returns true if there is no value at the index from the key

      +

      Type Parameters

      • K
      • V

      Parameters

      • proof: CompactSparseMerkleProof
      • expectedRoot: Field
      • key: K
      • keyType: Provable<K>
      • Optional options: {
            hashKey: boolean;
            hasher: Hasher;
        } = ...

        hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashKey: whether to hash the key, the default is true

        +
        • hashKey: boolean
        • hasher: Hasher

      Returns boolean

      {boolean}

      +

      Static

      Memberof

      CSMTUtils

      +
    • Verify Compact Proof for Compact Sparse Merkle Tree

      +

      Type Parameters

      • K
      • V

      Parameters

      • cproof: CSparseCompactMerkleProof
      • expectedRoot: Field
      • key: K
      • keyType: Provable<K>
      • Optional value: V
      • Optional valueType: Provable<V>
      • Optional options: {
            hashKey: boolean;
            hashValue: boolean;
            hasher: Hasher;
        } = ...

        hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

        +
        • hashKey: boolean
        • hashValue: boolean
        • hasher: Hasher

      Returns boolean

      {boolean}

      +

      Static

      Memberof

      CSMTUtils

      +
    • Verify Proof of Compact Sparse Merkle Tree

      +

      Type Parameters

      • K
      • V

      Parameters

      • proof: CompactSparseMerkleProof
      • root: Field
      • key: K
      • keyType: Provable<K>
      • Optional value: V
      • Optional valueType: Provable<V>
      • Optional options: {
            hashKey: boolean;
            hashValue: boolean;
            hasher: Hasher;
        } = ...

        hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

        +
        • hashKey: boolean
        • hashValue: boolean
        • hasher: Hasher

      Returns boolean

      {boolean}

      +

      Static

      Memberof

      CSMTUtils

      +
    • Verify a merkle proof, return result and updates.

      +

      Type Parameters

      • K
      • V

      Parameters

      • proof: CompactSparseMerkleProof
      • expectedRoot: Field
      • key: K
      • keyType: Provable<K>
      • Optional value: V
      • Optional valueType: Provable<V>
      • Optional options: {
            hashKey: boolean;
            hashValue: boolean;
            hasher: Hasher;
        } = ...

        hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

        +
        • hashKey: boolean
        • hashValue: boolean
        • hasher: Hasher

      Returns {
          ok: boolean;
          updates: null | [Field, Field[]][];
      }

      {({ ok: boolean; updates: [Field, Field[]][] | null; })}

      - -

      Memberof

      CSMTUtils

      -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      proof: CompactSparseMerkleProof
    • -
    • -
      expectedRoot: Field
    • -
    • -
      key: K
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      Optional value: V
    • -
    • -
      Optional valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashKey: boolean;
          hashValue: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashKey: boolean
      • -
      • -
        hashValue: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns {
        ok: boolean;
        updates: null | [Field, Field[]][];
    }

    -
      -
    • -
      ok: boolean
    • -
    • -
      updates: null | [Field, Field[]][]
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +
  • ok: boolean
  • updates: null | [Field, Field[]][]

Static

Memberof

CSMTUtils

+
\ No newline at end of file diff --git a/classes/CompactDeepSparseMerkleSubTree.html b/classes/CompactDeepSparseMerkleSubTree.html index 608677e..b8c70f6 100644 --- a/classes/CompactDeepSparseMerkleSubTree.html +++ b/classes/CompactDeepSparseMerkleSubTree.html @@ -1,547 +1,82 @@ -CompactDeepSparseMerkleSubTree | o1js-merkle
-
- -
-
-
-
- -

Class CompactDeepSparseMerkleSubTree<K, V>

-
-

This is used to compute new roots for state transitions based on sideNodes.

-
-
-

Type Parameters

-
    -
  • -

    K

  • -
  • -

    V

-
-

Hierarchy

-
-
-
-
- -
-
-

Constructors

-
- -
    - -
  • -

    Creates an instance of CompactDeepSparseMerkleSubTree.

    - -

    Memberof

    CompactDeepSparseMerkleSubTree

    -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      store: Store<V>
    • -
    • -
      root: Field
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashKey?: boolean;
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...
      -
        -
      • -
        Optional hashKey?: boolean
      • -
      • -
        Optional hashValue?: boolean
      • -
      • -
        Optional hasher?: Hasher
    -

    Returns CompactDeepSparseMerkleSubTree<K, V>

-
-

Properties

-
- -
config: {
    hashKey: boolean;
    hashValue: boolean;
}
-
-

Type declaration

-
    -
  • -
    hashKey: boolean
  • -
  • -
    hashValue: boolean
-
- -
keyType: Provable<K>
-
- -
root: Field
-
- -
store: Store<V>
-
- -
th: TreeHasher<K, V>
-
- -
valueType: Provable<V>
-
-

Methods

-
- -
-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Get the value for a key from the tree.

    - -

    Returns

    {(Promise<V | null>)}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      key: K
    -

    Returns Promise<null | V>

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Update a new value for a key in the tree and return the new root of the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      key: K
    • -
    • -
      Optional value: V
    -

    Returns Promise<Field>

-
- -
    - -
  • -

    Update multiple leaves and return the new root of the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      kvs: {
          key: K;
          value?: V;
      }[]
    -

    Returns Promise<Field>

-
- -
    - -
  • -

    Import a compacted sparse merkle tree

    - -

    Static

    -

    Returns

    {Promise<CompactSparseMerkleTree<K, V>>}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      store: Store<V>
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashKey?: boolean;
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...
      -
        -
      • -
        Optional hashKey?: boolean
      • -
      • -
        Optional hashValue?: boolean
      • -
      • -
        Optional hasher?: Hasher
    -

    Returns Promise<CompactSparseMerkleTree<K, V>>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +CompactDeepSparseMerkleSubTree | o1js-merkle

Class CompactDeepSparseMerkleSubTree<K, V>

This is used to compute new roots for state transitions based on sideNodes.

+

CompactSparseMerkleTree

+

Type Parameters

  • K
  • V

Hierarchy (view full)

Constructors

  • Creates an instance of CompactDeepSparseMerkleSubTree.

    +

    Type Parameters

    • K
    • V

    Parameters

    • store: Store<V>
    • root: Field
    • keyType: Provable<K>
    • valueType: Provable<V>
    • Optional options: {
          hashKey?: boolean;
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

      +
      • Optional hashKey?: boolean
      • Optional hashValue?: boolean
      • Optional hasher?: Hasher

    Returns CompactDeepSparseMerkleSubTree<K, V>

    Memberof

    CompactDeepSparseMerkleSubTree

    +

Properties

config: {
    hashKey: boolean;
    hashValue: boolean;
}

Type declaration

  • hashKey: boolean
  • hashValue: boolean
keyType: Provable<K>
root: Field
store: Store<V>
th: TreeHasher<K, V>
valueType: Provable<V>

Methods

  • Import a compacted sparse merkle tree

    +

    Type Parameters

    • K
    • V

    Parameters

    • store: Store<V>
    • keyType: Provable<K>
    • valueType: Provable<V>
    • Optional options: {
          hashKey?: boolean;
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

      +
      • Optional hashKey?: boolean
      • Optional hashValue?: boolean
      • Optional hasher?: Hasher

    Returns Promise<CompactSparseMerkleTree<K, V>>

    {Promise<CompactSparseMerkleTree<K, V>>}

    +

    Static

    Memberof

    CompactSparseMerkleTree

    +
\ No newline at end of file diff --git a/classes/CompactSparseMerkleProof.html b/classes/CompactSparseMerkleProof.html index de7912b..9dea66b 100644 --- a/classes/CompactSparseMerkleProof.html +++ b/classes/CompactSparseMerkleProof.html @@ -1,516 +1,122 @@ -CompactSparseMerkleProof | o1js-merkle
-
- -
-
-
-
- -

Class CompactSparseMerkleProof

-
-

Proof for compact sparse merkle tree

-
-
-

Hierarchy

-
    -
  • {
        nonMembershipLeafData: Field[];
        root: Field;
        siblingData: Field[];
        sideNodes: Field[];
    } -
      -
    • CompactSparseMerkleProof
-
-
-
- -
-
-

Constructors

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      value: {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }
      -
        -
      • -
        nonMembershipLeafData: Field[]
      • -
      • -
        root: Field
      • -
      • -
        siblingData: Field[]
      • -
      • -
        sideNodes: Field[]
    -

    Returns CompactSparseMerkleProof

Properties

nonMembershipLeafData: Field[] = ...
-
- -
root: Field = Field
root: Field = Field
-
- -
siblingData: Field[] = ...
siblingData: Field[] = ...
-
- -
sideNodes: Field[] = ...
sideNodes: Field[] = ...
-
- -
_isStruct: true
_isStruct: true
-
- -
check: ((value: {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
}) => void)
-
-

Type declaration

-
    -
  • -
      -
    • (value: {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }): void
    • -
    • -

      Add assertions to the proof to check if value is a valid member of type T. -This function does not return anything, rather creates any number of assertions on the proof to prove value is a valid member of the type T.

      +})._isStruct

      • Defined in node_modules/.store/o1js@1.2.0/node_modules/o1js/dist/node/lib/provable/types/struct.d.ts:101
check: ((value) => void)

Add assertions to the proof to check if value is a valid member of type T. +This function does not return anything, instead it creates any number of assertions to prove that value is a valid member of the type T.

For instance, calling check function on the type Bool asserts that the value of the element is either 1 or 0.

-
-
-

Parameters

-
    -
  • -
    value: {
        nonMembershipLeafData: Field[];
        root: Field;
        siblingData: Field[];
        sideNodes: Field[];
    }
    -

    the element of type T to put assertions on.

    -
    -
      -
    • -
      nonMembershipLeafData: Field[]
    • -
    • -
      root: Field
    • -
    • -
      siblingData: Field[]
    • -
    • -
      sideNodes: Field[]
-

Returns void

Type declaration

    • (value): void
    • Parameters

      • value: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }

        the element of type T to put assertions on.

        +
        • nonMembershipLeafData: Field[]
        • root: Field
        • siblingData: Field[]
        • sideNodes: Field[]

      Returns void

-
- -
empty: (() => {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
})
-
-

Type declaration

-
    -
  • -
      -
    • (): {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }
    • -
    • -

      Returns {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }

      -
        -
      • -
        nonMembershipLeafData: Field[]
      • -
      • -
        root: Field
      • -
      • -
        siblingData: Field[]
      • -
      • -
        sideNodes: Field[]
empty: (() => {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
})

Type declaration

    • (): {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }
    • Returns {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }

      • nonMembershipLeafData: Field[]
      • root: Field
      • siblingData: Field[]
      • sideNodes: Field[]
-
- -
fromFields: ((fields: Field[]) => {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
})
-
-

Type declaration

-
    -
  • -
      -
    • (fields: Field[]): {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }
    • -
    • -

      A function that returns an element of type T from the given provable data.

      -

      Important: For any element of type T, this function is the reverse operation of calling toFields method on an element of type T.

      - -

      Returns

      An element of type T generated from the given provable data.

      -
      -
      -

      Parameters

      -
        -
      • -
        fields: Field[]
        -

        an array of Field elements describing the provable data of the new T element.

        -
      -

      Returns {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }

      -
        -
      • -
        nonMembershipLeafData: Field[]
      • -
      • -
        root: Field
      • -
      • -
        siblingData: Field[]
      • -
      • -
        sideNodes: Field[]
fromFields: ((fields) => {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
})

Type declaration

    • (fields): {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }
    • Parameters

      • fields: Field[]

      Returns {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }

      • nonMembershipLeafData: Field[]
      • root: Field
      • siblingData: Field[]
      • sideNodes: Field[]
-
- -
fromJSON: ((x: {
    nonMembershipLeafData: string[];
    root: string;
    siblingData: string[];
    sideNodes: string[];
}) => {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
})
-
-

Type declaration

-
    -
  • -
      -
    • (x: {
          nonMembershipLeafData: string[];
          root: string;
          siblingData: string[];
          sideNodes: string[];
      }): {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }
    • -
    • -
      -

      Parameters

      -
        -
      • -
        x: {
            nonMembershipLeafData: string[];
            root: string;
            siblingData: string[];
            sideNodes: string[];
        }
        -
          -
        • -
          nonMembershipLeafData: string[]
        • -
        • -
          root: string
        • -
        • -
          siblingData: string[]
        • -
        • -
          sideNodes: string[]
      -

      Returns {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }

      -
        -
      • -
        nonMembershipLeafData: Field[]
      • -
      • -
        root: Field
      • -
      • -
        siblingData: Field[]
      • -
      • -
        sideNodes: Field[]
fromJSON: ((x) => {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
})

Type declaration

    • (x): {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }
    • Parameters

      • x: {
            nonMembershipLeafData: string[];
            root: string;
            siblingData: string[];
            sideNodes: string[];
        }
        • nonMembershipLeafData: string[]
        • root: string
        • siblingData: string[]
        • sideNodes: string[]

      Returns {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }

      • nonMembershipLeafData: Field[]
      • root: Field
      • siblingData: Field[]
      • sideNodes: Field[]
-
- -
toAuxiliary: ((value?: {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
}) => any[])
-
-

Type declaration

-
    -
  • -
      -
    • (value?: {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }): any[]
    • -
    • -

      A function that takes value (optional), an element of type T, as argument and returns an array of any type that make up the "auxiliary" (non-provable) data of value. -As any element of the interface ProvablePure<T> includes no "auxiliary" data by definition, this function always returns a default value.

      - -

      Returns

      An empty array, as any element of the interface ProvablePure<T> includes no "auxiliary" data by definition.

      -
      -
      -

      Parameters

      -
        -
      • -
        Optional value: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }
        -

        the element of type T to generate the auxiliary data array from, optional. If not provided, a default value for auxiliary data is returned.

        -
        -
          -
        • -
          nonMembershipLeafData: Field[]
        • -
        • -
          root: Field
        • -
        • -
          siblingData: Field[]
        • -
        • -
          sideNodes: Field[]
      -

      Returns any[]

fromValue: ((x) => {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
}) & ((value) => {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
})

Convert provable type from a normal JS type.

+

Type declaration

    • (x): {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }
    • Parameters

      • x: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        } | {
            nonMembershipLeafData: bigint[];
            root: bigint;
            siblingData: bigint[];
            sideNodes: bigint[];
        }

      Returns {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }

      • nonMembershipLeafData: Field[]
      • root: Field
      • siblingData: Field[]
      • sideNodes: Field[]

Type declaration

    • (value): {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }
    • Parameters

      • value: {
            nonMembershipLeafData: Field[] | bigint[];
            root: string | number | bigint | Field;
            siblingData: Field[] | bigint[];
            sideNodes: Field[] | bigint[];
        }
        • nonMembershipLeafData: Field[] | bigint[]
        • root: string | number | bigint | Field
        • siblingData: Field[] | bigint[]
        • sideNodes: Field[] | bigint[]

      Returns {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }

      • nonMembershipLeafData: Field[]
      • root: Field
      • siblingData: Field[]
      • sideNodes: Field[]
-
- -
toFields: ((value: {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
}) => Field[])
-
-

Type declaration

-
    -
  • -
      -
    • (value: {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }): Field[]
    • -
    • -

      A function that takes value, an element of type T, as argument and returns an array of Field elements that make up the provable data of value.

      - -

      Returns

      A Field array describing how this T element is made up of Field elements.

      -
      -
      -

      Parameters

      -
        -
      • -
        value: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }
        -

        the element of type T to generate the Field array from.

        -
        -
          -
        • -
          nonMembershipLeafData: Field[]
        • -
        • -
          root: Field
        • -
        • -
          siblingData: Field[]
        • -
        • -
          sideNodes: Field[]
      -

      Returns Field[]

toAuxiliary: ((value?) => any[])

A function that takes value (optional), an element of type T, as argument and +returns an array of any type that make up the "auxiliary" (non-provable) data of value.

+

Type declaration

    • (value?): any[]
    • Parameters

      • Optional value: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }

        the element of type T to generate the auxiliary data array from, optional. +If not provided, a default value for auxiliary data is returned.

        +
        • nonMembershipLeafData: Field[]
        • root: Field
        • siblingData: Field[]
        • sideNodes: Field[]

      Returns any[]

Returns

An array of any type describing how this T element is made up of "auxiliary" (non-provable) data.

+
-
- -
toInput: ((x: {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
}) => {
    fields?: Field[];
    packed?: [Field, number][];
})
-
-

Type declaration

-
    -
  • -
      -
    • (x: {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }): {
          fields?: Field[];
          packed?: [Field, number][];
      }
    • -
    • -
      -

      Parameters

      -
        -
      • -
        x: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }
        -
          -
        • -
          nonMembershipLeafData: Field[]
        • -
        • -
          root: Field
        • -
        • -
          siblingData: Field[]
        • -
        • -
          sideNodes: Field[]
      -

      Returns {
          fields?: Field[];
          packed?: [Field, number][];
      }

      -
        -
      • -
        Optional fields?: Field[]
      • -
      • -
        Optional packed?: [Field, number][]
toFields: ((value) => Field[])

A function that takes value, an element of type T, as argument and returns +an array of Field elements that make up the provable data of value.

+

Type declaration

    • (value): Field[]
    • Parameters

      • value: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }

        the element of type T to generate the Field array from.

        +
        • nonMembershipLeafData: Field[]
        • root: Field
        • siblingData: Field[]
        • sideNodes: Field[]

      Returns Field[]

Returns

A Field array describing how this T element is made up of Field elements.

+
-
- -
toJSON: ((x: {
    nonMembershipLeafData: Field[];
    root: Field;
    siblingData: Field[];
    sideNodes: Field[];
}) => {
    nonMembershipLeafData: string[];
    root: string;
    siblingData: string[];
    sideNodes: string[];
})
-
-

Type declaration

-
    -
  • -
      -
    • (x: {
          nonMembershipLeafData: Field[];
          root: Field;
          siblingData: Field[];
          sideNodes: Field[];
      }): {
          nonMembershipLeafData: string[];
          root: string;
          siblingData: string[];
          sideNodes: string[];
      }
    • -
    • -
      -

      Parameters

      -
        -
      • -
        x: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }
        -
          -
        • -
          nonMembershipLeafData: Field[]
        • -
        • -
          root: Field
        • -
        • -
          siblingData: Field[]
        • -
        • -
          sideNodes: Field[]
      -

      Returns {
          nonMembershipLeafData: string[];
          root: string;
          siblingData: string[];
          sideNodes: string[];
      }

      -
        -
      • -
        nonMembershipLeafData: string[]
      • -
      • -
        root: string
      • -
      • -
        siblingData: string[]
      • -
      • -
        sideNodes: string[]
toInput: ((x) => {
    fields?: Field[];
    packed?: [Field, number][];
})

Type declaration

    • (x): {
          fields?: Field[];
          packed?: [Field, number][];
      }
    • Parameters

      • x: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }
        • nonMembershipLeafData: Field[]
        • root: Field
        • siblingData: Field[]
        • sideNodes: Field[]

      Returns {
          fields?: Field[];
          packed?: [Field, number][];
      }

      • Optional fields?: Field[]
      • Optional packed?: [Field, number][]
-
-

Methods

-
- -
    - -
  • -

    Return the size of the T type in terms of Field type, as Field is the primitive type.

    -

    Warning: This function returns a number, so you cannot use it to prove something on chain. You can use it during debugging or to understand the memory complexity of some type.

    - -

    Returns

    A number representing the size of the T type in terms of Field type.

    -
    -

    Returns number

toJSON: ((x) => {
    nonMembershipLeafData: string[];
    root: string;
    siblingData: string[];
    sideNodes: string[];
})

Type declaration

    • (x): {
          nonMembershipLeafData: string[];
          root: string;
          siblingData: string[];
          sideNodes: string[];
      }
    • Parameters

      • x: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }
        • nonMembershipLeafData: Field[]
        • root: Field
        • siblingData: Field[]
        • sideNodes: Field[]

      Returns {
          nonMembershipLeafData: string[];
          root: string;
          siblingData: string[];
          sideNodes: string[];
      }

      • nonMembershipLeafData: string[]
      • root: string
      • siblingData: string[]
      • sideNodes: string[]
- -
-

Generated using TypeDoc

-
\ No newline at end of file +}).toJSON

  • Defined in node_modules/.store/o1js@1.2.0/node_modules/o1js/dist/node/lib/provable/types/struct.d.ts:108
toValue: ((x) => {
    nonMembershipLeafData: bigint[];
    root: bigint;
    siblingData: bigint[];
    sideNodes: bigint[];
})

Convert provable type to a normal JS type.

+

Type declaration

    • (x): {
          nonMembershipLeafData: bigint[];
          root: bigint;
          siblingData: bigint[];
          sideNodes: bigint[];
      }
    • Parameters

      • x: {
            nonMembershipLeafData: Field[];
            root: Field;
            siblingData: Field[];
            sideNodes: Field[];
        }
        • nonMembershipLeafData: Field[]
        • root: Field
        • siblingData: Field[]
        • sideNodes: Field[]

      Returns {
          nonMembershipLeafData: bigint[];
          root: bigint;
          siblingData: bigint[];
          sideNodes: bigint[];
      }

      • nonMembershipLeafData: bigint[]
      • root: bigint
      • siblingData: bigint[]
      • sideNodes: bigint[]

Methods

  • Return the size of the T type in terms of Field type, as Field is the primitive type.

    +

    Returns number

    A number representing the size of the T type in terms of Field type.

    +
\ No newline at end of file diff --git a/classes/CompactSparseMerkleTree.html b/classes/CompactSparseMerkleTree.html index 3f7817e..5b0bf4c 100644 --- a/classes/CompactSparseMerkleTree.html +++ b/classes/CompactSparseMerkleTree.html @@ -1,619 +1,85 @@ -CompactSparseMerkleTree | o1js-merkle
-
- -
-
-
-
- -

Class CompactSparseMerkleTree<K, V>

-
-

Compact Sparse Merkle Tree

-
-
-

Type Parameters

-
    -
  • -

    K

  • -
  • -

    V

-
-

Hierarchy

-
-
-
-
- -
-
-

Constructors

-
- -
    - -
  • -

    Creates an instance of CompactSparseMerkleTree.

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      store: Store<V>
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      valueType: Provable<V>
    • -
    • -
      Optional root: Field
    • -
    • -
      Optional options: {
          hashKey?: boolean;
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...
      -
        -
      • -
        Optional hashKey?: boolean
      • -
      • -
        Optional hashValue?: boolean
      • -
      • -
        Optional hasher?: Hasher
    -

    Returns CompactSparseMerkleTree<K, V>

-
-

Properties

-
- -
config: {
    hashKey: boolean;
    hashValue: boolean;
}
-
-

Type declaration

-
    -
  • -
    hashKey: boolean
  • -
  • -
    hashValue: boolean
-
- -
keyType: Provable<K>
-
- -
root: Field
-
- -
store: Store<V>
-
- -
th: TreeHasher<K, V>
-
- -
valueType: Provable<V>
-
-

Methods

-
- -
    - -
  • -

    Clear the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -

    Returns Promise<void>

-
- -
    - -
  • -

    Delete a value from tree and return the new root of the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      key: K
    -

    Returns Promise<Field>

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      path: Field
    • -
    • -
      sideNodes: Field[]
    • -
    • -
      pathNodes: Field[]
    • -
    • -
      oldLeafData: Field[]
    -

    Returns Promise<Field>

-
- -
    - -
  • -

    Get the depth of the tree.

    - -

    Returns

    {number}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -

    Returns number

-
- -
-
- -
    - -
  • -

    Get the value for a key from the tree.

    - -

    Returns

    {(Promise<V | null>)}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      key: K
    -

    Returns Promise<null | V>

-
- -
-
- -
    - -
  • -

    Get the root of the tree.

    - -

    Returns

    {Field}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -

    Returns Field

-
- -
-
- -
-
- -
    - -
  • -

    Check if the key exists in the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      key: K
    -

    Returns Promise<boolean>

-
- -
-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Set the root of the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      root: Field
    -

    Returns Promise<void>

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      path: Field
    • -
    • -
      root: Field
    • -
    • -
      getSiblingData: boolean
    -

    Returns Promise<{
        currentData: null | Field[];
        pathNodes: Field[];
        siblingData: null | Field[];
        sideNodes: Field[];
    }>

-
- -
    - -
  • -

    Update a new value for a key in the tree and return the new root of the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      key: K
    • -
    • -
      Optional value: V
    -

    Returns Promise<Field>

-
- -
    - -
  • -

    Update multiple leaves and return the new root of the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      kvs: {
          key: K;
          value?: V;
      }[]
    -

    Returns Promise<Field>

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      root: Field
    • -
    • -
      key: K
    • -
    • -
      Optional value: V
    -

    Returns Promise<Field>

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      path: Field
    • -
    • -
      value: V
    • -
    • -
      sideNodes: Field[]
    • -
    • -
      pathNodes: Field[]
    • -
    • -
      oldLeafData: Field[]
    -

    Returns Field

-
- -
    - -
  • -

    Import a compacted sparse merkle tree

    - -

    Static

    -

    Returns

    {Promise<CompactSparseMerkleTree<K, V>>}

    - -

    Memberof

    CompactSparseMerkleTree

    -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      store: Store<V>
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashKey?: boolean;
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...
      -
        -
      • -
        Optional hashKey?: boolean
      • -
      • -
        Optional hashValue?: boolean
      • -
      • -
        Optional hasher?: Hasher
    -

    Returns Promise<CompactSparseMerkleTree<K, V>>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +CompactSparseMerkleTree | o1js-merkle

Class CompactSparseMerkleTree<K, V>

Compact Sparse Merkle Tree

+

CompactSparseMerkleTree

+

Type Parameters

  • K
  • V

Hierarchy (view full)

Constructors

  • Creates an instance of CompactSparseMerkleTree.

    +

    Type Parameters

    • K
    • V

    Parameters

    • store: Store<V>
    • keyType: Provable<K>
    • valueType: Provable<V>
    • Optional root: Field
    • Optional options: {
          hashKey?: boolean;
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

      +
      • Optional hashKey?: boolean
      • Optional hashValue?: boolean
      • Optional hasher?: Hasher

    Returns CompactSparseMerkleTree<K, V>

    Memberof

    CompactSparseMerkleTree

    +

Properties

config: {
    hashKey: boolean;
    hashValue: boolean;
}

Type declaration

  • hashKey: boolean
  • hashValue: boolean
keyType: Provable<K>
root: Field
store: Store<V>
th: TreeHasher<K, V>
valueType: Provable<V>

Methods

  • Delete a value from tree and return the new root of the tree.

    +

    Parameters

    • key: K

    Returns Promise<Field>

    {Promise}

    +

    Memberof

    CompactSparseMerkleTree

    +
  • Parameters

    • path: Field
    • sideNodes: Field[]
    • pathNodes: Field[]
    • oldLeafData: Field[]

    Returns Promise<Field>

  • Get the value for a key from the tree.

    +

    Parameters

    • key: K

    Returns Promise<null | V>

    {(Promise<V | null>)}

    +

    Memberof

    CompactSparseMerkleTree

    +
  • Check if the key exists in the tree.

    +

    Parameters

    • key: K

    Returns Promise<boolean>

    {Promise}

    +

    Memberof

    CompactSparseMerkleTree

    +
  • Set the root of the tree.

    +

    Parameters

    • root: Field

    Returns Promise<void>

    {Promise}

    +

    Memberof

    CompactSparseMerkleTree

    +
  • Parameters

    • path: Field
    • root: Field
    • getSiblingData: boolean

    Returns Promise<{
        currentData: null | Field[];
        pathNodes: Field[];
        siblingData: null | Field[];
        sideNodes: Field[];
    }>

  • Update a new value for a key in the tree and return the new root of the tree.

    +

    Parameters

    • key: K
    • Optional value: V

    Returns Promise<Field>

    {Promise}

    +

    Memberof

    CompactSparseMerkleTree

    +
  • Update multiple leaves and return the new root of the tree.

    +

    Parameters

    • kvs: {
          key: K;
          value?: V;
      }[]

    Returns Promise<Field>

    {Promise}

    +

    Memberof

    CompactSparseMerkleTree

    +
  • Parameters

    • path: Field
    • value: V
    • sideNodes: Field[]
    • pathNodes: Field[]
    • oldLeafData: Field[]

    Returns Field

  • Import a compacted sparse merkle tree

    +

    Type Parameters

    • K
    • V

    Parameters

    • store: Store<V>
    • keyType: Provable<K>
    • valueType: Provable<V>
    • Optional options: {
          hashKey?: boolean;
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

      +
      • Optional hashKey?: boolean
      • Optional hashValue?: boolean
      • Optional hasher?: Hasher

    Returns Promise<CompactSparseMerkleTree<K, V>>

    {Promise<CompactSparseMerkleTree<K, V>>}

    +

    Static

    Memberof

    CompactSparseMerkleTree

    +
\ No newline at end of file diff --git a/classes/DeepMerkleSubTree.html b/classes/DeepMerkleSubTree.html index bd2463f..f5e23ab 100644 --- a/classes/DeepMerkleSubTree.html +++ b/classes/DeepMerkleSubTree.html @@ -1,303 +1,39 @@ -DeepMerkleSubTree | o1js-merkle
-
- -
-
-
-
- -

Class DeepMerkleSubTree<V>

-
-

DeepMerkleSubTree is a deep merkle subtree for working on only a few leafs.

-
-
-

Type Parameters

-
    -
  • -

    V

-
-

Hierarchy

-
    -
  • DeepMerkleSubTree
-
-
-
- -
-
-

Constructors

-
- -
    - -
  • -

    Creates an instance of DeepMerkleSubTree.

    - -

    Memberof

    DeepMerkleSubTree

    -
    -
    -

    Type Parameters

    -
      -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      root: Field
    • -
    • -
      height: number
    • -
    • -
      valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashValue: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashValue: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns DeepMerkleSubTree<V>

-
-

Properties

-
- -
hashValue: boolean
-
- -
hasher: Hasher
-
- -
height: number
-
- -
nodeStore: Map<string, Field[]>
-
- -
root: Field
-
- -
valueStore: Map<string, Field>
-
- -
valueType: Provable<V>
-
-

Methods

-
- -
    - -
  • -

    Add a branch to the tree, a branch is generated by smt.prove.

    - -

    Returns

    -

    Memberof

    DeepMerkleSubTree

    -
    -
    -

    Parameters

    -
      -
    • -
      proof: BaseMerkleProof
    • -
    • -
      index: bigint
    • -
    • -
      Optional value: V
    • -
    • -
      Optional ignoreInvalidProof: boolean = false
    -

    Returns void

-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Check whether there is a corresponding key and value in the tree

    - -

    Returns

    {boolean}

    - -

    Memberof

    DeepMerkleSubTree

    -
    -
    -

    Parameters

    -
      -
    • -
      index: bigint
    • -
    • -
      value: V
    -

    Returns boolean

-
- -
-
- -
    - -
  • -

    Update a new value for a key in the tree and return the new root of the tree.

    - -

    Returns

    {Field}

    - -

    Memberof

    DeepMerkleSubTree

    -
    -
    -

    Parameters

    -
      -
    • -
      index: bigint
    • -
    • -
      Optional value: V
    -

    Returns Field

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +DeepMerkleSubTree | o1js-merkle

Class DeepMerkleSubTree<V>

DeepMerkleSubTree is a deep merkle subtree for working on only a few leafs.

+

DeepMerkleSubTree

+

Type Parameters

  • V

Constructors

  • Creates an instance of DeepMerkleSubTree.

    +

    Type Parameters

    • V

    Parameters

    • root: Field
    • height: number
    • valueType: Provable<V>
    • Optional options: {
          hashValue: boolean;
          hasher: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashValue: whether to hash the value, the default is true.

      +
      • hashValue: boolean
      • hasher: Hasher

    Returns DeepMerkleSubTree<V>

    Memberof

    DeepMerkleSubTree

    +

Properties

hashValue: boolean
hasher: Hasher
height: number
nodeStore: Map<string, Field[]>
root: Field
valueStore: Map<string, Field>
valueType: Provable<V>

Methods

  • Add a branch to the tree, a branch is generated by smt.prove.

    +

    Parameters

    • proof: BaseMerkleProof
    • index: bigint
    • Optional value: V
    • Optional ignoreInvalidProof: boolean = false

    Returns void

    Memberof

    DeepMerkleSubTree

    +
  • Check whether there is a corresponding key and value in the tree

    +

    Parameters

    • index: bigint
    • value: V

    Returns boolean

    {boolean}

    +

    Memberof

    DeepMerkleSubTree

    +
  • Update a new value for a key in the tree and return the new root of the tree.

    +

    Parameters

    • index: bigint
    • Optional value: V

    Returns Field

    {Field}

    +

    Memberof

    DeepMerkleSubTree

    +
\ No newline at end of file diff --git a/classes/DeepSparseMerkleSubTree.html b/classes/DeepSparseMerkleSubTree.html index 6396bac..8ed0273 100644 --- a/classes/DeepSparseMerkleSubTree.html +++ b/classes/DeepSparseMerkleSubTree.html @@ -1,335 +1,43 @@ -DeepSparseMerkleSubTree | o1js-merkle
-
- -
-
-
-
- -

Class DeepSparseMerkleSubTree<K, V>

-
-

DeepSparseMerkleSubTree is a deep sparse merkle subtree for working on only a few leafs.

-
-
-

Type Parameters

-
    -
  • -

    K

  • -
  • -

    V

-
-

Hierarchy

-
    -
  • DeepSparseMerkleSubTree
-
-
-
- -
-
-

Constructors

-
- -
    - -
  • -

    Creates an instance of DeepSparseMerkleSubTree.

    - -

    Memberof

    DeepSparseMerkleSubTree

    -
    -
    -

    Type Parameters

    -
      -
    • -

      K

    • -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      root: Field
      -

      merkle root

      -
    • -
    • -
      keyType: Provable<K>
    • -
    • -
      valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashKey: boolean;
          hashValue: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashKey: boolean
      • -
      • -
        hashValue: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns DeepSparseMerkleSubTree<K, V>

-
-

Properties

-
- -
config: {
    hashKey: boolean;
    hashValue: boolean;
}
-
-

Type declaration

-
    -
  • -
    hashKey: boolean
  • -
  • -
    hashValue: boolean
-
- -
hasher: Hasher
-
- -
keyType: Provable<K>
-
- -
nodeStore: Map<string, Field[]>
-
- -
root: Field
-
- -
valueStore: Map<string, Field>
-
- -
valueType: Provable<V>
-
-

Methods

-
- -
    - -
  • -

    Add a branch to the tree, a branch is generated by smt.prove.

    - -

    Returns

    -

    Memberof

    DeepSparseMerkleSubTree

    -
    -
    -

    Parameters

    -
      -
    • -
      proof: SparseMerkleProof
    • -
    • -
      key: K
    • -
    • -
      Optional value: V
    • -
    • -
      Optional ignoreInvalidProof: boolean = false
      -

      whether to throw an error when proof is invalid

      -
    -

    Returns void

-
- -
    - -
  • -

    Get height of the tree.

    - -

    Returns

    {number}

    - -

    Memberof

    DeepSparseMerkleSubTree

    -
    -

    Returns number

-
- -
-
- -
    - -
  • -

    Get current root.

    - -

    Returns

    {Field}

    - -

    Memberof

    DeepSparseMerkleSubTree

    -
    -

    Returns Field

-
- -
-
- -
    - -
  • -

    Check whether there is a corresponding key and value in the tree

    - -

    Returns

    {boolean}

    - -

    Memberof

    DeepSparseMerkleSubTree

    -
    -
    -

    Parameters

    -
      -
    • -
      key: K
    • -
    • -
      value: V
    -

    Returns boolean

-
- -
-
- -
    - -
  • -

    Update a new value for a key in the tree and return the new root of the tree.

    - -

    Returns

    {Field}

    - -

    Memberof

    DeepSparseMerkleSubTree

    -
    -
    -

    Parameters

    -
      -
    • -
      key: K
    • -
    • -
      Optional value: V
    -

    Returns Field

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +DeepSparseMerkleSubTree | o1js-merkle

Class DeepSparseMerkleSubTree<K, V>

DeepSparseMerkleSubTree is a deep sparse merkle subtree for working on only a few leafs.

+

DeepSparseMerkleSubTree

+

Type Parameters

  • K
  • V

Constructors

  • Creates an instance of DeepSparseMerkleSubTree.

    +

    Type Parameters

    • K
    • V

    Parameters

    • root: Field

      merkle root

      +
    • keyType: Provable<K>
    • valueType: Provable<V>
    • Optional options: {
          hashKey: boolean;
          hashValue: boolean;
          hasher: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

      +
      • hashKey: boolean
      • hashValue: boolean
      • hasher: Hasher

    Returns DeepSparseMerkleSubTree<K, V>

    Memberof

    DeepSparseMerkleSubTree

    +

Properties

config: {
    hashKey: boolean;
    hashValue: boolean;
}

Type declaration

  • hashKey: boolean
  • hashValue: boolean
hasher: Hasher
keyType: Provable<K>
nodeStore: Map<string, Field[]>
root: Field
valueStore: Map<string, Field>
valueType: Provable<V>

Methods

  • Add a branch to the tree, a branch is generated by smt.prove.

    +

    Parameters

    • proof: SparseMerkleProof
    • key: K
    • Optional value: V
    • Optional ignoreInvalidProof: boolean = false

      whether to throw an error when proof is invalid

      +

    Returns void

    Memberof

    DeepSparseMerkleSubTree

    +
  • Check whether there is a corresponding key and value in the tree

    +

    Parameters

    • key: K
    • value: V

    Returns boolean

    {boolean}

    +

    Memberof

    DeepSparseMerkleSubTree

    +
  • Update a new value for a key in the tree and return the new root of the tree.

    +

    Parameters

    • key: K
    • Optional value: V

    Returns Field

    {Field}

    +

    Memberof

    DeepSparseMerkleSubTree

    +
\ No newline at end of file diff --git a/classes/LevelStore.html b/classes/LevelStore.html index e6de92b..f93d067 100644 --- a/classes/LevelStore.html +++ b/classes/LevelStore.html @@ -1,422 +1,61 @@ -LevelStore | o1js-merkle
-
- -
-
-
-
- -

Class LevelStore<V>

-
-

Store based on leveldb

- -

Implements

-
-

Type Parameters

-
    -
  • -

    V

-
-

Hierarchy

-
    -
  • LevelStore
-
-

Implements

-
-
-
-
- -
-
-

Constructors

-
- -
    - -
  • -

    Creates an instance of LevelStore.

    - -

    Memberof

    LevelStore

    -
    -
    -

    Type Parameters

    -
      -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      db: Level<string, any>
    • -
    • -
      eltTyp: Provable<V>
    • -
    • -
      smtName: string
    -

    Returns LevelStore<V>

-
-

Properties

-
- -
db: Level<string, any>
-
- -
eltTyp: Provable<V>
-
- -
leavesSubLevel: AbstractSublevel<Level<string, any>, string | Buffer | Uint8Array, string, string>
-
- -
nodesSubLevel: AbstractSublevel<Level<string, any>, string | Buffer | Uint8Array, string, string>
-
- -
operationCache: (AbstractBatchPutOperation<Level<string, any>, string, any> | AbstractBatchDelOperation<Level<string, any>, string>)[]
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -

    Use the commit() method to actually submit all prepare changes.

    - -

    Returns

    {Promise}

    - -

    Memberof

    LevelStore

    -
    -

    Returns Promise<void>

-
- -
    - -
  • -

    Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

    - -

    Returns

    {Promise<Field[]>}

    - -

    Memberof

    LevelStore

    -
    -
    -

    Parameters

    -
      -
    • -
      key: Field
    -

    Returns Promise<Field[]>

-
- -
    - -
  • -

    Get the tree root. Error is thrown when the root does not exist.

    - -

    Returns

    {Promise}

    - -

    Memberof

    LevelStore

    -
    -

    Returns Promise<Field>

-
- -
    - -
  • -

    Get the value for a key. Error is thrown when a key that does not exist is being accessed.

    - -

    Returns

    {Promise}

    - -

    Memberof

    LevelStore

    -
    -
    -

    Parameters

    -
      -
    • -
      path: Field
    -

    Returns Promise<V>

-
- -
    - -
  • -

    Get values map, key is Field.toString().

    - -

    Returns

    {Promise<Map<string, V>>}

    - -

    Memberof

    LevelStore

    -
    -

    Returns Promise<Map<string, V>>

-
- -
    - -
  • -

    Prepare delete nodes for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    LevelStore

    -
    -
    -

    Parameters

    -
      -
    • -
      key: Field
    -

    Returns void

-
- -
    - -
  • -

    Prepare delete the value for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    LevelStore

    -
    -
    -

    Parameters

    -
      -
    • -
      path: Field
    -

    Returns void

-
- -
    - -
  • -

    Prepare put nodes for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    LevelStore

    -
    -
    -

    Parameters

    -
      -
    • -
      key: Field
    • -
    • -
      value: Field[]
    -

    Returns void

-
- -
    - -
  • -

    Prepare put the value for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    LevelStore

    -
    -
    -

    Parameters

    -
      -
    • -
      path: Field
    • -
    • -
      value: V
    -

    Returns void

-
- -
    - -
  • -

    Prepare update the root. Use the commit() method to actually submit changes.

    - -

    Memberof

    LevelStore

    -
    -
    -

    Parameters

    -
      -
    • -
      root: Field
    -

    Returns void

-
- -
    - -
  • Protected -

    Convert value string to a value of FieldElements type.

    - -

    Returns

    {V}

    - -

    Memberof

    LevelStore

    -
    -
    -

    Parameters

    -
      -
    • -
      valueStr: string
    • -
    • -
      eltTyp: Provable<V>
    -

    Returns V

-
- -
    - -
  • Protected -

    Serialize the value of the FieldElements type into a string

    - -

    Returns

    {string}

    - -

    Memberof

    LevelStore

    -
    -
    -

    Parameters

    -
      -
    • -
      value: V
    -

    Returns string

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +LevelStore | o1js-merkle

Class LevelStore<V>

Store based on leveldb

+

LevelStore

+

Implements

Type Parameters

  • V

Implements

Constructors

Properties

db: Level<string, any>
eltTyp: Provable<V>
leavesSubLevel: AbstractSublevel<Level<string, any>, string | Buffer | Uint8Array, string, string>
nodesSubLevel: AbstractSublevel<Level<string, any>, string | Buffer | Uint8Array, string, string>
operationCache: (AbstractBatchPutOperation<Level<string, any>, string, any> | AbstractBatchDelOperation<Level<string, any>, string>)[]

Methods

  • Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

    +

    Parameters

    • key: Field

    Returns Promise<Field[]>

    {Promise<Field[]>}

    +

    Memberof

    LevelStore

    +
  • Get the tree root. Error is thrown when the root does not exist.

    +

    Returns Promise<Field>

    {Promise}

    +

    Memberof

    LevelStore

    +
  • Get the value for a key. Error is thrown when a key that does not exist is being accessed.

    +

    Parameters

    • path: Field

    Returns Promise<V>

    {Promise}

    +

    Memberof

    LevelStore

    +
  • Prepare put nodes for a key. Use the commit() method to actually submit changes.

    +

    Parameters

    • key: Field
    • value: Field[]

    Returns void

    Memberof

    LevelStore

    +
  • Protected

    Convert value string to a value of FieldElements type.

    +

    Parameters

    • valueStr: string
    • eltTyp: Provable<V>

    Returns V

    {V}

    +

    Memberof

    LevelStore

    +
  • Protected

    Serialize the value of the FieldElements type into a string

    +

    Parameters

    • value: V

    Returns string

    {string}

    +

    Memberof

    LevelStore

    +
\ No newline at end of file diff --git a/classes/MemoryStore.html b/classes/MemoryStore.html index de5237f..bd5a5f8 100644 --- a/classes/MemoryStore.html +++ b/classes/MemoryStore.html @@ -1,355 +1,51 @@ -MemoryStore | o1js-merkle
-
- -
-
-
-
- -

Class MemoryStore<V>

-
-

Store based on memory

- -

Implements

-
-

Type Parameters

-
    -
  • -

    V

-
-

Hierarchy

-
    -
  • MemoryStore
-
-

Implements

-
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
nodesMap: Map<string, Field[]>
-
- -
operationCache: {
    k: string;
    opType: OperationType;
    setType: SetType;
    v: any;
}[]
-
- -
valuesMap: Map<string, V>
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -

    Use the commit() method to actually submit all prepare changes.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MemoryStore

    -
    -

    Returns Promise<void>

-
- -
    - -
  • -

    Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

    - -

    Returns

    {Promise<Field[]>}

    - -

    Memberof

    MemoryStore

    -
    -
    -

    Parameters

    -
      -
    • -
      key: Field
    -

    Returns Promise<Field[]>

-
- -
    - -
  • -

    Get the tree root. Error is thrown when the root does not exist.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MemoryStore

    -
    -

    Returns Promise<Field>

-
- -
    - -
  • -

    Get the value for a key. Error is thrown when a key that does not exist is being accessed.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MemoryStore

    -
    -
    -

    Parameters

    -
      -
    • -
      path: Field
    -

    Returns Promise<V>

-
- -
    - -
  • -

    Get values map, key is Field.toString().

    - -

    Returns

    {Promise<Map<string, V>>}

    - -

    Memberof

    MemoryStore

    -
    -

    Returns Promise<Map<string, V>>

-
- -
    - -
  • -

    Prepare delete nodes for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    MemoryStore

    -
    -
    -

    Parameters

    -
      -
    • -
      key: Field
    -

    Returns void

-
- -
    - -
  • -

    Prepare delete the value for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    MemoryStore

    -
    -
    -

    Parameters

    -
      -
    • -
      path: Field
    -

    Returns void

-
- -
    - -
  • -

    Prepare put nodes for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    MemoryStore

    -
    -
    -

    Parameters

    -
      -
    • -
      key: Field
    • -
    • -
      value: Field[]
    -

    Returns void

-
- -
    - -
  • -

    Prepare put the value for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    MemoryStore

    -
    -
    -

    Parameters

    -
      -
    • -
      path: Field
    • -
    • -
      value: V
    -

    Returns void

-
- -
    - -
  • -

    Prepare update the root. Use the commit() method to actually submit changes.

    - -

    Memberof

    MemoryStore

    -
    -
    -

    Parameters

    -
      -
    • -
      root: Field
    -

    Returns void

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +MemoryStore | o1js-merkle

Class MemoryStore<V>

Store based on memory

+

MemoryStore

+

Implements

Type Parameters

  • V

Implements

Constructors

Properties

nodesMap: Map<string, Field[]>
operationCache: {
    k: string;
    opType: OperationType;
    setType: SetType;
    v: any;
}[]

Type declaration

  • k: string
  • opType: OperationType
  • setType: SetType
  • v: any
valuesMap: Map<string, V>

Methods

  • Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

    +

    Parameters

    • key: Field

    Returns Promise<Field[]>

    {Promise<Field[]>}

    +

    Memberof

    MemoryStore

    +
  • Get the value for a key. Error is thrown when a key that does not exist is being accessed.

    +

    Parameters

    • path: Field

    Returns Promise<V>

    {Promise}

    +

    Memberof

    MemoryStore

    +
  • Prepare put nodes for a key. Use the commit() method to actually submit changes.

    +

    Parameters

    • key: Field
    • value: Field[]

    Returns void

    Memberof

    MemoryStore

    +
\ No newline at end of file diff --git a/classes/MerkleTree.html b/classes/MerkleTree.html index 76b237e..f20a652 100644 --- a/classes/MerkleTree.html +++ b/classes/MerkleTree.html @@ -1,589 +1,83 @@ -MerkleTree | o1js-merkle
-
- -
-
-
-
- -

Class MerkleTree<V>

-
-

Merkle Tree.

-
-
-

Type Parameters

-
    -
  • -

    V

-
-

Hierarchy

-
    -
  • MerkleTree
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
hashValue: boolean
-
- -
hasher: Hasher
-
- -
height: number
-
- -
maxNumIndex: bigint
-
- -
root: Field
-
- -
store: Store<V>
-
- -
valueType: Provable<V>
-
-

Methods

-
- -
-
- -
    - -
  • -

    Delete a value from tree and return the new root of the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      index: bigint
    -

    Returns Promise<Field>

-
- -
-
- -
-
- -
    - -
  • -

    Get the value for an index from the tree.

    - -

    Returns

    {(Promise<V | null>)}

    - -

    Memberof

    MerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      index: bigint
    -

    Returns Promise<null | V>

-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Check if the index exists in the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      index: bigint
    -

    Returns Promise<boolean>

-
- -
-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Set the root of the tree.

    - -

    Memberof

    MerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      root: Field
    -

    Returns Promise<void>

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      root: Field
    • -
    • -
      path: Field
    -

    Returns Promise<{
        leafData: Field;
        pathNodes: Field[];
        sideNodes: Field[];
    }>

-
- -
    - -
  • -

    Update a new value for an index in the tree and return the new root of the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      index: bigint
    • -
    • -
      Optional value: V
    -

    Returns Promise<Field>

-
- -
    - -
  • -

    Update multiple leaves and return the new root of the tree.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MerkleTree

    -
    -
    -

    Parameters

    -
      -
    • -
      ivs: {
          index: bigint;
          value?: V;
      }[]
    -

    Returns Promise<Field>

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      root: Field
    • -
    • -
      key: bigint
    • -
    • -
      Optional value: V
    -

    Returns Promise<Field>

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      sideNodes: Field[]
    • -
    • -
      pathNodes: Field[]
    • -
    • -
      oldLeafData: Field
    • -
    • -
      path: Field
    • -
    • -
      Optional value: V
    -

    Returns Field

-
- -
    - -
  • -

    Build a new merkle tree.

    - -

    Static

    -

    Returns

    {Promise<MerkleTree>}

    - -

    Memberof

    MerkleTree

    -
    -
    -

    Type Parameters

    -
      -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      store: Store<V>
    • -
    • -
      height: number
    • -
    • -
      valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...
      -
        -
      • -
        Optional hashValue?: boolean
      • -
      • -
        Optional hasher?: Hasher
    -

    Returns Promise<MerkleTree<V>>

-
- -
    - -
  • -

    Import a merkle tree via existing store.

    - -

    Static

    -

    Returns

    {Promise<MerkleTree>}

    - -

    Memberof

    MerkleTree

    -
    -
    -

    Type Parameters

    -
      -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      store: Store<V>
    • -
    • -
      height: number
    • -
    • -
      valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...
      -
        -
      • -
        Optional hashValue?: boolean
      • -
      • -
        Optional hasher?: Hasher
    -

    Returns Promise<MerkleTree<V>>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +MerkleTree | o1js-merkle

Class MerkleTree<V>

Merkle Tree.

+

MerkleTree

+

Type Parameters

  • V

Constructors

Properties

hashValue: boolean
hasher: Hasher
height: number
maxNumIndex: bigint
root: Field
store: Store<V>
valueType: Provable<V>

Methods

  • Delete a value from tree and return the new root of the tree.

    +

    Parameters

    • index: bigint

    Returns Promise<Field>

    {Promise}

    +

    Memberof

    MerkleTree

    +
  • Get the value for an index from the tree.

    +

    Parameters

    • index: bigint

    Returns Promise<null | V>

    {(Promise<V | null>)}

    +

    Memberof

    MerkleTree

    +
  • Check if the index exists in the tree.

    +

    Parameters

    • index: bigint

    Returns Promise<boolean>

    {Promise}

    +

    Memberof

    MerkleTree

    +
  • Parameters

    • root: Field
    • path: Field

    Returns Promise<{
        leafData: Field;
        pathNodes: Field[];
        sideNodes: Field[];
    }>

  • Update a new value for an index in the tree and return the new root of the tree.

    +

    Parameters

    • index: bigint
    • Optional value: V

    Returns Promise<Field>

    {Promise}

    +

    Memberof

    MerkleTree

    +
  • Update multiple leaves and return the new root of the tree.

    +

    Parameters

    • ivs: {
          index: bigint;
          value?: V;
      }[]

    Returns Promise<Field>

    {Promise}

    +

    Memberof

    MerkleTree

    +
  • Parameters

    • sideNodes: Field[]
    • pathNodes: Field[]
    • oldLeafData: Field
    • path: Field
    • Optional value: V

    Returns Field

  • Build a new merkle tree.

    +

    Type Parameters

    • V

    Parameters

    • store: Store<V>
    • height: number
    • valueType: Provable<V>
    • Optional options: {
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashValue: whether to hash the value, the default is true.

      +
      • Optional hashValue?: boolean
      • Optional hasher?: Hasher

    Returns Promise<MerkleTree<V>>

    {Promise<MerkleTree>}

    +

    Static

    Memberof

    MerkleTree

    +
  • Import a merkle tree via existing store.

    +

    Type Parameters

    • V

    Parameters

    • store: Store<V>
    • height: number
    • valueType: Provable<V>
    • Optional options: {
          hashValue?: boolean;
          hasher?: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashValue: whether to hash the value, the default is true.

      +
      • Optional hashValue?: boolean
      • Optional hasher?: Hasher

    Returns Promise<MerkleTree<V>>

    {Promise<MerkleTree>}

    +

    Static

    Memberof

    MerkleTree

    +
\ No newline at end of file diff --git a/classes/MerkleTreeUtils.html b/classes/MerkleTreeUtils.html index e78dc5a..eea77e3 100644 --- a/classes/MerkleTreeUtils.html +++ b/classes/MerkleTreeUtils.html @@ -1,452 +1,58 @@ -MerkleTreeUtils | o1js-merkle
-
- -
-
-
-
- -

Class MerkleTreeUtils

-
-

Collection of utility functions for merkle tree

-
-
-

Hierarchy

-
    -
  • MerkleTreeUtils
-
-
-
- -
-
-

Constructors

-
- -
-
-

Methods

-
- -
    - -
  • -

    Returns true if the value is in the tree and it is at the index from the key

    - -

    Static

    -

    Returns

    {boolean}

    - -

    Memberof

    MerkleTreeUtils

    -
    -
    -

    Type Parameters

    -
      -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      proof: BaseMerkleProof
    • -
    • -
      expectedRoot: Field
    • -
    • -
      index: bigint
    • -
    • -
      value: V
    • -
    • -
      valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashValue: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashValue: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns boolean

-
- -
    - -
  • -

    Returns true if there is no value at the index from the key

    - -

    Static

    -

    Returns

    {boolean}

    - -

    Memberof

    MerkleTreeUtils

    -
    -
    -

    Type Parameters

    -
      -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      proof: BaseMerkleProof
    • -
    • -
      expectedRoot: Field
    • -
    • -
      index: bigint
    • -
    • -
      Optional hasher: Hasher = PoseidonHasherFunc
    -

    Returns boolean

-
- -
-
- -
-
- -
    - -
  • -

    Calculate new root based on value. Note: This method cannot be executed in a circuit.

    - -

    Static

    -

    Returns

    {Field}

    - -

    Memberof

    MerkleTreeUtils

    -
    -
    -

    Type Parameters

    -
      -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      proof: BaseMerkleProof
    • -
    • -
      index: bigint
    • -
    • -
      Optional value: V
    • -
    • -
      Optional valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashValue: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashValue: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns Field

-
- -
    - -
  • -

    Compute new merkle root by index and valueHashOrValueField

    - -

    Static

    -

    Returns

    {Field}

    - -

    Memberof

    MerkleTreeUtils

    -
    -
    -

    Parameters

    -
      -
    • -
      proof: BaseMerkleProof
    • -
    • -
      index: bigint
    • -
    • -
      valueHashOrValueField: Field
    • -
    • -
      Optional hasher: Hasher = PoseidonHasherFunc
    -

    Returns Field

-
- -
    - -
  • -

    Compute new merkle root by index and valueHashOrValueField, return new root and updates.

    - -

    Static

    -

    Returns

    {{ actualRoot: Field; updates: [Field, Field[]][] }}

    - -

    Memberof

    MerkleTreeUtils

    -
    -
    -

    Parameters

    -
      -
    • -
      proof: BaseMerkleProof
    • -
    • -
      index: bigint
    • -
    • -
      valueHashOrValueField: Field
    • -
    • -
      Optional hasher: Hasher = PoseidonHasherFunc
    -

    Returns {
        actualRoot: Field;
        updates: [Field, Field[]][];
    }

    -
      -
    • -
      actualRoot: Field
    • -
    • -
      updates: [Field, Field[]][]
-
- -
-
- -
-
- -
    - -
  • -

    Verify the merkle proof.

    - -

    Static

    -

    Returns

    {boolean}

    - -

    Memberof

    MerkleTreeUtils

    -
    -
    -

    Type Parameters

    -
      -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      proof: BaseMerkleProof
    • -
    • -
      expectedRoot: Field
    • -
    • -
      index: bigint
    • -
    • -
      Optional value: V
    • -
    • -
      Optional valueType: Provable<V>
    • -
    • -
      Optional options: {
          hashValue: boolean;
          hasher: Hasher;
      } = ...
      -
        -
      • -
        hashValue: boolean
      • -
      • -
        hasher: Hasher
    -

    Returns boolean

-
- -
    - -
  • -

    Verify the merkle proof by index and valueHashOrValueField

    - -

    Static

    -

    Returns

    {boolean}

    - -

    Memberof

    MerkleTreeUtils

    -
    -
    -

    Parameters

    -
      -
    • -
      proof: BaseMerkleProof
    • -
    • -
      expectedRoot: Field
    • -
    • -
      index: bigint
    • -
    • -
      valueHashOrValueField: Field
    • -
    • -
      Optional hasher: Hasher = PoseidonHasherFunc
    -

    Returns boolean

-
- -
    - -
  • -

    Verify the merkle proof by index and valueHashOrValueField, return result and updates

    - -

    Static

    -

    Returns

    {{ ok: boolean; updates: [Field, Field[]][] }}

    - -

    Memberof

    MerkleTreeUtils

    -
    -
    -

    Parameters

    -
      -
    • -
      proof: BaseMerkleProof
    • -
    • -
      expectedRoot: Field
    • -
    • -
      index: bigint
    • -
    • -
      valueHashOrValueField: Field
    • -
    • -
      Optional hasher: Hasher = PoseidonHasherFunc
    -

    Returns {
        ok: boolean;
        updates: [Field, Field[]][];
    }

    -
      -
    • -
      ok: boolean
    • -
    • -
      updates: [Field, Field[]][]
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +MerkleTreeUtils | o1js-merkle

Class MerkleTreeUtils

Collection of utility functions for merkle tree

+

MerkleTreeUtils

+

Constructors

Methods

  • Returns true if the value is in the tree and it is at the index from the key

    +

    Type Parameters

    • V

    Parameters

    • proof: BaseMerkleProof
    • expectedRoot: Field
    • index: bigint
    • value: V
    • valueType: Provable<V>
    • Optional options: {
          hashValue: boolean;
          hasher: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashValue: whether to hash the value, the default is true.

      +
      • hashValue: boolean
      • hasher: Hasher

    Returns boolean

    {boolean}

    +

    Static

    Memberof

    MerkleTreeUtils

    +
  • Returns true if there is no value at the index from the key

    +

    Type Parameters

    • V

    Parameters

    Returns boolean

    {boolean}

    +

    Static

    Memberof

    MerkleTreeUtils

    +
  • Calculate new root based on value. Note: This method cannot be executed in a circuit.

    +

    Type Parameters

    • V

    Parameters

    • proof: BaseMerkleProof
    • index: bigint
    • Optional value: V
    • Optional valueType: Provable<V>
    • Optional options: {
          hashValue: boolean;
          hasher: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashValue: whether to hash the value, the default is true.

      +
      • hashValue: boolean
      • hasher: Hasher

    Returns Field

    {Field}

    +

    Static

    Memberof

    MerkleTreeUtils

    +
  • Compute new merkle root by index and valueHashOrValueField

    +

    Parameters

    • proof: BaseMerkleProof
    • index: bigint
    • valueHashOrValueField: Field
    • Optional hasher: Hasher = PoseidonHasherFunc

    Returns Field

    {Field}

    +

    Static

    Memberof

    MerkleTreeUtils

    +
  • Compute new merkle root by index and valueHashOrValueField, return new root and updates.

    +

    Parameters

    • proof: BaseMerkleProof
    • index: bigint
    • valueHashOrValueField: Field
    • Optional hasher: Hasher = PoseidonHasherFunc

    Returns {
        actualRoot: Field;
        updates: [Field, Field[]][];
    }

    {{ actualRoot: Field; updates: [Field, Field[]][] }}

    +
    • actualRoot: Field
    • updates: [Field, Field[]][]

    Static

    Memberof

    MerkleTreeUtils

    +
  • Verify the merkle proof.

    +

    Type Parameters

    • V

    Parameters

    • proof: BaseMerkleProof
    • expectedRoot: Field
    • index: bigint
    • Optional value: V
    • Optional valueType: Provable<V>
    • Optional options: {
          hashValue: boolean;
          hasher: Hasher;
      } = ...

      hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashValue: whether to hash the value, the default is true.

      +
      • hashValue: boolean
      • hasher: Hasher

    Returns boolean

    {boolean}

    +

    Static

    Memberof

    MerkleTreeUtils

    +
  • Verify the merkle proof by index and valueHashOrValueField

    +

    Parameters

    • proof: BaseMerkleProof
    • expectedRoot: Field
    • index: bigint
    • valueHashOrValueField: Field
    • Optional hasher: Hasher = PoseidonHasherFunc

    Returns boolean

    {boolean}

    +

    Static

    Memberof

    MerkleTreeUtils

    +
  • Verify the merkle proof by index and valueHashOrValueField, return result and updates

    +

    Parameters

    • proof: BaseMerkleProof
    • expectedRoot: Field
    • index: bigint
    • valueHashOrValueField: Field
    • Optional hasher: Hasher = PoseidonHasherFunc

    Returns {
        ok: boolean;
        updates: [Field, Field[]][];
    }

    {{ ok: boolean; updates: [Field, Field[]][] }}

    +
    • ok: boolean
    • updates: [Field, Field[]][]

    Static

    Memberof

    MerkleTreeUtils

    +
\ No newline at end of file diff --git a/classes/MongoStore.html b/classes/MongoStore.html index e19fa90..f16ca2f 100644 --- a/classes/MongoStore.html +++ b/classes/MongoStore.html @@ -1,429 +1,62 @@ -MongoStore | o1js-merkle
-
- -
-
-
-
- -

Class MongoStore<V>

-
-

Store based on MongoDB

- -

Implements

-
-

Type Parameters

-
    -
  • -

    V

-
-

Hierarchy

-
    -
  • MongoStore
-
-

Implements

-
-
-
-
- -
-
-

Constructors

-
- -
    - -
  • -

    Creates an instance of MongoStore.

    - -

    Memberof

    MongoStore

    -
    -
    -

    Type Parameters

    -
      -
    • -

      V

    -
    -

    Parameters

    -
      -
    • -
      db: Connection
    • -
    • -
      eltTyp: Provable<V>
    • -
    • -
      smtName: string
    -

    Returns MongoStore<V>

-
-

Properties

-
- -
db: Connection
-
- -
eltTyp: Provable<V>
-
- -
nodesModel: Model<IKV, {}, {}, {}, any>
-
- -
nodesOperationCache: any[]
-
- -
valuesModel: Model<IKV, {}, {}, {}, any>
-
- -
valuesOperationCache: any[]
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -

    Use the commit() method to actually submit all prepare changes.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MongoStore

    -
    -

    Returns Promise<void>

-
- -
    - -
  • -

    Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

    - -

    Returns

    {Promise<Field[]>}

    - -

    Memberof

    MongoStore

    -
    -
    -

    Parameters

    -
      -
    • -
      key: Field
    -

    Returns Promise<Field[]>

-
- -
    - -
  • -

    Get the tree root. Error is thrown when the root does not exist.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MongoStore

    -
    -

    Returns Promise<Field>

-
- -
    - -
  • -

    Get the value for a key. Error is thrown when a key that does not exist is being accessed.

    - -

    Returns

    {Promise}

    - -

    Memberof

    MongoStore

    -
    -
    -

    Parameters

    -
      -
    • -
      path: Field
    -

    Returns Promise<V>

-
- -
    - -
  • -

    Get values map, key is Field.toString().

    - -

    Returns

    {Promise<Map<string, V>>}

    - -

    Memberof

    MongoStore

    -
    -

    Returns Promise<Map<string, V>>

-
- -
    - -
  • -

    Prepare delete nodes for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    MongoStore

    -
    -
    -

    Parameters

    -
      -
    • -
      key: Field
    -

    Returns void

-
- -
    - -
  • -

    Prepare delete the value for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    MongoStore

    -
    -
    -

    Parameters

    -
      -
    • -
      path: Field
    -

    Returns void

-
- -
    - -
  • -

    Prepare put nodes for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    MongoStore

    -
    -
    -

    Parameters

    -
      -
    • -
      key: Field
    • -
    • -
      value: Field[]
    -

    Returns void

-
- -
    - -
  • -

    Prepare put the value for a key. Use the commit() method to actually submit changes.

    - -

    Memberof

    MongoStore

    -
    -
    -

    Parameters

    -
      -
    • -
      path: Field
    • -
    • -
      value: V
    -

    Returns void

-
- -
    - -
  • -

    Prepare update the root. Use the commit() method to actually submit changes.

    - -

    Memberof

    MongoStore

    -
    -
    -

    Parameters

    -
      -
    • -
      root: Field
    -

    Returns void

-
- -
    - -
  • Protected -

    Convert value string to a value of FieldElements type.

    - -

    Returns

    {V}

    - -

    Memberof

    MongoStore

    -
    -
    -

    Parameters

    -
      -
    • -
      valueStr: string
    • -
    • -
      eltTyp: Provable<V>
    -

    Returns V

-
- -
    - -
  • Protected -

    Serialize the value of the FieldElements type into a string

    - -

    Returns

    {string}

    - -

    Memberof

    RocksStore

    -
    -
    -

    Parameters

    -
      -
    • -
      value: V
    -

    Returns string

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +MongoStore | o1js-merkle

Class MongoStore<V>

Store based on MongoDB

+

MongoStore

+

Implements

Type Parameters

  • V

Implements

Constructors

Properties

db: Connection
eltTyp: Provable<V>
nodesModel: Model<IKV, {}, {}, {}, any>

Type declaration

    Type declaration

      Type declaration

        nodesOperationCache: any[]
        valuesModel: Model<IKV, {}, {}, {}, any>

        Type declaration

          Type declaration

            Type declaration

              valuesOperationCache: any[]

              Methods

              • Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

                +

                Parameters

                • key: Field

                Returns Promise<Field[]>

                {Promise<Field[]>}

                +

                Memberof

                MongoStore

                +
              • Get the tree root. Error is thrown when the root does not exist.

                +

                Returns Promise<Field>

                {Promise}

                +

                Memberof

                MongoStore

                +
              • Get the value for a key. Error is thrown when a key that does not exist is being accessed.

                +

                Parameters

                • path: Field

                Returns Promise<V>

                {Promise}

                +

                Memberof

                MongoStore

                +
              • Prepare put nodes for a key. Use the commit() method to actually submit changes.

                +

                Parameters

                • key: Field
                • value: Field[]

                Returns void

                Memberof

                MongoStore

                +
              • Protected

                Convert value string to a value of FieldElements type.

                +

                Parameters

                • valueStr: string
                • eltTyp: Provable<V>

                Returns V

                {V}

                +

                Memberof

                MongoStore

                +
              • Protected

                Serialize the value of the FieldElements type into a string

                +

                Parameters

                • value: V

                Returns string

                {string}

                +

                Memberof

                RocksStore

                +
              \ No newline at end of file diff --git a/classes/PoseidonHasher.html b/classes/PoseidonHasher.html index d82afd9..3db100e 100644 --- a/classes/PoseidonHasher.html +++ b/classes/PoseidonHasher.html @@ -1,157 +1,20 @@ -PoseidonHasher | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class PoseidonHasher

              -
              -

              A helper class encapsulating Poseidon hash functionality.

              -
              -
              -

              Hierarchy

              -
                -
              • PoseidonHasher
              -
              -

              Implements

              -
                -
              • Hasher
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              -
              -

              Methods

              -
              -
              -

              Constructors

              -
              - -
              -
              -

              Methods

              -
              - -
                - -
              • -

                Compresses two 32-byte hashes.

                - -

                Returns

                The new 32-byte hash.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  lhs: Field
                  -

                  The first hash.

                  -
                • -
                • -
                  rhs: Field
                  -

                  The second hash.

                  -
                -

                Returns Field

              -
              - -
                - -
              • -

                Compresses an array of buffers.

                - -

                Returns

                The resulting 32-byte hash.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  inputs: Field[]
                  -

                  The array of buffers to compress.

                  -
                -

                Returns Field

              -
              - -
                - -
              • -

                Given a buffer containing 32 byte poseidon leaves, return a new buffer containing the leaves and all pairs of +PoseidonHasher | o1js-merkle

                Class PoseidonHasher

                A helper class encapsulating Poseidon hash functionality.

                +

                Implements

                • Hasher

                Constructors

                Methods

                • Compresses two 32-byte hashes.

                  +

                  Parameters

                  • lhs: Field

                    The first hash.

                    +
                  • rhs: Field

                    The second hash.

                    +

                  Returns Field

                  The new 32-byte hash.

                  +
                • Compresses an array of buffers.

                  +

                  Parameters

                  • inputs: Field[]

                    The array of buffers to compress.

                    +

                  Returns Field

                  The resulting 32-byte hash.

                  +
                • Given a buffer containing 32 byte poseidon leaves, return a new buffer containing the leaves and all pairs of nodes that define a merkle tree.

                  E.g. Input: [1][2][3][4] Output: [1][2][3][4][compress(1,2)][compress(3,4)][compress(5,6)].

                  - -

                  Returns

                  A tree represented by an array.

                  -
                  -
                  -

                  Parameters

                  -
                    -
                  • -
                    leaves: Field[]
                    -

                    The 32 byte poseidon leaves.

                    -
                  -

                  Returns Promise<Field[]>

                -
                -
                -

                Generated using TypeDoc

                -
                \ No newline at end of file +

                Parameters

                • leaves: Field[]

                  The 32 byte poseidon leaves.

                  +

                Returns Promise<Field[]>

                A tree represented by an array.

                +
              \ No newline at end of file diff --git a/classes/ProvableCSMTUtils.html b/classes/ProvableCSMTUtils.html index 2bcf929..e69b202 100644 --- a/classes/ProvableCSMTUtils.html +++ b/classes/ProvableCSMTUtils.html @@ -1,167 +1,17 @@ -ProvableCSMTUtils | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class ProvableCSMTUtils

              -
              -

              Collection of utility functions for compact sparse merkle tree in the circuit.

              -
              -
              -

              Hierarchy

              -
                -
              • ProvableCSMTUtils
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              -
              -

              Methods

              -
              -
              -

              Constructors

              -
              - -
              -
              -

              Methods

              -
              - -
                - -
              • -

                Returns true if the value is in the tree and it is at the index from the key

                - -

                Static

                -

                Returns

                {Bool}

                - -

                Memberof

                ProvableCSMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  proof: CompactSparseMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  value: V
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      treeHasher: TreeHasher<K, V>;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    treeHasher: TreeHasher<K, V>
                -

                Returns Bool

              -
              - -
                - -
              • -

                Returns true if there is no value at the index from the key

                - -

                Static

                -

                Returns

                {Bool}

                - -

                Memberof

                ProvableCSMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  proof: CompactSparseMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      treeHasher: TreeHasher<K, V>;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    treeHasher: TreeHasher<K, V>
                -

                Returns Bool

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +ProvableCSMTUtils | o1js-merkle

              Class ProvableCSMTUtils

              Collection of utility functions for compact sparse merkle tree in the circuit.

              +

              ProvableCSMTUtils

              +

              Constructors

              Methods

              • Returns true if the value is in the tree and it is at the index from the key

                +

                Type Parameters

                • K
                • V

                Parameters

                • proof: CompactSparseMerkleProof
                • expectedRoot: Field
                • key: K
                • keyType: Provable<K>
                • value: V
                • valueType: Provable<V>
                • Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      treeHasher: TreeHasher<K, V>;
                  } = ...

                  treeHasher: The tree hasher function to use, defaults to TreeHasher.poseidon; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • hashKey: boolean
                  • hashValue: boolean
                  • treeHasher: TreeHasher<K, V>

                Returns Bool

                {Bool}

                +

                Static

                Memberof

                ProvableCSMTUtils

                +
              • Returns true if there is no value at the index from the key

                +

                Type Parameters

                • K
                • V

                Parameters

                • proof: CompactSparseMerkleProof
                • expectedRoot: Field
                • key: K
                • keyType: Provable<K>
                • Optional options: {
                      hashKey: boolean;
                      treeHasher: TreeHasher<K, V>;
                  } = ...

                  treeHasher: The tree hasher function to use, defaults to TreeHasher.poseidon; +hashKey: whether to hash the key, the default is true

                  +

                Returns Bool

                {Bool}

                +

                Static

                Memberof

                ProvableCSMTUtils

                +
              \ No newline at end of file diff --git a/classes/ProvableDeepMerkleSubTree.html b/classes/ProvableDeepMerkleSubTree.html index acc64b4..4142675 100644 --- a/classes/ProvableDeepMerkleSubTree.html +++ b/classes/ProvableDeepMerkleSubTree.html @@ -1,281 +1,37 @@ -ProvableDeepMerkleSubTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class ProvableDeepMerkleSubTree<V>

              -
              -

              ProvableDeepMerkleSubTree is a deep merkle subtree for working on only a few leafs in circuit.

              -
              -
              -

              Type Parameters

              -
                -
              • -

                V

              -
              -

              Hierarchy

              -
                -
              • ProvableDeepMerkleSubTree
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
                - -
              • -

                Creates an instance of ProvableDeepMerkleSubTree.

                - -

                Memberof

                ProvableDeepMerkleSubTree

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  root: Field
                  -

                  merkle root

                  -
                • -
                • -
                  height: number
                  -

                  height of tree

                  -
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    Optional hasher?: Hasher
                -

                Returns ProvableDeepMerkleSubTree<V>

              -
              -

              Properties

              -
              - -
              hashValue: boolean
              -
              - -
              hasher: Hasher
              -
              - -
              height: number
              -
              - -
              nodeStore: Map<string, Field[]>
              -
              - -
              root: Field
              -
              - -
              valueStore: Map<string, Field>
              -
              - -
              valueType: Provable<V>
              -
              -

              Methods

              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Update a new value for a key in the tree and return the new root of the tree.

                - -

                Returns

                {Field}

                - -

                Memberof

                ProvableDeepMerkleSubTree

                -
                -
                -

                Parameters

                -
                  -
                • -
                  index: Field
                • -
                • -
                  Optional value: V
                -

                Returns Field

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +ProvableDeepMerkleSubTree | o1js-merkle

              Class ProvableDeepMerkleSubTree<V>

              ProvableDeepMerkleSubTree is a deep merkle subtree for working on only a few leafs in circuit.

              +

              ProvableDeepMerkleSubTree

              +

              Type Parameters

              • V

              Constructors

              • Creates an instance of ProvableDeepMerkleSubTree.

                +

                Type Parameters

                • V

                Parameters

                • root: Field

                  merkle root

                  +
                • height: number

                  height of tree

                  +
                • valueType: Provable<V>
                • Optional options: {
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashValue: whether to hash the value, he default is true.

                  +
                  • hashValue: boolean
                  • Optional hasher?: Hasher

                Returns ProvableDeepMerkleSubTree<V>

                Memberof

                ProvableDeepMerkleSubTree

                +

              Properties

              hashValue: boolean
              hasher: Hasher
              height: number
              nodeStore: Map<string, Field[]>
              root: Field
              valueStore: Map<string, Field>
              valueType: Provable<V>

              Methods

              • Update a new value for a key in the tree and return the new root of the tree.

                +

                Parameters

                • index: Field
                • Optional value: V

                Returns Field

                {Field}

                +

                Memberof

                ProvableDeepMerkleSubTree

                +
              \ No newline at end of file diff --git a/classes/ProvableDeepSparseMerkleSubTree.html b/classes/ProvableDeepSparseMerkleSubTree.html index dd62f64..5f5738b 100644 --- a/classes/ProvableDeepSparseMerkleSubTree.html +++ b/classes/ProvableDeepSparseMerkleSubTree.html @@ -1,307 +1,38 @@ -ProvableDeepSparseMerkleSubTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class ProvableDeepSparseMerkleSubTree<K, V>

              -
              -

              ProvableDeepSparseMerkleSubTree is a deep sparse merkle subtree for working on only a few leafs in circuit.

              -
              -
              -

              Type Parameters

              -
                -
              • -

                K

              • -
              • -

                V

              -
              -

              Hierarchy

              -
                -
              • ProvableDeepSparseMerkleSubTree
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
                - -
              • -

                Creates an instance of ProvableDeepSparseMerkleSubTree.

                - -

                Memberof

                ProvableDeepSparseMerkleSubTree

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  root: Field
                  -

                  merkle root

                  -
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    hasher: Hasher
                -

                Returns ProvableDeepSparseMerkleSubTree<K, V>

              -
              -

              Properties

              -
              - -
              config: {
                  hashKey: boolean;
                  hashValue: boolean;
              }
              -
              -

              Type declaration

              -
                -
              • -
                hashKey: boolean
              • -
              • -
                hashValue: boolean
              -
              - -
              hasher: Hasher
              -
              - -
              keyType: Provable<K>
              -
              - -
              nodeStore: Map<string, Field[]>
              -
              - -
              root: Field
              -
              - -
              valueStore: Map<string, Field>
              -
              - -
              valueType: Provable<V>
              -
              -

              Methods

              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Update a new value for a key in the tree and return the new root of the tree.

                - -

                Returns

                {Field}

                - -

                Memberof

                ProvableDeepSparseMerkleSubTree

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: K
                • -
                • -
                  Optional value: V
                -

                Returns Field

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +ProvableDeepSparseMerkleSubTree | o1js-merkle

              Class ProvableDeepSparseMerkleSubTree<K, V>

              ProvableDeepSparseMerkleSubTree is a deep sparse merkle subtree for working on only a few leafs in circuit.

              +

              ProvableDeepSparseMerkleSubTree

              +

              Type Parameters

              • K
              • V

              Constructors

              • Creates an instance of ProvableDeepSparseMerkleSubTree.

                +

                Type Parameters

                • K
                • V

                Parameters

                • root: Field

                  merkle root

                  +
                • keyType: Provable<K>
                • valueType: Provable<V>
                • Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • hashKey: boolean
                  • hashValue: boolean
                  • hasher: Hasher

                Returns ProvableDeepSparseMerkleSubTree<K, V>

                Memberof

                ProvableDeepSparseMerkleSubTree

                +

              Properties

              config: {
                  hashKey: boolean;
                  hashValue: boolean;
              }

              Type declaration

              • hashKey: boolean
              • hashValue: boolean
              hasher: Hasher
              keyType: Provable<K>
              nodeStore: Map<string, Field[]>
              root: Field
              valueStore: Map<string, Field>
              valueType: Provable<V>

              Methods

              • Update a new value for a key in the tree and return the new root of the tree.

                +

                Parameters

                • key: K
                • Optional value: V

                Returns Field

                {Field}

                +

                Memberof

                ProvableDeepSparseMerkleSubTree

                +
              \ No newline at end of file diff --git a/classes/ProvableMerkleTreeUtils.html b/classes/ProvableMerkleTreeUtils.html index aa61d0d..4932070 100644 --- a/classes/ProvableMerkleTreeUtils.html +++ b/classes/ProvableMerkleTreeUtils.html @@ -1,226 +1,27 @@ -ProvableMerkleTreeUtils | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class ProvableMerkleTreeUtils

              -
              -

              Collection of utility functions for merkle tree in the circuit.

              -
              -
              -

              Hierarchy

              -
                -
              • ProvableMerkleTreeUtils
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              -
              -

              Properties

              -
              -
              -

              Methods

              -
              -
              -

              Constructors

              -
              - -
              -
              -

              Properties

              -
              - -
              EMPTY_VALUE: Field = EMPTY_VALUE
              -

              Empty value for merkle tree

              - -

              Static

              -

              Memberof

              ProvableMerkleTreeUtils

              -
              -
              -

              Methods

              -
              - -
                - -
              • -

                Create a meerkle proof circuit value type based on the specified tree height.

                - -

                Static

                -

                Returns

                {typeof BaseMerkleProof}

                - -

                Memberof

                ProvableMerkleTreeUtils

                -
                -
                -

                Parameters

                -
                  -
                • -
                  height: number
                -

                Returns typeof BaseMerkleProof

              -
              - -
                - -
              • -

                Returns true if the value is in the tree and it is at the index from the key

                - -

                Static

                -

                Returns

                {Bool}

                - -

                Memberof

                ProvableMerkleTreeUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  proof: BaseMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  index: Field
                • -
                • -
                  value: V
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    Optional hasher?: Hasher
                -

                Returns Bool

              -
              - -
                - -
              • -

                Returns true if there is no value at the index from the key

                - -

                Static

                -

                Returns

                {Bool}

                - -

                Memberof

                ProvableMerkleTreeUtils

                -
                -
                -

                Parameters

                -
                  -
                • -
                  proof: BaseMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  index: Field
                • -
                • -
                  Optional hasher: Hasher = PoseidonHasherFunc
                -

                Returns Bool

              -
              - -
                - -
              • -

                Calculate new root based on index and value.

                - -

                Static

                -

                Returns

                {Field}

                - -

                Memberof

                ProvableMerkleTreeUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  proof: BaseMerkleProof
                • -
                • -
                  index: Field
                • -
                • -
                  value: V
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    Optional hasher?: Hasher
                -

                Returns Field

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +ProvableMerkleTreeUtils | o1js-merkle

              Class ProvableMerkleTreeUtils

              Collection of utility functions for merkle tree in the circuit.

              +

              ProvableMerkleTreeUtils

              +

              Constructors

              Properties

              EMPTY_VALUE: Field = EMPTY_VALUE

              Empty value for merkle tree

              +

              Static

              Memberof

              ProvableMerkleTreeUtils

              +

              Methods

              • Returns true if the value is in the tree and it is at the index from the key

                +

                Type Parameters

                • V

                Parameters

                • proof: BaseMerkleProof
                • expectedRoot: Field
                • index: Field
                • value: V
                • valueType: Provable<V>
                • Optional options: {
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashValue: whether to hash the value, the default is true.

                  +
                  • hashValue: boolean
                  • Optional hasher?: Hasher

                Returns Bool

                {Bool}

                +

                Static

                Memberof

                ProvableMerkleTreeUtils

                +
              • Returns true if there is no value at the index from the key

                +

                Parameters

                Returns Bool

                {Bool}

                +

                Static

                Memberof

                ProvableMerkleTreeUtils

                +
              • Calculate new root based on index and value.

                +

                Type Parameters

                • V

                Parameters

                • proof: BaseMerkleProof
                • index: Field
                • value: V
                • valueType: Provable<V>
                • Optional options: {
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; +hashValue: whether to hash the value, the default is true.

                  +
                  • hashValue: boolean
                  • Optional hasher?: Hasher

                Returns Field

                {Field}

                +

                Static

                Memberof

                ProvableMerkleTreeUtils

                +
              \ No newline at end of file diff --git a/classes/ProvableSMTUtils.html b/classes/ProvableSMTUtils.html index acd66cc..038fb6a 100644 --- a/classes/ProvableSMTUtils.html +++ b/classes/ProvableSMTUtils.html @@ -1,296 +1,33 @@ -ProvableSMTUtils | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class ProvableSMTUtils

              -
              -

              Collection of utility functions for sparse merkle tree in the circuit.

              -
              -
              -

              Hierarchy

              -
                -
              • ProvableSMTUtils
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
              -
              -

              Properties

              -
              - -
              EMPTY_VALUE: Field = EMPTY_VALUE
              -

              Empty value for sparse merkle tree

              - -

              Static

              -

              Memberof

              ProvableSMTUtils

              -
              -
              - -
              computeRootByField: ((sideNodes: Field[], keyHashOrKeyField: Field, valueHashOrValueField: Field, hasher??: Hasher) => Field) = computeRootByFieldInCircuit
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (sideNodes: Field[], keyHashOrKeyField: Field, valueHashOrValueField: Field, hasher??: Hasher): Field
                • -
                • -

                  Calculate new root based on sideNodes, keyHashOrKeyField and valueHashOrValueField

                  - -

                  Static

                  -

                  Returns

                  {Field}

                  - -

                  Memberof

                  ProvableSMTUtils

                  -
                  -
                  -

                  Parameters

                  -
                    -
                  • -
                    sideNodes: Field[]
                  • -
                  • -
                    keyHashOrKeyField: Field
                  • -
                  • -
                    valueHashOrValueField: Field
                  • -
                  • -
                    Optional hasher: Hasher = PoseidonHasherFunc
                  -

                  Returns Field

              -
              - -
              verifyProofByField: ((proof: SparseMerkleProof, expectedRoot: Field, keyHashOrKeyField: Field, valueHashOrValueField: Field, hasher??: Hasher) => Bool) = verifyProofByFieldInCircuit
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (proof: SparseMerkleProof, expectedRoot: Field, keyHashOrKeyField: Field, valueHashOrValueField: Field, hasher??: Hasher): Bool
                • -
                • -

                  Verify a merkle proof by root, keyHashOrKeyField and valueHashOrValueField

                  - -

                  Static

                  -

                  Returns

                  {Bool}

                  - -

                  Memberof

                  ProvableSMTUtils

                  -
                  -
                  -

                  Parameters

                  -
                    -
                  • -
                    proof: SparseMerkleProof
                  • -
                  • -
                    expectedRoot: Field
                  • -
                  • -
                    keyHashOrKeyField: Field
                  • -
                  • -
                    valueHashOrValueField: Field
                  • -
                  • -
                    Optional hasher: Hasher = PoseidonHasherFunc
                  -

                  Returns Bool

              -
              -

              Methods

              -
              - -
                - -
              • -

                Returns true if the value is in the tree and it is at the index from the key

                - -

                Static

                -

                Returns

                {Bool}

                - -

                Memberof

                ProvableSMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  proof: SparseMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  value: V
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    Optional hasher?: Hasher
                -

                Returns Bool

              -
              - -
                - -
              • -

                Returns true if there is no value at the index from the key

                - -

                Static

                -

                Returns

                {Bool}

                - -

                Memberof

                ProvableSMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                -
                -

                Parameters

                -
                  -
                • -
                  proof: SparseMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hasher?: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    Optional hasher?: Hasher
                -

                Returns Bool

              -
              - -
                - -
              • -

                Calculate new root based on sideNodes, key and value

                - -

                Static

                -

                Returns

                {Field}

                - -

                Memberof

                ProvableSMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  sideNodes: Field[]
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  value: V
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    Optional hasher?: Hasher
                -

                Returns Field

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +ProvableSMTUtils | o1js-merkle

              Class ProvableSMTUtils

              Collection of utility functions for sparse merkle tree in the circuit.

              +

              ProvableSMTUtils

              +

              Constructors

              Properties

              EMPTY_VALUE: Field = EMPTY_VALUE

              Empty value for sparse merkle tree

              +

              Static

              Memberof

              ProvableSMTUtils

              +
              computeRootByField: ((sideNodes, keyHashOrKeyField, valueHashOrValueField, hasher?) => Field) = computeRootByFieldInCircuit

              Calculate new root based on sideNodes, keyHashOrKeyField and valueHashOrValueField

              +

              Type declaration

                • (sideNodes, keyHashOrKeyField, valueHashOrValueField, hasher?): Field
                • Parameters

                  • sideNodes: Field[]
                  • keyHashOrKeyField: Field
                  • valueHashOrValueField: Field
                  • Optional hasher: Hasher = PoseidonHasherFunc

                  Returns Field

              Static

              Returns

              {Field}

              +

              Memberof

              ProvableSMTUtils

              +
              verifyProofByField: ((proof, expectedRoot, keyHashOrKeyField, valueHashOrValueField, hasher?) => Bool) = verifyProofByFieldInCircuit

              Verify a merkle proof by root, keyHashOrKeyField and valueHashOrValueField

              +

              Type declaration

                • (proof, expectedRoot, keyHashOrKeyField, valueHashOrValueField, hasher?): Bool
                • Parameters

                  • proof: SparseMerkleProof
                  • expectedRoot: Field
                  • keyHashOrKeyField: Field
                  • valueHashOrValueField: Field
                  • Optional hasher: Hasher = PoseidonHasherFunc

                  Returns Bool

              Static

              Returns

              {Bool}

              +

              Memberof

              ProvableSMTUtils

              +

              Methods

              • Returns true if the value is in the tree and it is at the index from the key

                +

                Type Parameters

                • K
                • V

                Parameters

                • proof: SparseMerkleProof
                • expectedRoot: Field
                • key: K
                • keyType: Provable<K>
                • value: V
                • valueType: Provable<V>
                • Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • hashKey: boolean
                  • hashValue: boolean
                  • Optional hasher?: Hasher

                Returns Bool

                {Bool}

                +

                Static

                Memberof

                ProvableSMTUtils

                +
              • Returns true if there is no value at the index from the key

                +

                Type Parameters

                • K

                Parameters

                • proof: SparseMerkleProof
                • expectedRoot: Field
                • key: K
                • keyType: Provable<K>
                • Optional options: {
                      hashKey: boolean;
                      hasher?: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • hashKey: boolean
                  • Optional hasher?: Hasher

                Returns Bool

                {Bool}

                +

                Static

                Memberof

                ProvableSMTUtils

                +
              • Calculate new root based on sideNodes, key and value

                +

                Type Parameters

                • K
                • V

                Parameters

                • sideNodes: Field[]
                • key: K
                • keyType: Provable<K>
                • value: V
                • valueType: Provable<V>
                • Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher?: Hasher;
                  } = ...
                  • hashKey: boolean
                  • hashValue: boolean
                  • Optional hasher?: Hasher

                Returns Field

                {Field}

                +

                Static

                Memberof

                ProvableSMTUtils

                +
              \ No newline at end of file diff --git a/classes/RocksStore.html b/classes/RocksStore.html index 244d3d4..58c8973 100644 --- a/classes/RocksStore.html +++ b/classes/RocksStore.html @@ -1,422 +1,61 @@ -RocksStore | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class RocksStore<V>

              -
              -

              Store based on rocksdb

              - -

              Implements

              -
              -

              Type Parameters

              -
                -
              • -

                V

              -
              -

              Hierarchy

              -
                -
              • RocksStore
              -
              -

              Implements

              -
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
                - -
              • -

                Creates an instance of RocksStore.

                - -

                Memberof

                RocksStore

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  db: LevelUp<AbstractLevelDOWN<any, any>, AbstractIterator<any, any>>
                • -
                • -
                  eltTyp: Provable<V>
                • -
                • -
                  smtName: string
                -

                Returns RocksStore<V>

              -
              -

              Properties

              -
              - -
              batch: LevelUpChain<any, any>
              -
              - -
              db: LevelUp<AbstractLevelDOWN<any, any>, AbstractIterator<any, any>>
              -
              - -
              eltTyp: Provable<V>
              -
              - -
              leavesKey: string
              -
              - -
              nodesKey: string
              -
              -

              Methods

              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Use the commit() method to actually submit all prepare changes.

                - -

                Returns

                {Promise}

                - -

                Memberof

                RocksStore

                -
                -

                Returns Promise<void>

              -
              - -
                - -
              • -

                Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

                - -

                Returns

                {Promise<Field[]>}

                - -

                Memberof

                RocksStore

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: Field
                -

                Returns Promise<Field[]>

              -
              - -
                - -
              • -

                Get the tree root. Error is thrown when the root does not exist.

                - -

                Returns

                {Promise}

                - -

                Memberof

                RocksStore

                -
                -

                Returns Promise<Field>

              -
              - -
                - -
              • -

                Get the value for a key. Error is thrown when a key that does not exist is being accessed.

                - -

                Returns

                {Promise}

                - -

                Memberof

                RocksStore

                -
                -
                -

                Parameters

                -
                  -
                • -
                  path: Field
                -

                Returns Promise<V>

              -
              - -
                - -
              • -

                Get values map, key is Field.toString().

                - -

                Returns

                {Promise<Map<string, V>>}

                - -

                Memberof

                RocksStore

                -
                -

                Returns Promise<Map<string, V>>

              -
              - -
                - -
              • -

                Prepare delete nodes for a key. Use the commit() method to actually submit changes.

                - -

                Memberof

                RocksStore

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: Field
                -

                Returns void

              -
              - -
                - -
              • -

                Prepare delete the value for a key. Use the commit() method to actually submit changes.

                - -

                Memberof

                RocksStore

                -
                -
                -

                Parameters

                -
                  -
                • -
                  path: Field
                -

                Returns void

              -
              - -
                - -
              • -

                Prepare put nodes for a key. Use the commit() method to actually submit changes.

                - -

                Memberof

                RocksStore

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: Field
                • -
                • -
                  value: Field[]
                -

                Returns void

              -
              - -
                - -
              • -

                Prepare put the value for a key. Use the commit() method to actually submit changes.

                - -

                Memberof

                RocksStore

                -
                -
                -

                Parameters

                -
                  -
                • -
                  path: Field
                • -
                • -
                  value: V
                -

                Returns void

              -
              - -
                - -
              • -

                Prepare update the root. Use the commit() method to actually submit changes.

                - -

                Memberof

                RocksStore

                -
                -
                -

                Parameters

                -
                  -
                • -
                  root: Field
                -

                Returns void

              -
              - -
                - -
              • Protected -

                Convert value string to a value of FieldElements type.

                - -

                Returns

                {V}

                - -

                Memberof

                RocksStore

                -
                -
                -

                Parameters

                -
                  -
                • -
                  valueStr: string
                • -
                • -
                  eltTyp: Provable<V>
                -

                Returns V

              -
              - -
                - -
              • Protected -

                Serialize the value of the FieldElements type into a string

                - -

                Returns

                {string}

                - -

                Memberof

                RocksStore

                -
                -
                -

                Parameters

                -
                  -
                • -
                  value: V
                -

                Returns string

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +RocksStore | o1js-merkle

              Class RocksStore<V>

              Store based on rocksdb

              +

              RocksStore

              +

              Implements

              Type Parameters

              • V

              Implements

              Constructors

              • Creates an instance of RocksStore.

                +

                Type Parameters

                • V

                Parameters

                • db: LevelUp<AbstractLevelDOWN<any, any>, AbstractIterator<any, any>>
                • eltTyp: Provable<V>
                • smtName: string

                Returns RocksStore<V>

                Memberof

                RocksStore

                +

              Properties

              batch: LevelUpChain<any, any>
              db: LevelUp<AbstractLevelDOWN<any, any>, AbstractIterator<any, any>>
              eltTyp: Provable<V>
              leavesKey: string
              nodesKey: string

              Methods

              • Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

                +

                Parameters

                • key: Field

                Returns Promise<Field[]>

                {Promise<Field[]>}

                +

                Memberof

                RocksStore

                +
              • Get the tree root. Error is thrown when the root does not exist.

                +

                Returns Promise<Field>

                {Promise}

                +

                Memberof

                RocksStore

                +
              • Get the value for a key. Error is thrown when a key that does not exist is being accessed.

                +

                Parameters

                • path: Field

                Returns Promise<V>

                {Promise}

                +

                Memberof

                RocksStore

                +
              • Prepare put nodes for a key. Use the commit() method to actually submit changes.

                +

                Parameters

                • key: Field
                • value: Field[]

                Returns void

                Memberof

                RocksStore

                +
              • Protected

                Convert value string to a value of FieldElements type.

                +

                Parameters

                • valueStr: string
                • eltTyp: Provable<V>

                Returns V

                {V}

                +

                Memberof

                RocksStore

                +
              • Protected

                Serialize the value of the FieldElements type into a string

                +

                Parameters

                • value: V

                Returns string

                {string}

                +

                Memberof

                RocksStore

                +
              \ No newline at end of file diff --git a/classes/SMTUtils.html b/classes/SMTUtils.html index ebad486..5e88ea4 100644 --- a/classes/SMTUtils.html +++ b/classes/SMTUtils.html @@ -1,403 +1,52 @@ -SMTUtils | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class SMTUtils

              -
              -

              Collection of utility functions for sparse merkle tree

              -
              -
              -

              Hierarchy

              -
                -
              • SMTUtils
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
              -
              -

              Methods

              -
              - -
                - -
              • -

                Returns true if the value is in the tree and it is at the index from the key

                - -

                Static

                -

                Returns

                {boolean}

                - -

                Memberof

                SMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  proof: SparseMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  value: V
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    hasher: Hasher
                -

                Returns boolean

              -
              - -
                - -
              • -

                Returns true if there is no value at the index from the key

                - -

                Static

                -

                Returns

                {boolean}

                - -

                Memberof

                SMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  proof: SparseMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    hasher: Hasher
                -

                Returns boolean

              -
              - -
              -
              - -
                - -
              • -

                Calculate new root based on sideNodes, key and value

                - -

                Static

                -

                Returns

                {Field}

                - -

                Memberof

                SMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  sideNodes: Field[]
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  Optional value: V
                • -
                • -
                  Optional valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    hasher: Hasher
                -

                Returns Field

              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Verify a compacted merkle proof

                - -

                Static

                -

                Returns

                {boolean}

                - -

                Memberof

                SMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  cproof: SparseCompactMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  Optional value: V
                • -
                • -
                  Optional valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    hasher: Hasher
                -

                Returns boolean

              -
              - -
                - -
              • -

                Verify a merkle proof

                - -

                Static

                -

                Returns

                {boolean}

                - -

                Memberof

                SMTUtils

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  proof: SparseMerkleProof
                • -
                • -
                  expectedRoot: Field
                • -
                • -
                  key: K
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  Optional value: V
                • -
                • -
                  Optional valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                  • -
                  • -
                    hasher: Hasher
                -

                Returns boolean

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +SMTUtils | o1js-merkle

              Class SMTUtils

              Collection of utility functions for sparse merkle tree

              +

              SMTUtils

              +

              Constructors

              Methods

              • Returns true if the value is in the tree and it is at the index from the key

                +

                Type Parameters

                • K
                • V

                Parameters

                • proof: SparseMerkleProof
                • expectedRoot: Field
                • key: K
                • keyType: Provable<K>
                • value: V
                • valueType: Provable<V>
                • Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • hashKey: boolean
                  • hashValue: boolean
                  • hasher: Hasher

                Returns boolean

                {boolean}

                +

                Static

                Memberof

                SMTUtils

                +
              • Returns true if there is no value at the index from the key

                +

                Type Parameters

                • K
                • V

                Parameters

                • proof: SparseMerkleProof
                • expectedRoot: Field
                • key: K
                • keyType: Provable<K>
                • Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • hashKey: boolean
                  • hashValue: boolean
                  • hasher: Hasher

                Returns boolean

                {boolean}

                +

                Static

                Memberof

                SMTUtils

                +
              • Calculate new root based on sideNodes, key and value

                +

                Type Parameters

                • K
                • V

                Parameters

                • sideNodes: Field[]
                • key: K
                • keyType: Provable<K>
                • Optional value: V
                • Optional valueType: Provable<V>
                • Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • hashKey: boolean
                  • hashValue: boolean
                  • hasher: Hasher

                Returns Field

                {Field}

                +

                Static

                Memberof

                SMTUtils

                +
              • Verify a compacted merkle proof

                +

                Type Parameters

                • K
                • V

                Parameters

                • cproof: SparseCompactMerkleProof
                • expectedRoot: Field
                • key: K
                • keyType: Provable<K>
                • Optional value: V
                • Optional valueType: Provable<V>
                • Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...
                  • hashKey: boolean
                  • hashValue: boolean
                  • hasher: Hasher

                Returns boolean

                {boolean}

                +

                Static

                Memberof

                SMTUtils

                +
              • Verify a merkle proof

                +

                Type Parameters

                • K
                • V

                Parameters

                • proof: SparseMerkleProof
                • expectedRoot: Field
                • key: K
                • keyType: Provable<K>
                • Optional value: V
                • Optional valueType: Provable<V>
                • Optional options: {
                      hashKey: boolean;
                      hashValue: boolean;
                      hasher: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • hashKey: boolean
                  • hashValue: boolean
                  • hasher: Hasher

                Returns boolean

                {boolean}

                +

                Static

                Memberof

                SMTUtils

                +
              \ No newline at end of file diff --git a/classes/SparseMerkleProof.html b/classes/SparseMerkleProof.html index 34c149f..b0a8efd 100644 --- a/classes/SparseMerkleProof.html +++ b/classes/SparseMerkleProof.html @@ -1,420 +1,80 @@ -SparseMerkleProof | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class SparseMerkleProof

              -
              -

              Merkle proof CircuitValue for an element in a SparseMerkleTree.

              -
              -
              -

              Hierarchy

              -
                -
              • {
                    root: Field;
                    sideNodes: Field[];
                } -
                  -
                • SparseMerkleProof
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              -
              -

              Properties

              -
              -
              -

              Methods

              -
              -
              -

              Constructors

              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  value: {
                      root: Field;
                      sideNodes: Field[];
                  }
                  -
                    -
                  • -
                    root: Field
                  • -
                  • -
                    sideNodes: Field[]
                -

                Returns SparseMerkleProof

              Properties

              root: Field = Field
              -
              - -
              sideNodes: Field[] = ...
              sideNodes: Field[] = ...
              -
              - -
              _isStruct: true
              _isStruct: true
              -
              - -
              check: ((value: {
                  root: Field;
                  sideNodes: Field[];
              }) => void)
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (value: {
                      root: Field;
                      sideNodes: Field[];
                  }): void
                • -
                • -

                  Add assertions to the proof to check if value is a valid member of type T. -This function does not return anything, rather creates any number of assertions on the proof to prove value is a valid member of the type T.

                  +})._isStruct

                  • Defined in node_modules/.store/o1js@1.2.0/node_modules/o1js/dist/node/lib/provable/types/struct.d.ts:101
              check: ((value) => void)

              Add assertions to the proof to check if value is a valid member of type T. +This function does not return anything, instead it creates any number of assertions to prove that value is a valid member of the type T.

              For instance, calling check function on the type Bool asserts that the value of the element is either 1 or 0.

              -
              -
              -

              Parameters

              -
                -
              • -
                value: {
                    root: Field;
                    sideNodes: Field[];
                }
                -

                the element of type T to put assertions on.

                -
                -
                  -
                • -
                  root: Field
                • -
                • -
                  sideNodes: Field[]
              -

              Returns void

              Type declaration

                • (value): void
                • Parameters

                  • value: {
                        root: Field;
                        sideNodes: Field[];
                    }

                    the element of type T to put assertions on.

                    +
                    • root: Field
                    • sideNodes: Field[]

                  Returns void

              -
              - -
              empty: (() => {
                  root: Field;
                  sideNodes: Field[];
              })
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (): {
                      root: Field;
                      sideNodes: Field[];
                  }
                • -
                • -

                  Returns {
                      root: Field;
                      sideNodes: Field[];
                  }

                  -
                    -
                  • -
                    root: Field
                  • -
                  • -
                    sideNodes: Field[]
              empty: (() => {
                  root: Field;
                  sideNodes: Field[];
              })

              Type declaration

                • (): {
                      root: Field;
                      sideNodes: Field[];
                  }
                • Returns {
                      root: Field;
                      sideNodes: Field[];
                  }

                  • root: Field
                  • sideNodes: Field[]
              -
              - -
              fromFields: ((fields: Field[]) => {
                  root: Field;
                  sideNodes: Field[];
              })
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (fields: Field[]): {
                      root: Field;
                      sideNodes: Field[];
                  }
                • -
                • -

                  A function that returns an element of type T from the given provable data.

                  -

                  Important: For any element of type T, this function is the reverse operation of calling toFields method on an element of type T.

                  - -

                  Returns

                  An element of type T generated from the given provable data.

                  -
                  -
                  -

                  Parameters

                  -
                    -
                  • -
                    fields: Field[]
                    -

                    an array of Field elements describing the provable data of the new T element.

                    -
                  -

                  Returns {
                      root: Field;
                      sideNodes: Field[];
                  }

                  -
                    -
                  • -
                    root: Field
                  • -
                  • -
                    sideNodes: Field[]
              fromFields: ((fields) => {
                  root: Field;
                  sideNodes: Field[];
              })

              Type declaration

                • (fields): {
                      root: Field;
                      sideNodes: Field[];
                  }
                • Parameters

                  • fields: Field[]

                  Returns {
                      root: Field;
                      sideNodes: Field[];
                  }

                  • root: Field
                  • sideNodes: Field[]
              -
              - -
              fromJSON: ((x: {
                  root: string;
                  sideNodes: string[];
              }) => {
                  root: Field;
                  sideNodes: Field[];
              })
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (x: {
                      root: string;
                      sideNodes: string[];
                  }): {
                      root: Field;
                      sideNodes: Field[];
                  }
                • -
                • -
                  -

                  Parameters

                  -
                    -
                  • -
                    x: {
                        root: string;
                        sideNodes: string[];
                    }
                    -
                      -
                    • -
                      root: string
                    • -
                    • -
                      sideNodes: string[]
                  -

                  Returns {
                      root: Field;
                      sideNodes: Field[];
                  }

                  -
                    -
                  • -
                    root: Field
                  • -
                  • -
                    sideNodes: Field[]
              fromJSON: ((x) => {
                  root: Field;
                  sideNodes: Field[];
              })

              Type declaration

                • (x): {
                      root: Field;
                      sideNodes: Field[];
                  }
                • Parameters

                  • x: {
                        root: string;
                        sideNodes: string[];
                    }
                    • root: string
                    • sideNodes: string[]

                  Returns {
                      root: Field;
                      sideNodes: Field[];
                  }

                  • root: Field
                  • sideNodes: Field[]
              -
              - -
              toAuxiliary: ((value?: {
                  root: Field;
                  sideNodes: Field[];
              }) => any[])
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (value?: {
                      root: Field;
                      sideNodes: Field[];
                  }): any[]
                • -
                • -

                  A function that takes value (optional), an element of type T, as argument and returns an array of any type that make up the "auxiliary" (non-provable) data of value. -As any element of the interface ProvablePure<T> includes no "auxiliary" data by definition, this function always returns a default value.

                  - -

                  Returns

                  An empty array, as any element of the interface ProvablePure<T> includes no "auxiliary" data by definition.

                  -
                  -
                  -

                  Parameters

                  -
                    -
                  • -
                    Optional value: {
                        root: Field;
                        sideNodes: Field[];
                    }
                    -

                    the element of type T to generate the auxiliary data array from, optional. If not provided, a default value for auxiliary data is returned.

                    -
                    -
                      -
                    • -
                      root: Field
                    • -
                    • -
                      sideNodes: Field[]
                  -

                  Returns any[]

              fromValue: ((x) => {
                  root: Field;
                  sideNodes: Field[];
              }) & ((value) => {
                  root: Field;
                  sideNodes: Field[];
              })

              Convert provable type from a normal JS type.

              +

              Type declaration

                • (x): {
                      root: Field;
                      sideNodes: Field[];
                  }
                • Parameters

                  • x: {
                        root: Field;
                        sideNodes: Field[];
                    } | {
                        root: bigint;
                        sideNodes: bigint[];
                    }

                  Returns {
                      root: Field;
                      sideNodes: Field[];
                  }

                  • root: Field
                  • sideNodes: Field[]

              Type declaration

                • (value): {
                      root: Field;
                      sideNodes: Field[];
                  }
                • Parameters

                  • value: {
                        root: string | number | bigint | Field;
                        sideNodes: Field[] | bigint[];
                    }
                    • root: string | number | bigint | Field
                    • sideNodes: Field[] | bigint[]

                  Returns {
                      root: Field;
                      sideNodes: Field[];
                  }

                  • root: Field
                  • sideNodes: Field[]
              -
              - -
              toFields: ((value: {
                  root: Field;
                  sideNodes: Field[];
              }) => Field[])
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (value: {
                      root: Field;
                      sideNodes: Field[];
                  }): Field[]
                • -
                • -

                  A function that takes value, an element of type T, as argument and returns an array of Field elements that make up the provable data of value.

                  - -

                  Returns

                  A Field array describing how this T element is made up of Field elements.

                  -
                  -
                  -

                  Parameters

                  -
                    -
                  • -
                    value: {
                        root: Field;
                        sideNodes: Field[];
                    }
                    -

                    the element of type T to generate the Field array from.

                    -
                    -
                      -
                    • -
                      root: Field
                    • -
                    • -
                      sideNodes: Field[]
                  -

                  Returns Field[]

              toAuxiliary: ((value?) => any[])

              A function that takes value (optional), an element of type T, as argument and +returns an array of any type that make up the "auxiliary" (non-provable) data of value.

              +

              Type declaration

                • (value?): any[]
                • Parameters

                  • Optional value: {
                        root: Field;
                        sideNodes: Field[];
                    }

                    the element of type T to generate the auxiliary data array from, optional. +If not provided, a default value for auxiliary data is returned.

                    +
                    • root: Field
                    • sideNodes: Field[]

                  Returns any[]

              Returns

              An array of any type describing how this T element is made up of "auxiliary" (non-provable) data.

              +
              -
              - -
              toInput: ((x: {
                  root: Field;
                  sideNodes: Field[];
              }) => {
                  fields?: Field[];
                  packed?: [Field, number][];
              })
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (x: {
                      root: Field;
                      sideNodes: Field[];
                  }): {
                      fields?: Field[];
                      packed?: [Field, number][];
                  }
                • -
                • -
                  -

                  Parameters

                  -
                    -
                  • -
                    x: {
                        root: Field;
                        sideNodes: Field[];
                    }
                    -
                      -
                    • -
                      root: Field
                    • -
                    • -
                      sideNodes: Field[]
                  -

                  Returns {
                      fields?: Field[];
                      packed?: [Field, number][];
                  }

                  -
                    -
                  • -
                    Optional fields?: Field[]
                  • -
                  • -
                    Optional packed?: [Field, number][]
              toFields: ((value) => Field[])

              A function that takes value, an element of type T, as argument and returns +an array of Field elements that make up the provable data of value.

              +

              Type declaration

                • (value): Field[]
                • Parameters

                  • value: {
                        root: Field;
                        sideNodes: Field[];
                    }

                    the element of type T to generate the Field array from.

                    +
                    • root: Field
                    • sideNodes: Field[]

                  Returns Field[]

              Returns

              A Field array describing how this T element is made up of Field elements.

              +
              -
              - -
              toJSON: ((x: {
                  root: Field;
                  sideNodes: Field[];
              }) => {
                  root: string;
                  sideNodes: string[];
              })
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (x: {
                      root: Field;
                      sideNodes: Field[];
                  }): {
                      root: string;
                      sideNodes: string[];
                  }
                • -
                • -
                  -

                  Parameters

                  -
                    -
                  • -
                    x: {
                        root: Field;
                        sideNodes: Field[];
                    }
                    -
                      -
                    • -
                      root: Field
                    • -
                    • -
                      sideNodes: Field[]
                  -

                  Returns {
                      root: string;
                      sideNodes: string[];
                  }

                  -
                    -
                  • -
                    root: string
                  • -
                  • -
                    sideNodes: string[]
              toInput: ((x) => {
                  fields?: Field[];
                  packed?: [Field, number][];
              })

              Type declaration

                • (x): {
                      fields?: Field[];
                      packed?: [Field, number][];
                  }
                • Parameters

                  • x: {
                        root: Field;
                        sideNodes: Field[];
                    }
                    • root: Field
                    • sideNodes: Field[]

                  Returns {
                      fields?: Field[];
                      packed?: [Field, number][];
                  }

                  • Optional fields?: Field[]
                  • Optional packed?: [Field, number][]
              -
              -

              Methods

              -
              - -
                - -
              • -

                Return the size of the T type in terms of Field type, as Field is the primitive type.

                -

                Warning: This function returns a number, so you cannot use it to prove something on chain. You can use it during debugging or to understand the memory complexity of some type.

                - -

                Returns

                A number representing the size of the T type in terms of Field type.

                -
                -

                Returns number

              toJSON: ((x) => {
                  root: string;
                  sideNodes: string[];
              })

              Type declaration

                • (x): {
                      root: string;
                      sideNodes: string[];
                  }
                • Parameters

                  • x: {
                        root: Field;
                        sideNodes: Field[];
                    }
                    • root: Field
                    • sideNodes: Field[]

                  Returns {
                      root: string;
                      sideNodes: string[];
                  }

                  • root: string
                  • sideNodes: string[]
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +}).toJSON

              • Defined in node_modules/.store/o1js@1.2.0/node_modules/o1js/dist/node/lib/provable/types/struct.d.ts:108
              toValue: ((x) => {
                  root: bigint;
                  sideNodes: bigint[];
              })

              Convert provable type to a normal JS type.

              +

              Type declaration

                • (x): {
                      root: bigint;
                      sideNodes: bigint[];
                  }
                • Parameters

                  • x: {
                        root: Field;
                        sideNodes: Field[];
                    }
                    • root: Field
                    • sideNodes: Field[]

                  Returns {
                      root: bigint;
                      sideNodes: bigint[];
                  }

                  • root: bigint
                  • sideNodes: bigint[]

              Methods

              • Return the size of the T type in terms of Field type, as Field is the primitive type.

                +

                Returns number

                A number representing the size of the T type in terms of Field type.

                +
              \ No newline at end of file diff --git a/classes/SparseMerkleTree.html b/classes/SparseMerkleTree.html index e5eae61..f9f7467 100644 --- a/classes/SparseMerkleTree.html +++ b/classes/SparseMerkleTree.html @@ -1,633 +1,88 @@ -SparseMerkleTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class SparseMerkleTree<K, V>

              -
              -

              Sparse Merkle Tree

              -
              -
              -

              Type Parameters

              -
                -
              • -

                K

              • -
              • -

                V

              -
              -

              Hierarchy

              -
                -
              • SparseMerkleTree
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
                - -
              • -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  root: Field
                • -
                • -
                  store: Store<V>
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  hasher: Hasher
                • -
                • -
                  config: {
                      hashKey: boolean;
                      hashValue: boolean;
                  }
                  -
                    -
                  • -
                    hashKey: boolean
                  • -
                  • -
                    hashValue: boolean
                -

                Returns SparseMerkleTree<K, V>

              -
              -

              Properties

              -
              - -
              config: {
                  hashKey: boolean;
                  hashValue: boolean;
              }
              -
              -

              Type declaration

              -
                -
              • -
                hashKey: boolean
              • -
              • -
                hashValue: boolean
              -
              - -
              hasher: Hasher
              -
              - -
              keyType: Provable<K>
              -
              - -
              root: Field
              -
              - -
              store: Store<V>
              -
              - -
              valueType: Provable<V>
              -
              - -
              initialPoseidonHashRoot: Field = ...
              -

              Initial empty tree root based on poseidon hash algorithm

              - -

              Static

              -

              Memberof

              SparseMerkleTree

              -
              -
              -

              Methods

              -
              - -
                - -
              • -

                Clear the tree.

                - -

                Returns

                {Promise}

                - -

                Memberof

                SparseMerkleTree

                -
                -

                Returns Promise<void>

              -
              - -
                - -
              • -

                Delete a value from tree and return the new root of the tree.

                - -

                Returns

                {Promise}

                - -

                Memberof

                SparseMerkleTree

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: K
                -

                Returns Promise<Field>

              -
              - -
                - -
              • -

                Get the depth of the tree.

                - -

                Returns

                {number}

                - -

                Memberof

                SparseMerkleTree

                -
                -

                Returns number

              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  data: Field[]
                -

                Returns Field

              -
              - -
                - -
              • -

                Get the value for a key from the tree.

                - -

                Returns

                {(Promise<V | null>)}

                - -

                Memberof

                SparseMerkleTree

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: K
                -

                Returns Promise<null | V>

              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Get the root of the tree.

                - -

                Returns

                {Field}

                - -

                Memberof

                SparseMerkleTree

                -
                -

                Returns Field

              -
              - -
                - -
              • -

                Get the data store of the tree.

                - -

                Returns

                {Store}

                - -

                Memberof

                SparseMerkleTree

                -
                -

                Returns Store<V>

              -
              - -
                - -
              • -

                Check if the key exists in the tree.

                - -

                Returns

                {Promise}

                - -

                Memberof

                SparseMerkleTree

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: K
                -

                Returns Promise<boolean>

              -
              - -
                - -
              • -

                Check if the tree is empty.

                - -

                Returns

                {boolean}

                - -

                Memberof

                SparseMerkleTree

                -
                -

                Returns boolean

              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Set the root of the tree.

                - -

                Memberof

                SparseMerkleTree

                -
                -
                -

                Parameters

                -
                  -
                • -
                  root: Field
                -

                Returns Promise<void>

              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  root: Field
                • -
                • -
                  path: Field
                -

                Returns Promise<{
                    leafData: Field;
                    pathNodes: Field[];
                    sideNodes: Field[];
                }>

              -
              - -
                - -
              • -

                Update a new value for a key in the tree and return the new root of the tree.

                - -

                Returns

                {Promise}

                - -

                Memberof

                SparseMerkleTree

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: K
                • -
                • -
                  Optional value: V
                -

                Returns Promise<Field>

              -
              - -
                - -
              • -

                Update multiple leaves and return the new root of the tree.

                - -

                Returns

                {Promise}

                - -

                Memberof

                SparseMerkleTree

                -
                -
                -

                Parameters

                -
                  -
                • -
                  kvs: {
                      key: K;
                      value?: V;
                  }[]
                -

                Returns Promise<Field>

              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  root: Field
                • -
                • -
                  key: K
                • -
                • -
                  Optional value: V
                -

                Returns Promise<Field>

              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  sideNodes: Field[]
                • -
                • -
                  pathNodes: Field[]
                • -
                • -
                  oldLeafData: Field
                • -
                • -
                  path: Field
                • -
                • -
                  Optional value: V
                -

                Returns Field

              -
              - -
                - -
              • -

                Build a new sparse merkle tree

                - -

                Static

                -

                Returns

                {Promise<SparseMerkleTree<K, V>>}

                - -

                Memberof

                SparseMerkleTree

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  store: Store<V>
                • -
                • -
                  KeyType: Provable<K>
                • -
                • -
                  ValueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey?: boolean;
                      hashValue?: boolean;
                      hasher?: Hasher;
                  } = ...
                  -
                    -
                  • -
                    Optional hashKey?: boolean
                  • -
                  • -
                    Optional hashValue?: boolean
                  • -
                  • -
                    Optional hasher?: Hasher
                -

                Returns Promise<SparseMerkleTree<K, V>>

              -
              - -
                - -
              • -

                Import a sparse merkle tree via existing store

                - -

                Static

                -

                Returns

                {Promise<SparseMerkleTree<K, V>>}

                - -

                Memberof

                SparseMerkleTree

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  store: Store<V>
                • -
                • -
                  keyType: Provable<K>
                • -
                • -
                  valueType: Provable<V>
                • -
                • -
                  Optional options: {
                      hashKey?: boolean;
                      hashValue?: boolean;
                      hasher?: Hasher;
                  } = ...
                  -
                    -
                  • -
                    Optional hashKey?: boolean
                  • -
                  • -
                    Optional hashValue?: boolean
                  • -
                  • -
                    Optional hasher?: Hasher
                -

                Returns Promise<SparseMerkleTree<K, V>>

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +SparseMerkleTree | o1js-merkle

              Class SparseMerkleTree<K, V>

              Sparse Merkle Tree

              +

              SparseMerkleTree

              +

              Type Parameters

              • K
              • V

              Constructors

              • Type Parameters

                • K
                • V

                Parameters

                • root: Field
                • store: Store<V>
                • keyType: Provable<K>
                • valueType: Provable<V>
                • hasher: Hasher
                • config: {
                      hashKey: boolean;
                      hashValue: boolean;
                  }
                  • hashKey: boolean
                  • hashValue: boolean

                Returns SparseMerkleTree<K, V>

              Properties

              config: {
                  hashKey: boolean;
                  hashValue: boolean;
              }

              Type declaration

              • hashKey: boolean
              • hashValue: boolean
              hasher: Hasher
              keyType: Provable<K>
              root: Field
              store: Store<V>
              valueType: Provable<V>
              initialPoseidonHashRoot: Field = ...

              Initial empty tree root based on poseidon hash algorithm

              +

              Static

              Memberof

              SparseMerkleTree

              +

              Methods

              • Clear the tree.

                +

                Returns Promise<void>

                {Promise}

                +

                Memberof

                SparseMerkleTree

                +
              • Delete a value from tree and return the new root of the tree.

                +

                Parameters

                • key: K

                Returns Promise<Field>

                {Promise}

                +

                Memberof

                SparseMerkleTree

                +
              • Get the depth of the tree.

                +

                Returns number

                {number}

                +

                Memberof

                SparseMerkleTree

                +
              • Get the value for a key from the tree.

                +

                Parameters

                • key: K

                Returns Promise<null | V>

                {(Promise<V | null>)}

                +

                Memberof

                SparseMerkleTree

                +
              • Get the root of the tree.

                +

                Returns Field

                {Field}

                +

                Memberof

                SparseMerkleTree

                +
              • Check if the key exists in the tree.

                +

                Parameters

                • key: K

                Returns Promise<boolean>

                {Promise}

                +

                Memberof

                SparseMerkleTree

                +
              • Check if the tree is empty.

                +

                Returns boolean

                {boolean}

                +

                Memberof

                SparseMerkleTree

                +
              • Set the root of the tree.

                +

                Parameters

                • root: Field

                Returns Promise<void>

                Memberof

                SparseMerkleTree

                +
              • Parameters

                • root: Field
                • path: Field

                Returns Promise<{
                    leafData: Field;
                    pathNodes: Field[];
                    sideNodes: Field[];
                }>

              • Update a new value for a key in the tree and return the new root of the tree.

                +

                Parameters

                • key: K
                • Optional value: V

                Returns Promise<Field>

                {Promise}

                +

                Memberof

                SparseMerkleTree

                +
              • Update multiple leaves and return the new root of the tree.

                +

                Parameters

                • kvs: {
                      key: K;
                      value?: V;
                  }[]

                Returns Promise<Field>

                {Promise}

                +

                Memberof

                SparseMerkleTree

                +
              • Parameters

                • root: Field
                • key: K
                • Optional value: V

                Returns Promise<Field>

              • Parameters

                • sideNodes: Field[]
                • pathNodes: Field[]
                • oldLeafData: Field
                • path: Field
                • Optional value: V

                Returns Field

              • Build a new sparse merkle tree

                +

                Type Parameters

                • K
                • V

                Parameters

                • store: Store<V>
                • KeyType: Provable<K>
                • ValueType: Provable<V>
                • Optional options: {
                      hashKey?: boolean;
                      hashValue?: boolean;
                      hasher?: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • Optional hashKey?: boolean
                  • Optional hashValue?: boolean
                  • Optional hasher?: Hasher

                Returns Promise<SparseMerkleTree<K, V>>

                {Promise<SparseMerkleTree<K, V>>}

                +

                Static

                Memberof

                SparseMerkleTree

                +
              • Import a sparse merkle tree via existing store

                +

                Type Parameters

                • K
                • V

                Parameters

                • store: Store<V>
                • keyType: Provable<K>
                • valueType: Provable<V>
                • Optional options: {
                      hashKey?: boolean;
                      hashValue?: boolean;
                      hasher?: Hasher;
                  } = ...

                  hasher: The hash function to use, defaults to PoseidonHasherFunc; hashKey: +whether to hash the key, the default is true; hashValue: whether to hash the value, +the default is true.

                  +
                  • Optional hashKey?: boolean
                  • Optional hashValue?: boolean
                  • Optional hasher?: Hasher

                Returns Promise<SparseMerkleTree<K, V>>

                {Promise<SparseMerkleTree<K, V>>}

                +

                Static

                Memberof

                SparseMerkleTree

                +
              \ No newline at end of file diff --git a/classes/SparseTree.html b/classes/SparseTree.html index ed457db..a58d12f 100644 --- a/classes/SparseTree.html +++ b/classes/SparseTree.html @@ -1,413 +1,56 @@ -SparseTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class SparseTree

              -
              -

              A Merkle tree implementation that uses a LevelDB database to store the tree.

              -
              -
              -

              Hierarchy

              -
                -
              • TreeBase -
                  -
                • SparseTree
              -
              -

              Implements

              -
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  db: Level<string, Buffer>
                • -
                • -
                  hasher: Hasher
                • -
                • -
                  name: string
                • -
                • -
                  depth: number
                • -
                • -
                  size: bigint = ...
                • -
                • -
                  Optional root: Field
                -

                Returns SparseTree

              -
              -

              Properties

              -
              - -
              cachedSize?: bigint
              -
              - -
              db: Level<string, Buffer>
              -
              - -
              hasher: Hasher
              -
              - -
              maxIndex: bigint
              -
              - -
              size: bigint = ...
              -
              -

              Methods

              -
              - -
                - -
              • -

                Adds a leaf and all the hashes above it to the cache.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  leaf: Field
                  -

                  Leaf to add to cache.

                  -
                • -
                • -
                  index: bigint
                  -

                  Index of the leaf (used to derive the cache key).

                  -
                -

                Returns Promise<void>

              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Gets the value at the given index.

                - -

                Returns

                Leaf value at the given index or undefined.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  index: bigint
                  -

                  The index of the leaf.

                  -
                • -
                • -
                  includeUncommitted: boolean
                  -

                  Indicates whether to include uncommitted changes.

                  -
                -

                Returns Promise<undefined | Field>

              -
              - -
                - -
              • -

                Returns the name of the tree.

                - -

                Returns

                The name of the tree.

                -
                -

                Returns string

              -
              - -
                - -
              • -

                Returns the number of leaves in the tree.

                - -

                Returns

                The number of leaves in the tree.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  includeUncommitted: boolean
                  -

                  If true, the returned number of leaves includes uncomitted changes.

                  -
                -

                Returns bigint

              -
              - -
                - -
              • -

                Returns the root of the tree.

                - -

                Returns

                The root of the tree.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  includeUncommitted: boolean
                  -

                  If true, root incorporating uncomitted changes is returned.

                  -
                -

                Returns Field

              -
              - -
              -
              - -
                - -
              • -

                Initializes the tree.

                - -

                Returns

                Empty promise.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  prefilledSize: number
                  -

                  A number of leaves that are prefilled with values.

                  -
                -

                Returns Promise<void>

              -
              - -
                - -
              • -

                Initializes the tree from the database.

                -
                -

                Returns Promise<void>

              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Writes meta data to the provided batch.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional batch: ChainedBatch<Level<string, Buffer>, string, Buffer>
                  -

                  The batch to which to write the meta data.

                  -
                -

                Returns Promise<void>

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +
              • Initializes the tree.

                +

                Parameters

                • prefilledSize: number

                  A number of leaves that are prefilled with values.

                  +

                Returns Promise<void>

                Empty promise.

                +
              • Writes meta data to the provided batch.

                +

                Parameters

                • Optional batch: ChainedBatch<Level<string, Buffer>, string, Buffer>

                  The batch to which to write the meta data.

                  +

                Returns Promise<void>

              \ No newline at end of file diff --git a/classes/StandardIndexedTree.html b/classes/StandardIndexedTree.html index 3c18e52..6347cfa 100644 --- a/classes/StandardIndexedTree.html +++ b/classes/StandardIndexedTree.html @@ -1,245 +1,50 @@ -StandardIndexedTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class StandardIndexedTree

              -
              -

              Indexed merkle tree.

              -
              -
              -

              Hierarchy

              -
                -
              • TreeBase -
                  -
                • StandardIndexedTree
              -
              -

              Implements

              -
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  db: Level<string, Buffer>
                • -
                • -
                  hasher: Hasher
                • -
                • -
                  name: string
                • -
                • -
                  depth: number
                • -
                • -
                  size: bigint = ...
                • -
                • -
                  Optional root: Field
                -

                Returns StandardIndexedTree

              -
              -

              Properties

              -
              - -
              cachedLeaves: {
                  [key: number]: LeafData;
              } = {}
              -
              -

              Type declaration

              -
              -
              - -
              cachedSize?: bigint
              -
              - -
              db: Level<string, Buffer>
              -
              - -
              hasher: Hasher
              -
              - -
              leaves: LeafData[] = []
              -
              - -
              maxIndex: bigint
              -
              - -
              size: bigint = ...
              -
              -

              Methods

              -
              - -
              -
              - -
                - -
              • -

                Adds a leaf and all the hashes above it to the cache.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  leaf: Field
                  -

                  Leaf to add to cache.

                  -
                • -
                • -
                  index: bigint
                  -

                  Index of the leaf (used to derive the cache key).

                  -
                -

                Returns Promise<void>

              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Writes meta data to the provided batch.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional batch: ChainedBatch<Level<string, Buffer>, string, Buffer>
                  -

                  The batch to which to write the meta data.

                  -
                -

                Returns Promise<void>

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +
              • Writes meta data to the provided batch.

                +

                Parameters

                • Optional batch: ChainedBatch<Level<string, Buffer>, string, Buffer>

                  The batch to which to write the meta data.

                  +

                Returns Promise<void>

              \ No newline at end of file diff --git a/classes/StandardTree.html b/classes/StandardTree.html index 7c37b0b..be10adb 100644 --- a/classes/StandardTree.html +++ b/classes/StandardTree.html @@ -1,411 +1,56 @@ -StandardTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class StandardTree

              -
              -

              A Merkle tree implementation that uses a LevelDB database to store the tree.

              -
              -
              -

              Hierarchy

              -
                -
              • TreeBase -
                  -
                • StandardTree
              -
              -

              Implements

              -
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  db: Level<string, Buffer>
                • -
                • -
                  hasher: Hasher
                • -
                • -
                  name: string
                • -
                • -
                  depth: number
                • -
                • -
                  size: bigint = ...
                • -
                • -
                  Optional root: Field
                -

                Returns StandardTree

              -
              -

              Properties

              -
              - -
              cachedSize?: bigint
              -
              - -
              db: Level<string, Buffer>
              -
              - -
              hasher: Hasher
              -
              - -
              maxIndex: bigint
              -
              - -
              size: bigint = ...
              -
              -

              Methods

              -
              - -
                - -
              • -

                Adds a leaf and all the hashes above it to the cache.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  leaf: Field
                  -

                  Leaf to add to cache.

                  -
                • -
                • -
                  index: bigint
                  -

                  Index of the leaf (used to derive the cache key).

                  -
                -

                Returns Promise<void>

              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Gets the value at the given index.

                - -

                Returns

                Leaf value at the given index or undefined.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  index: bigint
                  -

                  The index of the leaf.

                  -
                • -
                • -
                  includeUncommitted: boolean
                  -

                  Indicates whether to include uncommitted changes.

                  -
                -

                Returns Promise<undefined | Field>

              -
              - -
                - -
              • -

                Returns the name of the tree.

                - -

                Returns

                The name of the tree.

                -
                -

                Returns string

              -
              - -
                - -
              • -

                Returns the number of leaves in the tree.

                - -

                Returns

                The number of leaves in the tree.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  includeUncommitted: boolean
                  -

                  If true, the returned number of leaves includes uncomitted changes.

                  -
                -

                Returns bigint

              -
              - -
                - -
              • -

                Returns the root of the tree.

                - -

                Returns

                The root of the tree.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  includeUncommitted: boolean
                  -

                  If true, root incorporating uncomitted changes is returned.

                  -
                -

                Returns Field

              -
              - -
              -
              - -
                - -
              • -

                Initializes the tree.

                - -

                Returns

                Empty promise.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  prefilledSize: number
                  -

                  A number of leaves that are prefilled with values.

                  -
                -

                Returns Promise<void>

              -
              - -
                - -
              • -

                Initializes the tree from the database.

                -
                -

                Returns Promise<void>

              -
              - -
              -
              - -
                - -
              • -

                Writes meta data to the provided batch.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional batch: ChainedBatch<Level<string, Buffer>, string, Buffer>
                  -

                  The batch to which to write the meta data.

                  -
                -

                Returns Promise<void>

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +
              • Initializes the tree.

                +

                Parameters

                • prefilledSize: number

                  A number of leaves that are prefilled with values.

                  +

                Returns Promise<void>

                Empty promise.

                +
              • Writes meta data to the provided batch.

                +

                Parameters

                • Optional batch: ChainedBatch<Level<string, Buffer>, string, Buffer>

                  The batch to which to write the meta data.

                  +

                Returns Promise<void>

              \ No newline at end of file diff --git a/classes/TreeHasher.html b/classes/TreeHasher.html index a4e5842..3d17736 100644 --- a/classes/TreeHasher.html +++ b/classes/TreeHasher.html @@ -1,342 +1,24 @@ -TreeHasher | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Class TreeHasher<K, V>

              -
              -

              Tree Hasher

              -
              -
              -

              Type Parameters

              -
                -
              • -

                K

              • -
              • -

                V

              -
              -

              Hierarchy

              -
                -
              • TreeHasher
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
                - -
              • -

                Creates an instance of TreeHasher.

                - -

                Memberof

                TreeHasher

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  Optional hasher: Hasher = PoseidonHasherFunc
                • -
                • -
                  Optional keyType: Provable<K>
                • -
                • -
                  Optional valueType: Provable<V>
                -

                Returns TreeHasher<K, V>

              -
              -

              Properties

              -
              - -
              hasher: Hasher
              -
              - -
              keyType?: Provable<K>
              -
              - -
              valueType?: Provable<V>
              -
              -

              Methods

              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  path: Field
                • -
                • -
                  leafData: Field
                -

                Returns {
                    hash: Field;
                    value: Field[];
                }

                -
                  -
                • -
                  hash: Field
                • -
                • -
                  value: Field[]
              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  leftData: Field
                • -
                • -
                  rightData: Field
                -

                Returns {
                    hash: Field;
                    value: Field[];
                }

                -
                  -
                • -
                  hash: Field
                • -
                • -
                  value: Field[]
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  data: Field[]
                -

                Returns {
                    leaf: Field;
                    path: Field;
                }

                -
                  -
                • -
                  leaf: Field
                • -
                • -
                  path: Field
              -
              - -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  data: Field[]
                -

                Returns {
                    leftNode: Field;
                    rightNode: Field;
                }

                -
                  -
                • -
                  leftNode: Field
                • -
                • -
                  rightNode: Field
              -
              - -
              -
              - -
                - -
              • -

                Tree Hasher based on PoseidonHasherFunc

                - -

                Static

                -

                Returns

                {TreeHasher<K, V>}

                - -

                Memberof

                TreeHasher

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  K

                • -
                • -

                  V

                -
                -

                Parameters

                -
                  -
                • -
                  Optional keyType: Provable<K>
                • -
                • -
                  Optional valueType: Provable<V>
                -

                Returns TreeHasher<K, V>

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +TreeHasher | o1js-merkle

              Class TreeHasher<K, V>

              Tree Hasher

              +

              TreeHasher

              +

              Type Parameters

              • K
              • V

              Constructors

              Properties

              hasher: Hasher
              keyType?: Provable<K>
              valueType?: Provable<V>

              Methods

              • Parameters

                • path: Field
                • leafData: Field

                Returns {
                    hash: Field;
                    value: Field[];
                }

                • hash: Field
                • value: Field[]
              • Parameters

                • leftData: Field
                • rightData: Field

                Returns {
                    hash: Field;
                    value: Field[];
                }

                • hash: Field
                • value: Field[]
              • Parameters

                • data: Field[]

                Returns {
                    leaf: Field;
                    path: Field;
                }

                • leaf: Field
                • path: Field
              • Parameters

                • data: Field[]

                Returns {
                    leftNode: Field;
                    rightNode: Field;
                }

                • leftNode: Field
                • rightNode: Field
              \ No newline at end of file diff --git a/functions/PoseidonHasherFunc.html b/functions/PoseidonHasherFunc.html index f0d98ef..1d05522 100644 --- a/functions/PoseidonHasherFunc.html +++ b/functions/PoseidonHasherFunc.html @@ -1,118 +1 @@ -PoseidonHasherFunc | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +PoseidonHasherFunc | o1js-merkle

              Function PoseidonHasherFunc

              • Parameters

                • v: Field[]

                Returns Field

              \ No newline at end of file diff --git a/functions/SiblingPath.html b/functions/SiblingPath.html index 85e9994..1563fd9 100644 --- a/functions/SiblingPath.html +++ b/functions/SiblingPath.html @@ -1,118 +1 @@ -SiblingPath | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +SiblingPath | o1js-merkle

              Function SiblingPath

              \ No newline at end of file diff --git a/functions/bufferToInt256.html b/functions/bufferToInt256.html index 13b0148..88ac472 100644 --- a/functions/bufferToInt256.html +++ b/functions/bufferToInt256.html @@ -1,121 +1,2 @@ -bufferToInt256 | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +bufferToInt256 | o1js-merkle

              Function bufferToInt256

              • transform a buffer to int256

                +

                Parameters

                • buf: Buffer

                Returns bigint

              \ No newline at end of file diff --git a/functions/countCommonPrefix.html b/functions/countCommonPrefix.html index ebd761d..97b5cd4 100644 --- a/functions/countCommonPrefix.html +++ b/functions/countCommonPrefix.html @@ -1,123 +1,2 @@ -countCommonPrefix | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function countCommonPrefix

              -
              -
                - -
              • -

                Computes the common prefix length of two Boolean arrays

                - -

                Returns

                -
                -

                Parameters

                -
                  -
                • -
                  data1bits: Bool[]
                • -
                • -
                  data2bits: Bool[]
                -

                Returns number

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +countCommonPrefix | o1js-merkle

              Function countCommonPrefix

              • Computes the common prefix length of two Boolean arrays

                +

                Parameters

                • data1bits: Bool[]
                • data2bits: Bool[]

                Returns number

              \ No newline at end of file diff --git a/functions/countSetBits.html b/functions/countSetBits.html index 31413d6..e99d387 100644 --- a/functions/countSetBits.html +++ b/functions/countSetBits.html @@ -1,118 +1 @@ -countSetBits | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +countSetBits | o1js-merkle

              Function countSetBits

              \ No newline at end of file diff --git a/functions/createEmptyValue.html b/functions/createEmptyValue.html index 37fd7a4..3a9796d 100644 --- a/functions/createEmptyValue.html +++ b/functions/createEmptyValue.html @@ -1,127 +1,3 @@ -createEmptyValue | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function createEmptyValue

              -
              -
                - -
              • -

                Create a empty value for a Struct Type

                - -

                Returns

                {T}

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  T

                -
                -

                Parameters

                -
                  -
                • -
                  valueType: Provable<T>
                -

                Returns T

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +createEmptyValue | o1js-merkle

              Function createEmptyValue

              • Create a empty value for a Struct Type

                +

                Type Parameters

                • T

                Parameters

                • valueType: Provable<T>

                Returns T

                {T}

                +
              \ No newline at end of file diff --git a/functions/defaultNodes.html b/functions/defaultNodes.html index c329480..db7e8a3 100644 --- a/functions/defaultNodes.html +++ b/functions/defaultNodes.html @@ -1,120 +1 @@ -defaultNodes | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +defaultNodes | o1js-merkle

              Function defaultNodes

              \ No newline at end of file diff --git a/functions/fieldArrayToStringArray.html b/functions/fieldArrayToStringArray.html index 1337e50..c73250c 100644 --- a/functions/fieldArrayToStringArray.html +++ b/functions/fieldArrayToStringArray.html @@ -1,118 +1 @@ -fieldArrayToStringArray | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +fieldArrayToStringArray | o1js-merkle

              Function fieldArrayToStringArray

              • Parameters

                • fields: Field[]

                Returns string[]

              \ No newline at end of file diff --git a/functions/fieldToHexString.html b/functions/fieldToHexString.html index c834bca..d4e991f 100644 --- a/functions/fieldToHexString.html +++ b/functions/fieldToHexString.html @@ -1,122 +1,3 @@ -fieldToHexString | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +fieldToHexString | o1js-merkle

              Function fieldToHexString

              • Convert field to hex string.

                +

                Parameters

                • f: Field

                Returns string

                {string}

                +
              \ No newline at end of file diff --git a/functions/greaterThanFor254BitField.html b/functions/greaterThanFor254BitField.html index 1dd4c0e..6a84b68 100644 --- a/functions/greaterThanFor254BitField.html +++ b/functions/greaterThanFor254BitField.html @@ -1,123 +1,2 @@ -greaterThanFor254BitField | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function greaterThanFor254BitField

              -
              -
                - -
              • -

                Negative numbers are not supported. only support 254 bit field

                - -

                Returns

                -
                -

                Parameters

                -
                  -
                • -
                  x: Field
                • -
                • -
                  y: Field
                -

                Returns Bool

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +greaterThanFor254BitField | o1js-merkle

              Function greaterThanFor254BitField

              • Negative numbers are not supported. only support 254 bit field

                +

                Parameters

                • x: Field
                • y: Field

                Returns Bool

              \ No newline at end of file diff --git a/functions/hexStringToField.html b/functions/hexStringToField.html index b3d6887..e6b144f 100644 --- a/functions/hexStringToField.html +++ b/functions/hexStringToField.html @@ -1,122 +1,3 @@ -hexStringToField | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +hexStringToField | o1js-merkle

              Function hexStringToField

              • Convert hex strong to field.

                +

                Parameters

                • hexStr: string

                Returns Field

                {Field}

                +
              \ No newline at end of file diff --git a/functions/int256ToBuffer.html b/functions/int256ToBuffer.html index 56d7a8a..b199d2d 100644 --- a/functions/int256ToBuffer.html +++ b/functions/int256ToBuffer.html @@ -1,121 +1,2 @@ -int256ToBuffer | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +int256ToBuffer | o1js-merkle

              Function int256ToBuffer

              • transform a int256 to buffer

                +

                Parameters

                • n: bigint

                Returns Buffer

              \ No newline at end of file diff --git a/functions/loadTree.html b/functions/loadTree.html index e463bb5..94ab8e8 100644 --- a/functions/loadTree.html +++ b/functions/loadTree.html @@ -1,152 +1,7 @@ -loadTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function loadTree

              -
              -
                - -
              • -

                Creates a new tree and sets its root, depth and size based on the meta data which are associated with the name.

                - -

                Returns

                The newly created tree.

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  T extends TreeBase<T>

                -
                -

                Parameters

                -
                  -
                • -
                  c: (new (...args: any[]) => T)
                  -

                  The class of the tree to be instantiated.

                  -
                  -
                    -
                  • -
                      -
                    • new (...args: any[]): T
                    • -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        Rest ...args: any[]
                      -

                      Returns T

                • -
                • -
                  db: Level<string, Buffer>
                  -

                  A database used to store the Merkle tree data.

                  -
                • -
                • -
                  hasher: Hasher
                  -

                  A hasher used to compute hash paths.

                  -
                • -
                • -
                  name: string
                  -

                  Name of the tree.

                  -
                -

                Returns Promise<T>

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +loadTree | o1js-merkle

              Function loadTree

              • Creates a new tree and sets its root, depth and size based on the meta data which are associated with the name.

                +

                Type Parameters

                • T extends TreeBase

                Parameters

                • c: (new (...args) => T)

                  The class of the tree to be instantiated.

                  +
                    • new (...args): T
                    • Parameters

                      • Rest ...args: any[]

                      Returns T

                • db: Level<string, Buffer>

                  A database used to store the Merkle tree data.

                  +
                • hasher: Hasher

                  A hasher used to compute hash paths.

                  +
                • name: string

                  Name of the tree.

                  +

                Returns Promise<T>

                The newly created tree.

                +
              \ No newline at end of file diff --git a/functions/newTree.html b/functions/newTree.html index 9f61817..c8cd664 100644 --- a/functions/newTree.html +++ b/functions/newTree.html @@ -1,160 +1,9 @@ -newTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function newTree

              -
              -
                - -
              • -

                Creates a new tree.

                - -

                Returns

                The newly created tree.

                -
                -
                -

                Type Parameters

                -
                  -
                • -

                  T extends TreeBase<T>

                -
                -

                Parameters

                -
                  -
                • -
                  c: (new (...args: any[]) => T)
                  -

                  The class of the tree to be instantiated.

                  -
                  -
                    -
                  • -
                      -
                    • new (...args: any[]): T
                    • -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        Rest ...args: any[]
                      -

                      Returns T

                • -
                • -
                  db: Level<string, Buffer>
                  -

                  A database used to store the Merkle tree data.

                  -
                • -
                • -
                  hasher: Hasher
                  -

                  A hasher used to compute hash paths.

                  -
                • -
                • -
                  name: string
                  -

                  Name of the tree.

                  -
                • -
                • -
                  depth: number
                  -

                  Depth of the tree.

                  -
                • -
                • -
                  prefilledSize: number = 0
                  -

                  A number of leaves that are prefilled with values.

                  -
                -

                Returns Promise<T>

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +newTree | o1js-merkle

              Function newTree

              • Creates a new tree.

                +

                Type Parameters

                • T extends TreeBase

                Parameters

                • c: (new (...args) => T)

                  The class of the tree to be instantiated.

                  +
                    • new (...args): T
                    • Parameters

                      • Rest ...args: any[]

                      Returns T

                • db: Level<string, Buffer>

                  A database used to store the Merkle tree data.

                  +
                • hasher: Hasher

                  A hasher used to compute hash paths.

                  +
                • name: string

                  Name of the tree.

                  +
                • depth: number

                  Depth of the tree.

                  +
                • prefilledSize: number = 0

                  A number of leaves that are prefilled with values.

                  +

                Returns Promise<T>

                The newly created tree.

                +
              \ No newline at end of file diff --git a/functions/printBits.html b/functions/printBits.html index f5b3162..df74d50 100644 --- a/functions/printBits.html +++ b/functions/printBits.html @@ -1,122 +1,2 @@ -printBits | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +printBits | o1js-merkle

              Function printBits

              • Print bits string.

                +

                Parameters

                • data: Bool[]
                • Optional varName: string

                Returns void

              \ No newline at end of file diff --git a/functions/separateHighPartFor254BitField.html b/functions/separateHighPartFor254BitField.html index 56ced66..61d1476 100644 --- a/functions/separateHighPartFor254BitField.html +++ b/functions/separateHighPartFor254BitField.html @@ -1,123 +1 @@ -separateHighPartFor254BitField | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function separateHighPartFor254BitField

              -
              -
                - -
              • -
                -

                Parameters

                -
                  -
                • -
                  x: Field
                -

                Returns {
                    isOddVar: Field;
                    xDiv2Var: Field;
                }

                -
                  -
                • -
                  isOddVar: Field
                • -
                • -
                  xDiv2Var: Field
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +separateHighPartFor254BitField | o1js-merkle

              Function separateHighPartFor254BitField

              • Parameters

                • x: Field

                Returns {
                    isOddVar: Field;
                    xDiv2Var: Field;
                }

                • isOddVar: Field
                • xDiv2Var: Field
              \ No newline at end of file diff --git a/functions/strToFieldArry.html b/functions/strToFieldArry.html index 5860d72..c6cf7db 100644 --- a/functions/strToFieldArry.html +++ b/functions/strToFieldArry.html @@ -1,122 +1,3 @@ -strToFieldArry | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +strToFieldArry | o1js-merkle

              Function strToFieldArry

              • Convert a string to Field array.

                +

                Parameters

                • str: string

                Returns Field[]

                {Field[]}

                +
              \ No newline at end of file diff --git a/functions/toBigIntBE.html b/functions/toBigIntBE.html index 15213a5..0e73bc4 100644 --- a/functions/toBigIntBE.html +++ b/functions/toBigIntBE.html @@ -1,124 +1,4 @@ -toBigIntBE | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function toBigIntBE

              -
              -
                - -
              • -

                Convert a big-endian buffer into a BigInt.

                - -

                Returns

                A BigInt with the big-endian representation of buf.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  buf: Buffer
                  -

                  The big-endian buffer to convert.

                  -
                -

                Returns bigint

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +toBigIntBE | o1js-merkle

              Function toBigIntBE

              • Convert a big-endian buffer into a BigInt.

                +

                Parameters

                • buf: Buffer

                  The big-endian buffer to convert.

                  +

                Returns bigint

                A BigInt with the big-endian representation of buf.

                +
              \ No newline at end of file diff --git a/functions/toBigIntLE.html b/functions/toBigIntLE.html index 170d98d..ceafadf 100644 --- a/functions/toBigIntLE.html +++ b/functions/toBigIntLE.html @@ -1,124 +1,4 @@ -toBigIntLE | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function toBigIntLE

              -
              -
                - -
              • -

                Convert a little-endian buffer into a BigInt.

                - -

                Returns

                A BigInt with the little-endian representation of buf.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  buf: Buffer
                  -

                  The little-endian buffer to convert.

                  -
                -

                Returns bigint

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +toBigIntLE | o1js-merkle

              Function toBigIntLE

              • Convert a little-endian buffer into a BigInt.

                +

                Parameters

                • buf: Buffer

                  The little-endian buffer to convert.

                  +

                Returns bigint

                A BigInt with the little-endian representation of buf.

                +
              \ No newline at end of file diff --git a/functions/toBufferBE.html b/functions/toBufferBE.html index 6671bd1..67813ae 100644 --- a/functions/toBufferBE.html +++ b/functions/toBufferBE.html @@ -1,128 +1,5 @@ -toBufferBE | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function toBufferBE

              -
              -
                - -
              • -

                Convert a BigInt to a big-endian buffer.

                - -

                Returns

                A big-endian buffer representation of num.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  num: bigint
                  -

                  The BigInt to convert.

                  -
                • -
                • -
                  width: number
                  -

                  The number of bytes that the resulting buffer should be.

                  -
                -

                Returns Buffer

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +toBufferBE | o1js-merkle

              Function toBufferBE

              • Convert a BigInt to a big-endian buffer.

                +

                Parameters

                • num: bigint

                  The BigInt to convert.

                  +
                • width: number

                  The number of bytes that the resulting buffer should be.

                  +

                Returns Buffer

                A big-endian buffer representation of num.

                +
              \ No newline at end of file diff --git a/functions/toBufferLE.html b/functions/toBufferLE.html index 14dc21e..876a307 100644 --- a/functions/toBufferLE.html +++ b/functions/toBufferLE.html @@ -1,128 +1,5 @@ -toBufferLE | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Function toBufferLE

              -
              -
                - -
              • -

                Convert a BigInt to a little-endian buffer.

                - -

                Returns

                A little-endian buffer representation of num.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  num: bigint
                  -

                  The BigInt to convert.

                  -
                • -
                • -
                  width: number
                  -

                  The number of bytes that the resulting buffer should be.

                  -
                -

                Returns Buffer

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +toBufferLE | o1js-merkle

              Function toBufferLE

              • Convert a BigInt to a little-endian buffer.

                +

                Parameters

                • num: bigint

                  The BigInt to convert.

                  +
                • width: number

                  The number of bytes that the resulting buffer should be.

                  +

                Returns Buffer

                A little-endian buffer representation of num.

                +
              \ No newline at end of file diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 0000000..b93fefa --- /dev/null +++ b/hierarchy.html @@ -0,0 +1 @@ +o1js-merkle
              \ No newline at end of file diff --git a/index.html b/index.html index d495cb2..d636846 100644 --- a/index.html +++ b/index.html @@ -1,38 +1,12 @@ -o1js-merkle
              -
              - -
              -
              -
              -
              -

              o1js-merkle

              -
              - -

              o1js-merkle

              -
              -

              npm +o1js-merkle

              o1js-merkle

              o1js-merkle

              npm node-current

              Merkle Trees for o1js (membership / non-membership merkle witness)

              The library contains implementations of Sparse Merkle Tree, Standard Merkle Tree and Compact Merkle Tree based on o1js, which you can use in the browser or node.js env, and provides a corresponding set of verifiable utility methods that can be run in circuits. Besides, you could choose different persistence storage tools for each Merkle tree.

              -

              This article gives a brief introduction to SMT: Whats a sparse merkle tree, and SMT of this standard kind is carried out within Implementation from the Scratch.

              -

              Further, this library also provides another kind of SMT, which is of different theory and lets us customize the three height within our zkApp to achieve the decremental of our circuit constraint size significantly. please go to Contents Table of 'Retrofit from Third-Party library'.

              - - -

              Disclaimer and Notes

              -
              -

              The library hasn't been audited. The API and the format of the proof may be changed in the future as o1js is updated. +

              This article gives a brief introduction to SMT: Whats a sparse merkle tree, and SMT of this standard kind is carried out within Implementation from the Scratch.

              +

              Further, this library also provides another kind of SMT, which is of different theory and lets us customize the three height within our zkApp to achieve the decremental of our circuit constraint size significantly. please go to Contents Table of 'Retrofit from Third-Party library'.

              +

              Disclaimer and Notes

              The library hasn't been audited. The API and the format of the proof may be changed in the future as o1js is updated. Make sure you know what you are doing before using this library.

              - - -

              Background

              -
              -

              As a succint blockchain, Mina chain only contains 8 fields as onchain states for each zkApp account. Apparently this capacity is not enough, this is why we need maintain offchain storage keeping aligned with the onchain state. The classic solution for offchain storage is using a merkle tree whose root is stored onchain representing the whole offchain data.

              +

              Background

              As a succint blockchain, Mina chain only contains 8 fields as onchain states for each zkApp account. Apparently this capacity is not enough, this is why we need maintain offchain storage keeping aligned with the onchain state. The classic solution for offchain storage is using a merkle tree whose root is stored onchain representing the whole offchain data.

              As a zkApp engineer, you must learn about the merkle tree section at Mina Doc. Well, o1js library provides a memory-based classic MerkleTree implementation and MerkleMap implementation which is for sparse merkle trees.

              But please NOTICE: the both currently are in memory, meaning the data is lost if the process is terminated. So we need to design a persistent storage to keep the data. And this library provides a set of useful merkle trees implementations with capability of persistence for you!

              Within the package, various merkle trees totally belong to 2 catagories:

              @@ -45,7 +19,7 @@

              Background

            • Indexed trees are also append only in nature but retain the ability to update leaves. The reason for this is that the Indexed Tree leaves not only store the value but the index of the next highest leaf. New insertions can require prior leaves to be updated.
            • Sparse trees that can be updated at any index. The 'size' of the tree is defined by the number of non-empty leaves, not by the highest populated leaf index as is the case with a Standard Tree.
            • -

              All of the trees leverage LevelDB as persistence storage. more cases please go to here.

              +

              All of the trees leverage LevelDB as persistence storage. more cases please go to here.

            • Implementation from the Scratch

              The other implementations are aside the Retrofited ones, which are implemented by us team from scratch.

              @@ -56,167 +30,91 @@

              Background

            • store in rocksdb
            • store in mongodb
            • -

              more cases please go to here.

              +

              more cases please go to here.

              - - -

              Table of Contents

              -
              -
                -
              • Install
                  -
                • Install module
                • +

                  Table of Contents

                    +
                  • Install
                  • -
                  • Contents Table of 'Retrofit from Third-Party library'
                      -
                    • Install peer dependencies
                    • -
                    • Usage
                        -
                      • Create and Load a StandardTree
                      • -
                      • Create and Load a SparseTree
                      • -
                      • Create and Load a StandardIndexedTree
                      • +
                      • Contents Table of 'Retrofit from Third-Party library'
                      • -
                      • Contents Table of 'Implementation from the Scratch'
                          -
                        • Install peer dependencies
                        • -
                        • What can you do with this library
                        • -
                        • Usage
                            -
                          • Create a merkle tree data store - - -

                            Install

                            -
                            - - -

                            1. Install module

                            -
                            -
                            npm install o1js-merkle
                            -
                            +

                            Install

                            1. Install module

                            npm install o1js-merkle
                            +

                            or with yarn:

                            yarn add o1js-merkle
                            -
                            +

                            NOTE: Please add node --experimental-specifier-resolution=node at the execution script in your project's package.json, which would activate node's native ESM revolution capability.

                            - - -

                            2. Contents Table of 'Retrofit from Third-Party library'

                            -
                            - - -

                            2.1 Install peer dependencies

                            -
                            -
                            npm install o1js
                            # yarn add o1js

                            npm install level
                            # yarn add level -
                            - - -

                            2.2 Usage

                            -
                            - - -

                            Create and Load a StandardTree

                            -
                            -

                            here is the code.

                            +

                            2. Contents Table of 'Retrofit from Third-Party library'

                            2.1 Install peer dependencies

                            npm install o1js
                            # yarn add o1js

                            npm install level
                            # yarn add level +
                            +

                            2.2 Usage

                            Create and Load a StandardTree

                            here is the code.

                            import { newTree } from './new_tree.js';
                            import { Level } from "level";
                            import { PoseidonHasher } from './types/index.js';
                            import { Field, Provable } from 'o1js';
                            import { StandardTree } from './standard_tree/standard_tree.js';
                            import { verifyMembership } from "./standard_tree/verify_circuit.js";

                            // create a leveldb for test
                            let db = new Level<string, Buffer>('example', {valueEncoding:'buffer'});

                            // poseidonHasher from o1js package
                            let poseidonHasher = new PoseidonHasher();

                            // tree height: 4
                            const PRIVATE_DATA_TREE_HEIGHT = 4;

                            // indicate if need consider the cached leaves, beside the existing leaves.
                            const includeUncommitted = true;

                            // create a standard merkle tree instance
                            const standardTreeInstance: StandardTree = await newTree(
                            StandardTree,
                            db,
                            poseidonHasher,
                            'privateData',
                            PRIVATE_DATA_TREE_HEIGHT
                            );
                            console.log('standard tree initial root: ', standardTreeInstance.getRoot(includeUncommitted).toString());

                            // append the first leaf of type: Field, the newly inserted leaf is kept in an array before being flushed into db.
                            await standardTreeInstance.appendLeaves([
                            Field(
                            '20468198949394563802460512965219839480612000520504690501918527632215047268421'
                            ),
                            ]);

                            // before commit, you must get the leaf by specifying 'leafIndex' and 'includeUncommitted' = true
                            let leaf1 = await standardTreeInstance.getLeafValue(0n, includeUncommitted);
                            console.log('leaf1: ', leaf1?.toString());
                            // if you mistake specifying 'includeUncommitted' = false, then got 'undefined'. because the newly inserted leaf is not persisted yet.
                            leaf1 = await standardTreeInstance.getLeafValue(0n, !includeUncommitted);
                            console.log('leaf1: ', leaf1);

                            console.log('after append one leaf, tree root based on all cached&persisted leaves: ', standardTreeInstance.getRoot(includeUncommitted).toString());

                            let nowRootBeforeCommit = standardTreeInstance.getRoot(!includeUncommitted);
                            console.log('before commit, tree root based on existing persisted leaves: ', nowRootBeforeCommit.toString());

                            // persist, i.e. commit the tree into leveldb
                            await standardTreeInstance.commit();
                            console.log('exec commit... now all cached leaves are flushed into db and become parts of persisted leaves');

                            let nowRootAfterCommit = standardTreeInstance.getRoot(!includeUncommitted);
                            console.log('after commit, tree root based on all persisted leaves: ', nowRootAfterCommit.toString());

                            // after commit, now you could successfully get the leaf by specifying 'leafIndex' and 'includeUncommitted' = false
                            leaf1 = await standardTreeInstance.getLeafValue(0n, !includeUncommitted);
                            console.log('leaf1: ', leaf1);

                            // go on append several leaves
                            await standardTreeInstance.appendLeaves([Field(11)]);
                            await standardTreeInstance.appendLeaves([Field(21)]);
                            await standardTreeInstance.appendLeaves([Field(31)]);
                            await standardTreeInstance.appendLeaves([Field(41)]);
                            await standardTreeInstance.appendLeaves([Field(51)]);
                            await standardTreeInstance.appendLeaves([Field(61)]);

                            nowRootBeforeCommit = standardTreeInstance.getRoot(includeUncommitted);
                            // get merkle witness
                            const membershipWitness = await standardTreeInstance.getSiblingPath(3n, includeUncommitted);
                            console.log('witness: ', membershipWitness.toJSON());
                            // check the membership within circuit
                            Provable.runAndCheck(() => {
                            const root = membershipWitness.calculateRoot(Field(31), Field(3n));
                            Provable.log(root);
                            Provable.assertEqual(Field, root, nowRootBeforeCommit);

                            // verifyMembership(nowRootBeforeCommit, membershipWitness, Field(31), Field(3n))
                            });

                            const membershipWitness2 = await standardTreeInstance.getSiblingPath(6n, includeUncommitted);
                            console.log('witness2: ', membershipWitness2.toJSON());
                            Provable.runAndCheck(() => {
                            const root = membershipWitness2.calculateRoot(Field(0), Field(6n));
                            Provable.log('testroot: ', root);
                            });

                            await standardTreeInstance.commit();


                            -
                            +

                            The below is how to load tree from levelDB when process restart:


                            // load a standard merkle tree instance
                            const standardTreeInstance1: StandardTree = await loadTree(
                            StandardTree,
                            db,
                            poseidonHasher,
                            'privateData'
                            );

                            -
                            +

                            Besides, you could see the rich cases within circuits at Anomix Network

                            - - -

                            Create and Load a SparseTree

                            -
                            -

                            similar as StandardTree cases above.

                            - - -

                            Create and Load a StandardIndexedTree

                            -
                            -

                            StandardIndexedTree extends StandardTree, but MAINLY used for non-membership merkle witness. So the membership cases are like the ones above, and here are the non-membership witness cases.

                            +

                            Create and Load a SparseTree

                            similar as StandardTree cases above.

                            +

                            Create and Load a StandardIndexedTree

                            StandardIndexedTree extends StandardTree, but MAINLY used for non-membership merkle witness. So the membership cases are like the ones above, and here are the non-membership witness cases.

                            here is the test case code.

                            import { newTree } from './new_tree.js';
                            import { ChainedBatch, Level } from "level";
                            import { PoseidonHasher } from './types/index.js';
                            import { StandardIndexedTree } from './standard_indexed_tree/standard_indexed_tree.js';
                            import { Field, Poseidon, Provable } from 'o1js';
                            import { loadTree } from './load_tree.js';
                            import { LeafData as CircuitLeafData, LeafData, verifyNonMembership } from "./standard_indexed_tree/verify_circuit.js";

                            // create a leveldb for test
                            let db = new Level<string, Buffer>('example-index', {valueEncoding:'buffer'});

                            // poseidonHasher from o1js package
                            let poseidonHasher = new PoseidonHasher();

                            // tree height: 4
                            const PRIVATE_DATA_TREE_HEIGHT = 4;

                            // indicate if need consider the cached leaves, beside the existing leaves.
                            const includeUncommitted = true;

                            // create a standard merkle tree instance
                            const standardIndexedTreeInstance: StandardIndexedTree = await newTree(
                            StandardIndexedTree,
                            db,
                            poseidonHasher,
                            'NULLIFIER_TREE',
                            PRIVATE_DATA_TREE_HEIGHT
                            );
                            console.log('standard indexed tree initial root: ', standardIndexedTreeInstance.getRoot(includeUncommitted).toString());

                            // append the first leaf of type: Field, the newly inserted leaf is kept in an array before being flushed into db.
                            await standardIndexedTreeInstance.appendLeaves([
                            Field(
                            '20468198949394563802460512965219839480612000520504690501918527632215047268421'
                            ),
                            ]);

                            // before commit, you must get the leaf by specifying 'leafIndex' and 'includeUncommitted' = true
                            let leaf1 = await standardIndexedTreeInstance.getLeafValue(0n, includeUncommitted);
                            console.log('leaf1: ', leaf1?.toString());
                            // if you mistake specifying 'includeUncommitted' = false, then got 'undefined'. because the newly inserted leaf is not persisted yet.
                            leaf1 = await standardIndexedTreeInstance.getLeafValue(0n, !includeUncommitted);
                            console.log('leaf1: ', leaf1?.toString());

                            console.log('after append one leaf, tree root based on all cached&persisted leaves: ', standardIndexedTreeInstance.getRoot(includeUncommitted).toString());

                            let nowRootBeforeCommit = standardIndexedTreeInstance.getRoot(!includeUncommitted);
                            console.log('before commit, tree root based on existing persisted leaves: ', nowRootBeforeCommit.toString());

                            // persist, i.e. commit the tree into leveldb
                            await standardIndexedTreeInstance.commit();
                            console.log('exec commit... now all cached leaves are flushed into db and become parts of persisted leaves');

                            let nowRootAfterCommit = standardIndexedTreeInstance.getRoot(!includeUncommitted);
                            console.log('after commit, tree root based on all persisted leaves: ', nowRootAfterCommit.toString());

                            // after commit, now you could successfully get the leaf by specifying 'leafIndex' and 'includeUncommitted' = false
                            leaf1 = await standardIndexedTreeInstance.getLeafValue(0n, !includeUncommitted);
                            console.log('leaf1: ', leaf1);

                            // go on append several leaves
                            await standardIndexedTreeInstance.appendLeaves([Field(11)]);
                            await standardIndexedTreeInstance.appendLeaves([Field(21)]);
                            await standardIndexedTreeInstance.appendLeaves([Field(31)]);
                            await standardIndexedTreeInstance.appendLeaves([Field(41)]);
                            await standardIndexedTreeInstance.appendLeaves([Field(51)]);
                            await standardIndexedTreeInstance.appendLeaves([Field(61)]);

                            // commit the later newly inserted leaves into levelDB
                            await standardIndexedTreeInstance.commit();

                            // Non-Membership merkle witness
                            nowRootAfterCommit = standardIndexedTreeInstance.getRoot(!includeUncommitted);
                            const nullifier1 = Field(71n);// the nullifier to be inserted
                            const { index, alreadyPresent } = await standardIndexedTreeInstance.findIndexOfPreviousValue(nullifier1.toBigInt(), includeUncommitted);
                            if (alreadyPresent) {// if exist, then throw error.
                            throw new Error("nullifier1[${nullifier1}] existed!");
                            }
                            const predecessorSiblingPath = (await standardIndexedTreeInstance.getSiblingPath(BigInt(index), includeUncommitted))!;
                            const leafData = standardIndexedTreeInstance.getLatestLeafDataCopy(index, includeUncommitted)!;
                            const predecessorLeafData = new LeafData({value: Field(leafData.value), nextIndex: Field(leafData.nextIndex), nextValue: Field(leafData.nextValue)});
                            const predecessorLeafDataIndex= Field(index);

                            // the membership witness of previous leaf is the Non-membership witness of 'nullifier1'
                            Provable.runAndCheck(() => {
                            verifyNonMembership(nowRootAfterCommit, nullifier1, predecessorLeafData, predecessorSiblingPath, predecessorLeafDataIndex);
                            Provable.log(`verify: true`);
                            });

                            -
                            +

                            The below is how to load tree from levelDB when process restart:


                            // load a standard indexed merkle tree instance
                            const standardIndexedTreeInstance1: StandardIndexedTree = await loadTree(
                            StandardIndexedTree,
                            db,
                            poseidonHasher,
                            'NULLIFIER_TREE'
                            );


                            -
                            +

                            If you wanna go deeper the theory of StandardIndexedTree, please refer to here. Besides, you could see the rich cases within circuits at Anomix Network

                            - - -

                            3. Contents Table of 'Implementation from the Scratch'

                            -
                            - - -

                            3.1 Install peer dependencies

                            -
                            -
                            npm install o1js
                            # yarn add o1js -
                            +

                            3. Contents Table of 'Implementation from the Scratch'

                            3.1 Install peer dependencies

                            npm install o1js
                            # yarn add o1js +

                            If you need to use LevelDB to store data, you will also need to install:

                            npm install level
                            # yarn add level -
                            +

                            RocksDB:

                            npm install rocksdb encoding-down levelup
                            -
                            +

                            MongoDB:

                            npm install mongoose
                            -
                            - - -

                            3.2 What can you do with this library

                            -
                            -

                            You can update the data of Sparse Merkle Tree(SMT) outside the circuit, and then verify the membership proof or non-membership proof of the data in the circuit. At the same time, you can also verify the correctness of the state transformation of SMT in the circuit, which makes us not need to update the SMT in the circuit, but also ensure the legal modification of SMT data outside the circuit. We can verify the validity of data modification through zkApp.

                            + +

                            3.2 What can you do with this library

                            You can update the data of Sparse Merkle Tree(SMT) outside the circuit, and then verify the membership proof or non-membership proof of the data in the circuit. At the same time, you can also verify the correctness of the state transformation of SMT in the circuit, which makes us not need to update the SMT in the circuit, but also ensure the legal modification of SMT data outside the circuit. We can verify the validity of data modification through zkApp.


                            - - -

                            3.3 Usage

                            -
                            - - -

                            Create a merkle tree data store

                            -
                            - - -
                            1. Create a memory store
                            -
                            -
                            import { MemoryStore, Store } from 'o1js-merkle';
                            import { Field } from 'o1js';

                            // memory data store for Field type data, you can use any CircuitValue from o1js or a custom composite CircuitValue
                            let store: Store<Field> = new MemoryStore<Field>(); -
                            - - -
                            2. Create a leveldb store
                            -
                            -
                            import { Field } from 'o1js';
                            import { LevelStore, Store } from 'o1js-merkle';
                            import { Level } from 'level';
                            // create a leveldb data store for Field type data, you can use any CircuitValue from o1js or a custom composite CircuitValue
                            const levelDb = new Level<string, any>('./db');
                            let store: Store<Field> = new LevelStore<Field>(levelDb, Field, 'test'); -
                            - - -
                            3. Create a rocksdb store
                            -
                            -
                            import { RocksStore, Store } from 'o1js-merkle';
                            import { Field } from 'o1js';
                            import encode from 'encoding-down';
                            import rocksdb from 'rocksdb';
                            import levelup from 'levelup';

                            const encoded = encode(rocksdb('./rocksdb'));
                            const db = levelup(encoded);
                            let store: Store<Field> = new RocksStore<Field>(db, Field, 'test'); -
                            - - -
                            4. Create a mongodb store
                            -
                            -
                            import mongoose from 'mongoose';
                            import { MongoStore, Store } from 'o1js-merkle';
                            import { Field } from 'o1js';

                            await mongoose.connect('mongodb://localhost/my_database');
                            let store: Store<Field> = new MongoStore(mongoose.connection, Field, 'test'); -
                            - - -

                            Use MerkleTree (original NumIndexSparseMerkleTree)

                            -
                            -
                            +

                            3.3 Usage

                            Create a merkle tree data store

                            1. Create a memory store
                            import { MemoryStore, Store } from 'o1js-merkle';
                            import { Field } from 'o1js';

                            // memory data store for Field type data, you can use any CircuitValue from o1js or a custom composite CircuitValue
                            let store: Store<Field> = new MemoryStore<Field>(); +
                            +
                            2. Create a leveldb store
                            import { Field } from 'o1js';
                            import { LevelStore, Store } from 'o1js-merkle';
                            import { Level } from 'level';
                            // create a leveldb data store for Field type data, you can use any CircuitValue from o1js or a custom composite CircuitValue
                            const levelDb = new Level<string, any>('./db');
                            let store: Store<Field> = new LevelStore<Field>(levelDb, Field, 'test'); +
                            +
                            3. Create a rocksdb store
                            import { RocksStore, Store } from 'o1js-merkle';
                            import { Field } from 'o1js';
                            import encode from 'encoding-down';
                            import rocksdb from 'rocksdb';
                            import levelup from 'levelup';

                            const encoded = encode(rocksdb('./rocksdb'));
                            const db = levelup(encoded);
                            let store: Store<Field> = new RocksStore<Field>(db, Field, 'test'); +
                            +
                            4. Create a mongodb store
                            import mongoose from 'mongoose';
                            import { MongoStore, Store } from 'o1js-merkle';
                            import { Field } from 'o1js';

                            await mongoose.connect('mongodb://localhost/my_database');
                            let store: Store<Field> = new MongoStore(mongoose.connection, Field, 'test'); +
                            +

                            Use MerkleTree (original NumIndexSparseMerkleTree)

                            MerkleTree is a merkle tree of numerically indexed data that can customize the tree height, this merkel tree is equivalent to a data structure: Map<bigint, Struct>, Struct can be a CircuitValue type in o1js, such as Field, PublicKey, or a custom composite Struct. Tree height <= 254, Numeric index <= (2^height-1).

                            @@ -225,14 +123,10 @@

                            Use MerkleTree (original NumIndexSparseMerkleTree)

                            An example of using MerkleTree in the mina smart contract, modified from the example in the o1js official repo: merkle_zkapp.ts

                            class Account extends Struct({
                            address: PublicKey,
                            balance: UInt64,
                            nonce: UInt32,
                            }) {}

                            // Create a memory store
                            let store = new MemoryStore<Account>();
                            // initialize a new Merkle Tree with height 8
                            let tree = await MerkleTree.build(store, 8, Account);

                            let testValue = new Account({
                            address: PrivateKey.random().toPublicKey(),
                            balance: UInt64.fromNumber(100),
                            nonce: UInt32.fromNumber(0),
                            });

                            const root = await tree.update(0n, testValue);

                            // get value
                            const v = await tree.get(0n);
                            // support compact merkle proof
                            const cproof = await tree.proveCompact(0n);
                            // decompact NumIndexProof
                            const proof = MerkleTreeUtils.decompactMerkleProof(cproof);
                            // check membership outside the circuit
                            const ok = MerkleTreeUtils.checkMembership(proof, root, 0n, testValue, Account);

                            // check membership in the circuit
                            ProvableMerkleTreeUtils.checkMembership(
                            proof,
                            root,
                            Field(0n),
                            testValue,
                            Account
                            ).assertTrue();

                            testValue.nonce = testValue.nonce.add(1);
                            // calculate new root in the circuit
                            const newRoot = ProvableMerkleTreeUtils.computeRoot(
                            proof,
                            Field(0n),
                            testValue,
                            Account
                            ); -
                            +

                            Support DeepMerkleSubTree: DeepMerkleSubTree is a deep sparse merkle subtree for working on only a few leafs.(ProvableDeepMerkleSubTree is a deep subtree version that works in circuit). DeepMerkleSubTree Example

                            - - -

                            Use SparseMerkleTree

                            -
                            -
                            +

                            Use SparseMerkleTree

                            SparseMerkleTree is a merkle tree with a fixed height of 254, this merkel tree is equivalent to a data structure: Map<Struct,Struct>, Struct can be a CircuitValue type in o1js, such as Field, PublicKey, or a custom composite Struct.

                            SMTUtils: A collection of sparse merkle tree utility methods that do not work in circuits.

                            @@ -240,116 +134,19 @@

                            Use SparseMerkleTree

                            An example of using SparseMerkleTree in the mina smart contract, modified from the example in the o1js official repo: smt_zkapp.ts

                            class Account extends Struct({
                            address: PublicKey,
                            balance: UInt64,
                            nonce: UInt32,
                            }) {}

                            // Create a memory store
                            let store = new MemoryStore<Account>();
                            // Or create a level db store:
                            // const levelDb = new Level<string, any>('./db');
                            // let store = new LevelStore<Account>(levelDb, Account, 'test');

                            let smt = await SparseMerkleTree.build(store, Field, Account);
                            // Or import a tree by store
                            // smt = await SparseMerkleTree.importTree<Field, Account>(store);

                            let testKey = Field(1);
                            let testValue = new Account({
                            address: PrivateKey.random().toPublicKey(),
                            balance: UInt64.fromNumber(100),
                            nonce: UInt32.fromNumber(0),
                            });
                            let newValue = new Account({
                            address: PrivateKey.random().toPublicKey(),
                            balance: UInt64.fromNumber(50),
                            nonce: UInt32.fromNumber(1),
                            });

                            const root = await smt.update(testKey, testValue);
                            // Create a compacted merkle proof for a key against the current root.
                            const cproof = await smt.proveCompact(testKey);
                            // Verify the compacted Merkle proof outside the circuit.
                            const ok = SMTUtils.verifyCompactProof(
                            cproof,
                            root,
                            testKey,
                            Field,
                            testValue,
                            Account
                            );
                            console.log('ok: ', ok);

                            // Create a merkle proof for a key against the current root.
                            const proof = await smt.prove(testKey);

                            // Check membership in the circuit, isOk should be true.
                            let isOk = ProvableSMTUtils.checkMembership(
                            proof,
                            root,
                            testKey,
                            Field,
                            testValue,
                            Account
                            );

                            // Check Non-membership in the circuit, isOk should be false.
                            isOk = ProvableSMTUtils.checkNonMembership(proof, root, testKey, Field);

                            // Calculate new root in the circuit
                            let newRoot = ProvableSMTUtils.computeRoot(
                            roof.sideNodes,
                            testKey,
                            Field,
                            newValue,
                            Account
                            );
                            console.log('newRoot: ', newRoot.toString()); -
                            +

                            Support DeepSparseMerkleSubTree: DeepSparseMerkleSubTree is a deep sparse merkle subtree for working on only a few leafs.(ProvableDeepSparseMerkleSubTree is a deep subtree version that works in circuit). DeepSparseMerkleSubTree Example

                            - - -

                            Use CompactSparseMerkleTree

                            -
                            -
                            +

                            Use CompactSparseMerkleTree

                            CompactSparseMerkleTree is a merkle tree with a fixed height of 254, this merkel tree is equivalent to a data structure: Map<Struct,Struct>, Struct can be a CircuitValue type in o1js, such as Field, PublicKey, or a custom composite Struct. Compared with SparseMerkleTree, its advantage is that it can save storage space, and the operation efficiency of the tree is relatively high, but it is currently impossible to calculate the new root after the state transformation in the circuit.

                            CSMTUtils: A collection of compact sparse merkle tree utility methods that do not work in circuits.

                            ProvableCSMTUtils: A collection of compact sparse merkle tree utility methods that can be verified to work in circuits

                            class Account extends Struct({
                            address: PublicKey,
                            balance: UInt64,
                            nonce: UInt32,
                            }) {}

                            // Create a memory store
                            let store = new MemoryStore<Account>();
                            // Or create a level db store:
                            // const levelDb = new Level<string, any>('./db');
                            // let store = new LevelStore<Account>(levelDb, Account, 'test');

                            let smt = new CompactSparseMerkleTree(store, Field, Account);
                            // Or import a tree by store
                            // smt = await CompactSparseMerkleTree.import(store);

                            let testKey = Field(1);
                            let testValue = new Account(
                            PrivateKey.random().toPublicKey(),
                            UInt64.fromNumber(100),
                            UInt32.fromNumber(0)
                            );
                            let newValue = new Account(
                            PrivateKey.random().toPublicKey(),
                            UInt64.fromNumber(50),
                            UInt32.fromNumber(1)
                            );

                            const root = await smt.update(testKey, testValue);

                            // Create a merkle proof for a key against the current root.
                            const proof = await smt.prove(testKey);

                            // Check membership in circuit, isOk should be true.
                            let isOk = ProvableCSMTUtils.checkMembership(
                            proof,
                            root,
                            testKey,
                            Field,
                            testValue,
                            Account
                            );

                            // Check Non-membership in circuit, isOk should be false.
                            isOk = ProvableCSMTUtils.checkNonMembership(proof, root, testKey, Field); -
                            +

                            Support CompactDeepSparseMerkleSubTree: CompactDeepSparseMerkleSubTree is a deep sparse merkle subtree for working on only a few leafs. CompactDeepSparseMerkleSubTree Example

                            - - -

                            API Reference

                            -
                            -
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +
              \ No newline at end of file diff --git a/interfaces/AppendOnlyTree.html b/interfaces/AppendOnlyTree.html index 2ffb118..76df0ff 100644 --- a/interfaces/AppendOnlyTree.html +++ b/interfaces/AppendOnlyTree.html @@ -1,218 +1,25 @@ -AppendOnlyTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface AppendOnlyTree

              -
              -

              A Merkle tree that supports only appending leaves and not updating existing leaves.

              -
              -
              -

              Hierarchy

              -
              -
              -

              Implemented by

              -
              -
              -
              -
              - -
              -
              -

              Methods

              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Returns the value of a leaf at the specified index.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  index: bigint
                  -

                  The index of the leaf value to be returned.

                  -
                • -
                • -
                  includeUncommitted: boolean
                  -

                  Set to true to include uncommitted updates in the data set.

                  -
                -

                Returns Promise<undefined | Field>

              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +AppendOnlyTree | o1js-merkle

              Interface AppendOnlyTree

              A Merkle tree that supports only appending leaves and not updating existing leaves.

              +
              interface AppendOnlyTree {
                  appendLeaves(leaves): Promise<void>;
                  commit(): Promise<void>;
                  getDepth(): number;
                  getLeafValue(index, includeUncommitted): Promise<undefined | Field>;
                  getNumLeaves(includeUncommitted): bigint;
                  getRoot(includeUncommitted): Field;
                  getSiblingPath(index, includeUncommitted): Promise<BaseSiblingPath>;
                  rollback(): Promise<void>;
              }

              Hierarchy (view full)

              Implemented by

              Methods

              • Returns the value of a leaf at the specified index.

                +

                Parameters

                • index: bigint

                  The index of the leaf value to be returned.

                  +
                • includeUncommitted: boolean

                  Set to true to include uncommitted updates in the data set.

                  +

                Returns Promise<undefined | Field>

              \ No newline at end of file diff --git a/interfaces/CSparseCompactMerkleProof.html b/interfaces/CSparseCompactMerkleProof.html index 74e2cd5..1854f9a 100644 --- a/interfaces/CSparseCompactMerkleProof.html +++ b/interfaces/CSparseCompactMerkleProof.html @@ -1,108 +1,9 @@ -CSparseCompactMerkleProof | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface CSparseCompactMerkleProof

              -
              -

              SparseCompactMerkleProof for compact sparse merkle tree

              - -

              Interface

              CSparseCompactMerkleProof

              -
              -
              -

              Hierarchy

              -
                -
              • CSparseCompactMerkleProof
              -
              -
              -
              - -
              -
              -

              Properties

              -
              - -
              bitMask: Field
              -
              - -
              nonMembershipLeafData: Field[]
              -
              - -
              numSideNodes: number
              -
              - -
              root: Field
              -
              - -
              siblingData: Field[]
              -
              - -
              sideNodes: Field[]
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +CSparseCompactMerkleProof | o1js-merkle

              Interface CSparseCompactMerkleProof

              SparseCompactMerkleProof for compact sparse merkle tree

              +

              CSparseCompactMerkleProof

              +
              interface CSparseCompactMerkleProof {
                  bitMask: Field;
                  nonMembershipLeafData: Field[];
                  numSideNodes: number;
                  root: Field;
                  siblingData: Field[];
                  sideNodes: Field[];
              }

              Properties

              bitMask: Field
              nonMembershipLeafData: Field[]
              numSideNodes: number
              root: Field
              siblingData: Field[]
              sideNodes: Field[]
              \ No newline at end of file diff --git a/interfaces/CompactMerkleProof.html b/interfaces/CompactMerkleProof.html index a9f8d82..c6bc7ad 100644 --- a/interfaces/CompactMerkleProof.html +++ b/interfaces/CompactMerkleProof.html @@ -1,94 +1,7 @@ -CompactMerkleProof | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface CompactMerkleProof

              -
              -

              Compacted Merkle proof for an element in a MerkleTree

              - -

              Interface

              CompactMerkleProof

              -
              -
              -

              Hierarchy

              -
                -
              • CompactMerkleProof
              -
              -
              -
              - -
              -
              -

              Properties

              -
              -
              -

              Properties

              -
              - -
              bitMask: Field
              -
              - -
              height: number
              -
              - -
              root: Field
              -
              - -
              sideNodes: Field[]
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +CompactMerkleProof | o1js-merkle

              Interface CompactMerkleProof

              Compacted Merkle proof for an element in a MerkleTree

              +

              CompactMerkleProof

              +
              interface CompactMerkleProof {
                  bitMask: Field;
                  height: number;
                  root: Field;
                  sideNodes: Field[];
              }

              Properties

              Properties

              bitMask: Field
              height: number
              root: Field
              sideNodes: Field[]
              \ No newline at end of file diff --git a/interfaces/CompactMerkleProofJSON.html b/interfaces/CompactMerkleProofJSON.html index e872895..98a864a 100644 --- a/interfaces/CompactMerkleProofJSON.html +++ b/interfaces/CompactMerkleProofJSON.html @@ -1,94 +1,7 @@ -CompactMerkleProofJSON | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface CompactMerkleProofJSON

              -
              -

              A type used to support serialization to json for CompactMerkleProof.

              - -

              Interface

              CompactMerkleProofJSON

              -
              -
              -

              Hierarchy

              -
                -
              • CompactMerkleProofJSON
              -
              -
              -
              - -
              -
              -

              Properties

              -
              -
              -

              Properties

              -
              - -
              bitMask: string
              -
              - -
              height: number
              -
              - -
              root: string
              -
              - -
              sideNodes: string[]
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +CompactMerkleProofJSON | o1js-merkle

              Interface CompactMerkleProofJSON

              A type used to support serialization to json for CompactMerkleProof.

              +

              CompactMerkleProofJSON

              +
              interface CompactMerkleProofJSON {
                  bitMask: string;
                  height: number;
                  root: string;
                  sideNodes: string[];
              }

              Properties

              Properties

              bitMask: string
              height: number
              root: string
              sideNodes: string[]
              \ No newline at end of file diff --git a/interfaces/IMerkleTree.html b/interfaces/IMerkleTree.html index 3f7c0cd..0ed121d 100644 --- a/interfaces/IMerkleTree.html +++ b/interfaces/IMerkleTree.html @@ -1,190 +1,22 @@ -IMerkleTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface IMerkleTree

              -
              -

              Defines the interface for a Merkle tree.

              -
              -
              -

              Hierarchy

              -
              -
              -
              -
              - -
              -
              -

              Methods

              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Returns the value of a leaf at the specified index.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  index: bigint
                  -

                  The index of the leaf value to be returned.

                  -
                • -
                • -
                  includeUncommitted: boolean
                  -

                  Set to true to include uncommitted updates in the data set.

                  -
                -

                Returns Promise<undefined | Field>

              -
              - -
                - -
              • -

                Returns the number of leaves in the tree.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  includeUncommitted: boolean
                  -

                  Set to true to include uncommitted updates in the returned value.

                  -
                -

                Returns bigint

              -
              - -
                - -
              • -

                Returns the current root of the tree.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  includeUncommitted: boolean
                  -

                  Set to true to include uncommitted updates in the calculated root.

                  -
                -

                Returns Field

              -
              - -
              -
              - -
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +IMerkleTree | o1js-merkle

              Interface IMerkleTree

              Defines the interface for a Merkle tree.

              +
              interface IMerkleTree {
                  commit(): Promise<void>;
                  getDepth(): number;
                  getLeafValue(index, includeUncommitted): Promise<undefined | Field>;
                  getNumLeaves(includeUncommitted): bigint;
                  getRoot(includeUncommitted): Field;
                  getSiblingPath(index, includeUncommitted): Promise<BaseSiblingPath>;
                  rollback(): Promise<void>;
              }

              Hierarchy (view full)

              Methods

              • Returns the value of a leaf at the specified index.

                +

                Parameters

                • index: bigint

                  The index of the leaf value to be returned.

                  +
                • includeUncommitted: boolean

                  Set to true to include uncommitted updates in the data set.

                  +

                Returns Promise<undefined | Field>

              • Returns the number of leaves in the tree.

                +

                Parameters

                • includeUncommitted: boolean

                  Set to true to include uncommitted updates in the returned value.

                  +

                Returns bigint

              • Returns the current root of the tree.

                +

                Parameters

                • includeUncommitted: boolean

                  Set to true to include uncommitted updates in the calculated root.

                  +

                Returns Field

              \ No newline at end of file diff --git a/interfaces/IndexedTree.html b/interfaces/IndexedTree.html index 07ec163..a80a32e 100644 --- a/interfaces/IndexedTree.html +++ b/interfaces/IndexedTree.html @@ -1,330 +1,47 @@ -IndexedTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface IndexedTree

              -
              -

              Indexed merkle tree.

              -
              -
              -

              Hierarchy

              -
              -
              -

              Implemented by

              -
              -
              -
              -
              - -
              -
              -

              Methods

              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Finds the index of the largest leaf whose value is less than or equal to the provided value.

                - -

                Returns

                The found leaf index and a flag indicating if the corresponding leaf's value is equal to newValue.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  newValue: bigint
                  -

                  The new value to be inserted into the tree.

                  -
                • -
                • -
                  includeUncommitted: boolean
                  -

                  If true, the uncommitted changes are included in the search.

                  -
                -

                Returns {
                    alreadyPresent: boolean;
                    index: number;
                }

                -
                  -
                • -
                  alreadyPresent: boolean
                  -

                  A flag indicating if the corresponding leaf's value is equal to newValue.

                  -
                • -
                • -
                  index: number
                  -

                  The index of the found leaf.

                  -
              -
              - -
              -
              - -
                - -
              • -

                Gets the latest LeafData copy.

                - -

                Returns

                A copy of the leaf data at the given index or undefined if the leaf was not found.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  index: number
                  -

                  Index of the leaf of which to obtain the LeafData copy.

                  -
                • -
                • -
                  includeUncommitted: boolean
                  -

                  If true, the uncommitted changes are included in the search.

                  -
                -

                Returns undefined | LeafData

              -
              - -
                - -
              • -

                Returns the value of a leaf at the specified index.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  index: bigint
                  -

                  The index of the leaf value to be returned.

                  -
                • -
                • -
                  includeUncommitted: boolean
                  -

                  Set to true to include uncommitted updates in the data set.

                  -
                -

                Returns Promise<undefined | Field>

              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +IndexedTree | o1js-merkle

              Interface IndexedTree

              Indexed merkle tree.

              +
              interface IndexedTree {
                  appendLeaves(leaves): Promise<void>;
                  batchInsert(leaves, treeHeight, subtreeHeight, includeUncommitted): Promise<[LowLeafWitnessData[], BaseSiblingPath] | [undefined, BaseSiblingPath]>;
                  commit(): Promise<void>;
                  findIndexOfPreviousValue(newValue, includeUncommitted): {
                      alreadyPresent: boolean;
                      index: number;
                  };
                  getDepth(): number;
                  getLatestLeafDataCopy(index, includeUncommitted): undefined | LeafData;
                  getLeafValue(index, includeUncommitted): Promise<undefined | Field>;
                  getNumLeaves(includeUncommitted): bigint;
                  getRoot(includeUncommitted): Field;
                  getSiblingPath(index, includeUncommitted): Promise<BaseSiblingPath>;
                  rollback(): Promise<void>;
                  updateLeaf(leaf, index): Promise<void>;
              }

              Hierarchy (view full)

              Implemented by

              Methods

              • Finds the index of the largest leaf whose value is less than or equal to the provided value.

                +

                Parameters

                • newValue: bigint

                  The new value to be inserted into the tree.

                  +
                • includeUncommitted: boolean

                  If true, the uncommitted changes are included in the search.

                  +

                Returns {
                    alreadyPresent: boolean;
                    index: number;
                }

                The found leaf index and a flag indicating if the corresponding leaf's value is equal to newValue.

                +
                • alreadyPresent: boolean

                  A flag indicating if the corresponding leaf's value is equal to newValue.

                  +
                • index: number

                  The index of the found leaf.

                  +
              • Gets the latest LeafData copy.

                +

                Parameters

                • index: number

                  Index of the leaf of which to obtain the LeafData copy.

                  +
                • includeUncommitted: boolean

                  If true, the uncommitted changes are included in the search.

                  +

                Returns undefined | LeafData

                A copy of the leaf data at the given index or undefined if the leaf was not found.

                +
              • Returns the value of a leaf at the specified index.

                +

                Parameters

                • index: bigint

                  The index of the leaf value to be returned.

                  +
                • includeUncommitted: boolean

                  Set to true to include uncommitted updates in the data set.

                  +

                Returns Promise<undefined | Field>

              \ No newline at end of file diff --git a/interfaces/LeafData.html b/interfaces/LeafData.html index 6b19c32..4a6745b 100644 --- a/interfaces/LeafData.html +++ b/interfaces/LeafData.html @@ -1,91 +1,8 @@ -LeafData | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface LeafData

              -
              -

              A leaf of a tree.

              -
              -
              -

              Hierarchy

              -
                -
              • LeafData
              -
              -
              -
              - -
              -
              -

              Properties

              -
              -
              -

              Properties

              -
              - -
              nextIndex: bigint
              -

              An index of the next leaf.

              -
              -
              - -
              nextValue: bigint
              -

              A value of the next leaf.

              -
              -
              - -
              value: bigint
              -

              A value of the leaf.

              -
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +LeafData | o1js-merkle

              Interface LeafData

              A leaf of a tree.

              +
              interface LeafData {
                  nextIndex: bigint;
                  nextValue: bigint;
                  value: bigint;
              }

              Properties

              Properties

              nextIndex: bigint

              An index of the next leaf.

              +
              nextValue: bigint

              A value of the next leaf.

              +
              value: bigint

              A value of the leaf.

              +
              \ No newline at end of file diff --git a/interfaces/LowLeafWitnessData.html b/interfaces/LowLeafWitnessData.html index f15f663..5168311 100644 --- a/interfaces/LowLeafWitnessData.html +++ b/interfaces/LowLeafWitnessData.html @@ -1,91 +1,8 @@ -LowLeafWitnessData | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface LowLeafWitnessData

              -
              -

              All of the data to be return during batch insertion.

              -
              -
              -

              Hierarchy

              -
                -
              • LowLeafWitnessData
              -
              -
              -
              - -
              -
              -

              Properties

              -
              -
              -

              Properties

              -
              - -
              index: bigint
              -

              The index of low nullifier.

              -
              -
              - -
              leafData: LeafData
              -

              Preimage of the low nullifier that proves non membership.

              -
              -
              - -
              siblingPath: BaseSiblingPath
              -

              Sibling path to prove membership of low nullifier.

              -
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +LowLeafWitnessData | o1js-merkle

              Interface LowLeafWitnessData

              All of the data to be return during batch insertion.

              +
              interface LowLeafWitnessData {
                  index: bigint;
                  leafData: LeafData;
                  siblingPath: BaseSiblingPath;
              }

              Properties

              Properties

              index: bigint

              The index of low nullifier.

              +
              leafData: LeafData

              Preimage of the low nullifier that proves non membership.

              +
              siblingPath: BaseSiblingPath

              Sibling path to prove membership of low nullifier.

              +
              \ No newline at end of file diff --git a/interfaces/SiblingPathSource.html b/interfaces/SiblingPathSource.html index 47c60a4..11a25cf 100644 --- a/interfaces/SiblingPathSource.html +++ b/interfaces/SiblingPathSource.html @@ -1,89 +1,6 @@ -SiblingPathSource | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface SiblingPathSource

              -
              -

              Defines the interface for a source of sibling paths.

              -
              -
              -

              Hierarchy

              -
              -
              -
              -
              - -
              -
              -

              Methods

              -
              -
              -

              Methods

              -
              - -
                - -
              • -

                Returns the sibling path for a requested leaf index.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  index: bigint
                  -

                  The index of the leaf for which a sibling path is required.

                  -
                • -
                • -
                  includeUncommitted: boolean
                  -

                  Set to true to include uncommitted updates in the sibling path.

                  -
                -

                Returns Promise<BaseSiblingPath>

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +SiblingPathSource | o1js-merkle

              Interface SiblingPathSource

              Defines the interface for a source of sibling paths.

              +
              interface SiblingPathSource {
                  getSiblingPath(index, includeUncommitted): Promise<BaseSiblingPath>;
              }

              Hierarchy (view full)

              Methods

              \ No newline at end of file diff --git a/interfaces/SparseCompactMerkleProof.html b/interfaces/SparseCompactMerkleProof.html index 59bf2a4..48c8e11 100644 --- a/interfaces/SparseCompactMerkleProof.html +++ b/interfaces/SparseCompactMerkleProof.html @@ -1,87 +1,6 @@ -SparseCompactMerkleProof | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface SparseCompactMerkleProof

              -
              -

              Compacted Merkle proof for an element in a SparseMerkleTree

              - -

              Interface

              SparseCompactMerkleProof

              -
              -
              -

              Hierarchy

              -
                -
              • SparseCompactMerkleProof
              -
              -
              -
              - -
              -
              -

              Properties

              -
              -
              -

              Properties

              -
              - -
              bitMask: Field
              -
              - -
              root: Field
              -
              - -
              sideNodes: Field[]
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +SparseCompactMerkleProof | o1js-merkle

              Interface SparseCompactMerkleProof

              Compacted Merkle proof for an element in a SparseMerkleTree

              +

              SparseCompactMerkleProof

              +
              interface SparseCompactMerkleProof {
                  bitMask: Field;
                  root: Field;
                  sideNodes: Field[];
              }

              Properties

              Properties

              bitMask: Field
              root: Field
              sideNodes: Field[]
              \ No newline at end of file diff --git a/interfaces/SparseCompactMerkleProofJSON.html b/interfaces/SparseCompactMerkleProofJSON.html index 8baf003..c6415ae 100644 --- a/interfaces/SparseCompactMerkleProofJSON.html +++ b/interfaces/SparseCompactMerkleProofJSON.html @@ -1,87 +1,6 @@ -SparseCompactMerkleProofJSON | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface SparseCompactMerkleProofJSON

              -
              -

              A type used to support serialization to json for SparseCompactMerkleProof.

              - -

              Interface

              SparseCompactMerkleProofJSON

              -
              -
              -

              Hierarchy

              -
                -
              • SparseCompactMerkleProofJSON
              -
              -
              -
              - -
              -
              -

              Properties

              -
              -
              -

              Properties

              -
              - -
              bitMask: string
              -
              - -
              root: string
              -
              - -
              sideNodes: string[]
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +SparseCompactMerkleProofJSON | o1js-merkle

              Interface SparseCompactMerkleProofJSON

              A type used to support serialization to json for SparseCompactMerkleProof.

              +

              SparseCompactMerkleProofJSON

              +
              interface SparseCompactMerkleProofJSON {
                  bitMask: string;
                  root: string;
                  sideNodes: string[];
              }

              Properties

              Properties

              bitMask: string
              root: string
              sideNodes: string[]
              \ No newline at end of file diff --git a/interfaces/Store.html b/interfaces/Store.html index e8bc819..43f78fc 100644 --- a/interfaces/Store.html +++ b/interfaces/Store.html @@ -1,297 +1,45 @@ -Store | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface Store<V>

              -
              -

              Store is a key-value store interface

              - -

              Interface

              Store

              -
              -
              -

              Type Parameters

              -
                -
              • -

                V

              -
              -

              Hierarchy

              -
                -
              • Store
              -
              -

              Implemented by

              -
              -
              -
              -
              - -
              -
              -

              Methods

              -
              - -
                - -
              • -

                Clear the store.

                - -

                Returns

                {Promise}

                - -

                Memberof

                Store

                -
                -

                Returns Promise<void>

              -
              - -
                - -
              • -

                Clear all prepare operation cache.

                - -

                Memberof

                Store

                -
                -

                Returns void

              -
              - -
                - -
              • -

                Use the commit() method to actually submit all prepare changes.

                - -

                Returns

                {Promise}

                - -

                Memberof

                Store

                -
                -

                Returns Promise<void>

              -
              - -
                - -
              • -

                Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

                - -

                Returns

                {Promise<Field[]>}

                - -

                Memberof

                Store

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: Field
                -

                Returns Promise<Field[]>

              -
              - -
                - -
              • -

                Get the tree root. Error is thrown when the root does not exist.

                - -

                Returns

                {Promise}

                - -

                Memberof

                Store

                -
                -

                Returns Promise<Field>

              -
              - -
                - -
              • -

                Get the value for a key. Error is thrown when a key that does not exist is being accessed.

                - -

                Returns

                {Promise}

                - -

                Memberof

                Store

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: Field
                -

                Returns Promise<V>

              -
              - -
                - -
              • -

                Get values map, key is Field.toString().

                - -

                Returns

                {Promise<Map<string, V>>}

                - -

                Memberof

                Store

                -
                -

                Returns Promise<Map<string, V>>

              -
              - -
                - -
              • -

                Prepare delete nodes for a key. Use the commit() method to actually submit changes.

                - -

                Memberof

                Store

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: Field
                -

                Returns void

              -
              - -
                - -
              • -

                Prepare delete the value for a key. Use the commit() method to actually submit changes.

                - -

                Memberof

                Store

                -
                -
                -

                Parameters

                -
                  -
                • -
                  path: Field
                -

                Returns void

              -
              - -
                - -
              • -

                Prepare put nodes for a key. Use the commit() method to actually submit changes.

                - -

                Memberof

                Store

                -
                -
                -

                Parameters

                -
                  -
                • -
                  key: Field
                • -
                • -
                  value: Field[]
                -

                Returns void

              -
              - -
                - -
              • -

                Prepare put the value for a key. Use the commit() method to actually submit changes.

                - -

                Memberof

                Store

                -
                -
                -

                Parameters

                -
                  -
                • -
                  path: Field
                • -
                • -
                  value: V
                -

                Returns void

              -
              - -
                - -
              • -

                Prepare update the root. Use the commit() method to actually submit changes.

                - -

                Memberof

                Store

                -
                -
                -

                Parameters

                -
                  -
                • -
                  root: Field
                -

                Returns void

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +Store | o1js-merkle

              Interface Store<V>

              Store is a key-value store interface

              +

              Store

              +
              interface Store<V> {
                  clear(): Promise<void>;
                  clearPrepareOperationCache(): void;
                  commit(): Promise<void>;
                  getNodes(key): Promise<Field[]>;
                  getRoot(): Promise<Field>;
                  getValue(key): Promise<V>;
                  getValuesMap?(): Promise<Map<string, V>>;
                  prepareDelNodes(key): void;
                  prepareDelValue(path): void;
                  preparePutNodes(key, value): void;
                  preparePutValue(path, value): void;
                  prepareUpdateRoot(root): void;
              }

              Type Parameters

              • V

              Implemented by

              Methods

              • Clear all prepare operation cache.

                +

                Returns void

                Memberof

                Store

                +
              • Use the commit() method to actually submit all prepare changes.

                +

                Returns Promise<void>

                {Promise}

                +

                Memberof

                Store

                +
              • Get nodes for a key. Error is thrown when a key that does not exist is being accessed.

                +

                Parameters

                • key: Field

                Returns Promise<Field[]>

                {Promise<Field[]>}

                +

                Memberof

                Store

                +
              • Get the tree root. Error is thrown when the root does not exist.

                +

                Returns Promise<Field>

                {Promise}

                +

                Memberof

                Store

                +
              • Get the value for a key. Error is thrown when a key that does not exist is being accessed.

                +

                Parameters

                • key: Field

                Returns Promise<V>

                {Promise}

                +

                Memberof

                Store

                +
              • Get values map, key is Field.toString().

                +

                Returns Promise<Map<string, V>>

                {Promise<Map<string, V>>}

                +

                Memberof

                Store

                +
              • Prepare delete nodes for a key. Use the commit() method to actually submit changes.

                +

                Parameters

                • key: Field

                Returns void

                Memberof

                Store

                +
              • Prepare delete the value for a key. Use the commit() method to actually submit changes.

                +

                Parameters

                • path: Field

                Returns void

                Memberof

                Store

                +
              • Prepare put nodes for a key. Use the commit() method to actually submit changes.

                +

                Parameters

                • key: Field
                • value: Field[]

                Returns void

                Memberof

                Store

                +
              • Prepare put the value for a key. Use the commit() method to actually submit changes.

                +

                Parameters

                • path: Field
                • value: V

                Returns void

                Memberof

                Store

                +
              • Prepare update the root. Use the commit() method to actually submit changes.

                +

                Parameters

                • root: Field

                Returns void

                Memberof

                Store

                +
              \ No newline at end of file diff --git a/interfaces/UpdateOnlyTree.html b/interfaces/UpdateOnlyTree.html index 2e397c7..2b1e145 100644 --- a/interfaces/UpdateOnlyTree.html +++ b/interfaces/UpdateOnlyTree.html @@ -1,220 +1,26 @@ -UpdateOnlyTree | o1js-merkle
              -
              - -
              -
              -
              -
              - -

              Interface UpdateOnlyTree

              -
              -

              A Merkle tree that supports updates at arbitrary indices but not appending.

              -
              -
              -

              Hierarchy

              -
              -
              -

              Implemented by

              -
              -
              -
              -
              - -
              -
              -

              Methods

              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Returns the value of a leaf at the specified index.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  index: bigint
                  -

                  The index of the leaf value to be returned.

                  -
                • -
                • -
                  includeUncommitted: boolean
                  -

                  Set to true to include uncommitted updates in the data set.

                  -
                -

                Returns Promise<undefined | Field>

              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Updates a leaf at a given index in the tree.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  leaf: Field
                  -

                  The leaf value to be updated.

                  -
                • -
                • -
                  index: bigint
                  -

                  The leaf to be updated.

                  -
                -

                Returns Promise<void>

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +UpdateOnlyTree | o1js-merkle

              Interface UpdateOnlyTree

              A Merkle tree that supports updates at arbitrary indices but not appending.

              +
              interface UpdateOnlyTree {
                  commit(): Promise<void>;
                  getDepth(): number;
                  getLeafValue(index, includeUncommitted): Promise<undefined | Field>;
                  getNumLeaves(includeUncommitted): bigint;
                  getRoot(includeUncommitted): Field;
                  getSiblingPath(index, includeUncommitted): Promise<BaseSiblingPath>;
                  rollback(): Promise<void>;
                  updateLeaf(leaf, index): Promise<void>;
              }

              Hierarchy (view full)

              Implemented by

              Methods

              • Returns the value of a leaf at the specified index.

                +

                Parameters

                • index: bigint

                  The index of the leaf value to be returned.

                  +
                • includeUncommitted: boolean

                  Set to true to include uncommitted updates in the data set.

                  +

                Returns Promise<undefined | Field>

              \ No newline at end of file diff --git a/modules.html b/modules.html index 0d09d0e..2f79647 100644 --- a/modules.html +++ b/modules.html @@ -1,184 +1,64 @@ -o1js-merkle
              -
              - -
              -
              - -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +o1js-merkle
              \ No newline at end of file diff --git a/types/Hasher.html b/types/Hasher.html index 1f37f65..0d3f0ac 100644 --- a/types/Hasher.html +++ b/types/Hasher.html @@ -1,122 +1 @@ -Hasher | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +Hasher | o1js-merkle

              Type alias Hasher

              Hasher: ((v) => Field)

              Type declaration

                • (v): Field
                • Parameters

                  • v: Field[]

                  Returns Field

              \ No newline at end of file diff --git a/variables/INITIAL_LEAF.html b/variables/INITIAL_LEAF.html index e37f7b3..f2e5785 100644 --- a/variables/INITIAL_LEAF.html +++ b/variables/INITIAL_LEAF.html @@ -1,109 +1 @@ -INITIAL_LEAF | o1js-merkle
              -
              - -
              - -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +INITIAL_LEAF | o1js-merkle

              Variable INITIAL_LEAFConst

              INITIAL_LEAF: Field = ...
              \ No newline at end of file