From 0048913f7a8e0f84ecf0e45c8799b31c3ac5f180 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 17:24:08 +0000 Subject: [PATCH] Deploy to GitHub pages --- .nojekyll | 1 + CNAME | 1 + assets/highlight.css | 85 + assets/main.js | 59 + assets/navigation.js | 1 + assets/search.js | 1 + assets/style.css | 1383 +++++++++++++++++ ...maphore_protocol_data.SemaphoreEthers.html | 270 ++++ ...phore_protocol_data.SemaphoreSubgraph.html | 211 +++ classes/_semaphore_protocol_group.Group.html | 329 ++++ ..._semaphore_protocol_heyauthn.HeyAuthn.html | 173 +++ ..._semaphore_protocol_heyauthn.Identity.html | 255 +++ ..._semaphore_protocol_identity.Identity.html | 255 +++ ...aphore_protocol_data.SupportedNetwork.html | 102 ++ ...re_protocol_data.getSupportedNetworks.html | 55 + ...protocol_proof.calculateNullifierHash.html | 68 + ...emaphore_protocol_proof.generateProof.html | 83 + ..._semaphore_protocol_proof.verifyProof.html | 68 + index.html | 347 +++++ modules/_semaphore_protocol_data.html | 178 +++ modules/_semaphore_protocol_group.html | 145 ++ modules/_semaphore_protocol_heyauthn.html | 142 ++ modules/_semaphore_protocol_identity.html | 129 ++ modules/_semaphore_protocol_proof.html | 153 ++ ...semaphore_protocol_data.EthersNetwork.html | 47 + ...semaphore_protocol_data.EthersOptions.html | 58 + ..._semaphore_protocol_data.GroupOptions.html | 67 + ...semaphore_protocol_data.GroupResponse.html | 69 + ...semaphore_protocol_group.BigNumberish.html | 47 + ...otocol_heyauthn.AuthenticationOptions.html | 62 + ...protocol_heyauthn.RegistrationOptions.html | 74 + ..._semaphore_protocol_proof.MerkleProof.html | 58 + ..._semaphore_protocol_proof.PackedProof.html | 47 + ...maphore_protocol_proof.SemaphoreProof.html | 60 + ...maphore_protocol_proof.SnarkArtifacts.html | 54 + 35 files changed, 5137 insertions(+) create mode 100644 .nojekyll create mode 100644 CNAME create mode 100644 assets/highlight.css create mode 100644 assets/main.js create mode 100644 assets/navigation.js create mode 100644 assets/search.js create mode 100644 assets/style.css create mode 100644 classes/_semaphore_protocol_data.SemaphoreEthers.html create mode 100644 classes/_semaphore_protocol_data.SemaphoreSubgraph.html create mode 100644 classes/_semaphore_protocol_group.Group.html create mode 100644 classes/_semaphore_protocol_heyauthn.HeyAuthn.html create mode 100644 classes/_semaphore_protocol_heyauthn.Identity.html create mode 100644 classes/_semaphore_protocol_identity.Identity.html create mode 100644 enums/_semaphore_protocol_data.SupportedNetwork.html create mode 100644 functions/_semaphore_protocol_data.getSupportedNetworks.html create mode 100644 functions/_semaphore_protocol_proof.calculateNullifierHash.html create mode 100644 functions/_semaphore_protocol_proof.generateProof.html create mode 100644 functions/_semaphore_protocol_proof.verifyProof.html create mode 100644 index.html create mode 100644 modules/_semaphore_protocol_data.html create mode 100644 modules/_semaphore_protocol_group.html create mode 100644 modules/_semaphore_protocol_heyauthn.html create mode 100644 modules/_semaphore_protocol_identity.html create mode 100644 modules/_semaphore_protocol_proof.html create mode 100644 types/_semaphore_protocol_data.EthersNetwork.html create mode 100644 types/_semaphore_protocol_data.EthersOptions.html create mode 100644 types/_semaphore_protocol_data.GroupOptions.html create mode 100644 types/_semaphore_protocol_data.GroupResponse.html create mode 100644 types/_semaphore_protocol_group.BigNumberish.html create mode 100644 types/_semaphore_protocol_heyauthn.AuthenticationOptions.html create mode 100644 types/_semaphore_protocol_heyauthn.RegistrationOptions.html create mode 100644 types/_semaphore_protocol_proof.MerkleProof.html create mode 100644 types/_semaphore_protocol_proof.PackedProof.html create mode 100644 types/_semaphore_protocol_proof.SemaphoreProof.html create mode 100644 types/_semaphore_protocol_proof.SnarkArtifacts.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e2ac6616a --- /dev/null +++ b/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..5c50c2ca6 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +js.semaphore.pse.dev \ No newline at end of file diff --git a/assets/highlight.css b/assets/highlight.css new file mode 100644 index 000000000..923209712 --- /dev/null +++ b/assets/highlight.css @@ -0,0 +1,85 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #0000FF; + --dark-hl-3: #569CD6; + --light-hl-4: #0070C1; + --dark-hl-4: #4FC1FF; + --light-hl-5: #AF00DB; + --dark-hl-5: #C586C0; + --light-hl-6: #001080; + --dark-hl-6: #9CDCFE; + --light-hl-7: #008000; + --dark-hl-7: #6A9955; + --light-hl-8: #098658; + --dark-hl-8: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +pre, code { background: var(--code-background); } diff --git a/assets/main.js b/assets/main.js new file mode 100644 index 000000000..01bcad55f --- /dev/null +++ b/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Pe=Object.create;var ne=Object.defineProperty;var Ie=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=Ie(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Pe(_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),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,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.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}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()}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){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}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(()=>{Ne(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"?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 Ne(t,e,n,r){if(!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`,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 v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}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 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 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 Be={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Be[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",B="mouseup",J={x:0,y:0},fe=!1,ee=!1,He=!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&&(He=!0,F="touchstart",pe="touchmove",B="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(pe,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(B,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(B,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){D||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!D&&this.active&&n.target.closest(".col-sidebar")){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 te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{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()),ve.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 Z=class extends C{constructor(n){super(n);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 r=Q.getItem(this.key);this.el.open=r?r==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let i=this.summary.querySelector("a");i&&i.addEventListener("click",()=>{location.assign(i.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,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(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.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.href===r.href&&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: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/assets/navigation.js b/assets/navigation.js new file mode 100644 index 000000000..b63a3bc12 --- /dev/null +++ b/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA52VTW+cMBCG/wvn3aZZ9XNPSaVq00O3UXKMopUDA1gYG9njtqjKfy8sgbXBa8zeOMz7PuP5YJ7+RQh/MdpGNwpKUuVCwrqSAkUs2FVCkESrqCKYNxGlSDQDdXUYIg995KGNfJdjyZrwgvIk2m5WUZxTlkjg0fZpwDzqqhISIdkD/hGyONkD16XHfCy0aV9eVydE7/Adc5DqRIgZUcr3gJHSRlxvnJBH/ZLJ5vMSTK/1gbpUJtXCuvIhLNWoMe+/fr7+uJkgflVIBVcLEW+qOcROCl0tJZiiIMADqKqJhWWEXjWHyADHQ2i8JdU8PmZ6nuYysKGfPrw+G0TXTmZtymFLeQwN2sqdbeqb4M50N7W2x/Ybzfa6fAFJVR7Sjs7WVLnbMVeeHGqiMedhFeqjg4p0B/Wtbe2r02Ddy3zV+pEAR4r1Qute5rNu2W1UTNrpXLCCA8Xp4OzOqku7tVXJmqp1kwJITlhkJPQAGVUoL07HoV+azNwQ0Uk7fENEnV04M0TLOj1Yn+/03FuaD5GGPeQYGvSKnyALBve29fnedcaG6PLpuSdxAclCsiGa+8kPt3khwtbNUjiRxa1EmpIYg8b/jWLp5igxYbFmBGGvGaMpBXlHzL+x/2R1RLfH5GqZV5JDs5zj+oWwLKkH8bu5D2l9AcAQOu7u839vgJMmDQsAAA==" \ No newline at end of file diff --git a/assets/search.js b/assets/search.js new file mode 100644 index 000000000..14c52c270 --- /dev/null +++ b/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/assets/style.css b/assets/style.css new file mode 100644 index 000000000..108428c3f --- /dev/null +++ b/assets/style.css @@ -0,0 +1,1383 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --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: #6e6e6e; + --light-color-link: #1f70c2; + + --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-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: var(--light-color-ts-type-alias); + --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; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --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-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-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: var(--dark-color-ts-type-alias); + --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; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --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-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --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); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --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-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --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); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --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-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --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); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --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-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --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); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + 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; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + 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; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.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 { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + 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 { + 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; + + 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-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#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: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + 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); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + 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/_semaphore_protocol_data.SemaphoreEthers.html b/classes/_semaphore_protocol_data.SemaphoreEthers.html new file mode 100644 index 000000000..4df2bf6c0 --- /dev/null +++ b/classes/_semaphore_protocol_data.SemaphoreEthers.html @@ -0,0 +1,270 @@ +SemaphoreEthers | Semaphore SDK
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • SemaphoreEthers
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Initializes the Ethers object with an Ethereum network or custom URL.

    +
    +
    +

    Parameters

    +
      +
    • +
      networkOrEthereumURL: string = "sepolia"
      +

      Ethereum network or custom URL.

      +
      +
    • +
    • +
      options: EthersOptions = {}
      +

      Ethers options.

      +
      +
    +

    Returns SemaphoreEthers

    +
+
+

Properties

+
+ +
_contract: Contract
+
+ +
_network: string
+
+ +
_options: EthersOptions
+
+

Accessors

+
+ +
    +
  • get contract(): Contract
  • +
  • +

    Returns the contract object.

    +
    +

    Returns Contract

    Contract object.

    + +
+
+ +
    +
  • get network(): string
  • +
  • +

    Returns the Ethereum network or custom URL.

    +
    +

    Returns string

    Ethereum network or custom URL.

    + +
+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Returns a specific group.

    +
    +
    +

    Parameters

    +
      +
    • +
      groupId: string
      +

      Group id.

      +
      +
    +

    Returns Promise<GroupResponse>

    Specific group.

    + +
+
+ +
    + +
  • +

    Returns a group admin.

    +
    +
    +

    Parameters

    +
      +
    • +
      groupId: string
      +

      Group id.

      +
      +
    +

    Returns Promise<string>

    Group admin.

    + +
+
+ +
    + +
  • +

    Returns the list of group ids.

    +
    +

    Returns Promise<string[]>

    List of group ids.

    + +
+
+ +
    + +
  • +

    Returns a list of group members.

    +
    +
    +

    Parameters

    +
      +
    • +
      groupId: string
      +

      Group id.

      +
      +
    +

    Returns Promise<string[]>

    Group members.

    + +
+
+ +
    + +
  • +

    Returns a list of group verified proofs.

    +
    +
    +

    Parameters

    +
      +
    • +
      groupId: string
      +

      Group id.

      +
      +
    +

    Returns Promise<any>

    Group verified proofs.

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/_semaphore_protocol_data.SemaphoreSubgraph.html b/classes/_semaphore_protocol_data.SemaphoreSubgraph.html new file mode 100644 index 000000000..9a5dbca0f --- /dev/null +++ b/classes/_semaphore_protocol_data.SemaphoreSubgraph.html @@ -0,0 +1,211 @@ +SemaphoreSubgraph | Semaphore SDK
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • SemaphoreSubgraph
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
url +
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Initializes the subgraph object with one of the supported networks or a custom URL.

    +
    +
    +

    Parameters

    +
      +
    • +
      networkOrSubgraphURL: string = SupportedNetwork.SEPOLIA
      +

      Supported Semaphore network or custom Subgraph URL.

      +
      +
    +

    Returns SemaphoreSubgraph

    +
+
+

Properties

+
+ +
_url: string
+
+

Accessors

+
+ +
    +
  • get url(): string
  • +
  • +

    Returns the subgraph URL.

    +
    +

    Returns string

    Subgraph URL.

    + +
+
+

Methods

+
+ +
    + +
  • +

    Returns a specific group.

    +
    +
    +

    Parameters

    +
      +
    • +
      groupId: string
      +

      Group id.

      +
      +
    • +
    • +
      options: Omit<GroupOptions, "filters"> = {}
      +

      Options to select the group parameters.

      +
      +
    +

    Returns Promise<GroupResponse>

    Specific group.

    + +
+
+ +
    + +
  • +

    Returns the list of group ids.

    +
    +

    Returns Promise<string[]>

    List of group ids.

    + +
+
+ +
+
+ +
    + +
  • +

    Returns true if a member is part of group, and false otherwise.

    +
    +
    +

    Parameters

    +
      +
    • +
      groupId: string
      +

      Group id

      +
      +
    • +
    • +
      member: string
      +

      Group member.

      +
      +
    +

    Returns Promise<boolean>

    True if the member is part of the group, false otherwise.

    + +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/_semaphore_protocol_group.Group.html b/classes/_semaphore_protocol_group.Group.html new file mode 100644 index 000000000..fe48282ed --- /dev/null +++ b/classes/_semaphore_protocol_group.Group.html @@ -0,0 +1,329 @@ +Group | Semaphore SDK
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • Group
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Initializes the group with the group id and the tree depth.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: BigNumberish
      +

      Group identifier.

      +
      +
    • +
    • +
      treeDepth: number = 20
      +

      Tree depth.

      +
      +
    • +
    • +
      members: BigNumberish[] = []
      +

      List of group members.

      +
      +
    +

    Returns Group

    +
+
+

Properties

+
+ +
+
+ +
merkleTree: default
+
+

Accessors

+
+ +
    +
  • get depth(): number
  • +
  • +

    Returns the depth of the tree.

    +
    +

    Returns number

    Tree depth.

    + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Adds a new member to the group.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Adds new members to the group.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    Deprecated

    Use the new class parameter to add a list of members.

    +
+
+ +
    + +
  • +

    Creates a proof of membership.

    +
    +
    +

    Parameters

    +
      +
    • +
      index: number
      +

      Index of the proof's member.

      +
      +
    +

    Returns MerkleProof

    Proof object.

    + +
+
+ +
    + +
  • +

    Returns the index of a member. If the member does not exist it returns -1.

    +
    +
    +

    Parameters

    +
    +

    Returns number

    Index of the member.

    + +
+
+ +
    + +
  • +

    Removes a member from the group.

    +
    +
    +

    Parameters

    +
      +
    • +
      index: number
      +

      Index of the member to be removed.

      +
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Updates a member in the group.

    +
    +
    +

    Parameters

    +
      +
    • +
      index: number
      +

      Index of the member to be updated.

      +
      +
    • +
    • +
      member: BigNumberish
      +

      New member value.

      +
      +
    +

    Returns void

    +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/_semaphore_protocol_heyauthn.HeyAuthn.html b/classes/_semaphore_protocol_heyauthn.HeyAuthn.html new file mode 100644 index 000000000..c00cdff32 --- /dev/null +++ b/classes/_semaphore_protocol_heyauthn.HeyAuthn.html @@ -0,0 +1,173 @@ +HeyAuthn | Semaphore SDK
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • HeyAuthn
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
_identity: Identity
+
+

Accessors

+
+ +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Authenticates an existing WebAuthn credential and returns its HeyAuthn instance.

    +
    +
    +

    Parameters

    +
    +

    Returns Promise<HeyAuthn>

    A HeyAuthn instance with the existing credential.

    + +
+
+ +
    + +
  • +

    Registers a new WebAuthn credential and returns its HeyAuthn instance.

    +
    +
    +

    Parameters

    +
    +

    Returns Promise<HeyAuthn>

    A HeyAuthn instance with the newly registered credential.

    + +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/_semaphore_protocol_heyauthn.Identity.html b/classes/_semaphore_protocol_heyauthn.Identity.html new file mode 100644 index 000000000..433ed25f8 --- /dev/null +++ b/classes/_semaphore_protocol_heyauthn.Identity.html @@ -0,0 +1,255 @@ +Identity | Semaphore SDK
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • Identity
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Initializes the class attributes based on the strategy passed as parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional identityOrMessage: string
      +

      Additional data needed to create identity for given strategy.

      +
      +
    +

    Returns Identity

    +
+
+

Properties

+
+ +
_commitment: bigint
+
+ +
_nullifier: bigint
+
+ +
_secret: bigint
+
+ +
_trapdoor: bigint
+
+

Accessors

+
+ +
+
+ +
+
+ +
+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Returns a JSON string with trapdoor and nullifier. It can be used +to export the identity and reuse it later.

    +
    +

    Returns string

    The string representation of the identity.

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/_semaphore_protocol_identity.Identity.html b/classes/_semaphore_protocol_identity.Identity.html new file mode 100644 index 000000000..a396e0c12 --- /dev/null +++ b/classes/_semaphore_protocol_identity.Identity.html @@ -0,0 +1,255 @@ +Identity | Semaphore SDK
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • Identity
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Initializes the class attributes based on the strategy passed as parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional identityOrMessage: string
      +

      Additional data needed to create identity for given strategy.

      +
      +
    +

    Returns Identity

    +
+
+

Properties

+
+ +
_commitment: bigint
+
+ +
_nullifier: bigint
+
+ +
_secret: bigint
+
+ +
_trapdoor: bigint
+
+

Accessors

+
+ +
    +
  • get commitment(): bigint
  • +
  • +

    Returns the identity commitment.

    +
    +

    Returns bigint

    The identity commitment.

    + +
+
+ +
    +
  • get nullifier(): bigint
  • +
  • +

    Returns the identity nullifier.

    +
    +

    Returns bigint

    The identity nullifier.

    + +
+
+ +
    +
  • get secret(): bigint
  • +
  • +

    Returns the identity secret.

    +
    +

    Returns bigint

    The identity secret.

    + +
+
+ +
    +
  • get trapdoor(): bigint
  • +
  • +

    Returns the identity trapdoor.

    +
    +

    Returns bigint

    The identity trapdoor.

    + +
+
+

Methods

+
+ +
    + +
  • +

    Returns the identity commitment.

    +
    +

    Returns bigint

    The identity commitment.

    + +
+
+ +
    + +
  • +

    Returns the identity nullifier.

    +
    +

    Returns bigint

    The identity nullifier.

    + +
+
+ +
    + +
  • +

    Returns the identity secret.

    +
    +

    Returns bigint

    The identity secret.

    + +
+
+ +
    + +
  • +

    Returns the identity trapdoor.

    +
    +

    Returns bigint

    The identity trapdoor.

    + +
+
+ +
    + +
  • +

    Returns a JSON string with trapdoor and nullifier. It can be used +to export the identity and reuse it later.

    +
    +

    Returns string

    The string representation of the identity.

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/enums/_semaphore_protocol_data.SupportedNetwork.html b/enums/_semaphore_protocol_data.SupportedNetwork.html new file mode 100644 index 000000000..1718c8d51 --- /dev/null +++ b/enums/_semaphore_protocol_data.SupportedNetwork.html @@ -0,0 +1,102 @@ +SupportedNetwork | Semaphore SDK
+
+ +
+
+
+
+ +

Enumeration SupportedNetwork

+
+
+
+ +
+
+

Enumeration Members

+
+ +
ARBITRUM: "arbitrum"
+
+ +
ARBITRUM_GOERLI: "arbitrum-goerli"
+
+ +
GOERLI: "goerli"
+
+ +
MUMBAI: "mumbai"
+
+ +
OPTIMISM_GOERLI: "optimism-goerli"
+
+ +
SEPOLIA: "sepolia"
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/_semaphore_protocol_data.getSupportedNetworks.html b/functions/_semaphore_protocol_data.getSupportedNetworks.html new file mode 100644 index 000000000..6983f83fd --- /dev/null +++ b/functions/_semaphore_protocol_data.getSupportedNetworks.html @@ -0,0 +1,55 @@ +getSupportedNetworks | Semaphore SDK
+
+ +
+
+
+
+ +

Function getSupportedNetworks

+
+
    + +
  • +

    Returns the list of Semaphore supported networks.

    +
    +

    Returns string[]

    Semaphore supported networks.

    + +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/_semaphore_protocol_proof.calculateNullifierHash.html b/functions/_semaphore_protocol_proof.calculateNullifierHash.html new file mode 100644 index 000000000..2c65389c3 --- /dev/null +++ b/functions/_semaphore_protocol_proof.calculateNullifierHash.html @@ -0,0 +1,68 @@ +calculateNullifierHash | Semaphore SDK
+
+ +
+
+
+
+ +

Function calculateNullifierHash

+
+
    + +
  • +

    Given the identity nullifier and the external nullifier, it calculates nullifier hash.

    +
    +
    +

    Parameters

    +
      +
    • +
      identityNullifier: string | number | bigint
      +

      The identity nullifier.

      +
      +
    • +
    • +
      externalNullifier: number | bigint | BytesLike | Hexable
      +

      The external nullifier.

      +
      +
    +

    Returns bigint

    The nullifier hash.

    + +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/_semaphore_protocol_proof.generateProof.html b/functions/_semaphore_protocol_proof.generateProof.html new file mode 100644 index 000000000..3d12eba67 --- /dev/null +++ b/functions/_semaphore_protocol_proof.generateProof.html @@ -0,0 +1,83 @@ +generateProof | Semaphore SDK
+
+ +
+
+
+ +
+
    + +
  • +

    Generates a Semaphore proof.

    +
    +
    +

    Parameters

    +
      +
    • +
      identity: Identity
      +

      The Semaphore identity.

      +
      +
    • +
    • +
      groupOrMerkleProof: Group | MerkleProof
      +

      The Semaphore group or its Merkle proof.

      +
      +
    • +
    • +
      externalNullifier: number | bigint | BytesLike | Hexable
      +

      The external nullifier.

      +
      +
    • +
    • +
      signal: number | bigint | BytesLike | Hexable
      +

      The Semaphore signal.

      +
      +
    • +
    • +
      Optional snarkArtifacts: SnarkArtifacts
      +

      The SNARK artifacts.

      +
      +
    +

    Returns Promise<SemaphoreProof>

    The Semaphore proof ready to be verified.

    + +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/_semaphore_protocol_proof.verifyProof.html b/functions/_semaphore_protocol_proof.verifyProof.html new file mode 100644 index 000000000..1dcb1f157 --- /dev/null +++ b/functions/_semaphore_protocol_proof.verifyProof.html @@ -0,0 +1,68 @@ +verifyProof | Semaphore SDK
+
+ +
+
+
+ +
+
    + +
  • +

    Verifies a Semaphore proof.

    +
    +
    +

    Parameters

    +
      +
    • +
      fullProof: SemaphoreProof
      +

      The SnarkJS Semaphore proof.

      +
      +
    • +
    • +
      treeDepth: number
      +

      The Merkle tree depth.

      +
      +
    +

    Returns Promise<boolean>

    True if the proof is valid, false otherwise.

    + +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000..3e6a7fb79 --- /dev/null +++ b/index.html @@ -0,0 +1,347 @@ +Semaphore SDK
+
+ +
+
+
+
+

Semaphore SDK

+

+

+ + + + Semaphore icon + +

+

+ +

+ + + + + Github license + + + GitHub Workflow test + + + Coveralls + + + DeepScan grade + + + Linter eslint + + + Code style prettier + + Repository top language + + + + +

+ + + + + + + + + +
Semaphore is a protocol, designed to be a simple and generic privacy layer for Ethereum DApps. Using zero knowledge, Ethereum users can prove their membership of a group and send signals such as votes or endorsements without revealing their original identity.
+

The core of the Semaphore protocol is in the circuit logic. However Semaphore also provides Solidity contracts and JavaScript libraries to make the steps for offchain proof creation and onchain verification easier. To learn more about Semaphore visit semaphore.pse.dev.

+

📦 Packages

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PackageVersionDownloads
+ + @semaphore-protocol/contracts + + + + + NPM version + + + + + Downloads + +
+ + @semaphore-protocol/identity + + + (docs) + + + + + NPM version + + + + + Downloads + +
+ + @semaphore-protocol/group + + + (docs) + + + + + NPM version + + + + + Downloads + +
+ + @semaphore-protocol/proof + + + (docs) + + + + + NPM version + + + + + Downloads + +
+ + @semaphore-protocol/data + + + (docs) + + + + + NPM version + + + + + Downloads + +
+ + @semaphore-protocol/hardhat + + + + + NPM version + + + + + Downloads + +
+ + @semaphore-protocol/cli + + + + + NPM version + + + + + Downloads + +
+ + @semaphore-protocol/heyauthn + + + (docs) + + + + + NPM version + + + + + Downloads + +
+ +

🛠 Install

Clone this repository:

+
git clone https://github.com/semaphore-protocol/semaphore.git
+
+

And install the dependencies:

+
cd semaphore && yarn
+
+

📜 Usage

Copy the .env.example file as .env:

+
cp .env.example .env
+
+

And add your environment variables.

+

Code quality and formatting

Run ESLint to analyze the code and catch bugs:

+
yarn lint
+
+

Run Prettier to check formatting rules:

+
yarn prettier
+
+

Or to automatically format the code:

+
yarn prettier:write
+
+

Conventional commits

Semaphore uses conventional commits. A command line utility to commit using the correct syntax can be used by running:

+
yarn commit
+
+

It will also automatically check that the modified files comply with ESLint and Prettier rules.

+

Snark artifacts

Download the Semaphore snark artifacts needed to generate and verify proofs:

+
yarn download:snark-artifacts
+
+

Testing

Run Jest to test the JS libraries:

+
yarn test:libraries
+
+

Run Mocha to test the contracts:

+
yarn test:contracts
+
+

Or test everything with:

+
yarn test
+
+

Build libraries & compile contracts

Run Rollup to build all the packages:

+
yarn build:libraries
+
+

Compile the smart contracts with Hardhat:

+
yarn compile:contracts
+
+

Documentation (JS libraries)

Run TypeDoc to generate a documentation website for each package:

+
yarn docs
+
+

The output will be placed on the docs folder.

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/modules/_semaphore_protocol_data.html b/modules/_semaphore_protocol_data.html new file mode 100644 index 000000000..c836d4c67 --- /dev/null +++ b/modules/_semaphore_protocol_data.html @@ -0,0 +1,178 @@ +@semaphore-protocol/data | Semaphore SDK
+
+ +
+
+
+
+ +

Module @semaphore-protocol/data

+

+

+ Semaphore data +

+

A library to query Semaphore contracts.

+

+ +

+ + + + + Github license + + + NPM version + + + Downloads + + + Documentation typedoc + + + Linter eslint + + + Code style prettier + +

+ + + + + + + + + +
This library allows you to query the Semaphore.sol contract data (i.e. groups) using the Semaphore subgraph or Ethers. It can be used on Node.js and browsers.
+

🛠 Install

npm or yarn

Install the @semaphore-protocol/data package with npm:

+
npm i @semaphore-protocol/data
+
+

or yarn:

+
yarn add @semaphore-protocol/data
+
+

📜 Usage

# getSupportedNetworks(): string[]

+
const supportedNetworks = getSupportedNetworks()
+
+

# new SemaphoreSubgraph(networkOrSubgraphURL: SupportedNetwork | ValueOf<SupportedNetwork> | string = "sepolia"): SemaphoreSubgraph

+
import { SemaphoreSubgraph } from "@semaphore-protocol/data"

const semaphoreSubgraph = new SemaphoreSubgraph()

// or:
const semaphoreSubgraph = new SemaphoreSubgraph("arbitrum")

// or:
const semaphoreSubgraph = new SemaphoreSubgraph(
"https://api.studio.thegraph.com/query/14377/<your-subgraph>/<your-version>"
) +
+

# getGroupIds(): Promise<string[]>

+
const groupIds = await semaphoreSubgraph.getGroupIds()
+
+

# getGroups(options?: GroupOptions): Promise<GroupResponse[]>

+
const groups = await semaphoreSubgraph.getGroups()

// or

const groups = await semaphoreSubgraph.getGroups({ members: true, verifiedProofs: true }) +
+

# getGroup(groupId: string, options?: GroupOptions): Promise<GroupResponse>

+
const group = await semaphoreSubgraph.getGroup("42")

// or

const { members, verifiedProofs } = semaphoreSubgraph.getGroup("42", { members: true, verifiedProofs: true }) +
+

# isGroupMember(groupId: string, member: string): Promise<boolean>

+
await semaphoreSubgraph.isGroupMember(
"42",
"16948514235341957898454876473214737047419402240398321289450170535251226167324"
) +
+

# new Ethers(networkOrEthereumURL: Network | string = "goerli", options: EthersOptions = {}): SemaphoreEthers

+
import { SemaphoreEthers } from "@semaphore-protocol/data"

const semaphoreEthers = new SemaphoreEthers()

// or:
const semaphoreEthers = new SemaphoreEthers("homestead", {
address: "semaphore-address",
startBlock: 0
})

// or:
const semaphoreEthers = new SemaphoreEthers("http://localhost:8545", {
address: "semaphore-address"
}) +
+

# getGroupIds(): Promise<string[]>

+
const groupIds = await semaphoreEthers.getGroupIds()
+
+

# getGroup(groupId: string): Promise<GroupResponse>

+
const group = await semaphoreEthers.getGroup("42")
+
+

# getGroupAdmin(groupId: string): Promise<string>

+
const admin = await semaphoreEthers.getGroupAdmin("42")
+
+

# getGroupMembers(groupId: string): Promise<string[]>

+
const members = await semaphoreEthers.getGroupMembers("42")
+
+

# getGroupVerifiedProofs(groupId: string): Promise<any[]>

+
const verifiedProofs = await semaphoreEthers.getGroupVerifiedProofs("42")
+
+
+
+
+

Index

+
+

Enumerations

+
+
+

Classes

+
+
+

Type Aliases

+
+
+

Functions

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/modules/_semaphore_protocol_group.html b/modules/_semaphore_protocol_group.html new file mode 100644 index 000000000..21eba08a2 --- /dev/null +++ b/modules/_semaphore_protocol_group.html @@ -0,0 +1,145 @@ +@semaphore-protocol/group | Semaphore SDK
+
+ +
+
+
+
+ +

Module @semaphore-protocol/group

+

+

+ Semaphore group +

+

A library to create and manage Semaphore groups.

+

+ +

+ + + + + Github license + + + NPM version + + + Downloads + + + Documentation typedoc + + + Linter eslint + + + Code style prettier + +

+ + + + + + + + + +
This library is an abstraction of @zk-kit/incremental-merkle-tree. The main goal is to make it easier to create offchain groups, which are also used to generate Semaphore proofs. Semaphore groups are actually incremental Merkle trees, and the group members are tree leaves. Since the Merkle tree implementation we are using is a binary tree, the maximum number of members of a group is equal to 2^treeDepth.
+

🛠 Install

npm or yarn

Install the @semaphore-protocol/group package with npm:

+
npm i @semaphore-protocol/group
+
+

or yarn:

+
yarn add @semaphore-protocol/group
+
+

📜 Usage

# new Group(groupId: Member, treeDepth = 20): Group

+
import { Group } from "@semaphore-protocol/group"
import { Identity } from "@semaphore-protocol/identity"

// Group with max 1048576 members (20^²).
const group1 = new Group(1)

// Group with max 65536 members (16^²).
const group2 = new Group(1, 16)

// Group with max 16777216 members (24^²).
const group3 = new Group(1, 24)

// Group with a list of predefined members.
const identity1 = new Identity()
const identity2 = new Identity()
const identity3 = new Identity()

const group3 = new Group(1, 16, [identity1.commitment, identity2.commitment, identity3.commitment]) +
+

# addMember(identityCommitment: Member)

+
import { Identity } from "@semaphore-protocol/identity"

const identity = new Identity()
const commitment = identity.generateCommitment()

group.addMember(commitment) +
+

# removeMember(index: number)

+
group.removeMember(0)
+
+

# indexOf(member: Member): number

+
group.indexOf(commitment) // 0
+
+

# generateMerkleProof(index: number): MerkleProof

+
const proof = group.generateMerkleProof(0)
+
+
+
+
+

Index

+
+

Classes

+
+
+

Type Aliases

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/modules/_semaphore_protocol_heyauthn.html b/modules/_semaphore_protocol_heyauthn.html new file mode 100644 index 000000000..659464aa3 --- /dev/null +++ b/modules/_semaphore_protocol_heyauthn.html @@ -0,0 +1,142 @@ +@semaphore-protocol/heyauthn | Semaphore SDK
+
+ +
+
+
+
+ +

Module @semaphore-protocol/heyauthn

+

+

+ HeyAuthn +

+

A library to allow developers to create and manage Semaphore identities using WebAuthn.

+

+ +

+ + + + + Github license + + + NPM version + + + Downloads + + + Documentation typedoc + + + Linter eslint + + + Code style prettier + +

+ + + + + + + + + +
This library allows developers to create and manage Semaphore identities using WebAuthn as a cross-device biometric authentication in a way that is more convenient, smoother and secure than localStorage, Chrome extensions, or password manager based solutions.
+

🛠 Install

npm or yarn

Install the @semaphore-protocol/heyauthn package with npm:

+
npm i @semaphore-protocol/heyauthn
+
+

or yarn:

+
yarn add @semaphore-protocol/heyauthn
+
+

📜 Usage

import { HeyAuthn } from "@semaphore-protocol/heyauthn"

// STEP 1: Configure WebAuthn options.

const options = {
rpName: "my-app",
rpID: window.location.hostname,
userID: "my-id",
userName: "my-name"
}

// STEP 2: Register a new WebAuthn credential and get its Semaphore identity.

const { identity } = await HeyAuthn.fromRegister(options)

// Now you could also save the identity commitment in your DB (pseudocode).
fetch("/api/register" /* Replace this with your endpoint */, {
identity.commitment
// ...
})

// STEP 3: Authenticate existing WebAuthn credential and signal.

const { identity } = await HeyAuthn.fromRegister(options)

// Get existing group and signal anonymously (pseudocode).
import { Group } from "@semaphore-protocol/group"
import { generateProof } from "@semaphore-protocol/proof"
import { utils } from "ethers"

const group = new Group("42")

group.addMembers(memberList)

const signal = utils.formatBytes32String("Hey anon!")

generateProof(identity, group, group.id, "42", {
zkeyFilePath: "./semaphore.zkey",
wasmFilePath: "./semaphore.wasm"
}) +
+

Authors

+
+
+
+

Index

+
+

Classes

+
+
+

Type Aliases

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/modules/_semaphore_protocol_identity.html b/modules/_semaphore_protocol_identity.html new file mode 100644 index 000000000..d2c334d9b --- /dev/null +++ b/modules/_semaphore_protocol_identity.html @@ -0,0 +1,129 @@ +@semaphore-protocol/identity | Semaphore SDK
+
+ +
+
+
+
+ +

Module @semaphore-protocol/identity

+

+

+ Semaphore identity +

+

A library to create Semaphore identities.

+

+ +

+ + + + + Github license + + + NPM version + + + Downloads + + + Documentation typedoc + + + Linter eslint + + + Code style prettier + +

+ + + + + + + + + +
This library provides a class that can be used to create identities compatible with the Semaphore circuits. Each identity contains two secret values: trapdoor and nullifier, and one public value: commitment. The Poseidon hash of the secret values is the identity secret, and its hash is the identity commitment.
+

🛠 Install

npm or yarn

Install the @semaphore-protocol/identity package with npm:

+
npm i @semaphore-protocol/identity
+
+

or yarn:

+
yarn add @semaphore-protocol/identity
+
+

📜 Usage

# new Identity(identityOrMessage?: string): Identity

+
import { Identity } from "@semaphore-protocol/identity"

// The identity can be generated randomly.
const identity1 = new Identity()

// Deterministically from a secret message.
const identity2 = new Identity("secret-message")

// Or it can be retrieved from an existing identity.
const identity3 = new Identity(identity1.toString())

// Trapdoor, nullifier and commitment are the attributes (e.g. JS getters).
const { trapdoor, nullifier, commitment } = identity1 +
+
+
+
+

Index

+
+

Classes

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/modules/_semaphore_protocol_proof.html b/modules/_semaphore_protocol_proof.html new file mode 100644 index 000000000..2eb48c8f3 --- /dev/null +++ b/modules/_semaphore_protocol_proof.html @@ -0,0 +1,153 @@ +@semaphore-protocol/proof | Semaphore SDK
+
+ +
+
+
+
+ +

Module @semaphore-protocol/proof

+

+

+ Semaphore proof +

+

A library to generate and verify Semaphore proofs.

+

+ +

+ + + + + Github license + + + NPM version + + + Downloads + + + Documentation typedoc + + + Linter eslint + + + Code style prettier + +

+ + + + + + + + + +
This library provides utility functions to generate and verify Semaphore proofs compatible with the Semaphore circuits. Generating valid zero-knowledge proofs requires files that can only be obtained in an attested trusted-setup ceremony. For a complete list of ready-to-use files visit trusted-setup-pse.org.
+

🛠 Install

npm or yarn

Install the @semaphore-protocol/proof package and its peer dependencies with npm:

+
npm i @semaphore-protocol/identity @semaphore-protocol/group @semaphore-protocol/proof
+
+

or yarn:

+
yarn add @semaphore-protocol/identity @semaphore-protocol/group @semaphore-protocol/proof
+
+

📜 Usage

# generateProof( +identity: Identity, +group: Group | MerkleProof, +externalNullifier: BytesLike | Hexable | number | bigint, +signal: BytesLike | Hexable | number | bigint, +snarkArtifacts?: SnarkArtifacts +): Promise<_SemaphoreProof_>

+
import { Identity } from "@semaphore-protocol/identity"
import { Group } from "@semaphore-protocol/group"
import { generateProof } from "@semaphore-protocol/proof"
import { utils } from "ethers"

const identity = new Identity()
const group = new Group()
const externalNullifier = utils.formatBytes32String("Topic")
const signal = utils.formatBytes32String("Hello world")

group.addMembers([...identityCommitments, identity.generateCommitment()])

const fullProof = await generateProof(identity, group, externalNullifier, signal, {
zkeyFilePath: "./semaphore.zkey",
wasmFilePath: "./semaphore.wasm"
})

// You can also use the default zkey/wasm files (it only works from browsers!).
// const fullProof = await generateProof(identity, group, externalNullifier, signal) +
+

# verifyProof(semaphoreProof: SemaphoreProof, treeDepth: number): Promise<_boolean_>

+
import { verifyProof } from "@semaphore-protocol/proof"

await verifyProof(fullProof, 20) +
+

# calculateNullifierHash( +identityNullifier: bigint | number | string, +externalNullifier: _BytesLike | Hexable | number | bigint +): bigint

+
import { Identity } from "@semaphore-protocol/identity"
import { calculateNullifierHash } from "@semaphore-protocol/proof"

const identity = new Identity()
const externalNullifier = utils.formatBytes32String("Topic")

const nullifierHash = calculateNullifierHash(identity.nullifier, externalNullifier) +
+
+
+
+

Index

+
+

Type Aliases

+
+
+

Functions

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_data.EthersNetwork.html b/types/_semaphore_protocol_data.EthersNetwork.html new file mode 100644 index 000000000..7f7150ca4 --- /dev/null +++ b/types/_semaphore_protocol_data.EthersNetwork.html @@ -0,0 +1,47 @@ +EthersNetwork | Semaphore SDK
+
+ +
+
+
+
+ +

Type alias EthersNetwork

+
EthersNetwork: "homestead" | "matic" | "goerli" | "arbitrum" | "maticmum" | "mumbai" | "arbitrum-goerli" | "optimism" | "optimism-goerli" | "sepolia"
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_data.EthersOptions.html b/types/_semaphore_protocol_data.EthersOptions.html new file mode 100644 index 000000000..675bda588 --- /dev/null +++ b/types/_semaphore_protocol_data.EthersOptions.html @@ -0,0 +1,58 @@ +EthersOptions | Semaphore SDK
+
+ +
+
+
+
+ +

Type alias EthersOptions

+
EthersOptions: {
    address?: string;
    apiKey?: string;
    provider?: "etherscan" | "infura" | "alchemy" | "cloudflare" | "pocket" | "ankr";
    startBlock?: number;
}
+
+

Type declaration

+
    +
  • +
    Optional address?: string
  • +
  • +
    Optional apiKey?: string
  • +
  • +
    Optional provider?: "etherscan" | "infura" | "alchemy" | "cloudflare" | "pocket" | "ankr"
  • +
  • +
    Optional startBlock?: number
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_data.GroupOptions.html b/types/_semaphore_protocol_data.GroupOptions.html new file mode 100644 index 000000000..5adf629d9 --- /dev/null +++ b/types/_semaphore_protocol_data.GroupOptions.html @@ -0,0 +1,67 @@ +GroupOptions | Semaphore SDK
+
+ +
+
+
+
+ +

Type alias GroupOptions

+
GroupOptions: {
    filters?: {
        admin?: string;
        identityCommitment?: string;
        timestamp?: Date;
        timestampGte?: Date;
        timestampLte?: Date;
    };
    members?: boolean;
    verifiedProofs?: boolean;
}
+
+

Type declaration

+
    +
  • +
    Optional filters?: {
        admin?: string;
        identityCommitment?: string;
        timestamp?: Date;
        timestampGte?: Date;
        timestampLte?: Date;
    }
    +
      +
    • +
      Optional admin?: string
    • +
    • +
      Optional identityCommitment?: string
    • +
    • +
      Optional timestamp?: Date
    • +
    • +
      Optional timestampGte?: Date
    • +
    • +
      Optional timestampLte?: Date
  • +
  • +
    Optional members?: boolean
  • +
  • +
    Optional verifiedProofs?: boolean
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_data.GroupResponse.html b/types/_semaphore_protocol_data.GroupResponse.html new file mode 100644 index 000000000..9d1ff40f5 --- /dev/null +++ b/types/_semaphore_protocol_data.GroupResponse.html @@ -0,0 +1,69 @@ +GroupResponse | Semaphore SDK
+
+ +
+
+
+
+ +

Type alias GroupResponse

+
GroupResponse: {
    admin?: string;
    id: string;
    members?: string[];
    merkleTree: {
        depth: number;
        numberOfLeaves: number;
        root: string;
        zeroValue: string;
    };
    verifiedProofs?: {
        externalNullifier: string;
        merkleTreeRoot: string;
        nullifierHash: string;
        signal: string;
        timestamp?: string;
    }[];
}
+
+

Type declaration

+
    +
  • +
    Optional admin?: string
  • +
  • +
    id: string
  • +
  • +
    Optional members?: string[]
  • +
  • +
    merkleTree: {
        depth: number;
        numberOfLeaves: number;
        root: string;
        zeroValue: string;
    }
    +
      +
    • +
      depth: number
    • +
    • +
      numberOfLeaves: number
    • +
    • +
      root: string
    • +
    • +
      zeroValue: string
  • +
  • +
    Optional verifiedProofs?: {
        externalNullifier: string;
        merkleTreeRoot: string;
        nullifierHash: string;
        signal: string;
        timestamp?: string;
    }[]
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_group.BigNumberish.html b/types/_semaphore_protocol_group.BigNumberish.html new file mode 100644 index 000000000..7f2778512 --- /dev/null +++ b/types/_semaphore_protocol_group.BigNumberish.html @@ -0,0 +1,47 @@ +BigNumberish | Semaphore SDK
+
+ +
+
+
+ +
BigNumberish: string | number | bigint
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_heyauthn.AuthenticationOptions.html b/types/_semaphore_protocol_heyauthn.AuthenticationOptions.html new file mode 100644 index 000000000..8d3f1cafc --- /dev/null +++ b/types/_semaphore_protocol_heyauthn.AuthenticationOptions.html @@ -0,0 +1,62 @@ +AuthenticationOptions | Semaphore SDK
+
+ +
+
+
+
+ +

Type alias AuthenticationOptions

+
AuthenticationOptions: {
    allowCredentials?: PublicKeyCredentialDescriptorFuture[];
    challenge?: string | Uint8Array;
    extensions?: AuthenticationExtensionsClientInputs;
    rpID?: string;
    timeout?: number;
    userVerification?: UserVerificationRequirement;
}
+
+

Type declaration

+
    +
  • +
    Optional allowCredentials?: PublicKeyCredentialDescriptorFuture[]
  • +
  • +
    Optional challenge?: string | Uint8Array
  • +
  • +
    Optional extensions?: AuthenticationExtensionsClientInputs
  • +
  • +
    Optional rpID?: string
  • +
  • +
    Optional timeout?: number
  • +
  • +
    Optional userVerification?: UserVerificationRequirement
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_heyauthn.RegistrationOptions.html b/types/_semaphore_protocol_heyauthn.RegistrationOptions.html new file mode 100644 index 000000000..d2ed9604a --- /dev/null +++ b/types/_semaphore_protocol_heyauthn.RegistrationOptions.html @@ -0,0 +1,74 @@ +RegistrationOptions | Semaphore SDK
+
+ +
+
+
+
+ +

Type alias RegistrationOptions

+
RegistrationOptions: {
    attestationType?: AttestationConveyancePreference;
    authenticatorSelection?: AuthenticatorSelectionCriteria;
    challenge?: string | Uint8Array;
    excludeCredentials?: PublicKeyCredentialDescriptorFuture[];
    extensions?: AuthenticationExtensionsClientInputs;
    rpID: string;
    rpName: string;
    supportedAlgorithmIDs?: COSEAlgorithmIdentifier[];
    timeout?: number;
    userDisplayName?: string;
    userID: string;
    userName: string;
}
+
+

Type declaration

+
    +
  • +
    Optional attestationType?: AttestationConveyancePreference
  • +
  • +
    Optional authenticatorSelection?: AuthenticatorSelectionCriteria
  • +
  • +
    Optional challenge?: string | Uint8Array
  • +
  • +
    Optional excludeCredentials?: PublicKeyCredentialDescriptorFuture[]
  • +
  • +
    Optional extensions?: AuthenticationExtensionsClientInputs
  • +
  • +
    rpID: string
  • +
  • +
    rpName: string
  • +
  • +
    Optional supportedAlgorithmIDs?: COSEAlgorithmIdentifier[]
  • +
  • +
    Optional timeout?: number
  • +
  • +
    Optional userDisplayName?: string
  • +
  • +
    userID: string
  • +
  • +
    userName: string
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_proof.MerkleProof.html b/types/_semaphore_protocol_proof.MerkleProof.html new file mode 100644 index 000000000..1e3197210 --- /dev/null +++ b/types/_semaphore_protocol_proof.MerkleProof.html @@ -0,0 +1,58 @@ +MerkleProof | Semaphore SDK
+
+ +
+
+
+ +
MerkleProof: {
    leaf: any;
    pathIndices: number[];
    root: any;
    siblings: any[];
}
+
+

Type declaration

+
    +
  • +
    leaf: any
  • +
  • +
    pathIndices: number[]
  • +
  • +
    root: any
  • +
  • +
    siblings: any[]
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_proof.PackedProof.html b/types/_semaphore_protocol_proof.PackedProof.html new file mode 100644 index 000000000..139fdabe8 --- /dev/null +++ b/types/_semaphore_protocol_proof.PackedProof.html @@ -0,0 +1,47 @@ +PackedProof | Semaphore SDK
+
+ +
+
+
+ +
PackedProof: [NumericString, NumericString, NumericString, NumericString, NumericString, NumericString, NumericString, NumericString]
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_proof.SemaphoreProof.html b/types/_semaphore_protocol_proof.SemaphoreProof.html new file mode 100644 index 000000000..714fb566d --- /dev/null +++ b/types/_semaphore_protocol_proof.SemaphoreProof.html @@ -0,0 +1,60 @@ +SemaphoreProof | Semaphore SDK
+
+ +
+
+
+
+ +

Type alias SemaphoreProof

+
SemaphoreProof: {
    externalNullifier: NumericString;
    merkleTreeRoot: NumericString;
    nullifierHash: NumericString;
    proof: PackedProof;
    signal: NumericString;
}
+
+

Type declaration

+
    +
  • +
    externalNullifier: NumericString
  • +
  • +
    merkleTreeRoot: NumericString
  • +
  • +
    nullifierHash: NumericString
  • +
  • +
    proof: PackedProof
  • +
  • +
    signal: NumericString
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/_semaphore_protocol_proof.SnarkArtifacts.html b/types/_semaphore_protocol_proof.SnarkArtifacts.html new file mode 100644 index 000000000..b864deb89 --- /dev/null +++ b/types/_semaphore_protocol_proof.SnarkArtifacts.html @@ -0,0 +1,54 @@ +SnarkArtifacts | Semaphore SDK
+
+ +
+
+
+
+ +

Type alias SnarkArtifacts

+
SnarkArtifacts: {
    wasmFilePath: string;
    zkeyFilePath: string;
}
+
+

Type declaration

+
    +
  • +
    wasmFilePath: string
  • +
  • +
    zkeyFilePath: string
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file