diff --git a/404.html b/404.html index 903e43d48d..3214e7d948 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - + diff --git a/assets/js/01dcd456.dd12d8ad.js b/assets/js/01dcd456.7e60d97c.js similarity index 95% rename from assets/js/01dcd456.dd12d8ad.js rename to assets/js/01dcd456.7e60d97c.js index c51717c5fe..bf96223e2c 100644 --- a/assets/js/01dcd456.dd12d8ad.js +++ b/assets/js/01dcd456.7e60d97c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2257],{8723:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var t=i(5250),n=i(2459);const l={},c="Interface: PollContracts",r={id:"typedoc/interfaces/cli_ts.PollContracts",title:"cli_ts.PollContracts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / cli/ts / PollContracts",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.PollContracts.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/cli_ts.PollContracts",permalink:"/docs/typedoc/interfaces/cli_ts.PollContracts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.PollContracts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"cli_ts.DeployedContracts",permalink:"/docs/typedoc/interfaces/cli_ts.DeployedContracts"},next:{title:"cli_ts.TallyData",permalink:"/docs/typedoc/interfaces/cli_ts.TallyData"}},o={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"messageProcessor",id:"messageprocessor",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"poll",id:"poll",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"subsidy",id:"subsidy",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"tally",id:"tally",level:3},{value:"Defined in",id:"defined-in-3",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"})," / PollContracts"]}),"\n",(0,t.jsx)(s.h1,{id:"interface-pollcontracts",children:"Interface: PollContracts"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"}),".PollContracts"]}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts#messageprocessor",children:"messageProcessor"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts#poll",children:"poll"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts#subsidy",children:"subsidy"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts#tally",children:"tally"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"messageprocessor",children:"messageProcessor"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"messageProcessor"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L20",children:"cli/ts/utils/interfaces.ts:20"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"poll",children:"poll"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"poll"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L23",children:"cli/ts/utils/interfaces.ts:23"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subsidy",children:"subsidy"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subsidy"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L22",children:"cli/ts/utils/interfaces.ts:22"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"tally",children:"tally"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"tally"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L21",children:"cli/ts/utils/interfaces.ts:21"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},2459:(e,s,i)=>{i.d(s,{Z:()=>r,a:()=>c});var t=i(79);const n={},l=t.createContext(n);function c(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),t.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2257],{8723:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var t=i(5250),n=i(2459);const l={},c="Interface: PollContracts",r={id:"typedoc/interfaces/cli_ts.PollContracts",title:"cli_ts.PollContracts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / cli/ts / PollContracts",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.PollContracts.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/cli_ts.PollContracts",permalink:"/docs/typedoc/interfaces/cli_ts.PollContracts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.PollContracts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"cli_ts.DeployedContracts",permalink:"/docs/typedoc/interfaces/cli_ts.DeployedContracts"},next:{title:"cli_ts.TallyData",permalink:"/docs/typedoc/interfaces/cli_ts.TallyData"}},o={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"messageProcessor",id:"messageprocessor",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"poll",id:"poll",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"subsidy",id:"subsidy",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"tally",id:"tally",level:3},{value:"Defined in",id:"defined-in-3",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"})," / PollContracts"]}),"\n",(0,t.jsx)(s.h1,{id:"interface-pollcontracts",children:"Interface: PollContracts"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"}),".PollContracts"]}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts#messageprocessor",children:"messageProcessor"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts#poll",children:"poll"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts#subsidy",children:"subsidy"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts#tally",children:"tally"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"messageprocessor",children:"messageProcessor"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"messageProcessor"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L20",children:"cli/ts/utils/interfaces.ts:20"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"poll",children:"poll"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"poll"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L23",children:"cli/ts/utils/interfaces.ts:23"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subsidy",children:"subsidy"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subsidy"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L22",children:"cli/ts/utils/interfaces.ts:22"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"tally",children:"tally"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"tally"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L21",children:"cli/ts/utils/interfaces.ts:21"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},2459:(e,s,i)=>{i.d(s,{Z:()=>r,a:()=>c});var t=i(79);const n={},l=t.createContext(n);function c(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),t.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/03b7976e.74b1a5c8.js b/assets/js/03b7976e.8a31146e.js similarity index 93% rename from assets/js/03b7976e.74b1a5c8.js rename to assets/js/03b7976e.8a31146e.js index 0c26b72fdf..56afccee39 100644 --- a/assets/js/03b7976e.74b1a5c8.js +++ b/assets/js/03b7976e.8a31146e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3818],{5605:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var i=s(5250),d=s(2459);const o={},t="Interface: IJsonPCommand",c={id:"typedoc/interfaces/domainobjs_ts.IJsonPCommand",title:"domainobjs_ts.IJsonPCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonPCommand",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonPCommand.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonPCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonPCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonKeyPair",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair"},next:{title:"domainobjs_ts.IJsonStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf"}},r={},a=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"cmdType",id:"cmdtype",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"newPubKey",id:"newpubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"newVoteWeight",id:"newvoteweight",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"nonce",id:"nonce",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"salt",id:"salt",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"stateIndex",id:"stateindex",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"voteOptionIndex",id:"voteoptionindex",level:3},{value:"Defined in",id:"defined-in-7",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonPCommand"]}),"\n",(0,i.jsx)(n.h1,{id:"interface-ijsonpcommand",children:"Interface: IJsonPCommand"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonPCommand"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"Notice"})})}),"\n",(0,i.jsx)(n.p,{children:"An interface representing a json P command"}),"\n",(0,i.jsx)(n.h2,{id:"hierarchy",children:"Hierarchy"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:(0,i.jsx)(n.code,{children:"IJsonCommand"})})}),"\n",(0,i.jsxs)(n.p,{children:["\u21b3 ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"IJsonPCommand"})})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#cmdtype",children:"cmdType"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#newpubkey",children:"newPubKey"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#newvoteweight",children:"newVoteWeight"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#nonce",children:"nonce"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#pollid",children:"pollId"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#salt",children:"salt"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#stateindex",children:"stateIndex"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#voteoptionindex",children:"voteOptionIndex"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"cmdType"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:"IJsonCommand"}),".",(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand#cmdtype",children:"cmdType"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L15",children:"domainobjs/ts/commands/types.ts:15"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"newpubkey",children:"newPubKey"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"newPubKey"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L32",children:"domainobjs/ts/commands/types.ts:32"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"newvoteweight",children:"newVoteWeight"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"newVoteWeight"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L34",children:"domainobjs/ts/commands/types.ts:34"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"nonce",children:"nonce"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"nonce"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L35",children:"domainobjs/ts/commands/types.ts:35"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"pollid",children:"pollId"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"pollId"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L36",children:"domainobjs/ts/commands/types.ts:36"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"salt",children:"salt"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"salt"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L37",children:"domainobjs/ts/commands/types.ts:37"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"stateindex",children:"stateIndex"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"stateIndex"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L31",children:"domainobjs/ts/commands/types.ts:31"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"voteoptionindex",children:"voteOptionIndex"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"voteOptionIndex"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L33",children:"domainobjs/ts/commands/types.ts:33"})})]})}function h(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>t});var i=s(79);const d={},o=i.createContext(d);function t(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:t(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3818],{5605:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var i=s(5250),d=s(2459);const o={},t="Interface: IJsonPCommand",c={id:"typedoc/interfaces/domainobjs_ts.IJsonPCommand",title:"domainobjs_ts.IJsonPCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonPCommand",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonPCommand.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonPCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonPCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonKeyPair",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair"},next:{title:"domainobjs_ts.IJsonStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf"}},r={},a=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"cmdType",id:"cmdtype",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"newPubKey",id:"newpubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"newVoteWeight",id:"newvoteweight",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"nonce",id:"nonce",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"salt",id:"salt",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"stateIndex",id:"stateindex",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"voteOptionIndex",id:"voteoptionindex",level:3},{value:"Defined in",id:"defined-in-7",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonPCommand"]}),"\n",(0,i.jsx)(n.h1,{id:"interface-ijsonpcommand",children:"Interface: IJsonPCommand"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonPCommand"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"Notice"})})}),"\n",(0,i.jsx)(n.p,{children:"An interface representing a json P command"}),"\n",(0,i.jsx)(n.h2,{id:"hierarchy",children:"Hierarchy"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:(0,i.jsx)(n.code,{children:"IJsonCommand"})})}),"\n",(0,i.jsxs)(n.p,{children:["\u21b3 ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"IJsonPCommand"})})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#cmdtype",children:"cmdType"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#newpubkey",children:"newPubKey"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#newvoteweight",children:"newVoteWeight"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#nonce",children:"nonce"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#pollid",children:"pollId"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#salt",children:"salt"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#stateindex",children:"stateIndex"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand#voteoptionindex",children:"voteOptionIndex"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"cmdType"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:"IJsonCommand"}),".",(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand#cmdtype",children:"cmdType"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L15",children:"domainobjs/ts/commands/types.ts:15"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"newpubkey",children:"newPubKey"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"newPubKey"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L32",children:"domainobjs/ts/commands/types.ts:32"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"newvoteweight",children:"newVoteWeight"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"newVoteWeight"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L34",children:"domainobjs/ts/commands/types.ts:34"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"nonce",children:"nonce"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"nonce"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L35",children:"domainobjs/ts/commands/types.ts:35"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"pollid",children:"pollId"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"pollId"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L36",children:"domainobjs/ts/commands/types.ts:36"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"salt",children:"salt"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"salt"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L37",children:"domainobjs/ts/commands/types.ts:37"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"stateindex",children:"stateIndex"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"stateIndex"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L31",children:"domainobjs/ts/commands/types.ts:31"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"voteoptionindex",children:"voteOptionIndex"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"voteOptionIndex"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L33",children:"domainobjs/ts/commands/types.ts:33"})})]})}function h(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>t});var i=s(79);const d={},o=i.createContext(d);function t(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:t(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0992f5ce.c6405d30.js b/assets/js/0992f5ce.a39ea4e5.js similarity index 95% rename from assets/js/0992f5ce.c6405d30.js rename to assets/js/0992f5ce.a39ea4e5.js index ae68ec5ad2..200871f2be 100644 --- a/assets/js/0992f5ce.c6405d30.js +++ b/assets/js/0992f5ce.a39ea4e5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7434],{2336:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var t=n(5250),i=n(2459);const a={},d="Class: StateLeaf",l={id:"typedoc/classes/domainobjs_ts.StateLeaf",title:"domainobjs_ts.StateLeaf",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / StateLeaf",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.StateLeaf.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.StateLeaf",permalink:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.StateLeaf.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.PubKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PubKey"},next:{title:"domainobjs_ts.TCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.TCommand"}},r={},c=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"pubKey",id:"pubkey",level:3},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"timestamp",id:"timestamp",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"voiceCreditBalance",id:"voicecreditbalance",level:3},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"hash",id:"hash",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"serialize",id:"serialize",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"deserialize",id:"deserialize",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"genBlankLeaf",id:"genblankleaf",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"genRandomLeaf",id:"genrandomleaf",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-15",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / StateLeaf"]}),"\n",(0,t.jsx)(s.h1,{id:"class-stateleaf",children:"Class: StateLeaf"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".StateLeaf"]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"A leaf in the state tree, which maps\npublic keys to voice credit balances"}),"\n",(0,t.jsx)(s.h2,{id:"implements",children:"Implements"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",children:(0,t.jsx)(s.code,{children:"IStateLeaf"})})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#constructor",children:"constructor"})}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#pubkey",children:"pubKey"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#timestamp",children:"timestamp"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#voicecreditbalance",children:"voiceCreditBalance"})}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#asarray",children:"asArray"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#ascontractparam",children:"asContractParam"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#copy",children:"copy"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#equals",children:"equals"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#hash",children:"hash"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#serialize",children:"serialize"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#tojson",children:"toJSON"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#deserialize",children:"deserialize"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#fromjson",children:"fromJSON"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#genblankleaf",children:"genBlankLeaf"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#genrandomleaf",children:"genRandomLeaf"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,t.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"new StateLeaf"}),"(",(0,t.jsx)(s.code,{children:"pubKey"}),", ",(0,t.jsx)(s.code,{children:"voiceCreditBalance"}),", ",(0,t.jsx)(s.code,{children:"timestamp"}),"): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Create a new instance of a state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"pubKey"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,t.jsx)(s.code,{children:"PubKey"})})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the public key of the user signin up"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"voiceCreditBalance"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the voice credit balance of the user"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"timestamp"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the timestamp of when the user signed-up"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L25",children:"domainobjs/ts/stateLeaf.ts:25"})}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"pubKey"}),": ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,t.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,t.jsx)(s.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",children:"IStateLeaf"}),".",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf#pubkey",children:"pubKey"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L13",children:"domainobjs/ts/stateLeaf.ts:13"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"timestamp",children:"timestamp"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"timestamp"}),": ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L17",children:"domainobjs/ts/stateLeaf.ts:17"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"voicecreditbalance",children:"voiceCreditBalance"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"voiceCreditBalance"}),": ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",children:"IStateLeaf"}),".",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf#voicecreditbalance",children:"voiceCreditBalance"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L15",children:"domainobjs/ts/stateLeaf.ts:15"})}),"\n",(0,t.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,t.jsx)(s.h3,{id:"asarray",children:"asArray"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"asArray"}),"(): ",(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(s.p,{children:"Return this state leaf as an array of bigints"}),"\n",(0,t.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(s.p,{children:"the state leaf as an array of bigints"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L79",children:"domainobjs/ts/stateLeaf.ts:79"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"asCircuitInputs"}),"(): ",(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(s.p,{children:"Return this state leaf as an array of bigints"}),"\n",(0,t.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(s.p,{children:"the state leaf as an array of bigints"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L85",children:"domainobjs/ts/stateLeaf.ts:85"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"asContractParam"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",children:(0,t.jsx)(s.code,{children:"IStateLeafContractParams"})})]}),"\n",(0,t.jsx)(s.p,{children:"Return this state leaf as a contract param"}),"\n",(0,t.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",children:(0,t.jsx)(s.code,{children:"IStateLeafContractParams"})})}),"\n",(0,t.jsx)(s.p,{children:"the state leaf as a contract param (object)"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L97",children:"domainobjs/ts/stateLeaf.ts:97"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"copy"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Crate a deep copy of the object"}),"\n",(0,t.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"a copy of the state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L35",children:"domainobjs/ts/stateLeaf.ts:35"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"equals"}),"(",(0,t.jsx)(s.code,{children:"s"}),"): ",(0,t.jsx)(s.code,{children:"boolean"})]}),"\n",(0,t.jsx)(s.p,{children:"Check if two state leaves are equal"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"s"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the state leaf to compare with"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"boolean"})}),"\n",(0,t.jsx)(s.p,{children:"whether they are equal or not"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L110",children:"domainobjs/ts/stateLeaf.ts:110"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"hash"}),"(): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"Hash this state leaf (first convert as array)"}),"\n",(0,t.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.p,{children:"the has of the state leaf elements"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L91",children:"domainobjs/ts/stateLeaf.ts:91"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"serialize",children:"serialize"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"serialize"}),"(): ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.p,{children:"Serialize the state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"serialize the public key"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"convert the voice credit balance and timestamp to a hex string"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L122",children:"domainobjs/ts/stateLeaf.ts:122"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",children:(0,t.jsx)(s.code,{children:"IJsonStateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Serialize to a JSON object"}),"\n",(0,t.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",children:(0,t.jsx)(s.code,{children:"IJsonStateLeaf"})})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L143",children:"domainobjs/ts/stateLeaf.ts:143"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"deserialize",children:"deserialize"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"deserialize"}),"(",(0,t.jsx)(s.code,{children:"serialized"}),"): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Deserialize the state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"serialized"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"string"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the serialized state leaf"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"a deserialized state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L133",children:"domainobjs/ts/stateLeaf.ts:133"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"fromJSON"}),"(",(0,t.jsx)(s.code,{children:"json"}),"): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Deserialize into a StateLeaf instance"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"json"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",children:(0,t.jsx)(s.code,{children:"IJsonStateLeaf"})})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the json representation"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"the deserialized object as a StateLeaf instance"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L156",children:"domainobjs/ts/stateLeaf.ts:156"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"genblankleaf",children:"genBlankLeaf"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"genBlankLeaf"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Generate a blank state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"a blank state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L47",children:"domainobjs/ts/stateLeaf.ts:47"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"genrandomleaf",children:"genRandomLeaf"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"genRandomLeaf"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Generate a random leaf (random salt and random key pair)"}),"\n",(0,t.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"a random state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/stateLeaf.ts#L70",children:"domainobjs/ts/stateLeaf.ts:70"})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>d});var t=n(79);const i={},a=t.createContext(i);function d(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7434],{2336:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var t=n(5250),i=n(2459);const a={},d="Class: StateLeaf",l={id:"typedoc/classes/domainobjs_ts.StateLeaf",title:"domainobjs_ts.StateLeaf",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / StateLeaf",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.StateLeaf.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.StateLeaf",permalink:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.StateLeaf.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.PubKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PubKey"},next:{title:"domainobjs_ts.TCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.TCommand"}},r={},c=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"pubKey",id:"pubkey",level:3},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"timestamp",id:"timestamp",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"voiceCreditBalance",id:"voicecreditbalance",level:3},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"hash",id:"hash",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"serialize",id:"serialize",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"deserialize",id:"deserialize",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"genBlankLeaf",id:"genblankleaf",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"genRandomLeaf",id:"genrandomleaf",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-15",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / StateLeaf"]}),"\n",(0,t.jsx)(s.h1,{id:"class-stateleaf",children:"Class: StateLeaf"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".StateLeaf"]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"A leaf in the state tree, which maps\npublic keys to voice credit balances"}),"\n",(0,t.jsx)(s.h2,{id:"implements",children:"Implements"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",children:(0,t.jsx)(s.code,{children:"IStateLeaf"})})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#constructor",children:"constructor"})}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#pubkey",children:"pubKey"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#timestamp",children:"timestamp"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#voicecreditbalance",children:"voiceCreditBalance"})}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#asarray",children:"asArray"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#ascontractparam",children:"asContractParam"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#copy",children:"copy"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#equals",children:"equals"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#hash",children:"hash"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#serialize",children:"serialize"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#tojson",children:"toJSON"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#deserialize",children:"deserialize"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#fromjson",children:"fromJSON"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#genblankleaf",children:"genBlankLeaf"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf#genrandomleaf",children:"genRandomLeaf"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,t.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"new StateLeaf"}),"(",(0,t.jsx)(s.code,{children:"pubKey"}),", ",(0,t.jsx)(s.code,{children:"voiceCreditBalance"}),", ",(0,t.jsx)(s.code,{children:"timestamp"}),"): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Create a new instance of a state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"pubKey"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,t.jsx)(s.code,{children:"PubKey"})})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the public key of the user signin up"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"voiceCreditBalance"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the voice credit balance of the user"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"timestamp"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the timestamp of when the user signed-up"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L25",children:"domainobjs/ts/stateLeaf.ts:25"})}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"pubKey"}),": ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,t.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,t.jsx)(s.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",children:"IStateLeaf"}),".",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf#pubkey",children:"pubKey"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L13",children:"domainobjs/ts/stateLeaf.ts:13"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"timestamp",children:"timestamp"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"timestamp"}),": ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L17",children:"domainobjs/ts/stateLeaf.ts:17"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"voicecreditbalance",children:"voiceCreditBalance"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"voiceCreditBalance"}),": ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",children:"IStateLeaf"}),".",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf#voicecreditbalance",children:"voiceCreditBalance"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L15",children:"domainobjs/ts/stateLeaf.ts:15"})}),"\n",(0,t.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,t.jsx)(s.h3,{id:"asarray",children:"asArray"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"asArray"}),"(): ",(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(s.p,{children:"Return this state leaf as an array of bigints"}),"\n",(0,t.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(s.p,{children:"the state leaf as an array of bigints"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L79",children:"domainobjs/ts/stateLeaf.ts:79"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"asCircuitInputs"}),"(): ",(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(s.p,{children:"Return this state leaf as an array of bigints"}),"\n",(0,t.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(s.p,{children:"the state leaf as an array of bigints"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L85",children:"domainobjs/ts/stateLeaf.ts:85"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"asContractParam"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",children:(0,t.jsx)(s.code,{children:"IStateLeafContractParams"})})]}),"\n",(0,t.jsx)(s.p,{children:"Return this state leaf as a contract param"}),"\n",(0,t.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",children:(0,t.jsx)(s.code,{children:"IStateLeafContractParams"})})}),"\n",(0,t.jsx)(s.p,{children:"the state leaf as a contract param (object)"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L97",children:"domainobjs/ts/stateLeaf.ts:97"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"copy"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Crate a deep copy of the object"}),"\n",(0,t.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"a copy of the state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L35",children:"domainobjs/ts/stateLeaf.ts:35"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"equals"}),"(",(0,t.jsx)(s.code,{children:"s"}),"): ",(0,t.jsx)(s.code,{children:"boolean"})]}),"\n",(0,t.jsx)(s.p,{children:"Check if two state leaves are equal"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"s"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the state leaf to compare with"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"boolean"})}),"\n",(0,t.jsx)(s.p,{children:"whether they are equal or not"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L110",children:"domainobjs/ts/stateLeaf.ts:110"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"hash"}),"(): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"Hash this state leaf (first convert as array)"}),"\n",(0,t.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.p,{children:"the has of the state leaf elements"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L91",children:"domainobjs/ts/stateLeaf.ts:91"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"serialize",children:"serialize"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"serialize"}),"(): ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.p,{children:"Serialize the state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"serialize the public key"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"convert the voice credit balance and timestamp to a hex string"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L122",children:"domainobjs/ts/stateLeaf.ts:122"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",children:(0,t.jsx)(s.code,{children:"IJsonStateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Serialize to a JSON object"}),"\n",(0,t.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",children:(0,t.jsx)(s.code,{children:"IJsonStateLeaf"})})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L143",children:"domainobjs/ts/stateLeaf.ts:143"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"deserialize",children:"deserialize"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"deserialize"}),"(",(0,t.jsx)(s.code,{children:"serialized"}),"): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Deserialize the state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"serialized"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"string"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the serialized state leaf"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"a deserialized state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L133",children:"domainobjs/ts/stateLeaf.ts:133"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"fromJSON"}),"(",(0,t.jsx)(s.code,{children:"json"}),"): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Deserialize into a StateLeaf instance"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"json"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",children:(0,t.jsx)(s.code,{children:"IJsonStateLeaf"})})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the json representation"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"the deserialized object as a StateLeaf instance"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L156",children:"domainobjs/ts/stateLeaf.ts:156"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"genblankleaf",children:"genBlankLeaf"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"genBlankLeaf"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Generate a blank state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"a blank state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L47",children:"domainobjs/ts/stateLeaf.ts:47"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"genrandomleaf",children:"genRandomLeaf"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"genRandomLeaf"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,t.jsx)(s.p,{children:"Generate a random leaf (random salt and random key pair)"}),"\n",(0,t.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,t.jsx)(s.code,{children:"StateLeaf"})})}),"\n",(0,t.jsx)(s.p,{children:"a random state leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/stateLeaf.ts#L70",children:"domainobjs/ts/stateLeaf.ts:70"})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>d});var t=n(79);const i={},a=t.createContext(i);function d(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0be5d121.50f23472.js b/assets/js/0be5d121.62b6f98c.js similarity index 92% rename from assets/js/0be5d121.50f23472.js rename to assets/js/0be5d121.62b6f98c.js index 5be54edb7a..890caa8553 100644 --- a/assets/js/0be5d121.50f23472.js +++ b/assets/js/0be5d121.62b6f98c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7041],{3093:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>a,frontMatter:()=>r,metadata:()=>l,toc:()=>o});var t=i(5250),s=i(2459);const r={},d="Interface: PoseidonFuncs",l={id:"typedoc/interfaces/crypto_ts.PoseidonFuncs",title:"crypto_ts.PoseidonFuncs",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / PoseidonFuncs",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.PoseidonFuncs.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/crypto_ts.PoseidonFuncs",permalink:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.PoseidonFuncs.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.Keypair",permalink:"/docs/typedoc/interfaces/crypto_ts.Keypair"},next:{title:"crypto_ts.Queue",permalink:"/docs/typedoc/interfaces/crypto_ts.Queue"}},c={},o=[{value:"Indexable",id:"indexable",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"2",id:"2",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in",level:4},{value:"3",id:"3",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-1",level:4},{value:"4",id:"4",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-2",level:4},{value:"5",id:"5",level:3},{value:"Type declaration",id:"type-declaration-3",level:4},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-3",level:5},{value:"Defined in",id:"defined-in-3",level:4}];function h(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / PoseidonFuncs"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-poseidonfuncs",children:"Interface: PoseidonFuncs"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".PoseidonFuncs"]}),"\n",(0,t.jsx)(n.p,{children:"A interface for poseidon hash functions"}),"\n",(0,t.jsx)(n.h2,{id:"indexable",children:"Indexable"}),"\n",(0,t.jsxs)(n.p,{children:["\u25aa [key: ",(0,t.jsx)(n.code,{children:"number"}),"]: (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs#2",children:"2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs#3",children:"3"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs#4",children:"4"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs#5",children:"5"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"2",children:"2"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"2"}),": (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 (",(0,t.jsx)(n.code,{children:"inputs"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h5,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"inputs"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(n.h5,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L54",children:"crypto/ts/types.ts:54"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"3",children:"3"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"3"}),": (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 (",(0,t.jsx)(n.code,{children:"inputs"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h5,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"inputs"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L55",children:"crypto/ts/types.ts:55"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"4",children:"4"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"4"}),": (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"type-declaration-2",children:"Type declaration"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 (",(0,t.jsx)(n.code,{children:"inputs"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h5,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"inputs"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L56",children:"crypto/ts/types.ts:56"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"5",children:"5"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"5"}),": (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"type-declaration-3",children:"Type declaration"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 (",(0,t.jsx)(n.code,{children:"inputs"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h5,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"inputs"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(n.h5,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L57",children:"crypto/ts/types.ts:57"})})]})}function a(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},2459:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>d});var t=i(79);const s={},r=t.createContext(s);function d(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7041],{3093:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>a,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var t=i(5250),s=i(2459);const r={},d="Interface: PoseidonFuncs",c={id:"typedoc/interfaces/crypto_ts.PoseidonFuncs",title:"crypto_ts.PoseidonFuncs",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / PoseidonFuncs",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.PoseidonFuncs.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/crypto_ts.PoseidonFuncs",permalink:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.PoseidonFuncs.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.Keypair",permalink:"/docs/typedoc/interfaces/crypto_ts.Keypair"},next:{title:"crypto_ts.Queue",permalink:"/docs/typedoc/interfaces/crypto_ts.Queue"}},l={},o=[{value:"Indexable",id:"indexable",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"2",id:"2",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in",level:4},{value:"3",id:"3",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-1",level:4},{value:"4",id:"4",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-2",level:4},{value:"5",id:"5",level:3},{value:"Type declaration",id:"type-declaration-3",level:4},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-3",level:5},{value:"Defined in",id:"defined-in-3",level:4}];function h(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / PoseidonFuncs"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-poseidonfuncs",children:"Interface: PoseidonFuncs"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".PoseidonFuncs"]}),"\n",(0,t.jsx)(n.p,{children:"A interface for poseidon hash functions"}),"\n",(0,t.jsx)(n.h2,{id:"indexable",children:"Indexable"}),"\n",(0,t.jsxs)(n.p,{children:["\u25aa [key: ",(0,t.jsx)(n.code,{children:"number"}),"]: (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs#2",children:"2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs#3",children:"3"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs#4",children:"4"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs#5",children:"5"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"2",children:"2"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"2"}),": (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 (",(0,t.jsx)(n.code,{children:"inputs"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h5,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"inputs"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(n.h5,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L54",children:"crypto/ts/types.ts:54"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"3",children:"3"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"3"}),": (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 (",(0,t.jsx)(n.code,{children:"inputs"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h5,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"inputs"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L55",children:"crypto/ts/types.ts:55"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"4",children:"4"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"4"}),": (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"type-declaration-2",children:"Type declaration"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 (",(0,t.jsx)(n.code,{children:"inputs"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h5,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"inputs"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L56",children:"crypto/ts/types.ts:56"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"5",children:"5"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"5"}),": (",(0,t.jsx)(n.code,{children:"inputs"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"type-declaration-3",children:"Type declaration"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 (",(0,t.jsx)(n.code,{children:"inputs"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h5,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"inputs"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(n.h5,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L57",children:"crypto/ts/types.ts:57"})})]})}function a(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},2459:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>d});var t=i(79);const s={},r=t.createContext(s);function d(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0ee605f6.d608b737.js b/assets/js/0ee605f6.a3521756.js similarity index 96% rename from assets/js/0ee605f6.d608b737.js rename to assets/js/0ee605f6.a3521756.js index 630f808789..09554cd4d5 100644 --- a/assets/js/0ee605f6.d608b737.js +++ b/assets/js/0ee605f6.a3521756.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5191],{9218:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var t=s(5250),o=s(2459);const i={},r="Interface: IG2ContractParams",a={id:"typedoc/interfaces/domainobjs_ts.IG2ContractParams",title:"domainobjs_ts.IG2ContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IG2ContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IG2ContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IG2ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IG2ContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IG1ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams"},next:{title:"domainobjs_ts.IJsonBallot",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot"}},c={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"x",id:"x",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"y",id:"y",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IG2ContractParams"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-ig2contractparams",children:"Interface: IG2ContractParams"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IG2ContractParams"]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams#x",children:"x"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams#y",children:"y"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"x",children:"x"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"x"}),": ",(0,t.jsx)(n.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L51",children:"domainobjs/ts/types.ts:51"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"y",children:"y"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"y"}),": ",(0,t.jsx)(n.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L52",children:"domainobjs/ts/types.ts:52"})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>r});var t=s(79);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5191],{9218:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var t=s(5250),o=s(2459);const i={},r="Interface: IG2ContractParams",a={id:"typedoc/interfaces/domainobjs_ts.IG2ContractParams",title:"domainobjs_ts.IG2ContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IG2ContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IG2ContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IG2ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IG2ContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IG1ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams"},next:{title:"domainobjs_ts.IJsonBallot",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot"}},c={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"x",id:"x",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"y",id:"y",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IG2ContractParams"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-ig2contractparams",children:"Interface: IG2ContractParams"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IG2ContractParams"]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams#x",children:"x"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams#y",children:"y"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"x",children:"x"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"x"}),": ",(0,t.jsx)(n.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L51",children:"domainobjs/ts/types.ts:51"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"y",children:"y"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"y"}),": ",(0,t.jsx)(n.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L52",children:"domainobjs/ts/types.ts:52"})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>r});var t=s(79);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/10ba36f1.fb84ca27.js b/assets/js/10ba36f1.268a967e.js similarity index 97% rename from assets/js/10ba36f1.fb84ca27.js rename to assets/js/10ba36f1.268a967e.js index ba3c3a5890..f5e2bb01f9 100644 --- a/assets/js/10ba36f1.fb84ca27.js +++ b/assets/js/10ba36f1.268a967e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2264],{3737:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var n=t(5250),i=t(2459);const r={},o="Interface: MaxValues",c={id:"typedoc/interfaces/core_ts.MaxValues",title:"core_ts.MaxValues",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / MaxValues",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.MaxValues.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.MaxValues",permalink:"/docs/typedoc/interfaces/core_ts.MaxValues",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.MaxValues.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.ITallyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs"},next:{title:"core_ts.TreeDepths",permalink:"/docs/typedoc/interfaces/core_ts.TreeDepths"}},a={},l=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"maxMessages",id:"maxmessages",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"maxVoteOptions",id:"maxvoteoptions",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function d(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / MaxValues"]}),"\n",(0,n.jsx)(s.h1,{id:"interface-maxvalues",children:"Interface: MaxValues"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".MaxValues"]}),"\n",(0,n.jsx)(s.p,{children:"This interface defines the maximum values that the circuit can handle."}),"\n",(0,n.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues#maxmessages",children:"maxMessages"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues#maxvoteoptions",children:"maxVoteOptions"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"maxmessages",children:"maxMessages"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"maxMessages"}),": ",(0,n.jsx)(s.code,{children:"number"})]}),"\n",(0,n.jsx)(s.p,{children:"The maximum number of messages."}),"\n",(0,n.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L56",children:"core/ts/utils/types.ts:56"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"maxvoteoptions",children:"maxVoteOptions"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"maxVoteOptions"}),": ",(0,n.jsx)(s.code,{children:"number"})]}),"\n",(0,n.jsx)(s.p,{children:"The maximum number of vote options."}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L57",children:"core/ts/utils/types.ts:57"})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},2459:(e,s,t)=>{t.d(s,{Z:()=>c,a:()=>o});var n=t(79);const i={},r=n.createContext(i);function o(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2264],{3737:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var n=t(5250),i=t(2459);const r={},o="Interface: MaxValues",c={id:"typedoc/interfaces/core_ts.MaxValues",title:"core_ts.MaxValues",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / MaxValues",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.MaxValues.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.MaxValues",permalink:"/docs/typedoc/interfaces/core_ts.MaxValues",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.MaxValues.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.ITallyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs"},next:{title:"core_ts.TreeDepths",permalink:"/docs/typedoc/interfaces/core_ts.TreeDepths"}},a={},l=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"maxMessages",id:"maxmessages",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"maxVoteOptions",id:"maxvoteoptions",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function d(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / MaxValues"]}),"\n",(0,n.jsx)(s.h1,{id:"interface-maxvalues",children:"Interface: MaxValues"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".MaxValues"]}),"\n",(0,n.jsx)(s.p,{children:"This interface defines the maximum values that the circuit can handle."}),"\n",(0,n.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues#maxmessages",children:"maxMessages"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues#maxvoteoptions",children:"maxVoteOptions"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"maxmessages",children:"maxMessages"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"maxMessages"}),": ",(0,n.jsx)(s.code,{children:"number"})]}),"\n",(0,n.jsx)(s.p,{children:"The maximum number of messages."}),"\n",(0,n.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L56",children:"core/ts/utils/types.ts:56"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"maxvoteoptions",children:"maxVoteOptions"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"maxVoteOptions"}),": ",(0,n.jsx)(s.code,{children:"number"})]}),"\n",(0,n.jsx)(s.p,{children:"The maximum number of vote options."}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L57",children:"core/ts/utils/types.ts:57"})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},2459:(e,s,t)=>{t.d(s,{Z:()=>c,a:()=>o});var n=t(79);const i={},r=n.createContext(i);function o(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/111de665.e754636a.js b/assets/js/111de665.c0e8ed8e.js similarity index 87% rename from assets/js/111de665.e754636a.js rename to assets/js/111de665.c0e8ed8e.js index 8552a21c9d..ed8f8769e6 100644 --- a/assets/js/111de665.e754636a.js +++ b/assets/js/111de665.c0e8ed8e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[318],{7194:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>a});var n=o(5250),s=o(2459);const i={},r="Interface: VoteOptionTreeLeaf",d={id:"typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf",title:"domainobjs_ts.VoteOptionTreeLeaf",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / VoteOptionTreeLeaf",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.Proof",permalink:"/docs/typedoc/interfaces/domainobjs_ts.Proof"},next:{title:"cli_ts",permalink:"/docs/typedoc/modules/cli_ts"}},c={},a=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"votes",id:"votes",level:3},{value:"Defined in",id:"defined-in",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / VoteOptionTreeLeaf"]}),"\n",(0,n.jsx)(t.h1,{id:"interface-voteoptiontreeleaf",children:"Interface: VoteOptionTreeLeaf"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".VoteOptionTreeLeaf"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.code,{children:"Notice"})})}),"\n",(0,n.jsx)(t.p,{children:"An interface representing a MACI vote option leaf"}),"\n",(0,n.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf#votes",children:"votes"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(t.h3,{id:"votes",children:"votes"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"votes"}),": ",(0,n.jsx)(t.code,{children:"bigint"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L25",children:"domainobjs/ts/types.ts:25"})})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},2459:(e,t,o)=>{o.d(t,{Z:()=>d,a:()=>r});var n=o(79);const s={},i=n.createContext(s);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[318],{7194:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var n=o(5250),s=o(2459);const i={},r="Interface: VoteOptionTreeLeaf",c={id:"typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf",title:"domainobjs_ts.VoteOptionTreeLeaf",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / VoteOptionTreeLeaf",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.Proof",permalink:"/docs/typedoc/interfaces/domainobjs_ts.Proof"},next:{title:"cli_ts",permalink:"/docs/typedoc/modules/cli_ts"}},d={},a=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"votes",id:"votes",level:3},{value:"Defined in",id:"defined-in",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / VoteOptionTreeLeaf"]}),"\n",(0,n.jsx)(t.h1,{id:"interface-voteoptiontreeleaf",children:"Interface: VoteOptionTreeLeaf"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".VoteOptionTreeLeaf"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.code,{children:"Notice"})})}),"\n",(0,n.jsx)(t.p,{children:"An interface representing a MACI vote option leaf"}),"\n",(0,n.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf#votes",children:"votes"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(t.h3,{id:"votes",children:"votes"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"votes"}),": ",(0,n.jsx)(t.code,{children:"bigint"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L25",children:"domainobjs/ts/types.ts:25"})})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},2459:(e,t,o)=>{o.d(t,{Z:()=>c,a:()=>r});var n=o(79);const s={},i=n.createContext(s);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/18dd49ee.fc5b31b0.js b/assets/js/18dd49ee.577c90ca.js similarity index 88% rename from assets/js/18dd49ee.fc5b31b0.js rename to assets/js/18dd49ee.577c90ca.js index 05d9a6c934..d738a376e5 100644 --- a/assets/js/18dd49ee.fc5b31b0.js +++ b/assets/js/18dd49ee.577c90ca.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3141],{3621:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>l,default:()=>a,frontMatter:()=>r,metadata:()=>d,toc:()=>o});var n=s(5250),t=s(2459);const r={},l="Interface: ISubsidyCircuitInputs",d={id:"typedoc/interfaces/core_ts.ISubsidyCircuitInputs",title:"core_ts.ISubsidyCircuitInputs",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / ISubsidyCircuitInputs",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.ISubsidyCircuitInputs.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.ISubsidyCircuitInputs.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.IProcessMessagesCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs"},next:{title:"core_ts.ITallyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs"}},c={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"ballotPathElements1",id:"ballotpathelements1",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"ballotPathElements2",id:"ballotpathelements2",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"ballotRoot",id:"ballotroot",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"ballots1",id:"ballots1",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"ballots2",id:"ballots2",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"currentSubsidy",id:"currentsubsidy",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"currentSubsidyCommitment",id:"currentsubsidycommitment",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"currentSubsidySalt",id:"currentsubsidysalt",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"inputHash",id:"inputhash",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"newSubsidyCommitment",id:"newsubsidycommitment",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"newSubsidySalt",id:"newsubsidysalt",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"packedVals",id:"packedvals",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"sbCommitment",id:"sbcommitment",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"sbSalt",id:"sbsalt",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"stateRoot",id:"stateroot",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"votes1",id:"votes1",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"votes2",id:"votes2",level:3},{value:"Defined in",id:"defined-in-16",level:4}];function h(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(i.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / ISubsidyCircuitInputs"]}),"\n",(0,n.jsx)(i.h1,{id:"interface-isubsidycircuitinputs",children:"Interface: ISubsidyCircuitInputs"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".ISubsidyCircuitInputs"]}),"\n",(0,n.jsx)(i.p,{children:"An interface describing the circuit inputs to the Subsidy circuit"}),"\n",(0,n.jsx)(i.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(i.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballotpathelements1",children:"ballotPathElements1"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballotpathelements2",children:"ballotPathElements2"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballotroot",children:"ballotRoot"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballots1",children:"ballots1"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballots2",children:"ballots2"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#currentsubsidy",children:"currentSubsidy"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#currentsubsidycommitment",children:"currentSubsidyCommitment"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#currentsubsidysalt",children:"currentSubsidySalt"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#inputhash",children:"inputHash"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#newsubsidycommitment",children:"newSubsidyCommitment"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#newsubsidysalt",children:"newSubsidySalt"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#packedvals",children:"packedVals"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#sbcommitment",children:"sbCommitment"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#sbsalt",children:"sbSalt"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#stateroot",children:"stateRoot"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#votes1",children:"votes1"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#votes2",children:"votes2"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(i.h3,{id:"ballotpathelements1",children:"ballotPathElements1"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballotPathElements1"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L221",children:"core/ts/utils/types.ts:221"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"ballotpathelements2",children:"ballotPathElements2"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballotPathElements2"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L222",children:"core/ts/utils/types.ts:222"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"ballotroot",children:"ballotRoot"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballotRoot"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L207",children:"core/ts/utils/types.ts:207"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"ballots1",children:"ballots1"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballots1"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L217",children:"core/ts/utils/types.ts:217"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"ballots2",children:"ballots2"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballots2"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L218",children:"core/ts/utils/types.ts:218"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"currentsubsidy",children:"currentSubsidy"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"currentSubsidy"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L214",children:"core/ts/utils/types.ts:214"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"currentsubsidycommitment",children:"currentSubsidyCommitment"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"currentSubsidyCommitment"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L212",children:"core/ts/utils/types.ts:212"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"currentsubsidysalt",children:"currentSubsidySalt"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"currentSubsidySalt"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L209",children:"core/ts/utils/types.ts:209"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"inputhash",children:"inputHash"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"inputHash"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L216",children:"core/ts/utils/types.ts:216"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"newsubsidycommitment",children:"newSubsidyCommitment"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"newSubsidyCommitment"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L213",children:"core/ts/utils/types.ts:213"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"newsubsidysalt",children:"newSubsidySalt"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"newSubsidySalt"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L210",children:"core/ts/utils/types.ts:210"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"packedvals",children:"packedVals"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"packedVals"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L215",children:"core/ts/utils/types.ts:215"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"sbcommitment",children:"sbCommitment"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"sbCommitment"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L211",children:"core/ts/utils/types.ts:211"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"sbsalt",children:"sbSalt"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"sbSalt"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L208",children:"core/ts/utils/types.ts:208"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"stateroot",children:"stateRoot"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"stateRoot"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L206",children:"core/ts/utils/types.ts:206"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"votes1",children:"votes1"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"votes1"}),": ",(0,n.jsx)(i.code,{children:"number"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L219",children:"core/ts/utils/types.ts:219"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"votes2",children:"votes2"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"votes2"}),": ",(0,n.jsx)(i.code,{children:"number"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L220",children:"core/ts/utils/types.ts:220"})})]})}function a(e={}){const{wrapper:i}={...(0,t.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},2459:(e,i,s)=>{s.d(i,{Z:()=>d,a:()=>l});var n=s(79);const t={},r=n.createContext(t);function l(e){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3141],{3621:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>c,metadata:()=>l,toc:()=>o});var n=s(5250),t=s(2459);const c={},r="Interface: ISubsidyCircuitInputs",l={id:"typedoc/interfaces/core_ts.ISubsidyCircuitInputs",title:"core_ts.ISubsidyCircuitInputs",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / ISubsidyCircuitInputs",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.ISubsidyCircuitInputs.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.ISubsidyCircuitInputs.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.IProcessMessagesCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs"},next:{title:"core_ts.ITallyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs"}},d={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"ballotPathElements1",id:"ballotpathelements1",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"ballotPathElements2",id:"ballotpathelements2",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"ballotRoot",id:"ballotroot",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"ballots1",id:"ballots1",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"ballots2",id:"ballots2",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"currentSubsidy",id:"currentsubsidy",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"currentSubsidyCommitment",id:"currentsubsidycommitment",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"currentSubsidySalt",id:"currentsubsidysalt",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"inputHash",id:"inputhash",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"newSubsidyCommitment",id:"newsubsidycommitment",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"newSubsidySalt",id:"newsubsidysalt",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"packedVals",id:"packedvals",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"sbCommitment",id:"sbcommitment",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"sbSalt",id:"sbsalt",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"stateRoot",id:"stateroot",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"votes1",id:"votes1",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"votes2",id:"votes2",level:3},{value:"Defined in",id:"defined-in-16",level:4}];function h(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(i.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / ISubsidyCircuitInputs"]}),"\n",(0,n.jsx)(i.h1,{id:"interface-isubsidycircuitinputs",children:"Interface: ISubsidyCircuitInputs"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".ISubsidyCircuitInputs"]}),"\n",(0,n.jsx)(i.p,{children:"An interface describing the circuit inputs to the Subsidy circuit"}),"\n",(0,n.jsx)(i.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(i.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballotpathelements1",children:"ballotPathElements1"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballotpathelements2",children:"ballotPathElements2"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballotroot",children:"ballotRoot"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballots1",children:"ballots1"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#ballots2",children:"ballots2"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#currentsubsidy",children:"currentSubsidy"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#currentsubsidycommitment",children:"currentSubsidyCommitment"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#currentsubsidysalt",children:"currentSubsidySalt"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#inputhash",children:"inputHash"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#newsubsidycommitment",children:"newSubsidyCommitment"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#newsubsidysalt",children:"newSubsidySalt"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#packedvals",children:"packedVals"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#sbcommitment",children:"sbCommitment"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#sbsalt",children:"sbSalt"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#stateroot",children:"stateRoot"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#votes1",children:"votes1"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs#votes2",children:"votes2"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(i.h3,{id:"ballotpathelements1",children:"ballotPathElements1"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballotPathElements1"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L221",children:"core/ts/utils/types.ts:221"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"ballotpathelements2",children:"ballotPathElements2"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballotPathElements2"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L222",children:"core/ts/utils/types.ts:222"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"ballotroot",children:"ballotRoot"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballotRoot"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L207",children:"core/ts/utils/types.ts:207"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"ballots1",children:"ballots1"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballots1"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L217",children:"core/ts/utils/types.ts:217"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"ballots2",children:"ballots2"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"ballots2"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L218",children:"core/ts/utils/types.ts:218"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"currentsubsidy",children:"currentSubsidy"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"currentSubsidy"}),": ",(0,n.jsx)(i.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L214",children:"core/ts/utils/types.ts:214"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"currentsubsidycommitment",children:"currentSubsidyCommitment"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"currentSubsidyCommitment"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L212",children:"core/ts/utils/types.ts:212"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"currentsubsidysalt",children:"currentSubsidySalt"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"currentSubsidySalt"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L209",children:"core/ts/utils/types.ts:209"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"inputhash",children:"inputHash"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"inputHash"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L216",children:"core/ts/utils/types.ts:216"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"newsubsidycommitment",children:"newSubsidyCommitment"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"newSubsidyCommitment"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L213",children:"core/ts/utils/types.ts:213"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"newsubsidysalt",children:"newSubsidySalt"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"newSubsidySalt"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L210",children:"core/ts/utils/types.ts:210"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"packedvals",children:"packedVals"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"packedVals"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L215",children:"core/ts/utils/types.ts:215"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"sbcommitment",children:"sbCommitment"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"sbCommitment"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L211",children:"core/ts/utils/types.ts:211"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"sbsalt",children:"sbSalt"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"sbSalt"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L208",children:"core/ts/utils/types.ts:208"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"stateroot",children:"stateRoot"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"stateRoot"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L206",children:"core/ts/utils/types.ts:206"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"votes1",children:"votes1"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"votes1"}),": ",(0,n.jsx)(i.code,{children:"number"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L219",children:"core/ts/utils/types.ts:219"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"votes2",children:"votes2"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"votes2"}),": ",(0,n.jsx)(i.code,{children:"number"}),"[]"]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L220",children:"core/ts/utils/types.ts:220"})})]})}function a(e={}){const{wrapper:i}={...(0,t.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},2459:(e,i,s)=>{s.d(i,{Z:()=>l,a:()=>r});var n=s(79);const t={},c=n.createContext(t);function r(e){const i=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),n.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1cf10581.eb210e85.js b/assets/js/1cf10581.355d00f9.js similarity index 92% rename from assets/js/1cf10581.eb210e85.js rename to assets/js/1cf10581.355d00f9.js index 5bc80846a6..c4672d8dc8 100644 --- a/assets/js/1cf10581.eb210e85.js +++ b/assets/js/1cf10581.355d00f9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[143],{9878:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>d,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=s(5250),i=s(2459);const o={},d="Interface: IJsonStateLeaf",a={id:"typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",title:"domainobjs_ts.IJsonStateLeaf",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonStateLeaf",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonPCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand"},next:{title:"domainobjs_ts.IJsonTCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand"}},r={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"timestamp",id:"timestamp",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"voiceCreditBalance",id:"voicecreditbalance",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonStateLeaf"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-ijsonstateleaf",children:"Interface: IJsonStateLeaf"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonStateLeaf"]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf#pubkey",children:"pubKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf#timestamp",children:"timestamp"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf#voicecreditbalance",children:"voiceCreditBalance"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"pubKey"}),": ",(0,t.jsx)(n.code,{children:"string"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L38",children:"domainobjs/ts/types.ts:38"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"timestamp",children:"timestamp"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"timestamp"}),": ",(0,t.jsx)(n.code,{children:"string"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L40",children:"domainobjs/ts/types.ts:40"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"voicecreditbalance",children:"voiceCreditBalance"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"voiceCreditBalance"}),": ",(0,t.jsx)(n.code,{children:"string"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L39",children:"domainobjs/ts/types.ts:39"})})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>d});var t=s(79);const i={},o=t.createContext(i);function d(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[143],{9878:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>r});var t=s(5250),i=s(2459);const o={},d="Interface: IJsonStateLeaf",a={id:"typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",title:"domainobjs_ts.IJsonStateLeaf",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonStateLeaf",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonPCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand"},next:{title:"domainobjs_ts.IJsonTCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand"}},c={},r=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"timestamp",id:"timestamp",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"voiceCreditBalance",id:"voicecreditbalance",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonStateLeaf"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-ijsonstateleaf",children:"Interface: IJsonStateLeaf"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonStateLeaf"]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf#pubkey",children:"pubKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf#timestamp",children:"timestamp"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf#voicecreditbalance",children:"voiceCreditBalance"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"pubKey"}),": ",(0,t.jsx)(n.code,{children:"string"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L38",children:"domainobjs/ts/types.ts:38"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"timestamp",children:"timestamp"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"timestamp"}),": ",(0,t.jsx)(n.code,{children:"string"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L40",children:"domainobjs/ts/types.ts:40"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"voicecreditbalance",children:"voiceCreditBalance"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"voiceCreditBalance"}),": ",(0,t.jsx)(n.code,{children:"string"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L39",children:"domainobjs/ts/types.ts:39"})})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>d});var t=s(79);const i={},o=t.createContext(i);function d(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1d73c7d4.5218a4e9.js b/assets/js/1d73c7d4.ff6ee522.js similarity index 96% rename from assets/js/1d73c7d4.5218a4e9.js rename to assets/js/1d73c7d4.ff6ee522.js index 490b22cfc9..a5dae3eba6 100644 --- a/assets/js/1d73c7d4.5218a4e9.js +++ b/assets/js/1d73c7d4.ff6ee522.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6071],{1195:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var i=s(5250),n=s(2459);const l={},c="Class: MaciState",r={id:"typedoc/classes/core_ts.MaciState",title:"core_ts.MaciState",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / MaciState",source:"@site/versioned_docs/version-v1.x/typedoc/classes/core_ts.MaciState.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/core_ts.MaciState",permalink:"/docs/typedoc/classes/core_ts.MaciState",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/core_ts.MaciState.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"index",permalink:"/docs/typedoc/"},next:{title:"core_ts.Poll",permalink:"/docs/typedoc/classes/core_ts.Poll"}},d={},a=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"currentPollBeingProcessed",id:"currentpollbeingprocessed",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"numSignUps",id:"numsignups",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"pollBeingProcessed",id:"pollbeingprocessed",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"polls",id:"polls",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"stateLeaves",id:"stateleaves",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"stateTree",id:"statetree",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"stateTreeDepth",id:"statetreedepth",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"Methods",id:"methods-1",level:2},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"deployNullPoll",id:"deploynullpoll",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"deployPoll",id:"deploypoll",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"signUp",id:"signup",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Implementation of",id:"implementation-of-4",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Implementation of",id:"implementation-of-5",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-14",level:4}];function o(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / MaciState"]}),"\n",(0,i.jsx)(t.h1,{id:"class-macistate",children:"Class: MaciState"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".MaciState"]}),"\n",(0,i.jsx)(t.p,{children:"A representation of the MACI contract."}),"\n",(0,i.jsx)(t.h2,{id:"implements",children:"Implements"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"IMaciState"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#constructor",children:"constructor"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#currentpollbeingprocessed",children:"currentPollBeingProcessed"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#numsignups",children:"numSignUps"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#pollbeingprocessed",children:"pollBeingProcessed"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#polls",children:"polls"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#stateleaves",children:"stateLeaves"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#statetree",children:"stateTree"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#statetreedepth",children:"stateTreeDepth"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#copy",children:"copy"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#deploynullpoll",children:"deployNullPoll"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#deploypoll",children:"deployPoll"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#equals",children:"equals"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#signup",children:"signUp"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#tojson",children:"toJSON"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,i.jsx)(t.h3,{id:"constructor",children:"constructor"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"new MaciState"}),"(",(0,i.jsx)(t.code,{children:"stateTreeDepth"}),"): ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})]}),"\n",(0,i.jsx)(t.p,{children:"Constructs a new MaciState object."}),"\n",(0,i.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"stateTreeDepth"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"number"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the state tree."})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})}),"\n",(0,i.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L36",children:"core/ts/MaciState.ts:36"})}),"\n",(0,i.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(t.h3,{id:"currentpollbeingprocessed",children:"currentPollBeingProcessed"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.code,{children:"Optional"})," ",(0,i.jsx)(t.strong,{children:"currentPollBeingProcessed"}),": ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L30",children:"core/ts/MaciState.ts:30"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"numsignups",children:"numSignUps"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"numSignUps"}),": ",(0,i.jsx)(t.code,{children:"number"})," = ",(0,i.jsx)(t.code,{children:"0"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L25",children:"core/ts/MaciState.ts:25"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"pollbeingprocessed",children:"pollBeingProcessed"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.code,{children:"Optional"})," ",(0,i.jsx)(t.strong,{children:"pollBeingProcessed"}),": ",(0,i.jsx)(t.code,{children:"boolean"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L28",children:"core/ts/MaciState.ts:28"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"polls",children:"polls"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"polls"}),": ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(t.code,{children:"Poll"})}),"[] = ",(0,i.jsx)(t.code,{children:"[]"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L14",children:"core/ts/MaciState.ts:14"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"stateleaves",children:"stateLeaves"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"stateLeaves"}),": ",(0,i.jsx)(t.code,{children:"StateLeaf"}),"[] = ",(0,i.jsx)(t.code,{children:"[]"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L20",children:"core/ts/MaciState.ts:20"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"statetree",children:"stateTree"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"stateTree"}),": ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(t.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L17",children:"core/ts/MaciState.ts:17"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"statetreedepth",children:"stateTreeDepth"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"stateTreeDepth"}),": ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L23",children:"core/ts/MaciState.ts:23"})}),"\n",(0,i.jsx)(t.h2,{id:"methods-1",children:"Methods"}),"\n",(0,i.jsx)(t.h3,{id:"copy",children:"copy"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"copy"}),"(): ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})]}),"\n",(0,i.jsx)(t.p,{children:"Create a deep copy of the MaciState object."}),"\n",(0,i.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})}),"\n",(0,i.jsx)(t.p,{children:"A new instance of the MaciState object with the same properties."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.copy"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L108",children:"core/ts/MaciState.ts:108"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"deploynullpoll",children:"deployNullPoll"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"deployNullPoll"}),"(): ",(0,i.jsx)(t.code,{children:"void"})]}),"\n",(0,i.jsx)(t.p,{children:"Deploy a null poll."}),"\n",(0,i.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"void"})}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.deployNullPoll"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L100",children:"core/ts/MaciState.ts:100"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"deploypoll",children:"deployPoll"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"deployPoll"}),"(",(0,i.jsx)(t.code,{children:"pollEndTimestamp"}),", ",(0,i.jsx)(t.code,{children:"maxValues"}),", ",(0,i.jsx)(t.code,{children:"treeDepths"}),", ",(0,i.jsx)(t.code,{children:"messageBatchSize"}),", ",(0,i.jsx)(t.code,{children:"coordinatorKeypair"}),"): ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.p,{children:"Deploy a new poll with the given parameters."}),"\n",(0,i.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"pollEndTimestamp"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"bigint"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The Unix timestamp at which the poll ends."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"maxValues"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues",children:(0,i.jsx)(t.code,{children:"MaxValues"})})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The maximum number of values for each vote option."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"treeDepths"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths",children:(0,i.jsx)(t.code,{children:"TreeDepths"})})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The depths of the tree."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"messageBatchSize"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"number"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The batch size for processing messages."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"coordinatorKeypair"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"Keypair"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The keypair of the MACI round coordinator."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"number"})}),"\n",(0,i.jsx)(t.p,{children:"The index of the newly deployed poll."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.deployPoll"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L73",children:"core/ts/MaciState.ts:73"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"equals",children:"equals"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"equals"}),"(",(0,i.jsx)(t.code,{children:"m"}),"): ",(0,i.jsx)(t.code,{children:"boolean"})]}),"\n",(0,i.jsx)(t.p,{children:"Check if the MaciState object is equal to another MaciState object."}),"\n",(0,i.jsx)(t.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"m"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The MaciState object to compare."})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"boolean"})}),"\n",(0,i.jsx)(t.p,{children:"True if the two MaciState objects are equal, false otherwise."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.equals"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L122",children:"core/ts/MaciState.ts:122"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"signup",children:"signUp"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"signUp"}),"(",(0,i.jsx)(t.code,{children:"pubKey"}),", ",(0,i.jsx)(t.code,{children:"initialVoiceCreditBalance"}),", ",(0,i.jsx)(t.code,{children:"timestamp"}),"): ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.p,{children:"Sign up a user with the given public key, initial voice credit balance, and timestamp."}),"\n",(0,i.jsx)(t.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"pubKey"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"PubKey"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The public key of the user."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"initialVoiceCreditBalance"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"bigint"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The initial voice credit balance of the user."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"timestamp"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"bigint"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The timestamp of the sign-up."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"number"})}),"\n",(0,i.jsx)(t.p,{children:"The index of the newly signed-up user in the state tree."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-4",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.signUp"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L55",children:"core/ts/MaciState.ts:55"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"tojson",children:"toJSON"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"toJSON"}),"(): ",(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",children:(0,i.jsx)(t.code,{children:"IJsonMaciState"})})]}),"\n",(0,i.jsx)(t.p,{children:"Serialize the MaciState object to a JSON object."}),"\n",(0,i.jsx)(t.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",children:(0,i.jsx)(t.code,{children:"IJsonMaciState"})})}),"\n",(0,i.jsx)(t.p,{children:"A JSON object representing the MaciState object."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-5",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.toJSON"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L150",children:"core/ts/MaciState.ts:150"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"fromJSON"}),"(",(0,i.jsx)(t.code,{children:"json"}),"): ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})]}),"\n",(0,i.jsx)(t.p,{children:"Create a new MaciState object from a JSON object."}),"\n",(0,i.jsx)(t.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"json"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",children:(0,i.jsx)(t.code,{children:"IJsonMaciState"})})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The JSON object representing the MaciState object."})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})}),"\n",(0,i.jsx)(t.p,{children:"A new instance of the MaciState object with the properties from the JSON object."}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/MaciState.ts#L166",children:"core/ts/MaciState.ts:166"})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>c});var i=s(79);const n={},l=i.createContext(n);function c(e){const t=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6071],{1195:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>a});var i=s(5250),n=s(2459);const l={},c="Class: MaciState",r={id:"typedoc/classes/core_ts.MaciState",title:"core_ts.MaciState",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / MaciState",source:"@site/versioned_docs/version-v1.x/typedoc/classes/core_ts.MaciState.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/core_ts.MaciState",permalink:"/docs/typedoc/classes/core_ts.MaciState",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/core_ts.MaciState.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"index",permalink:"/docs/typedoc/"},next:{title:"core_ts.Poll",permalink:"/docs/typedoc/classes/core_ts.Poll"}},d={},a=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"currentPollBeingProcessed",id:"currentpollbeingprocessed",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"numSignUps",id:"numsignups",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"pollBeingProcessed",id:"pollbeingprocessed",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"polls",id:"polls",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"stateLeaves",id:"stateleaves",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"stateTree",id:"statetree",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"stateTreeDepth",id:"statetreedepth",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"Methods",id:"methods-1",level:2},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"deployNullPoll",id:"deploynullpoll",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"deployPoll",id:"deploypoll",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"signUp",id:"signup",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Implementation of",id:"implementation-of-4",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Implementation of",id:"implementation-of-5",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-14",level:4}];function o(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / MaciState"]}),"\n",(0,i.jsx)(t.h1,{id:"class-macistate",children:"Class: MaciState"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".MaciState"]}),"\n",(0,i.jsx)(t.p,{children:"A representation of the MACI contract."}),"\n",(0,i.jsx)(t.h2,{id:"implements",children:"Implements"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"IMaciState"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#constructor",children:"constructor"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#currentpollbeingprocessed",children:"currentPollBeingProcessed"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#numsignups",children:"numSignUps"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#pollbeingprocessed",children:"pollBeingProcessed"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#polls",children:"polls"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#stateleaves",children:"stateLeaves"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#statetree",children:"stateTree"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#statetreedepth",children:"stateTreeDepth"})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#copy",children:"copy"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#deploynullpoll",children:"deployNullPoll"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#deploypoll",children:"deployPoll"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#equals",children:"equals"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#signup",children:"signUp"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#tojson",children:"toJSON"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,i.jsx)(t.h3,{id:"constructor",children:"constructor"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"new MaciState"}),"(",(0,i.jsx)(t.code,{children:"stateTreeDepth"}),"): ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})]}),"\n",(0,i.jsx)(t.p,{children:"Constructs a new MaciState object."}),"\n",(0,i.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"stateTreeDepth"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"number"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the state tree."})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})}),"\n",(0,i.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L36",children:"core/ts/MaciState.ts:36"})}),"\n",(0,i.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(t.h3,{id:"currentpollbeingprocessed",children:"currentPollBeingProcessed"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.code,{children:"Optional"})," ",(0,i.jsx)(t.strong,{children:"currentPollBeingProcessed"}),": ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L30",children:"core/ts/MaciState.ts:30"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"numsignups",children:"numSignUps"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"numSignUps"}),": ",(0,i.jsx)(t.code,{children:"number"})," = ",(0,i.jsx)(t.code,{children:"0"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L25",children:"core/ts/MaciState.ts:25"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"pollbeingprocessed",children:"pollBeingProcessed"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.code,{children:"Optional"})," ",(0,i.jsx)(t.strong,{children:"pollBeingProcessed"}),": ",(0,i.jsx)(t.code,{children:"boolean"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L28",children:"core/ts/MaciState.ts:28"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"polls",children:"polls"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"polls"}),": ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(t.code,{children:"Poll"})}),"[] = ",(0,i.jsx)(t.code,{children:"[]"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L14",children:"core/ts/MaciState.ts:14"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"stateleaves",children:"stateLeaves"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"stateLeaves"}),": ",(0,i.jsx)(t.code,{children:"StateLeaf"}),"[] = ",(0,i.jsx)(t.code,{children:"[]"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L20",children:"core/ts/MaciState.ts:20"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"statetree",children:"stateTree"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"stateTree"}),": ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(t.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L17",children:"core/ts/MaciState.ts:17"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"statetreedepth",children:"stateTreeDepth"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"stateTreeDepth"}),": ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L23",children:"core/ts/MaciState.ts:23"})}),"\n",(0,i.jsx)(t.h2,{id:"methods-1",children:"Methods"}),"\n",(0,i.jsx)(t.h3,{id:"copy",children:"copy"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"copy"}),"(): ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})]}),"\n",(0,i.jsx)(t.p,{children:"Create a deep copy of the MaciState object."}),"\n",(0,i.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})}),"\n",(0,i.jsx)(t.p,{children:"A new instance of the MaciState object with the same properties."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.copy"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L108",children:"core/ts/MaciState.ts:108"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"deploynullpoll",children:"deployNullPoll"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"deployNullPoll"}),"(): ",(0,i.jsx)(t.code,{children:"void"})]}),"\n",(0,i.jsx)(t.p,{children:"Deploy a null poll."}),"\n",(0,i.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"void"})}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.deployNullPoll"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L100",children:"core/ts/MaciState.ts:100"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"deploypoll",children:"deployPoll"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"deployPoll"}),"(",(0,i.jsx)(t.code,{children:"pollEndTimestamp"}),", ",(0,i.jsx)(t.code,{children:"maxValues"}),", ",(0,i.jsx)(t.code,{children:"treeDepths"}),", ",(0,i.jsx)(t.code,{children:"messageBatchSize"}),", ",(0,i.jsx)(t.code,{children:"coordinatorKeypair"}),"): ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.p,{children:"Deploy a new poll with the given parameters."}),"\n",(0,i.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"pollEndTimestamp"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"bigint"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The Unix timestamp at which the poll ends."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"maxValues"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues",children:(0,i.jsx)(t.code,{children:"MaxValues"})})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The maximum number of values for each vote option."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"treeDepths"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths",children:(0,i.jsx)(t.code,{children:"TreeDepths"})})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The depths of the tree."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"messageBatchSize"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"number"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The batch size for processing messages."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"coordinatorKeypair"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"Keypair"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The keypair of the MACI round coordinator."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"number"})}),"\n",(0,i.jsx)(t.p,{children:"The index of the newly deployed poll."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.deployPoll"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L73",children:"core/ts/MaciState.ts:73"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"equals",children:"equals"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"equals"}),"(",(0,i.jsx)(t.code,{children:"m"}),"): ",(0,i.jsx)(t.code,{children:"boolean"})]}),"\n",(0,i.jsx)(t.p,{children:"Check if the MaciState object is equal to another MaciState object."}),"\n",(0,i.jsx)(t.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"m"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The MaciState object to compare."})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"boolean"})}),"\n",(0,i.jsx)(t.p,{children:"True if the two MaciState objects are equal, false otherwise."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.equals"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L122",children:"core/ts/MaciState.ts:122"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"signup",children:"signUp"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"signUp"}),"(",(0,i.jsx)(t.code,{children:"pubKey"}),", ",(0,i.jsx)(t.code,{children:"initialVoiceCreditBalance"}),", ",(0,i.jsx)(t.code,{children:"timestamp"}),"): ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.p,{children:"Sign up a user with the given public key, initial voice credit balance, and timestamp."}),"\n",(0,i.jsx)(t.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"pubKey"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"PubKey"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The public key of the user."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"initialVoiceCreditBalance"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"bigint"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The initial voice credit balance of the user."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"timestamp"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"bigint"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The timestamp of the sign-up."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"number"})}),"\n",(0,i.jsx)(t.p,{children:"The index of the newly signed-up user in the state tree."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-4",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.signUp"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L55",children:"core/ts/MaciState.ts:55"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"tojson",children:"toJSON"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"toJSON"}),"(): ",(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",children:(0,i.jsx)(t.code,{children:"IJsonMaciState"})})]}),"\n",(0,i.jsx)(t.p,{children:"Serialize the MaciState object to a JSON object."}),"\n",(0,i.jsx)(t.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",children:(0,i.jsx)(t.code,{children:"IJsonMaciState"})})}),"\n",(0,i.jsx)(t.p,{children:"A JSON object representing the MaciState object."}),"\n",(0,i.jsx)(t.h4,{id:"implementation-of-5",children:"Implementation of"}),"\n",(0,i.jsx)(t.p,{children:"IMaciState.toJSON"}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L150",children:"core/ts/MaciState.ts:150"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,i.jsxs)(t.p,{children:["\u25b8 ",(0,i.jsx)(t.strong,{children:"fromJSON"}),"(",(0,i.jsx)(t.code,{children:"json"}),"): ",(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})]}),"\n",(0,i.jsx)(t.p,{children:"Create a new MaciState object from a JSON object."}),"\n",(0,i.jsx)(t.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"json"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",children:(0,i.jsx)(t.code,{children:"IJsonMaciState"})})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The JSON object representing the MaciState object."})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(t.code,{children:"MaciState"})})}),"\n",(0,i.jsx)(t.p,{children:"A new instance of the MaciState object with the properties from the JSON object."}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/MaciState.ts#L166",children:"core/ts/MaciState.ts:166"})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>r,a:()=>c});var i=s(79);const n={},l=i.createContext(n);function c(e){const t=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/236dfc74.afdb62d8.js b/assets/js/236dfc74.daedc97e.js similarity index 87% rename from assets/js/236dfc74.afdb62d8.js rename to assets/js/236dfc74.daedc97e.js index 419872d52a..36cb7453e6 100644 --- a/assets/js/236dfc74.afdb62d8.js +++ b/assets/js/236dfc74.daedc97e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9437],{9331:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>d,toc:()=>c});var s=n(5250),i=n(2459);const o={},a="Interface: IStateLeaf",d={id:"typedoc/interfaces/domainobjs_ts.IStateLeaf",title:"domainobjs_ts.IStateLeaf",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IStateLeaf",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IStateLeaf.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IStateLeaf.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IMessageContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams"},next:{title:"domainobjs_ts.IStateLeafContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams"}},r={},c=[{value:"Implemented by",id:"implemented-by",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"voiceCreditBalance",id:"voicecreditbalance",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IStateLeaf"]}),"\n",(0,s.jsx)(t.h1,{id:"interface-istateleaf",children:"Interface: IStateLeaf"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IStateLeaf"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.code,{children:"Notice"})})}),"\n",(0,s.jsx)(t.p,{children:"An interface representing a MACI state leaf"}),"\n",(0,s.jsx)(t.h2,{id:"implemented-by",children:"Implemented by"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,s.jsx)(t.code,{children:"StateLeaf"})})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf#pubkey",children:"pubKey"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf#voicecreditbalance",children:"voiceCreditBalance"})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(t.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"pubKey"}),": ",(0,s.jsx)(t.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,s.jsx)(t.code,{children:"PubKey"})})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L17",children:"domainobjs/ts/types.ts:17"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"voicecreditbalance",children:"voiceCreditBalance"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"voiceCreditBalance"}),": ",(0,s.jsx)(t.code,{children:"bigint"})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L18",children:"domainobjs/ts/types.ts:18"})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>d,a:()=>a});var s=n(79);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9437],{9331:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var s=n(5250),i=n(2459);const o={},a="Interface: IStateLeaf",c={id:"typedoc/interfaces/domainobjs_ts.IStateLeaf",title:"domainobjs_ts.IStateLeaf",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IStateLeaf",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IStateLeaf.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IStateLeaf.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IMessageContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams"},next:{title:"domainobjs_ts.IStateLeafContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams"}},d={},r=[{value:"Implemented by",id:"implemented-by",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"voiceCreditBalance",id:"voicecreditbalance",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IStateLeaf"]}),"\n",(0,s.jsx)(t.h1,{id:"interface-istateleaf",children:"Interface: IStateLeaf"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IStateLeaf"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.code,{children:"Notice"})})}),"\n",(0,s.jsx)(t.p,{children:"An interface representing a MACI state leaf"}),"\n",(0,s.jsx)(t.h2,{id:"implemented-by",children:"Implemented by"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,s.jsx)(t.code,{children:"StateLeaf"})})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf#pubkey",children:"pubKey"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf#voicecreditbalance",children:"voiceCreditBalance"})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(t.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"pubKey"}),": ",(0,s.jsx)(t.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,s.jsx)(t.code,{children:"PubKey"})})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L17",children:"domainobjs/ts/types.ts:17"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"voicecreditbalance",children:"voiceCreditBalance"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"voiceCreditBalance"}),": ",(0,s.jsx)(t.code,{children:"bigint"})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L18",children:"domainobjs/ts/types.ts:18"})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>a});var s=n(79);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/26ec2223.0a8fd1a0.js b/assets/js/26ec2223.e3854fb3.js similarity index 95% rename from assets/js/26ec2223.0a8fd1a0.js rename to assets/js/26ec2223.e3854fb3.js index 95cdbf9154..4263148daf 100644 --- a/assets/js/26ec2223.0a8fd1a0.js +++ b/assets/js/26ec2223.e3854fb3.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6032],{8371:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>l,toc:()=>c});var i=n(5250),t=n(2459);const d={},r="Class: Message",l={id:"typedoc/classes/domainobjs_ts.Message",title:"domainobjs_ts.Message",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / Message",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Message.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.Message",permalink:"/docs/typedoc/classes/domainobjs_ts.Message",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Message.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.Keypair",permalink:"/docs/typedoc/classes/domainobjs_ts.Keypair"},next:{title:"domainobjs_ts.PCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.PCommand"}},a={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"data",id:"data",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"msgType",id:"msgtype",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"DATA_LENGTH",id:"data_length",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"hash",id:"hash",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-11",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / Message"]}),"\n",(0,i.jsx)(s.h1,{id:"class-message",children:"Class: Message"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".Message"]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:(0,i.jsx)(s.code,{children:"Notice"})})}),"\n",(0,i.jsx)(s.p,{children:"An encrypted command and signature."}),"\n",(0,i.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#constructor",children:"constructor"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#data",children:"data"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#msgtype",children:"msgType"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#data_length",children:"DATA_LENGTH"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#asarray",children:"asArray"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#ascontractparam",children:"asContractParam"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#copy",children:"copy"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#equals",children:"equals"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#hash",children:"hash"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#tojson",children:"toJSON"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"new Message"}),"(",(0,i.jsx)(s.code,{children:"msgType"}),", ",(0,i.jsx)(s.code,{children:"data"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})]}),"\n",(0,i.jsx)(s.p,{children:"Create a new instance of a Message"}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"msgType"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"bigint"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the type of the message"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"data"})}),(0,i.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the data of the message"})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L23",children:"domainobjs/ts/message.ts:23"})}),"\n",(0,i.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(s.h3,{id:"data",children:"data"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"data"}),": ",(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L14",children:"domainobjs/ts/message.ts:14"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"msgtype",children:"msgType"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"msgType"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L12",children:"domainobjs/ts/message.ts:12"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"data_length",children:"DATA_LENGTH"}),"\n",(0,i.jsxs)(s.p,{children:["\u25aa ",(0,i.jsx)(s.code,{children:"Static"})," ",(0,i.jsx)(s.strong,{children:"DATA_LENGTH"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"10"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L16",children:"domainobjs/ts/message.ts:16"})}),"\n",(0,i.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"asarray",children:"asArray"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"asArray"}),"(): ",(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.p,{children:"Return the message as an array of bigints"}),"\n",(0,i.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.p,{children:"the message as an array of bigints"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L33",children:"domainobjs/ts/message.ts:33"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"asCircuitInputs"}),"(): ",(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.p,{children:"Return the message as a circuit input"}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.p,{children:"the message as a circuit input"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L48",children:"domainobjs/ts/message.ts:48"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"asContractParam"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})]}),"\n",(0,i.jsx)(s.p,{children:"Return the message as a contract param"}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})}),"\n",(0,i.jsx)(s.p,{children:"the message as a contract param"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L39",children:"domainobjs/ts/message.ts:39"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"copy"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})]}),"\n",(0,i.jsx)(s.p,{children:"Create a copy of the message"}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})}),"\n",(0,i.jsx)(s.p,{children:"a copy of the message"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L61",children:"domainobjs/ts/message.ts:61"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"equals"}),"(",(0,i.jsx)(s.code,{children:"m"}),"): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"Check if two messages are equal"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"m"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the message to compare with"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"the result of the comparison"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L72",children:"domainobjs/ts/message.ts:72"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"hash"}),"(",(0,i.jsx)(s.code,{children:"encPubKey"}),"): ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.p,{children:"Hash the message data and a public key"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"encPubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,i.jsx)(s.code,{children:"PubKey"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the public key that is used to encrypt this message"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"bigint"})}),"\n",(0,i.jsx)(s.p,{children:"the hash of the message data and the public key"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L55",children:"domainobjs/ts/message.ts:55"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})]}),"\n",(0,i.jsx)(s.p,{children:"Serialize to a JSON object"}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L86",children:"domainobjs/ts/message.ts:86"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"fromJSON"}),"(",(0,i.jsx)(s.code,{children:"json"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})]}),"\n",(0,i.jsx)(s.p,{children:"Deserialize into a Message instance"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"json"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the json representation"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})}),"\n",(0,i.jsx)(s.p,{children:"the deserialized object as a Message instance"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/message.ts#L95",children:"domainobjs/ts/message.ts:95"})})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>r});var i=n(79);const t={},d=i.createContext(t);function r(e){const s=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),i.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6032],{8371:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>l,toc:()=>c});var i=n(5250),t=n(2459);const d={},r="Class: Message",l={id:"typedoc/classes/domainobjs_ts.Message",title:"domainobjs_ts.Message",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / Message",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Message.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.Message",permalink:"/docs/typedoc/classes/domainobjs_ts.Message",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Message.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.Keypair",permalink:"/docs/typedoc/classes/domainobjs_ts.Keypair"},next:{title:"domainobjs_ts.PCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.PCommand"}},a={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"data",id:"data",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"msgType",id:"msgtype",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"DATA_LENGTH",id:"data_length",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"hash",id:"hash",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-11",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / Message"]}),"\n",(0,i.jsx)(s.h1,{id:"class-message",children:"Class: Message"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".Message"]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:(0,i.jsx)(s.code,{children:"Notice"})})}),"\n",(0,i.jsx)(s.p,{children:"An encrypted command and signature."}),"\n",(0,i.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#constructor",children:"constructor"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#data",children:"data"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#msgtype",children:"msgType"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#data_length",children:"DATA_LENGTH"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#asarray",children:"asArray"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#ascontractparam",children:"asContractParam"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#copy",children:"copy"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#equals",children:"equals"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#hash",children:"hash"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#tojson",children:"toJSON"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"new Message"}),"(",(0,i.jsx)(s.code,{children:"msgType"}),", ",(0,i.jsx)(s.code,{children:"data"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})]}),"\n",(0,i.jsx)(s.p,{children:"Create a new instance of a Message"}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"msgType"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"bigint"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the type of the message"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"data"})}),(0,i.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the data of the message"})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L23",children:"domainobjs/ts/message.ts:23"})}),"\n",(0,i.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(s.h3,{id:"data",children:"data"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"data"}),": ",(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L14",children:"domainobjs/ts/message.ts:14"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"msgtype",children:"msgType"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"msgType"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L12",children:"domainobjs/ts/message.ts:12"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"data_length",children:"DATA_LENGTH"}),"\n",(0,i.jsxs)(s.p,{children:["\u25aa ",(0,i.jsx)(s.code,{children:"Static"})," ",(0,i.jsx)(s.strong,{children:"DATA_LENGTH"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"10"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L16",children:"domainobjs/ts/message.ts:16"})}),"\n",(0,i.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"asarray",children:"asArray"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"asArray"}),"(): ",(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.p,{children:"Return the message as an array of bigints"}),"\n",(0,i.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.p,{children:"the message as an array of bigints"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L33",children:"domainobjs/ts/message.ts:33"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"asCircuitInputs"}),"(): ",(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.p,{children:"Return the message as a circuit input"}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(s.p,{children:"the message as a circuit input"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L48",children:"domainobjs/ts/message.ts:48"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"asContractParam"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})]}),"\n",(0,i.jsx)(s.p,{children:"Return the message as a contract param"}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})}),"\n",(0,i.jsx)(s.p,{children:"the message as a contract param"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L39",children:"domainobjs/ts/message.ts:39"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"copy"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})]}),"\n",(0,i.jsx)(s.p,{children:"Create a copy of the message"}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})}),"\n",(0,i.jsx)(s.p,{children:"a copy of the message"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L61",children:"domainobjs/ts/message.ts:61"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"equals"}),"(",(0,i.jsx)(s.code,{children:"m"}),"): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"Check if two messages are equal"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"m"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the message to compare with"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"the result of the comparison"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L72",children:"domainobjs/ts/message.ts:72"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"hash"}),"(",(0,i.jsx)(s.code,{children:"encPubKey"}),"): ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.p,{children:"Hash the message data and a public key"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"encPubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,i.jsx)(s.code,{children:"PubKey"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the public key that is used to encrypt this message"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"bigint"})}),"\n",(0,i.jsx)(s.p,{children:"the hash of the message data and the public key"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L55",children:"domainobjs/ts/message.ts:55"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})]}),"\n",(0,i.jsx)(s.p,{children:"Serialize to a JSON object"}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L86",children:"domainobjs/ts/message.ts:86"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"fromJSON"}),"(",(0,i.jsx)(s.code,{children:"json"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})]}),"\n",(0,i.jsx)(s.p,{children:"Deserialize into a Message instance"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"json"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:(0,i.jsx)(s.code,{children:"IMessageContractParams"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the json representation"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,i.jsx)(s.code,{children:"Message"})})}),"\n",(0,i.jsx)(s.p,{children:"the deserialized object as a Message instance"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/message.ts#L95",children:"domainobjs/ts/message.ts:95"})})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>r});var i=n(79);const t={},d=i.createContext(t);function r(e){const s=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),i.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2d2d931e.9206c4e9.js b/assets/js/2d2d931e.cd1641c4.js similarity index 97% rename from assets/js/2d2d931e.9206c4e9.js rename to assets/js/2d2d931e.cd1641c4.js index 7743653439..f8d8f9b61c 100644 --- a/assets/js/2d2d931e.9206c4e9.js +++ b/assets/js/2d2d931e.cd1641c4.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6401],{572:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var d=s(5250),t=s(2459);const i={},r="Interface: ICommand",l={id:"typedoc/interfaces/domainobjs_ts.ICommand",title:"domainobjs_ts.ICommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / ICommand",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.ICommand.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.ICommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.ICommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.Signature",permalink:"/docs/typedoc/interfaces/crypto_ts.Signature"},next:{title:"domainobjs_ts.IG1ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams"}},c={},o=[{value:"Implemented by",id:"implemented-by",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"cmdType",id:"cmdtype",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"copy",id:"copy",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Type parameters",id:"type-parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in-1",level:4},{value:"equals",id:"equals",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Type parameters",id:"type-parameters-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-2",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-3",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / ICommand"]}),"\n",(0,d.jsx)(n.h1,{id:"interface-icommand",children:"Interface: ICommand"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".ICommand"]}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"A parent interface for all the commands"}),"\n",(0,d.jsx)(n.h2,{id:"implemented-by",children:"Implemented by"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#cmdtype",children:"cmdType"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#copy",children:"copy"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#equals",children:"equals"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#tojson",children:"toJSON"})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,d.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"cmdType"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L5",children:"domainobjs/ts/commands/types.ts:5"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"copy"}),": () => ",(0,d.jsx)(n.code,{children:"T"})]}),"\n",(0,d.jsx)(n.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 <",(0,d.jsx)(n.code,{children:"T"}),">(): ",(0,d.jsx)(n.code,{children:"T"})]}),"\n",(0,d.jsx)(n.h5,{id:"type-parameters",children:"Type parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:["extends ",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:(0,d.jsx)(n.code,{children:"ICommand"})})]})]})})]}),"\n",(0,d.jsx)(n.h5,{id:"returns",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"T"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L6",children:"domainobjs/ts/commands/types.ts:6"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"equals"}),": (",(0,d.jsx)(n.code,{children:"command"}),": ",(0,d.jsx)(n.code,{children:"T"}),") => ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 <",(0,d.jsx)(n.code,{children:"T"}),">(",(0,d.jsx)(n.code,{children:"command"}),"): ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.h5,{id:"type-parameters-1",children:"Type parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:["extends ",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:(0,d.jsx)(n.code,{children:"ICommand"})})]})]})})]}),"\n",(0,d.jsx)(n.h5,{id:"parameters",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"command"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})})]})})]}),"\n",(0,d.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"boolean"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L7",children:"domainobjs/ts/commands/types.ts:7"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"tojson",children:"toJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"toJSON"}),": () => ",(0,d.jsx)(n.code,{children:"unknown"})]}),"\n",(0,d.jsx)(n.h4,{id:"type-declaration-2",children:"Type declaration"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 (): ",(0,d.jsx)(n.code,{children:"unknown"})]}),"\n",(0,d.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"unknown"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L8",children:"domainobjs/ts/commands/types.ts:8"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var d=s(79);const t={},i=d.createContext(t);function r(e){const n=d.useContext(i);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),d.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6401],{572:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var d=s(5250),t=s(2459);const i={},r="Interface: ICommand",l={id:"typedoc/interfaces/domainobjs_ts.ICommand",title:"domainobjs_ts.ICommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / ICommand",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.ICommand.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.ICommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.ICommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.Signature",permalink:"/docs/typedoc/interfaces/crypto_ts.Signature"},next:{title:"domainobjs_ts.IG1ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams"}},c={},o=[{value:"Implemented by",id:"implemented-by",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"cmdType",id:"cmdtype",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"copy",id:"copy",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Type parameters",id:"type-parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in-1",level:4},{value:"equals",id:"equals",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Type parameters",id:"type-parameters-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-2",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-3",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / ICommand"]}),"\n",(0,d.jsx)(n.h1,{id:"interface-icommand",children:"Interface: ICommand"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".ICommand"]}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"A parent interface for all the commands"}),"\n",(0,d.jsx)(n.h2,{id:"implemented-by",children:"Implemented by"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#cmdtype",children:"cmdType"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#copy",children:"copy"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#equals",children:"equals"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#tojson",children:"toJSON"})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,d.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"cmdType"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L5",children:"domainobjs/ts/commands/types.ts:5"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"copy"}),": () => ",(0,d.jsx)(n.code,{children:"T"})]}),"\n",(0,d.jsx)(n.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 <",(0,d.jsx)(n.code,{children:"T"}),">(): ",(0,d.jsx)(n.code,{children:"T"})]}),"\n",(0,d.jsx)(n.h5,{id:"type-parameters",children:"Type parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:["extends ",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:(0,d.jsx)(n.code,{children:"ICommand"})})]})]})})]}),"\n",(0,d.jsx)(n.h5,{id:"returns",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"T"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L6",children:"domainobjs/ts/commands/types.ts:6"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"equals"}),": (",(0,d.jsx)(n.code,{children:"command"}),": ",(0,d.jsx)(n.code,{children:"T"}),") => ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 <",(0,d.jsx)(n.code,{children:"T"}),">(",(0,d.jsx)(n.code,{children:"command"}),"): ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.h5,{id:"type-parameters-1",children:"Type parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:["extends ",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:(0,d.jsx)(n.code,{children:"ICommand"})})]})]})})]}),"\n",(0,d.jsx)(n.h5,{id:"parameters",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"command"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})})]})})]}),"\n",(0,d.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"boolean"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L7",children:"domainobjs/ts/commands/types.ts:7"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"tojson",children:"toJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"toJSON"}),": () => ",(0,d.jsx)(n.code,{children:"unknown"})]}),"\n",(0,d.jsx)(n.h4,{id:"type-declaration-2",children:"Type declaration"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 (): ",(0,d.jsx)(n.code,{children:"unknown"})]}),"\n",(0,d.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"unknown"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L8",children:"domainobjs/ts/commands/types.ts:8"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var d=s(79);const t={},i=d.createContext(t);function r(e){const n=d.useContext(i);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),d.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3a939081.46a98e11.js b/assets/js/3a939081.ca632206.js similarity index 93% rename from assets/js/3a939081.46a98e11.js rename to assets/js/3a939081.ca632206.js index ede1a1b723..b03c0e17b6 100644 --- a/assets/js/3a939081.46a98e11.js +++ b/assets/js/3a939081.ca632206.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1404],{4790:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>o});var d=s(5250),i=s(2459);const t={},l="Class: PCommand",r={id:"typedoc/classes/domainobjs_ts.PCommand",title:"domainobjs_ts.PCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / PCommand",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PCommand.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.PCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.PCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.Message",permalink:"/docs/typedoc/classes/domainobjs_ts.Message"},next:{title:"domainobjs_ts.PrivKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PrivKey"}},c={},o=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"cmdType",id:"cmdtype",level:3},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"newPubKey",id:"newpubkey",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"newVoteWeight",id:"newvoteweight",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"nonce",id:"nonce",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"salt",id:"salt",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"stateIndex",id:"stateindex",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"voteOptionIndex",id:"voteoptionindex",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"copy",id:"copy",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"encrypt",id:"encrypt",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"hash",id:"hash",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"sign",id:"sign",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"verifySignature",id:"verifysignature",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"decrypt",id:"decrypt",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-19",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / PCommand"]}),"\n",(0,d.jsx)(n.h1,{id:"class-pcommand",children:"Class: PCommand"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".PCommand"]}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Unencrypted data whose fields include the user's public key, vote etc.\nThis represents a Vote command."}),"\n",(0,d.jsx)(n.h2,{id:"implements",children:"Implements"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:(0,d.jsx)(n.code,{children:"ICommand"})})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(n.h3,{id:"constructors",children:"Constructors"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#constructor",children:"constructor"})}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#cmdtype",children:"cmdType"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#newpubkey",children:"newPubKey"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#newvoteweight",children:"newVoteWeight"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#nonce",children:"nonce"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#pollid",children:"pollId"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#salt",children:"salt"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#stateindex",children:"stateIndex"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#voteoptionindex",children:"voteOptionIndex"})}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"methods",children:"Methods"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#asarray",children:"asArray"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#copy",children:"copy"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#encrypt",children:"encrypt"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#equals",children:"equals"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#hash",children:"hash"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#sign",children:"sign"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#tojson",children:"toJSON"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#verifysignature",children:"verifySignature"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#decrypt",children:"decrypt"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,d.jsx)(n.h3,{id:"constructor",children:"constructor"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"new PCommand"}),"(",(0,d.jsx)(n.code,{children:"stateIndex"}),", ",(0,d.jsx)(n.code,{children:"newPubKey"}),", ",(0,d.jsx)(n.code,{children:"voteOptionIndex"}),", ",(0,d.jsx)(n.code,{children:"newVoteWeight"}),", ",(0,d.jsx)(n.code,{children:"nonce"}),", ",(0,d.jsx)(n.code,{children:"pollId"}),", ",(0,d.jsx)(n.code,{children:"salt?"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Create a new PCommand"}),"\n",(0,d.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"stateIndex"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the state index of the user"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"newPubKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,d.jsx)(n.code,{children:"PubKey"})})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the new public key of the user"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"voteOptionIndex"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the index of the vote option"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"newVoteWeight"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the new vote weight of the user"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"nonce"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the nonce of the message"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"pollId"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the poll ID"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"salt"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the salt of the message"})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L58",children:"domainobjs/ts/commands/PCommand.ts:58"})}),"\n",(0,d.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,d.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"cmdType"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#cmdtype",children:"cmdType"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L32",children:"domainobjs/ts/commands/PCommand.ts:32"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"newpubkey",children:"newPubKey"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"newPubKey"}),": ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,d.jsx)(n.code,{children:"PubKey"})})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L36",children:"domainobjs/ts/commands/PCommand.ts:36"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"newvoteweight",children:"newVoteWeight"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"newVoteWeight"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L40",children:"domainobjs/ts/commands/PCommand.ts:40"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"nonce",children:"nonce"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"nonce"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L42",children:"domainobjs/ts/commands/PCommand.ts:42"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"pollid",children:"pollId"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"pollId"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L44",children:"domainobjs/ts/commands/PCommand.ts:44"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"salt",children:"salt"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"salt"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L46",children:"domainobjs/ts/commands/PCommand.ts:46"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"stateindex",children:"stateIndex"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"stateIndex"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L34",children:"domainobjs/ts/commands/PCommand.ts:34"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"voteoptionindex",children:"voteOptionIndex"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"voteOptionIndex"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L38",children:"domainobjs/ts/commands/PCommand.ts:38"})}),"\n",(0,d.jsx)(n.h2,{id:"methods-1",children:"Methods"}),"\n",(0,d.jsx)(n.h3,{id:"asarray",children:"asArray"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"asArray"}),"(): ",(0,d.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,d.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,d.jsx)(n.p,{children:"bigint[] - the command as an array"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Returns this Command as an array. Note that 5 of the Command's fields\nare packed into a single 250-bit value. This allows Messages to be\nsmaller and thereby save gas when the user publishes a message."}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L106",children:"domainobjs/ts/commands/PCommand.ts:106"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"asCircuitInputs"}),"(): ",(0,d.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,d.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L122",children:"domainobjs/ts/commands/PCommand.ts:122"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"copy"}),"<",(0,d.jsx)(n.code,{children:"T"}),">(): ",(0,d.jsx)(n.code,{children:"T"})]}),"\n",(0,d.jsx)(n.p,{children:"Create a deep clone of this PCommand"}),"\n",(0,d.jsx)(n.h4,{id:"type-parameters",children:"Type parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:["extends ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})]})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"T"})}),"\n",(0,d.jsx)(n.p,{children:"a copy of the PCommand"}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#copy",children:"copy"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L89",children:"domainobjs/ts/commands/PCommand.ts:89"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"encrypt",children:"encrypt"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"encrypt"}),"(",(0,d.jsx)(n.code,{children:"signature"}),", ",(0,d.jsx)(n.code,{children:"sharedKey"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,d.jsx)(n.code,{children:"Message"})})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"signature"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,d.jsx)(n.code,{children:"Signature"}),"<",(0,d.jsx)(n.code,{children:"SnarkBigNumber"}),">"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"sharedKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"EcdhSharedKey"})})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,d.jsx)(n.code,{children:"Message"})})}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Encrypts this command along with a signature to produce a Message.\nTo save gas, we can constrain the following values to 50 bits and pack\nthem into a 250-bit value:\n0. state index\n3. vote option index\n4. new vote weight\n5. nonce\n6. poll ID"}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L161",children:"domainobjs/ts/commands/PCommand.ts:161"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"equals"}),"(",(0,d.jsx)(n.code,{children:"command"}),"): ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"command"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"boolean"})}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#equals",children:"equals"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L127",children:"domainobjs/ts/commands/PCommand.ts:127"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"hash",children:"hash"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"hash"}),"(): ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"bigint"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L136",children:"domainobjs/ts/commands/PCommand.ts:136"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"sign",children:"sign"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"sign"}),"(",(0,d.jsx)(n.code,{children:"privKey"}),"): ",(0,d.jsx)(n.code,{children:"Signature"}),"<",(0,d.jsx)(n.code,{children:"SnarkBigNumber"}),">"]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"privKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,d.jsx)(n.code,{children:"PrivKey"})})})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Signature"}),"<",(0,d.jsx)(n.code,{children:"SnarkBigNumber"}),">"]}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Signs this command and returns a Signature."}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L141",children:"domainobjs/ts/commands/PCommand.ts:141"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"tojson",children:"toJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"toJSON"}),"(): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:(0,d.jsx)(n.code,{children:"IJsonPCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Serialize into a JSON object"}),"\n",(0,d.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:(0,d.jsx)(n.code,{children:"IJsonPCommand"})})}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#tojson",children:"toJSON"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L220",children:"domainobjs/ts/commands/PCommand.ts:220"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"verifysignature",children:"verifySignature"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"verifySignature"}),"(",(0,d.jsx)(n.code,{children:"signature"}),", ",(0,d.jsx)(n.code,{children:"pubKey"}),"): ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"signature"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,d.jsx)(n.code,{children:"Signature"}),"<",(0,d.jsx)(n.code,{children:"SnarkBigNumber"}),">"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"pubKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,d.jsx)(n.code,{children:"PubKey"})})})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"boolean"})}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Returns true if the given signature is a correct signature of this\ncommand and signed by the private key associated with the given public\nkey."}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L148",children:"domainobjs/ts/commands/PCommand.ts:148"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"decrypt",children:"decrypt"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"decrypt"}),"(",(0,d.jsx)(n.code,{children:"message"}),", ",(0,d.jsx)(n.code,{children:"sharedKey"}),"): ",(0,d.jsx)(n.code,{children:"IDecryptMessage"})]}),"\n",(0,d.jsx)(n.p,{children:"Decrypts a Message to produce a Command."}),"\n",(0,d.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"message"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,d.jsx)(n.code,{children:"Message"})})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the message to decrypt"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"sharedKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"EcdhSharedKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the shared key to use for decryption"})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"IDecryptMessage"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L178",children:"domainobjs/ts/commands/PCommand.ts:178"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"fromJSON"}),"(",(0,d.jsx)(n.code,{children:"json"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Deserialize into a PCommand instance"}),"\n",(0,d.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"json"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:(0,d.jsx)(n.code,{children:"IJsonPCommand"})})})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})}),"\n",(0,d.jsx)(n.p,{children:"a PComamnd instance"}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/PCommand.ts#L238",children:"domainobjs/ts/commands/PCommand.ts:238"})})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>l});var d=s(79);const i={},t=d.createContext(i);function l(e){const n=d.useContext(t);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1404],{4790:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>o});var d=s(5250),i=s(2459);const t={},l="Class: PCommand",c={id:"typedoc/classes/domainobjs_ts.PCommand",title:"domainobjs_ts.PCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / PCommand",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PCommand.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.PCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.PCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.Message",permalink:"/docs/typedoc/classes/domainobjs_ts.Message"},next:{title:"domainobjs_ts.PrivKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PrivKey"}},r={},o=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"cmdType",id:"cmdtype",level:3},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"newPubKey",id:"newpubkey",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"newVoteWeight",id:"newvoteweight",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"nonce",id:"nonce",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"salt",id:"salt",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"stateIndex",id:"stateindex",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"voteOptionIndex",id:"voteoptionindex",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"copy",id:"copy",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"encrypt",id:"encrypt",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"hash",id:"hash",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"sign",id:"sign",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"verifySignature",id:"verifysignature",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"decrypt",id:"decrypt",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-19",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / PCommand"]}),"\n",(0,d.jsx)(n.h1,{id:"class-pcommand",children:"Class: PCommand"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".PCommand"]}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Unencrypted data whose fields include the user's public key, vote etc.\nThis represents a Vote command."}),"\n",(0,d.jsx)(n.h2,{id:"implements",children:"Implements"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:(0,d.jsx)(n.code,{children:"ICommand"})})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(n.h3,{id:"constructors",children:"Constructors"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#constructor",children:"constructor"})}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#cmdtype",children:"cmdType"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#newpubkey",children:"newPubKey"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#newvoteweight",children:"newVoteWeight"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#nonce",children:"nonce"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#pollid",children:"pollId"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#salt",children:"salt"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#stateindex",children:"stateIndex"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#voteoptionindex",children:"voteOptionIndex"})}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"methods",children:"Methods"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#asarray",children:"asArray"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#copy",children:"copy"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#encrypt",children:"encrypt"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#equals",children:"equals"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#hash",children:"hash"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#sign",children:"sign"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#tojson",children:"toJSON"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#verifysignature",children:"verifySignature"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#decrypt",children:"decrypt"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,d.jsx)(n.h3,{id:"constructor",children:"constructor"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"new PCommand"}),"(",(0,d.jsx)(n.code,{children:"stateIndex"}),", ",(0,d.jsx)(n.code,{children:"newPubKey"}),", ",(0,d.jsx)(n.code,{children:"voteOptionIndex"}),", ",(0,d.jsx)(n.code,{children:"newVoteWeight"}),", ",(0,d.jsx)(n.code,{children:"nonce"}),", ",(0,d.jsx)(n.code,{children:"pollId"}),", ",(0,d.jsx)(n.code,{children:"salt?"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Create a new PCommand"}),"\n",(0,d.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"stateIndex"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the state index of the user"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"newPubKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,d.jsx)(n.code,{children:"PubKey"})})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the new public key of the user"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"voteOptionIndex"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the index of the vote option"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"newVoteWeight"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the new vote weight of the user"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"nonce"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the nonce of the message"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"pollId"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the poll ID"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"salt"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the salt of the message"})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L58",children:"domainobjs/ts/commands/PCommand.ts:58"})}),"\n",(0,d.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,d.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"cmdType"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#cmdtype",children:"cmdType"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L32",children:"domainobjs/ts/commands/PCommand.ts:32"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"newpubkey",children:"newPubKey"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"newPubKey"}),": ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,d.jsx)(n.code,{children:"PubKey"})})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L36",children:"domainobjs/ts/commands/PCommand.ts:36"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"newvoteweight",children:"newVoteWeight"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"newVoteWeight"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L40",children:"domainobjs/ts/commands/PCommand.ts:40"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"nonce",children:"nonce"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"nonce"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L42",children:"domainobjs/ts/commands/PCommand.ts:42"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"pollid",children:"pollId"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"pollId"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L44",children:"domainobjs/ts/commands/PCommand.ts:44"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"salt",children:"salt"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"salt"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L46",children:"domainobjs/ts/commands/PCommand.ts:46"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"stateindex",children:"stateIndex"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"stateIndex"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L34",children:"domainobjs/ts/commands/PCommand.ts:34"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"voteoptionindex",children:"voteOptionIndex"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"voteOptionIndex"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L38",children:"domainobjs/ts/commands/PCommand.ts:38"})}),"\n",(0,d.jsx)(n.h2,{id:"methods-1",children:"Methods"}),"\n",(0,d.jsx)(n.h3,{id:"asarray",children:"asArray"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"asArray"}),"(): ",(0,d.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,d.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,d.jsx)(n.p,{children:"bigint[] - the command as an array"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Returns this Command as an array. Note that 5 of the Command's fields\nare packed into a single 250-bit value. This allows Messages to be\nsmaller and thereby save gas when the user publishes a message."}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L106",children:"domainobjs/ts/commands/PCommand.ts:106"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"asCircuitInputs"}),"(): ",(0,d.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,d.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L122",children:"domainobjs/ts/commands/PCommand.ts:122"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"copy"}),"<",(0,d.jsx)(n.code,{children:"T"}),">(): ",(0,d.jsx)(n.code,{children:"T"})]}),"\n",(0,d.jsx)(n.p,{children:"Create a deep clone of this PCommand"}),"\n",(0,d.jsx)(n.h4,{id:"type-parameters",children:"Type parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:["extends ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})]})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"T"})}),"\n",(0,d.jsx)(n.p,{children:"a copy of the PCommand"}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#copy",children:"copy"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L89",children:"domainobjs/ts/commands/PCommand.ts:89"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"encrypt",children:"encrypt"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"encrypt"}),"(",(0,d.jsx)(n.code,{children:"signature"}),", ",(0,d.jsx)(n.code,{children:"sharedKey"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,d.jsx)(n.code,{children:"Message"})})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"signature"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,d.jsx)(n.code,{children:"Signature"}),"<",(0,d.jsx)(n.code,{children:"SnarkBigNumber"}),">"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"sharedKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"EcdhSharedKey"})})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,d.jsx)(n.code,{children:"Message"})})}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Encrypts this command along with a signature to produce a Message.\nTo save gas, we can constrain the following values to 50 bits and pack\nthem into a 250-bit value:\n0. state index\n3. vote option index\n4. new vote weight\n5. nonce\n6. poll ID"}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L161",children:"domainobjs/ts/commands/PCommand.ts:161"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"equals"}),"(",(0,d.jsx)(n.code,{children:"command"}),"): ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"command"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"boolean"})}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#equals",children:"equals"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L127",children:"domainobjs/ts/commands/PCommand.ts:127"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"hash",children:"hash"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"hash"}),"(): ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"bigint"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L136",children:"domainobjs/ts/commands/PCommand.ts:136"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"sign",children:"sign"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"sign"}),"(",(0,d.jsx)(n.code,{children:"privKey"}),"): ",(0,d.jsx)(n.code,{children:"Signature"}),"<",(0,d.jsx)(n.code,{children:"SnarkBigNumber"}),">"]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"privKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,d.jsx)(n.code,{children:"PrivKey"})})})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Signature"}),"<",(0,d.jsx)(n.code,{children:"SnarkBigNumber"}),">"]}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Signs this command and returns a Signature."}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L141",children:"domainobjs/ts/commands/PCommand.ts:141"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"tojson",children:"toJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"toJSON"}),"(): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:(0,d.jsx)(n.code,{children:"IJsonPCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Serialize into a JSON object"}),"\n",(0,d.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:(0,d.jsx)(n.code,{children:"IJsonPCommand"})})}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#tojson",children:"toJSON"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L220",children:"domainobjs/ts/commands/PCommand.ts:220"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"verifysignature",children:"verifySignature"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"verifySignature"}),"(",(0,d.jsx)(n.code,{children:"signature"}),", ",(0,d.jsx)(n.code,{children:"pubKey"}),"): ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"signature"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,d.jsx)(n.code,{children:"Signature"}),"<",(0,d.jsx)(n.code,{children:"SnarkBigNumber"}),">"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"pubKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,d.jsx)(n.code,{children:"PubKey"})})})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"boolean"})}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Returns true if the given signature is a correct signature of this\ncommand and signed by the private key associated with the given public\nkey."}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L148",children:"domainobjs/ts/commands/PCommand.ts:148"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"decrypt",children:"decrypt"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"decrypt"}),"(",(0,d.jsx)(n.code,{children:"message"}),", ",(0,d.jsx)(n.code,{children:"sharedKey"}),"): ",(0,d.jsx)(n.code,{children:"IDecryptMessage"})]}),"\n",(0,d.jsx)(n.p,{children:"Decrypts a Message to produce a Command."}),"\n",(0,d.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"message"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:(0,d.jsx)(n.code,{children:"Message"})})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the message to decrypt"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"sharedKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"EcdhSharedKey"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the shared key to use for decryption"})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"IDecryptMessage"})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L178",children:"domainobjs/ts/commands/PCommand.ts:178"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"fromJSON"}),"(",(0,d.jsx)(n.code,{children:"json"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Deserialize into a PCommand instance"}),"\n",(0,d.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"json"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:(0,d.jsx)(n.code,{children:"IJsonPCommand"})})})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:(0,d.jsx)(n.code,{children:"PCommand"})})}),"\n",(0,d.jsx)(n.p,{children:"a PComamnd instance"}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/PCommand.ts#L238",children:"domainobjs/ts/commands/PCommand.ts:238"})})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>l});var d=s(79);const i={},t=d.createContext(i);function l(e){const n=d.useContext(t);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3b4d9c28.33114d75.js b/assets/js/3b4d9c28.889ef566.js similarity index 89% rename from assets/js/3b4d9c28.33114d75.js rename to assets/js/3b4d9c28.889ef566.js index 7764e9be6c..6be9c982f6 100644 --- a/assets/js/3b4d9c28.33114d75.js +++ b/assets/js/3b4d9c28.889ef566.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2369],{6074:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>o});var s=n(5250),d=n(2459);const t={},a="Interface: IVkObjectParams",r={id:"typedoc/interfaces/domainobjs_ts.IVkObjectParams",title:"domainobjs_ts.IVkObjectParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IVkObjectParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IVkObjectParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IVkObjectParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IVkObjectParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IVkContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams"},next:{title:"domainobjs_ts.Proof",permalink:"/docs/typedoc/interfaces/domainobjs_ts.Proof"}},c={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"IC",id:"ic",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"curve",id:"curve",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"nPublic",id:"npublic",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"protocol",id:"protocol",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"vk_alpha_1",id:"vk_alpha_1",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"vk_alphabeta_12",id:"vk_alphabeta_12",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"vk_beta_2",id:"vk_beta_2",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"vk_delta_2",id:"vk_delta_2",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"vk_gamma_2",id:"vk_gamma_2",level:3},{value:"Defined in",id:"defined-in-8",level:4}];function l(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(i.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IVkObjectParams"]}),"\n",(0,s.jsx)(i.h1,{id:"interface-ivkobjectparams",children:"Interface: IVkObjectParams"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IVkObjectParams"]}),"\n",(0,s.jsx)(i.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(i.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#ic",children:"IC"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#curve",children:"curve"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#npublic",children:"nPublic"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#protocol",children:"protocol"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_alpha_1",children:"vk_alpha_1"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_alphabeta_12",children:"vk_alphabeta_12"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_beta_2",children:"vk_beta_2"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_delta_2",children:"vk_delta_2"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_gamma_2",children:"vk_gamma_2"})}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(i.h3,{id:"ic",children:"IC"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"IC"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L72",children:"domainobjs/ts/types.ts:72"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"curve",children:"curve"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"curve"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L65",children:"domainobjs/ts/types.ts:65"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"npublic",children:"nPublic"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"nPublic"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L66",children:"domainobjs/ts/types.ts:66"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"protocol",children:"protocol"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"protocol"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L64",children:"domainobjs/ts/types.ts:64"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_alpha_1",children:"vk_alpha_1"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_alpha_1"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L67",children:"domainobjs/ts/types.ts:67"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_alphabeta_12",children:"vk_alphabeta_12"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_alphabeta_12"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L71",children:"domainobjs/ts/types.ts:71"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_beta_2",children:"vk_beta_2"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_beta_2"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L68",children:"domainobjs/ts/types.ts:68"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_delta_2",children:"vk_delta_2"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_delta_2"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L70",children:"domainobjs/ts/types.ts:70"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_gamma_2",children:"vk_gamma_2"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_gamma_2"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L69",children:"domainobjs/ts/types.ts:69"})})]})}function h(e={}){const{wrapper:i}={...(0,d.a)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},2459:(e,i,n)=>{n.d(i,{Z:()=>r,a:()=>a});var s=n(79);const d={},t=s.createContext(d);function a(e){const i=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:a(e.components),s.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2369],{6074:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>o});var s=n(5250),d=n(2459);const t={},a="Interface: IVkObjectParams",c={id:"typedoc/interfaces/domainobjs_ts.IVkObjectParams",title:"domainobjs_ts.IVkObjectParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IVkObjectParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IVkObjectParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IVkObjectParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IVkObjectParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IVkContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams"},next:{title:"domainobjs_ts.Proof",permalink:"/docs/typedoc/interfaces/domainobjs_ts.Proof"}},r={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"IC",id:"ic",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"curve",id:"curve",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"nPublic",id:"npublic",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"protocol",id:"protocol",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"vk_alpha_1",id:"vk_alpha_1",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"vk_alphabeta_12",id:"vk_alphabeta_12",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"vk_beta_2",id:"vk_beta_2",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"vk_delta_2",id:"vk_delta_2",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"vk_gamma_2",id:"vk_gamma_2",level:3},{value:"Defined in",id:"defined-in-8",level:4}];function l(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(i.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IVkObjectParams"]}),"\n",(0,s.jsx)(i.h1,{id:"interface-ivkobjectparams",children:"Interface: IVkObjectParams"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IVkObjectParams"]}),"\n",(0,s.jsx)(i.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(i.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#ic",children:"IC"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#curve",children:"curve"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#npublic",children:"nPublic"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#protocol",children:"protocol"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_alpha_1",children:"vk_alpha_1"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_alphabeta_12",children:"vk_alphabeta_12"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_beta_2",children:"vk_beta_2"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_delta_2",children:"vk_delta_2"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams#vk_gamma_2",children:"vk_gamma_2"})}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(i.h3,{id:"ic",children:"IC"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"IC"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L72",children:"domainobjs/ts/types.ts:72"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"curve",children:"curve"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"curve"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L65",children:"domainobjs/ts/types.ts:65"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"npublic",children:"nPublic"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"nPublic"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L66",children:"domainobjs/ts/types.ts:66"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"protocol",children:"protocol"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"protocol"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L64",children:"domainobjs/ts/types.ts:64"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_alpha_1",children:"vk_alpha_1"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_alpha_1"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L67",children:"domainobjs/ts/types.ts:67"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_alphabeta_12",children:"vk_alphabeta_12"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_alphabeta_12"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L71",children:"domainobjs/ts/types.ts:71"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_beta_2",children:"vk_beta_2"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_beta_2"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L68",children:"domainobjs/ts/types.ts:68"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_delta_2",children:"vk_delta_2"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_delta_2"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L70",children:"domainobjs/ts/types.ts:70"})}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"vk_gamma_2",children:"vk_gamma_2"}),"\n",(0,s.jsxs)(i.p,{children:["\u2022 ",(0,s.jsx)(i.strong,{children:"vk_gamma_2"}),": ",(0,s.jsx)(i.code,{children:"BigNumberish"}),"[][]"]}),"\n",(0,s.jsx)(i.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L69",children:"domainobjs/ts/types.ts:69"})})]})}function h(e={}){const{wrapper:i}={...(0,d.a)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},2459:(e,i,n)=>{n.d(i,{Z:()=>c,a:()=>a});var s=n(79);const d={},t=s.createContext(d);function a(e){const i=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:a(e.components),s.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3d556288.9bf5907d.js b/assets/js/3d556288.11864f8b.js similarity index 95% rename from assets/js/3d556288.9bf5907d.js rename to assets/js/3d556288.11864f8b.js index a21b5a8c16..7133eb609e 100644 --- a/assets/js/3d556288.9bf5907d.js +++ b/assets/js/3d556288.11864f8b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2775],{6572:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>t,default:()=>h,frontMatter:()=>d,metadata:()=>l,toc:()=>o});var n=i(5250),r=i(2459);const d={},t="Class: Keypair",l={id:"typedoc/classes/domainobjs_ts.Keypair",title:"domainobjs_ts.Keypair",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / Keypair",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Keypair.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.Keypair",permalink:"/docs/typedoc/classes/domainobjs_ts.Keypair",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Keypair.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.Ballot",permalink:"/docs/typedoc/classes/domainobjs_ts.Ballot"},next:{title:"domainobjs_ts.Message",permalink:"/docs/typedoc/classes/domainobjs_ts.Message"}},c={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"privKey",id:"privkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods-1",level:2},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"genEcdhSharedKey",id:"genecdhsharedkey",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-7",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / Keypair"]}),"\n",(0,n.jsx)(s.h1,{id:"class-keypair",children:"Class: Keypair"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".Keypair"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.code,{children:"Notice"})})}),"\n",(0,n.jsx)(s.p,{children:"A KeyPair is a pair of public and private keys\nThis is a MACI keypair, which is not to be\nconfused with an Ethereum public and private keypair.\nA MACI keypair is comprised of a MACI public key and a MACI private key"}),"\n",(0,n.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#privkey",children:"privKey"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#pubkey",children:"pubKey"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#copy",children:"copy"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#equals",children:"equals"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#tojson",children:"toJSON"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#fromjson",children:"fromJSON"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#genecdhsharedkey",children:"genEcdhSharedKey"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"new Keypair"}),"(",(0,n.jsx)(s.code,{children:"privKey?"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})]}),"\n",(0,n.jsx)(s.p,{children:"Create a new instance of a Keypair"}),"\n",(0,n.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"privKey?"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(s.code,{children:"PrivKey"})})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the private key (optional)"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.code,{children:"Notice"})})}),"\n",(0,n.jsx)(s.p,{children:"if no privKey is passed, it will automatically generate a new private key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/keyPair.ts#L26",children:"domainobjs/ts/keyPair.ts:26"})}),"\n",(0,n.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"privkey",children:"privKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"privKey"}),": ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(s.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/keyPair.ts#L17",children:"domainobjs/ts/keyPair.ts:17"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"pubKey"}),": ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/keyPair.ts#L19",children:"domainobjs/ts/keyPair.ts:19"})}),"\n",(0,n.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"copy"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})]}),"\n",(0,n.jsx)(s.p,{children:"Create a deep clone of this Keypair"}),"\n",(0,n.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})}),"\n",(0,n.jsx)(s.p,{children:"a copy of the Keypair"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/keyPair.ts#L41",children:"domainobjs/ts/keyPair.ts:41"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"equals"}),"(",(0,n.jsx)(s.code,{children:"keypair"}),"): ",(0,n.jsx)(s.code,{children:"boolean"})]}),"\n",(0,n.jsx)(s.p,{children:"Check whether two Keypairs are equal"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"keypair"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the keypair to compare with"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"boolean"})}),"\n",(0,n.jsx)(s.p,{children:"whether they are equal or not"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/keyPair.ts#L58",children:"domainobjs/ts/keyPair.ts:58"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,n.jsx)(s.code,{children:"IJsonKeyPair"})})]}),"\n",(0,n.jsx)(s.p,{children:"Serialize into a JSON object"}),"\n",(0,n.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,n.jsx)(s.code,{children:"IJsonKeyPair"})})}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/keyPair.ts#L75",children:"domainobjs/ts/keyPair.ts:75"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"fromJSON"}),"(",(0,n.jsx)(s.code,{children:"json"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})]}),"\n",(0,n.jsx)(s.p,{children:"Deserialize into a Keypair instance"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"json"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,n.jsx)(s.code,{children:"IJsonKeyPair"})})})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})}),"\n",(0,n.jsx)(s.p,{children:"a keypair instance"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/keyPair.ts#L87",children:"domainobjs/ts/keyPair.ts:87"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"genecdhsharedkey",children:"genEcdhSharedKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"genEcdhSharedKey"}),"(",(0,n.jsx)(s.code,{children:"privKey"}),", ",(0,n.jsx)(s.code,{children:"pubKey"}),"): ",(0,n.jsx)(s.code,{children:"EcdhSharedKey"})]}),"\n",(0,n.jsx)(s.p,{children:"Generate a shared key"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"privKey"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(s.code,{children:"PrivKey"})})})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"pubKey"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})})]})]})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"EcdhSharedKey"})}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/keyPair.ts#L49",children:"domainobjs/ts/keyPair.ts:49"})})]})}function h(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},2459:(e,s,i)=>{i.d(s,{Z:()=>l,a:()=>t});var n=i(79);const r={},d=n.createContext(r);function t(e){const s=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),n.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2775],{6572:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>t,default:()=>h,frontMatter:()=>d,metadata:()=>l,toc:()=>o});var n=i(5250),r=i(2459);const d={},t="Class: Keypair",l={id:"typedoc/classes/domainobjs_ts.Keypair",title:"domainobjs_ts.Keypair",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / Keypair",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Keypair.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.Keypair",permalink:"/docs/typedoc/classes/domainobjs_ts.Keypair",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Keypair.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.Ballot",permalink:"/docs/typedoc/classes/domainobjs_ts.Ballot"},next:{title:"domainobjs_ts.Message",permalink:"/docs/typedoc/classes/domainobjs_ts.Message"}},c={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"privKey",id:"privkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods-1",level:2},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"genEcdhSharedKey",id:"genecdhsharedkey",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-7",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / Keypair"]}),"\n",(0,n.jsx)(s.h1,{id:"class-keypair",children:"Class: Keypair"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".Keypair"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.code,{children:"Notice"})})}),"\n",(0,n.jsx)(s.p,{children:"A KeyPair is a pair of public and private keys\nThis is a MACI keypair, which is not to be\nconfused with an Ethereum public and private keypair.\nA MACI keypair is comprised of a MACI public key and a MACI private key"}),"\n",(0,n.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#privkey",children:"privKey"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#pubkey",children:"pubKey"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#copy",children:"copy"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#equals",children:"equals"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#tojson",children:"toJSON"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#fromjson",children:"fromJSON"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair#genecdhsharedkey",children:"genEcdhSharedKey"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"new Keypair"}),"(",(0,n.jsx)(s.code,{children:"privKey?"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})]}),"\n",(0,n.jsx)(s.p,{children:"Create a new instance of a Keypair"}),"\n",(0,n.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"privKey?"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(s.code,{children:"PrivKey"})})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the private key (optional)"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.code,{children:"Notice"})})}),"\n",(0,n.jsx)(s.p,{children:"if no privKey is passed, it will automatically generate a new private key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/keyPair.ts#L26",children:"domainobjs/ts/keyPair.ts:26"})}),"\n",(0,n.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"privkey",children:"privKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"privKey"}),": ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(s.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/keyPair.ts#L17",children:"domainobjs/ts/keyPair.ts:17"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"pubKey"}),": ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/keyPair.ts#L19",children:"domainobjs/ts/keyPair.ts:19"})}),"\n",(0,n.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"copy"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})]}),"\n",(0,n.jsx)(s.p,{children:"Create a deep clone of this Keypair"}),"\n",(0,n.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})}),"\n",(0,n.jsx)(s.p,{children:"a copy of the Keypair"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/keyPair.ts#L41",children:"domainobjs/ts/keyPair.ts:41"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"equals"}),"(",(0,n.jsx)(s.code,{children:"keypair"}),"): ",(0,n.jsx)(s.code,{children:"boolean"})]}),"\n",(0,n.jsx)(s.p,{children:"Check whether two Keypairs are equal"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"keypair"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the keypair to compare with"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"boolean"})}),"\n",(0,n.jsx)(s.p,{children:"whether they are equal or not"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/keyPair.ts#L58",children:"domainobjs/ts/keyPair.ts:58"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,n.jsx)(s.code,{children:"IJsonKeyPair"})})]}),"\n",(0,n.jsx)(s.p,{children:"Serialize into a JSON object"}),"\n",(0,n.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,n.jsx)(s.code,{children:"IJsonKeyPair"})})}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/keyPair.ts#L75",children:"domainobjs/ts/keyPair.ts:75"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"fromJSON"}),"(",(0,n.jsx)(s.code,{children:"json"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})]}),"\n",(0,n.jsx)(s.p,{children:"Deserialize into a Keypair instance"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"json"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,n.jsx)(s.code,{children:"IJsonKeyPair"})})})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:(0,n.jsx)(s.code,{children:"Keypair"})})}),"\n",(0,n.jsx)(s.p,{children:"a keypair instance"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/keyPair.ts#L87",children:"domainobjs/ts/keyPair.ts:87"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"genecdhsharedkey",children:"genEcdhSharedKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"genEcdhSharedKey"}),"(",(0,n.jsx)(s.code,{children:"privKey"}),", ",(0,n.jsx)(s.code,{children:"pubKey"}),"): ",(0,n.jsx)(s.code,{children:"EcdhSharedKey"})]}),"\n",(0,n.jsx)(s.p,{children:"Generate a shared key"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"privKey"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(s.code,{children:"PrivKey"})})})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"pubKey"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})})]})]})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"EcdhSharedKey"})}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/keyPair.ts#L49",children:"domainobjs/ts/keyPair.ts:49"})})]})}function h(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},2459:(e,s,i)=>{i.d(s,{Z:()=>l,a:()=>t});var n=i(79);const r={},d=n.createContext(r);function t(e){const s=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),n.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fb22010.b86f2e67.js b/assets/js/3fb22010.c1929ca2.js similarity index 89% rename from assets/js/3fb22010.b86f2e67.js rename to assets/js/3fb22010.c1929ca2.js index ccb160cc92..3537a7686d 100644 --- a/assets/js/3fb22010.b86f2e67.js +++ b/assets/js/3fb22010.c1929ca2.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2195],{4858:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var t=n(5250),i=n(2459);const r={},c="Interface: IJsonMaciState",o={id:"typedoc/interfaces/core_ts.IJsonMaciState",title:"core_ts.IJsonMaciState",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / IJsonMaciState",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.IJsonMaciState.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.IJsonMaciState",permalink:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.IJsonMaciState.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.BatchSizes",permalink:"/docs/typedoc/interfaces/core_ts.BatchSizes"},next:{title:"core_ts.IProcessMessagesCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs"}},l={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"currentPollBeingProcessed",id:"currentpollbeingprocessed",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"numSignUps",id:"numsignups",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"pollBeingProcessed",id:"pollbeingprocessed",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"polls",id:"polls",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"stateLeaves",id:"stateleaves",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"stateTreeDepth",id:"statetreedepth",level:3},{value:"Defined in",id:"defined-in-5",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / IJsonMaciState"]}),"\n",(0,t.jsx)(s.h1,{id:"interface-ijsonmacistate",children:"Interface: IJsonMaciState"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".IJsonMaciState"]}),"\n",(0,t.jsx)(s.p,{children:"This interface defines the JSON representation of a MaciState"}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#currentpollbeingprocessed",children:"currentPollBeingProcessed"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#numsignups",children:"numSignUps"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#pollbeingprocessed",children:"pollBeingProcessed"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#polls",children:"polls"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#stateleaves",children:"stateLeaves"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#statetreedepth",children:"stateTreeDepth"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"currentpollbeingprocessed",children:"currentPollBeingProcessed"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentPollBeingProcessed"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L129",children:"core/ts/utils/types.ts:129"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"numsignups",children:"numSignUps"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"numSignUps"}),": ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L130",children:"core/ts/utils/types.ts:130"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"pollbeingprocessed",children:"pollBeingProcessed"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"pollBeingProcessed"}),": ",(0,t.jsx)(s.code,{children:"boolean"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L128",children:"core/ts/utils/types.ts:128"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"polls",children:"polls"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"polls"}),": ",(0,t.jsx)(s.code,{children:"IJsonPoll"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L126",children:"core/ts/utils/types.ts:126"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"stateleaves",children:"stateLeaves"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"stateLeaves"}),": ",(0,t.jsx)(s.code,{children:"IJsonStateLeaf"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L127",children:"core/ts/utils/types.ts:127"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"statetreedepth",children:"stateTreeDepth"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"stateTreeDepth"}),": ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L125",children:"core/ts/utils/types.ts:125"})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>o,a:()=>c});var t=n(79);const i={},r=t.createContext(i);function c(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2195],{4858:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>c,metadata:()=>o,toc:()=>d});var t=n(5250),i=n(2459);const c={},r="Interface: IJsonMaciState",o={id:"typedoc/interfaces/core_ts.IJsonMaciState",title:"core_ts.IJsonMaciState",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / IJsonMaciState",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.IJsonMaciState.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.IJsonMaciState",permalink:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.IJsonMaciState.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.BatchSizes",permalink:"/docs/typedoc/interfaces/core_ts.BatchSizes"},next:{title:"core_ts.IProcessMessagesCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs"}},l={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"currentPollBeingProcessed",id:"currentpollbeingprocessed",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"numSignUps",id:"numsignups",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"pollBeingProcessed",id:"pollbeingprocessed",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"polls",id:"polls",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"stateLeaves",id:"stateleaves",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"stateTreeDepth",id:"statetreedepth",level:3},{value:"Defined in",id:"defined-in-5",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / IJsonMaciState"]}),"\n",(0,t.jsx)(s.h1,{id:"interface-ijsonmacistate",children:"Interface: IJsonMaciState"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".IJsonMaciState"]}),"\n",(0,t.jsx)(s.p,{children:"This interface defines the JSON representation of a MaciState"}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#currentpollbeingprocessed",children:"currentPollBeingProcessed"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#numsignups",children:"numSignUps"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#pollbeingprocessed",children:"pollBeingProcessed"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#polls",children:"polls"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#stateleaves",children:"stateLeaves"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState#statetreedepth",children:"stateTreeDepth"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"currentpollbeingprocessed",children:"currentPollBeingProcessed"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentPollBeingProcessed"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L129",children:"core/ts/utils/types.ts:129"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"numsignups",children:"numSignUps"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"numSignUps"}),": ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L130",children:"core/ts/utils/types.ts:130"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"pollbeingprocessed",children:"pollBeingProcessed"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"pollBeingProcessed"}),": ",(0,t.jsx)(s.code,{children:"boolean"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L128",children:"core/ts/utils/types.ts:128"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"polls",children:"polls"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"polls"}),": ",(0,t.jsx)(s.code,{children:"IJsonPoll"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L126",children:"core/ts/utils/types.ts:126"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"stateleaves",children:"stateLeaves"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"stateLeaves"}),": ",(0,t.jsx)(s.code,{children:"IJsonStateLeaf"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L127",children:"core/ts/utils/types.ts:127"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"statetreedepth",children:"stateTreeDepth"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"stateTreeDepth"}),": ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L125",children:"core/ts/utils/types.ts:125"})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>o,a:()=>r});var t=n(79);const i={},c=t.createContext(i);function r(e){const s=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/45653208.eee4511e.js b/assets/js/45653208.4b7140c5.js similarity index 98% rename from assets/js/45653208.eee4511e.js rename to assets/js/45653208.4b7140c5.js index fa92d44af5..fae054f301 100644 --- a/assets/js/45653208.eee4511e.js +++ b/assets/js/45653208.4b7140c5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4945],{5564:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>m,frontMatter:()=>t,metadata:()=>r,toc:()=>a});var o=s(5250),i=s(2459);const t={},d="Interface: IJsonCommand",r={id:"typedoc/interfaces/domainobjs_ts.IJsonCommand",title:"domainobjs_ts.IJsonCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonCommand",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonCommand.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonBallot",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot"},next:{title:"domainobjs_ts.IJsonKeyPair",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair"}},c={},a=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"cmdType",id:"cmdtype",level:3},{value:"Defined in",id:"defined-in",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,o.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,o.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonCommand"]}),"\n",(0,o.jsx)(n.h1,{id:"interface-ijsoncommand",children:"Interface: IJsonCommand"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonCommand"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.code,{children:"Notice"})})}),"\n",(0,o.jsx)(n.p,{children:"An interface representing a generic json command"}),"\n",(0,o.jsx)(n.h2,{id:"hierarchy",children:"Hierarchy"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.code,{children:"IJsonCommand"})})}),"\n",(0,o.jsxs)(n.p,{children:["\u21b3 ",(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:(0,o.jsx)(n.code,{children:"IJsonTCommand"})})]}),"\n",(0,o.jsxs)(n.p,{children:["\u21b3 ",(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:(0,o.jsx)(n.code,{children:"IJsonPCommand"})})]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,o.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand#cmdtype",children:"cmdType"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,o.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,o.jsxs)(n.p,{children:["\u2022 ",(0,o.jsx)(n.strong,{children:"cmdType"}),": ",(0,o.jsx)(n.code,{children:"string"})]}),"\n",(0,o.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L15",children:"domainobjs/ts/commands/types.ts:15"})})]})}function m(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>d});var o=s(79);const i={},t=o.createContext(i);function d(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4945],{5564:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>m,frontMatter:()=>t,metadata:()=>r,toc:()=>a});var o=s(5250),i=s(2459);const t={},d="Interface: IJsonCommand",r={id:"typedoc/interfaces/domainobjs_ts.IJsonCommand",title:"domainobjs_ts.IJsonCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonCommand",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonCommand.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonBallot",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot"},next:{title:"domainobjs_ts.IJsonKeyPair",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair"}},c={},a=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"cmdType",id:"cmdtype",level:3},{value:"Defined in",id:"defined-in",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,o.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,o.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonCommand"]}),"\n",(0,o.jsx)(n.h1,{id:"interface-ijsoncommand",children:"Interface: IJsonCommand"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonCommand"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.code,{children:"Notice"})})}),"\n",(0,o.jsx)(n.p,{children:"An interface representing a generic json command"}),"\n",(0,o.jsx)(n.h2,{id:"hierarchy",children:"Hierarchy"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.code,{children:"IJsonCommand"})})}),"\n",(0,o.jsxs)(n.p,{children:["\u21b3 ",(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:(0,o.jsx)(n.code,{children:"IJsonTCommand"})})]}),"\n",(0,o.jsxs)(n.p,{children:["\u21b3 ",(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:(0,o.jsx)(n.code,{children:"IJsonPCommand"})})]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,o.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand#cmdtype",children:"cmdType"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,o.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,o.jsxs)(n.p,{children:["\u2022 ",(0,o.jsx)(n.strong,{children:"cmdType"}),": ",(0,o.jsx)(n.code,{children:"string"})]}),"\n",(0,o.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L15",children:"domainobjs/ts/commands/types.ts:15"})})]})}function m(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>d});var o=s(79);const i={},t=o.createContext(i);function d(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/470b3110.08919469.js b/assets/js/470b3110.62a38abe.js similarity index 96% rename from assets/js/470b3110.08919469.js rename to assets/js/470b3110.62a38abe.js index 8b0fbe979d..408c5628d7 100644 --- a/assets/js/470b3110.08919469.js +++ b/assets/js/470b3110.62a38abe.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1319],{2214:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>o,frontMatter:()=>s,metadata:()=>d,toc:()=>a});var i=l(5250),n=l(2459);const s={},c="Interface: TallyData",d={id:"typedoc/interfaces/cli_ts.TallyData",title:"cli_ts.TallyData",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / cli/ts / TallyData",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.TallyData.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/cli_ts.TallyData",permalink:"/docs/typedoc/interfaces/cli_ts.TallyData",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.TallyData.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"cli_ts.PollContracts",permalink:"/docs/typedoc/interfaces/cli_ts.PollContracts"},next:{title:"core_ts.BatchSizes",permalink:"/docs/typedoc/interfaces/core_ts.BatchSizes"}},r={},a=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"maci",id:"maci",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"newTallyCommitment",id:"newtallycommitment",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"perVOSpentVoiceCredits",id:"pervospentvoicecredits",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"results",id:"results",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"totalSpentVoiceCredits",id:"totalspentvoicecredits",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Defined in",id:"defined-in-5",level:4}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"})," / TallyData"]}),"\n",(0,i.jsx)(t.h1,{id:"interface-tallydata",children:"Interface: TallyData"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"}),".TallyData"]}),"\n",(0,i.jsx)(t.p,{children:"Interface for the tally file data."}),"\n",(0,i.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#maci",children:"maci"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#newtallycommitment",children:"newTallyCommitment"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#pervospentvoicecredits",children:"perVOSpentVoiceCredits"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#pollid",children:"pollId"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#results",children:"results"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#totalspentvoicecredits",children:"totalSpentVoiceCredits"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(t.h3,{id:"maci",children:"maci"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"maci"}),": ",(0,i.jsx)(t.code,{children:"string"})]}),"\n",(0,i.jsx)(t.p,{children:"The MACI address."}),"\n",(0,i.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L33",children:"cli/ts/utils/interfaces.ts:33"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"newtallycommitment",children:"newTallyCommitment"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"newTallyCommitment"}),": ",(0,i.jsx)(t.code,{children:"string"})]}),"\n",(0,i.jsx)(t.p,{children:"The new tally commitment."}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L43",children:"cli/ts/utils/interfaces.ts:43"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"pervospentvoicecredits",children:"perVOSpentVoiceCredits"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"perVOSpentVoiceCredits"}),": ",(0,i.jsx)(t.code,{children:"Object"})]}),"\n",(0,i.jsx)(t.p,{children:"The per VO spent voice credits."}),"\n",(0,i.jsx)(t.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"commitment"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The commitment of the per VO spent voice credits."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"salt"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The salt of the per VO spent voice credits."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"tally"})}),(0,i.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,i.jsx)(t.code,{children:"string"}),"[]"]}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The tally of the per VO spent voice credits."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L88",children:"cli/ts/utils/interfaces.ts:88"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"pollid",children:"pollId"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"pollId"}),": ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.p,{children:"The ID of the poll."}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L38",children:"cli/ts/utils/interfaces.ts:38"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"results",children:"results"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"results"}),": ",(0,i.jsx)(t.code,{children:"Object"})]}),"\n",(0,i.jsx)(t.p,{children:"The results of the poll."}),"\n",(0,i.jsx)(t.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"commitment"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The commitment of the results."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"salt"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The salt of the results."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"tally"})}),(0,i.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,i.jsx)(t.code,{children:"string"}),"[]"]}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The tally of the results."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L48",children:"cli/ts/utils/interfaces.ts:48"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"totalspentvoicecredits",children:"totalSpentVoiceCredits"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"totalSpentVoiceCredits"}),": ",(0,i.jsx)(t.code,{children:"Object"})]}),"\n",(0,i.jsx)(t.p,{children:"The total spent voice credits."}),"\n",(0,i.jsx)(t.h4,{id:"type-declaration-2",children:"Type declaration"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"commitment"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The commitment of the spent voice credits."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"salt"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The salt of the spent voice credits."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"spent"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The spent voice credits."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L68",children:"cli/ts/utils/interfaces.ts:68"})})]})}function o(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},2459:(e,t,l)=>{l.d(t,{Z:()=>d,a:()=>c});var i=l(79);const n={},s=i.createContext(n);function c(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1319],{2214:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>o,frontMatter:()=>s,metadata:()=>d,toc:()=>a});var i=l(5250),n=l(2459);const s={},c="Interface: TallyData",d={id:"typedoc/interfaces/cli_ts.TallyData",title:"cli_ts.TallyData",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / cli/ts / TallyData",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.TallyData.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/cli_ts.TallyData",permalink:"/docs/typedoc/interfaces/cli_ts.TallyData",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.TallyData.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"cli_ts.PollContracts",permalink:"/docs/typedoc/interfaces/cli_ts.PollContracts"},next:{title:"core_ts.BatchSizes",permalink:"/docs/typedoc/interfaces/core_ts.BatchSizes"}},r={},a=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"maci",id:"maci",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"newTallyCommitment",id:"newtallycommitment",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"perVOSpentVoiceCredits",id:"pervospentvoicecredits",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"results",id:"results",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"totalSpentVoiceCredits",id:"totalspentvoicecredits",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Defined in",id:"defined-in-5",level:4}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"})," / TallyData"]}),"\n",(0,i.jsx)(t.h1,{id:"interface-tallydata",children:"Interface: TallyData"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"}),".TallyData"]}),"\n",(0,i.jsx)(t.p,{children:"Interface for the tally file data."}),"\n",(0,i.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#maci",children:"maci"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#newtallycommitment",children:"newTallyCommitment"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#pervospentvoicecredits",children:"perVOSpentVoiceCredits"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#pollid",children:"pollId"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#results",children:"results"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData#totalspentvoicecredits",children:"totalSpentVoiceCredits"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(t.h3,{id:"maci",children:"maci"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"maci"}),": ",(0,i.jsx)(t.code,{children:"string"})]}),"\n",(0,i.jsx)(t.p,{children:"The MACI address."}),"\n",(0,i.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L33",children:"cli/ts/utils/interfaces.ts:33"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"newtallycommitment",children:"newTallyCommitment"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"newTallyCommitment"}),": ",(0,i.jsx)(t.code,{children:"string"})]}),"\n",(0,i.jsx)(t.p,{children:"The new tally commitment."}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L43",children:"cli/ts/utils/interfaces.ts:43"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"pervospentvoicecredits",children:"perVOSpentVoiceCredits"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"perVOSpentVoiceCredits"}),": ",(0,i.jsx)(t.code,{children:"Object"})]}),"\n",(0,i.jsx)(t.p,{children:"The per VO spent voice credits."}),"\n",(0,i.jsx)(t.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"commitment"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The commitment of the per VO spent voice credits."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"salt"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The salt of the per VO spent voice credits."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"tally"})}),(0,i.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,i.jsx)(t.code,{children:"string"}),"[]"]}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The tally of the per VO spent voice credits."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L88",children:"cli/ts/utils/interfaces.ts:88"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"pollid",children:"pollId"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"pollId"}),": ",(0,i.jsx)(t.code,{children:"number"})]}),"\n",(0,i.jsx)(t.p,{children:"The ID of the poll."}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L38",children:"cli/ts/utils/interfaces.ts:38"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"results",children:"results"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"results"}),": ",(0,i.jsx)(t.code,{children:"Object"})]}),"\n",(0,i.jsx)(t.p,{children:"The results of the poll."}),"\n",(0,i.jsx)(t.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"commitment"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The commitment of the results."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"salt"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The salt of the results."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"tally"})}),(0,i.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,i.jsx)(t.code,{children:"string"}),"[]"]}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The tally of the results."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L48",children:"cli/ts/utils/interfaces.ts:48"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"totalspentvoicecredits",children:"totalSpentVoiceCredits"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"totalSpentVoiceCredits"}),": ",(0,i.jsx)(t.code,{children:"Object"})]}),"\n",(0,i.jsx)(t.p,{children:"The total spent voice credits."}),"\n",(0,i.jsx)(t.h4,{id:"type-declaration-2",children:"Type declaration"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"commitment"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The commitment of the spent voice credits."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"salt"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The salt of the spent voice credits."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"spent"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"The spent voice credits."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L68",children:"cli/ts/utils/interfaces.ts:68"})})]})}function o(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},2459:(e,t,l)=>{l.d(t,{Z:()=>d,a:()=>c});var i=l(79);const n={},s=i.createContext(n);function c(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/56d79ce0.7cb7a073.js b/assets/js/56d79ce0.fa430644.js similarity index 87% rename from assets/js/56d79ce0.7cb7a073.js rename to assets/js/56d79ce0.fa430644.js index 0272219d07..6ebc80686a 100644 --- a/assets/js/56d79ce0.7cb7a073.js +++ b/assets/js/56d79ce0.fa430644.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6201],{7156:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>c,metadata:()=>a,toc:()=>d});var i=t(5250),n=t(2459);const c={},r="Interface: BatchSizes",a={id:"typedoc/interfaces/core_ts.BatchSizes",title:"core_ts.BatchSizes",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / BatchSizes",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.BatchSizes.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.BatchSizes",permalink:"/docs/typedoc/interfaces/core_ts.BatchSizes",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.BatchSizes.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"cli_ts.TallyData",permalink:"/docs/typedoc/interfaces/cli_ts.TallyData"},next:{title:"core_ts.IJsonMaciState",permalink:"/docs/typedoc/interfaces/core_ts.IJsonMaciState"}},l={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"messageBatchSize",id:"messagebatchsize",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"subsidyBatchSize",id:"subsidybatchsize",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"tallyBatchSize",id:"tallybatchsize",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / BatchSizes"]}),"\n",(0,i.jsx)(s.h1,{id:"interface-batchsizes",children:"Interface: BatchSizes"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".BatchSizes"]}),"\n",(0,i.jsx)(s.p,{children:"This interface defines the batch sizes."}),"\n",(0,i.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes#messagebatchsize",children:"messageBatchSize"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes#subsidybatchsize",children:"subsidyBatchSize"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes#tallybatchsize",children:"tallyBatchSize"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(s.h3,{id:"messagebatchsize",children:"messageBatchSize"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"messageBatchSize"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.p,{children:"The size of the message batch."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L46",children:"core/ts/utils/types.ts:46"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidybatchsize",children:"subsidyBatchSize"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"subsidyBatchSize"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.p,{children:"The size of the subsidy batch."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L47",children:"core/ts/utils/types.ts:47"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tallybatchsize",children:"tallyBatchSize"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"tallyBatchSize"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.p,{children:"The size of the tally batch."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L45",children:"core/ts/utils/types.ts:45"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2459:(e,s,t)=>{t.d(s,{Z:()=>a,a:()=>r});var i=t(79);const n={},c=i.createContext(n);function r(e){const s=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6201],{7156:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>a,toc:()=>d});var i=t(5250),c=t(2459);const n={},r="Interface: BatchSizes",a={id:"typedoc/interfaces/core_ts.BatchSizes",title:"core_ts.BatchSizes",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / BatchSizes",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.BatchSizes.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.BatchSizes",permalink:"/docs/typedoc/interfaces/core_ts.BatchSizes",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.BatchSizes.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"cli_ts.TallyData",permalink:"/docs/typedoc/interfaces/cli_ts.TallyData"},next:{title:"core_ts.IJsonMaciState",permalink:"/docs/typedoc/interfaces/core_ts.IJsonMaciState"}},l={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"messageBatchSize",id:"messagebatchsize",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"subsidyBatchSize",id:"subsidybatchsize",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"tallyBatchSize",id:"tallybatchsize",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / BatchSizes"]}),"\n",(0,i.jsx)(s.h1,{id:"interface-batchsizes",children:"Interface: BatchSizes"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".BatchSizes"]}),"\n",(0,i.jsx)(s.p,{children:"This interface defines the batch sizes."}),"\n",(0,i.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes#messagebatchsize",children:"messageBatchSize"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes#subsidybatchsize",children:"subsidyBatchSize"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes#tallybatchsize",children:"tallyBatchSize"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(s.h3,{id:"messagebatchsize",children:"messageBatchSize"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"messageBatchSize"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.p,{children:"The size of the message batch."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L46",children:"core/ts/utils/types.ts:46"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidybatchsize",children:"subsidyBatchSize"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"subsidyBatchSize"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.p,{children:"The size of the subsidy batch."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L47",children:"core/ts/utils/types.ts:47"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tallybatchsize",children:"tallyBatchSize"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"tallyBatchSize"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.p,{children:"The size of the tally batch."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L45",children:"core/ts/utils/types.ts:45"})})]})}function h(e={}){const{wrapper:s}={...(0,c.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2459:(e,s,t)=>{t.d(s,{Z:()=>a,a:()=>r});var i=t(79);const c={},n=i.createContext(c);function r(e){const s=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:r(e.components),i.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5a23aeb8.539bc301.js b/assets/js/5a23aeb8.b357d7aa.js similarity index 92% rename from assets/js/5a23aeb8.539bc301.js rename to assets/js/5a23aeb8.b357d7aa.js index 8cbaf95385..76bd908252 100644 --- a/assets/js/5a23aeb8.539bc301.js +++ b/assets/js/5a23aeb8.b357d7aa.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2088],{5108:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var o=s(5250),t=s(2459);const i={},d="Interface: IJsonBallot",r={id:"typedoc/interfaces/domainobjs_ts.IJsonBallot",title:"domainobjs_ts.IJsonBallot",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonBallot",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonBallot.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonBallot",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonBallot.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IG2ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams"},next:{title:"domainobjs_ts.IJsonCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand"}},l={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"nonce",id:"nonce",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"voteOptionTreeDepth",id:"voteoptiontreedepth",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"votes",id:"votes",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,o.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,o.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonBallot"]}),"\n",(0,o.jsx)(n.h1,{id:"interface-ijsonballot",children:"Interface: IJsonBallot"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonBallot"]}),"\n",(0,o.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,o.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot#nonce",children:"nonce"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot#voteoptiontreedepth",children:"voteOptionTreeDepth"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot#votes",children:"votes"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,o.jsx)(n.h3,{id:"nonce",children:"nonce"}),"\n",(0,o.jsxs)(n.p,{children:["\u2022 ",(0,o.jsx)(n.strong,{children:"nonce"}),": ",(0,o.jsx)(n.code,{children:"BigNumberish"})]}),"\n",(0,o.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L88",children:"domainobjs/ts/types.ts:88"})}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsx)(n.h3,{id:"voteoptiontreedepth",children:"voteOptionTreeDepth"}),"\n",(0,o.jsxs)(n.p,{children:["\u2022 ",(0,o.jsx)(n.strong,{children:"voteOptionTreeDepth"}),": ",(0,o.jsx)(n.code,{children:"BigNumberish"})]}),"\n",(0,o.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L89",children:"domainobjs/ts/types.ts:89"})}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsx)(n.h3,{id:"votes",children:"votes"}),"\n",(0,o.jsxs)(n.p,{children:["\u2022 ",(0,o.jsx)(n.strong,{children:"votes"}),": ",(0,o.jsx)(n.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,o.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L87",children:"domainobjs/ts/types.ts:87"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>d});var o=s(79);const t={},i=o.createContext(t);function d(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2088],{5108:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var o=s(5250),t=s(2459);const i={},d="Interface: IJsonBallot",r={id:"typedoc/interfaces/domainobjs_ts.IJsonBallot",title:"domainobjs_ts.IJsonBallot",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonBallot",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonBallot.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonBallot",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonBallot.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IG2ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams"},next:{title:"domainobjs_ts.IJsonCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand"}},c={},l=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"nonce",id:"nonce",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"voteOptionTreeDepth",id:"voteoptiontreedepth",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"votes",id:"votes",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,o.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,o.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonBallot"]}),"\n",(0,o.jsx)(n.h1,{id:"interface-ijsonballot",children:"Interface: IJsonBallot"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonBallot"]}),"\n",(0,o.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,o.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot#nonce",children:"nonce"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot#voteoptiontreedepth",children:"voteOptionTreeDepth"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot#votes",children:"votes"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,o.jsx)(n.h3,{id:"nonce",children:"nonce"}),"\n",(0,o.jsxs)(n.p,{children:["\u2022 ",(0,o.jsx)(n.strong,{children:"nonce"}),": ",(0,o.jsx)(n.code,{children:"BigNumberish"})]}),"\n",(0,o.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L88",children:"domainobjs/ts/types.ts:88"})}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsx)(n.h3,{id:"voteoptiontreedepth",children:"voteOptionTreeDepth"}),"\n",(0,o.jsxs)(n.p,{children:["\u2022 ",(0,o.jsx)(n.strong,{children:"voteOptionTreeDepth"}),": ",(0,o.jsx)(n.code,{children:"BigNumberish"})]}),"\n",(0,o.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L89",children:"domainobjs/ts/types.ts:89"})}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsx)(n.h3,{id:"votes",children:"votes"}),"\n",(0,o.jsxs)(n.p,{children:["\u2022 ",(0,o.jsx)(n.strong,{children:"votes"}),": ",(0,o.jsx)(n.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,o.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L87",children:"domainobjs/ts/types.ts:87"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>d});var o=s(79);const t={},i=o.createContext(t);function d(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/65ab645f.315ea445.js b/assets/js/65ab645f.518b14af.js similarity index 95% rename from assets/js/65ab645f.315ea445.js rename to assets/js/65ab645f.518b14af.js index 60327b29a4..383ab17746 100644 --- a/assets/js/65ab645f.315ea445.js +++ b/assets/js/65ab645f.518b14af.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5627],{4718:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>d,toc:()=>a});var i=s(5250),o=s(2459);const t={},r="Interface: Proof",d={id:"typedoc/interfaces/domainobjs_ts.Proof",title:"domainobjs_ts.Proof",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / Proof",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.Proof.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.Proof",permalink:"/docs/typedoc/interfaces/domainobjs_ts.Proof",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.Proof.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IVkObjectParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams"},next:{title:"domainobjs_ts.VoteOptionTreeLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf"}},c={},a=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"a",id:"a",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"b",id:"b",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"c",id:"c",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / Proof"]}),"\n",(0,i.jsx)(n.h1,{id:"interface-proof",children:"Interface: Proof"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".Proof"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"Notice"})})}),"\n",(0,i.jsx)(n.p,{children:"An interface representing a zk-SNARK proof"}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.Proof#a",children:"a"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.Proof#b",children:"b"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.Proof#c",children:"c"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"a",children:"a"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"a"}),": ",(0,i.jsx)(n.code,{children:"G1Point"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L8",children:"domainobjs/ts/types.ts:8"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"b",children:"b"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"b"}),": ",(0,i.jsx)(n.code,{children:"G2Point"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L9",children:"domainobjs/ts/types.ts:9"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"c",children:"c"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"c"}),": ",(0,i.jsx)(n.code,{children:"G1Point"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L10",children:"domainobjs/ts/types.ts:10"})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>d,a:()=>r});var i=s(79);const o={},t=i.createContext(o);function r(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5627],{4718:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>d,toc:()=>a});var i=s(5250),o=s(2459);const t={},r="Interface: Proof",d={id:"typedoc/interfaces/domainobjs_ts.Proof",title:"domainobjs_ts.Proof",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / Proof",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.Proof.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.Proof",permalink:"/docs/typedoc/interfaces/domainobjs_ts.Proof",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.Proof.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IVkObjectParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams"},next:{title:"domainobjs_ts.VoteOptionTreeLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf"}},c={},a=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"a",id:"a",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"b",id:"b",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"c",id:"c",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / Proof"]}),"\n",(0,i.jsx)(n.h1,{id:"interface-proof",children:"Interface: Proof"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".Proof"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"Notice"})})}),"\n",(0,i.jsx)(n.p,{children:"An interface representing a zk-SNARK proof"}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.Proof#a",children:"a"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.Proof#b",children:"b"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.Proof#c",children:"c"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"a",children:"a"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"a"}),": ",(0,i.jsx)(n.code,{children:"G1Point"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L8",children:"domainobjs/ts/types.ts:8"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"b",children:"b"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"b"}),": ",(0,i.jsx)(n.code,{children:"G2Point"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L9",children:"domainobjs/ts/types.ts:9"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"c",children:"c"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"c"}),": ",(0,i.jsx)(n.code,{children:"G1Point"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L10",children:"domainobjs/ts/types.ts:10"})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>d,a:()=>r});var i=s(79);const o={},t=i.createContext(o);function r(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/682aa18e.d6c067a4.js b/assets/js/682aa18e.96de6faa.js similarity index 96% rename from assets/js/682aa18e.d6c067a4.js rename to assets/js/682aa18e.96de6faa.js index 3408d1b807..c7cb93765f 100644 --- a/assets/js/682aa18e.d6c067a4.js +++ b/assets/js/682aa18e.96de6faa.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5921],{2014:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>s,metadata:()=>o,toc:()=>p});var i=r(5250),n=r(2459);const s={},c="Interface: Keypair",o={id:"typedoc/interfaces/crypto_ts.Keypair",title:"crypto_ts.Keypair",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / Keypair",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Keypair.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/crypto_ts.Keypair",permalink:"/docs/typedoc/interfaces/crypto_ts.Keypair",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Keypair.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.TreeDepths",permalink:"/docs/typedoc/interfaces/core_ts.TreeDepths"},next:{title:"crypto_ts.PoseidonFuncs",permalink:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs"}},d={},p=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"privKey",id:"privkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / Keypair"]}),"\n",(0,i.jsx)(t.h1,{id:"interface-keypair",children:"Interface: Keypair"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".Keypair"]}),"\n",(0,i.jsx)(t.p,{children:"A private key and a public key"}),"\n",(0,i.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair#privkey",children:"privKey"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair#pubkey",children:"pubKey"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(t.h3,{id:"privkey",children:"privKey"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"privKey"}),": ",(0,i.jsx)(t.code,{children:"SnarkBigNumber"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L35",children:"crypto/ts/types.ts:35"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"pubKey"}),": ",(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,i.jsx)(t.code,{children:"PubKey"})}),"<",(0,i.jsx)(t.code,{children:"bigint"}),">"]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L36",children:"crypto/ts/types.ts:36"})})]})}function a(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,t,r)=>{r.d(t,{Z:()=>o,a:()=>c});var i=r(79);const n={},s=i.createContext(n);function c(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5921],{2014:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>s,metadata:()=>o,toc:()=>p});var i=r(5250),n=r(2459);const s={},c="Interface: Keypair",o={id:"typedoc/interfaces/crypto_ts.Keypair",title:"crypto_ts.Keypair",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / Keypair",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Keypair.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/crypto_ts.Keypair",permalink:"/docs/typedoc/interfaces/crypto_ts.Keypair",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Keypair.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.TreeDepths",permalink:"/docs/typedoc/interfaces/core_ts.TreeDepths"},next:{title:"crypto_ts.PoseidonFuncs",permalink:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs"}},d={},p=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"privKey",id:"privkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / Keypair"]}),"\n",(0,i.jsx)(t.h1,{id:"interface-keypair",children:"Interface: Keypair"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".Keypair"]}),"\n",(0,i.jsx)(t.p,{children:"A private key and a public key"}),"\n",(0,i.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair#privkey",children:"privKey"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair#pubkey",children:"pubKey"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(t.h3,{id:"privkey",children:"privKey"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"privKey"}),": ",(0,i.jsx)(t.code,{children:"SnarkBigNumber"})]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L35",children:"crypto/ts/types.ts:35"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,i.jsxs)(t.p,{children:["\u2022 ",(0,i.jsx)(t.strong,{children:"pubKey"}),": ",(0,i.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,i.jsx)(t.code,{children:"PubKey"})}),"<",(0,i.jsx)(t.code,{children:"bigint"}),">"]}),"\n",(0,i.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L36",children:"crypto/ts/types.ts:36"})})]})}function a(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,t,r)=>{r.d(t,{Z:()=>o,a:()=>c});var i=r(79);const n={},s=i.createContext(n);function c(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6d6942ad.ead8d5f9.js b/assets/js/6d6942ad.0f34f272.js similarity index 96% rename from assets/js/6d6942ad.ead8d5f9.js rename to assets/js/6d6942ad.0f34f272.js index f1f0782001..5d599d6dfc 100644 --- a/assets/js/6d6942ad.ead8d5f9.js +++ b/assets/js/6d6942ad.0f34f272.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[535],{5805:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>r});var d=s(5250),i=s(2459);const t={},o="Class: TCommand",l={id:"typedoc/classes/domainobjs_ts.TCommand",title:"domainobjs_ts.TCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / TCommand",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.TCommand.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.TCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.TCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.TCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.StateLeaf",permalink:"/docs/typedoc/classes/domainobjs_ts.StateLeaf"},next:{title:"domainobjs_ts.VerifyingKey",permalink:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey"}},c={},r=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"amount",id:"amount",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"cmdType",id:"cmdtype",level:3},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"stateIndex",id:"stateindex",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"Methods",id:"methods-1",level:2},{value:"copy",id:"copy",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-8",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / TCommand"]}),"\n",(0,d.jsx)(n.h1,{id:"class-tcommand",children:"Class: TCommand"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".TCommand"]}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Command for submitting a topup request"}),"\n",(0,d.jsx)(n.h2,{id:"implements",children:"Implements"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:(0,d.jsx)(n.code,{children:"ICommand"})})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(n.h3,{id:"constructors",children:"Constructors"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#constructor",children:"constructor"})}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#amount",children:"amount"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#cmdtype",children:"cmdType"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#pollid",children:"pollId"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#stateindex",children:"stateIndex"})}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"methods",children:"Methods"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#copy",children:"copy"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#equals",children:"equals"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#tojson",children:"toJSON"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,d.jsx)(n.h3,{id:"constructor",children:"constructor"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"new TCommand"}),"(",(0,d.jsx)(n.code,{children:"stateIndex"}),", ",(0,d.jsx)(n.code,{children:"amount"}),", ",(0,d.jsx)(n.code,{children:"pollId"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Create a new TCommand"}),"\n",(0,d.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"stateIndex"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the state index of the user"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"amount"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the amount of voice credits"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"pollId"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the poll ID"})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/TCommand.ts#L21",children:"domainobjs/ts/commands/TCommand.ts:21"})}),"\n",(0,d.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,d.jsx)(n.h3,{id:"amount",children:"amount"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"amount"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/TCommand.ts#L11",children:"domainobjs/ts/commands/TCommand.ts:11"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"cmdType"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#cmdtype",children:"cmdType"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/TCommand.ts#L7",children:"domainobjs/ts/commands/TCommand.ts:7"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"pollid",children:"pollId"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"pollId"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/TCommand.ts#L13",children:"domainobjs/ts/commands/TCommand.ts:13"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"stateindex",children:"stateIndex"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"stateIndex"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/TCommand.ts#L9",children:"domainobjs/ts/commands/TCommand.ts:9"})}),"\n",(0,d.jsx)(n.h2,{id:"methods-1",children:"Methods"}),"\n",(0,d.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"copy"}),"<",(0,d.jsx)(n.code,{children:"T"}),">(): ",(0,d.jsx)(n.code,{children:"T"})]}),"\n",(0,d.jsx)(n.p,{children:"Create a deep clone of this TCommand"}),"\n",(0,d.jsx)(n.h4,{id:"type-parameters",children:"Type parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:["extends ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})]})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"T"})}),"\n",(0,d.jsx)(n.p,{children:"a copy of the TCommand"}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#copy",children:"copy"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/TCommand.ts#L32",children:"domainobjs/ts/commands/TCommand.ts:32"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"equals"}),"(",(0,d.jsx)(n.code,{children:"command"}),"): ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.p,{children:"Check whether this command has deep equivalence to another command"}),"\n",(0,d.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"command"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the command to compare with"})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"boolean"})}),"\n",(0,d.jsx)(n.p,{children:"whether they are equal or not"}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#equals",children:"equals"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/TCommand.ts#L39",children:"domainobjs/ts/commands/TCommand.ts:39"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"tojson",children:"toJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"toJSON"}),"(): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:(0,d.jsx)(n.code,{children:"IJsonTCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Serialize into a JSON object"}),"\n",(0,d.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:(0,d.jsx)(n.code,{children:"IJsonTCommand"})})}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#tojson",children:"toJSON"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/TCommand.ts#L48",children:"domainobjs/ts/commands/TCommand.ts:48"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"fromJSON"}),"(",(0,d.jsx)(n.code,{children:"json"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Deserialize into a TCommand object"}),"\n",(0,d.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"json"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:(0,d.jsx)(n.code,{children:"IJsonTCommand"})})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the json representation"})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})}),"\n",(0,d.jsx)(n.p,{children:"the TCommand instance"}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/TCommand.ts#L62",children:"domainobjs/ts/commands/TCommand.ts:62"})})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>o});var d=s(79);const i={},t=d.createContext(i);function o(e){const n=d.useContext(t);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[535],{5805:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>r});var d=s(5250),i=s(2459);const t={},o="Class: TCommand",l={id:"typedoc/classes/domainobjs_ts.TCommand",title:"domainobjs_ts.TCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / TCommand",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.TCommand.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.TCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.TCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.TCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.StateLeaf",permalink:"/docs/typedoc/classes/domainobjs_ts.StateLeaf"},next:{title:"domainobjs_ts.VerifyingKey",permalink:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey"}},c={},r=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"amount",id:"amount",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"cmdType",id:"cmdtype",level:3},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"stateIndex",id:"stateindex",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"Methods",id:"methods-1",level:2},{value:"copy",id:"copy",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-8",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / TCommand"]}),"\n",(0,d.jsx)(n.h1,{id:"class-tcommand",children:"Class: TCommand"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".TCommand"]}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.strong,{children:(0,d.jsx)(n.code,{children:"Notice"})})}),"\n",(0,d.jsx)(n.p,{children:"Command for submitting a topup request"}),"\n",(0,d.jsx)(n.h2,{id:"implements",children:"Implements"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:(0,d.jsx)(n.code,{children:"ICommand"})})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(n.h3,{id:"constructors",children:"Constructors"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#constructor",children:"constructor"})}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#amount",children:"amount"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#cmdtype",children:"cmdType"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#pollid",children:"pollId"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#stateindex",children:"stateIndex"})}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"methods",children:"Methods"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#copy",children:"copy"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#equals",children:"equals"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#tojson",children:"toJSON"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,d.jsx)(n.h3,{id:"constructor",children:"constructor"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"new TCommand"}),"(",(0,d.jsx)(n.code,{children:"stateIndex"}),", ",(0,d.jsx)(n.code,{children:"amount"}),", ",(0,d.jsx)(n.code,{children:"pollId"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Create a new TCommand"}),"\n",(0,d.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"stateIndex"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the state index of the user"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"amount"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the amount of voice credits"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"pollId"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"bigint"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the poll ID"})]})]})]}),"\n",(0,d.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})}),"\n",(0,d.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/TCommand.ts#L21",children:"domainobjs/ts/commands/TCommand.ts:21"})}),"\n",(0,d.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,d.jsx)(n.h3,{id:"amount",children:"amount"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"amount"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/TCommand.ts#L11",children:"domainobjs/ts/commands/TCommand.ts:11"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"cmdType"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#cmdtype",children:"cmdType"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/TCommand.ts#L7",children:"domainobjs/ts/commands/TCommand.ts:7"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"pollid",children:"pollId"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"pollId"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/TCommand.ts#L13",children:"domainobjs/ts/commands/TCommand.ts:13"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"stateindex",children:"stateIndex"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"stateIndex"}),": ",(0,d.jsx)(n.code,{children:"bigint"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/TCommand.ts#L9",children:"domainobjs/ts/commands/TCommand.ts:9"})}),"\n",(0,d.jsx)(n.h2,{id:"methods-1",children:"Methods"}),"\n",(0,d.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"copy"}),"<",(0,d.jsx)(n.code,{children:"T"}),">(): ",(0,d.jsx)(n.code,{children:"T"})]}),"\n",(0,d.jsx)(n.p,{children:"Create a deep clone of this TCommand"}),"\n",(0,d.jsx)(n.h4,{id:"type-parameters",children:"Type parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"T"})}),(0,d.jsxs)(n.td,{style:{textAlign:"left"},children:["extends ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})]})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"T"})}),"\n",(0,d.jsx)(n.p,{children:"a copy of the TCommand"}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#copy",children:"copy"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/TCommand.ts#L32",children:"domainobjs/ts/commands/TCommand.ts:32"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"equals"}),"(",(0,d.jsx)(n.code,{children:"command"}),"): ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n",(0,d.jsx)(n.p,{children:"Check whether this command has deep equivalence to another command"}),"\n",(0,d.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"command"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the command to compare with"})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"boolean"})}),"\n",(0,d.jsx)(n.p,{children:"whether they are equal or not"}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#equals",children:"equals"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/TCommand.ts#L39",children:"domainobjs/ts/commands/TCommand.ts:39"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"tojson",children:"toJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"toJSON"}),"(): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:(0,d.jsx)(n.code,{children:"IJsonTCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Serialize into a JSON object"}),"\n",(0,d.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:(0,d.jsx)(n.code,{children:"IJsonTCommand"})})}),"\n",(0,d.jsx)(n.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"}),".",(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand#tojson",children:"toJSON"})]}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/TCommand.ts#L48",children:"domainobjs/ts/commands/TCommand.ts:48"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,d.jsxs)(n.p,{children:["\u25b8 ",(0,d.jsx)(n.strong,{children:"fromJSON"}),"(",(0,d.jsx)(n.code,{children:"json"}),"): ",(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})]}),"\n",(0,d.jsx)(n.p,{children:"Deserialize into a TCommand object"}),"\n",(0,d.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.code,{children:"json"})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:(0,d.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:(0,d.jsx)(n.code,{children:"IJsonTCommand"})})}),(0,d.jsx)(n.td,{style:{textAlign:"left"},children:"the json representation"})]})})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:(0,d.jsx)(n.code,{children:"TCommand"})})}),"\n",(0,d.jsx)(n.p,{children:"the TCommand instance"}),"\n",(0,d.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/TCommand.ts#L62",children:"domainobjs/ts/commands/TCommand.ts:62"})})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>o});var d=s(79);const i={},t=d.createContext(i);function o(e){const n=d.useContext(t);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7119e90a.66401241.js b/assets/js/7119e90a.06ca4cf3.js similarity index 95% rename from assets/js/7119e90a.66401241.js rename to assets/js/7119e90a.06ca4cf3.js index 94c5b52f6b..cf53a81499 100644 --- a/assets/js/7119e90a.66401241.js +++ b/assets/js/7119e90a.06ca4cf3.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5363],{4502:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var l=n(5250),t=n(2459);const i={},d="Class: Ballot",o={id:"typedoc/classes/domainobjs_ts.Ballot",title:"domainobjs_ts.Ballot",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / Ballot",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Ballot.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.Ballot",permalink:"/docs/typedoc/classes/domainobjs_ts.Ballot",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Ballot.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.IncrementalQuinTree",permalink:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree"},next:{title:"domainobjs_ts.Keypair",permalink:"/docs/typedoc/classes/domainobjs_ts.Keypair"}},r={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"nonce",id:"nonce",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"voteOptionTreeDepth",id:"voteoptiontreedepth",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"votes",id:"votes",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"hash",id:"hash",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"genBlankBallot",id:"genblankballot",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"genRandomBallot",id:"genrandomballot",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-12",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,l.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,l.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / Ballot"]}),"\n",(0,l.jsx)(s.h1,{id:"class-ballot",children:"Class: Ballot"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".Ballot"]}),"\n",(0,l.jsx)(s.p,{children:"A Ballot represents a User's votes in a Poll, as well as their next valid\nnonce."}),"\n",(0,l.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,l.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#constructor",children:"constructor"})}),"\n"]}),"\n",(0,l.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#nonce",children:"nonce"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#voteoptiontreedepth",children:"voteOptionTreeDepth"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#votes",children:"votes"})}),"\n"]}),"\n",(0,l.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#asarray",children:"asArray"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#copy",children:"copy"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#equals",children:"equals"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#hash",children:"hash"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#tojson",children:"toJSON"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#fromjson",children:"fromJSON"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#genblankballot",children:"genBlankBallot"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#genrandomballot",children:"genRandomBallot"})}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,l.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,l.jsxs)(s.p,{children:["\u2022 ",(0,l.jsx)(s.strong,{children:"new Ballot"}),"(",(0,l.jsx)(s.code,{children:"_numVoteOptions"}),", ",(0,l.jsx)(s.code,{children:"_voteOptionTreeDepth"}),"): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Create a new Ballot instance"}),"\n",(0,l.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(s.tbody,{children:[(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"_numVoteOptions"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How many vote options are available in the poll"})]}),(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"_voteOptionTreeDepth"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"The depth of the merkle tree holding the vote options"})]})]})]}),"\n",(0,l.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L23",children:"domainobjs/ts/ballot.ts:23"})}),"\n",(0,l.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,l.jsx)(s.h3,{id:"nonce",children:"nonce"}),"\n",(0,l.jsxs)(s.p,{children:["\u2022 ",(0,l.jsx)(s.strong,{children:"nonce"}),": ",(0,l.jsx)(s.code,{children:"bigint"})]}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L14",children:"domainobjs/ts/ballot.ts:14"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"voteoptiontreedepth",children:"voteOptionTreeDepth"}),"\n",(0,l.jsxs)(s.p,{children:["\u2022 ",(0,l.jsx)(s.strong,{children:"voteOptionTreeDepth"}),": ",(0,l.jsx)(s.code,{children:"number"})]}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L16",children:"domainobjs/ts/ballot.ts:16"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"votes",children:"votes"}),"\n",(0,l.jsxs)(s.p,{children:["\u2022 ",(0,l.jsx)(s.strong,{children:"votes"}),": ",(0,l.jsx)(s.code,{children:"bigint"}),"[] = ",(0,l.jsx)(s.code,{children:"[]"})]}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L12",children:"domainobjs/ts/ballot.ts:12"})}),"\n",(0,l.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,l.jsx)(s.h3,{id:"asarray",children:"asArray"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"asArray"}),"(): ",(0,l.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,l.jsx)(s.p,{children:"Convert in a an array of bigints"}),"\n",(0,l.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,l.jsx)(s.p,{children:"the ballot as a bigint array"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.strong,{children:(0,l.jsx)(s.code,{children:"Notice"})})}),"\n",(0,l.jsx)(s.p,{children:"this is the nonce and the root of the vote option tree"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L52",children:"domainobjs/ts/ballot.ts:52"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"asCircuitInputs"}),"(): ",(0,l.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,l.jsx)(s.p,{children:"Convert in a format suitable for the circuit"}),"\n",(0,l.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,l.jsx)(s.p,{children:"the ballot as a BigInt array"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L45",children:"domainobjs/ts/ballot.ts:45"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"copy"}),"(): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Create a deep clone of this Ballot"}),"\n",(0,l.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.p,{children:"a copy of the ballot"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L68",children:"domainobjs/ts/ballot.ts:68"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"equals"}),"(",(0,l.jsx)(s.code,{children:"b"}),"): ",(0,l.jsx)(s.code,{children:"boolean"})]}),"\n",(0,l.jsx)(s.p,{children:"Check if two ballots are equal (same votes and same nonce)"}),"\n",(0,l.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(s.tbody,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"b"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"The ballot to compare with"})]})})]}),"\n",(0,l.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.code,{children:"boolean"})}),"\n",(0,l.jsx)(s.p,{children:"whether the two ballots are equal"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L81",children:"domainobjs/ts/ballot.ts:81"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"hash"}),"(): ",(0,l.jsx)(s.code,{children:"bigint"})]}),"\n",(0,l.jsx)(s.p,{children:"Generate an hash of this ballot"}),"\n",(0,l.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.code,{children:"bigint"})}),"\n",(0,l.jsx)(s.p,{children:"The hash of the ballot"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L36",children:"domainobjs/ts/ballot.ts:36"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",children:(0,l.jsx)(s.code,{children:"IJsonBallot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Serialize to a JSON object"}),"\n",(0,l.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",children:(0,l.jsx)(s.code,{children:"IJsonBallot"})})}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L112",children:"domainobjs/ts/ballot.ts:112"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"fromJSON"}),"(",(0,l.jsx)(s.code,{children:"json"}),"): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Deserialize into a Ballot instance"}),"\n",(0,l.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(s.tbody,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"json"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",children:(0,l.jsx)(s.code,{children:"IJsonBallot"})})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"the json representation"})]})})]}),"\n",(0,l.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.p,{children:"the deserialized object as a Ballot instance"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L125",children:"domainobjs/ts/ballot.ts:125"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"genblankballot",children:"genBlankBallot"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"genBlankBallot"}),"(",(0,l.jsx)(s.code,{children:"numVoteOptions"}),", ",(0,l.jsx)(s.code,{children:"voteOptionTreeDepth"}),"): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Generate a blank ballot"}),"\n",(0,l.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(s.tbody,{children:[(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"numVoteOptions"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How many vote options are available"})]}),(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"voteOptionTreeDepth"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How deep is the merkle tree holding the vote options"})]})]})]}),"\n",(0,l.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.p,{children:"a Blank Ballot object"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L104",children:"domainobjs/ts/ballot.ts:104"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"genrandomballot",children:"genRandomBallot"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"genRandomBallot"}),"(",(0,l.jsx)(s.code,{children:"numVoteOptions"}),", ",(0,l.jsx)(s.code,{children:"voteOptionTreeDepth"}),"): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Generate a random ballot"}),"\n",(0,l.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(s.tbody,{children:[(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"numVoteOptions"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How many vote options are available"})]}),(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"voteOptionTreeDepth"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How deep is the merkle tree holding the vote options"})]})]})]}),"\n",(0,l.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.p,{children:"a random Ballot"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/ballot.ts#L92",children:"domainobjs/ts/ballot.ts:92"})})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>o,a:()=>d});var l=n(79);const t={},i=l.createContext(t);function d(e){const s=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),l.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5363],{4502:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var l=n(5250),t=n(2459);const i={},d="Class: Ballot",o={id:"typedoc/classes/domainobjs_ts.Ballot",title:"domainobjs_ts.Ballot",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / Ballot",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Ballot.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.Ballot",permalink:"/docs/typedoc/classes/domainobjs_ts.Ballot",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.Ballot.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.IncrementalQuinTree",permalink:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree"},next:{title:"domainobjs_ts.Keypair",permalink:"/docs/typedoc/classes/domainobjs_ts.Keypair"}},r={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"nonce",id:"nonce",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"voteOptionTreeDepth",id:"voteoptiontreedepth",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"votes",id:"votes",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"hash",id:"hash",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"genBlankBallot",id:"genblankballot",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"genRandomBallot",id:"genrandomballot",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-12",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,l.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,l.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / Ballot"]}),"\n",(0,l.jsx)(s.h1,{id:"class-ballot",children:"Class: Ballot"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".Ballot"]}),"\n",(0,l.jsx)(s.p,{children:"A Ballot represents a User's votes in a Poll, as well as their next valid\nnonce."}),"\n",(0,l.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,l.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#constructor",children:"constructor"})}),"\n"]}),"\n",(0,l.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#nonce",children:"nonce"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#voteoptiontreedepth",children:"voteOptionTreeDepth"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#votes",children:"votes"})}),"\n"]}),"\n",(0,l.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#asarray",children:"asArray"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#copy",children:"copy"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#equals",children:"equals"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#hash",children:"hash"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#tojson",children:"toJSON"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#fromjson",children:"fromJSON"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#genblankballot",children:"genBlankBallot"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot#genrandomballot",children:"genRandomBallot"})}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,l.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,l.jsxs)(s.p,{children:["\u2022 ",(0,l.jsx)(s.strong,{children:"new Ballot"}),"(",(0,l.jsx)(s.code,{children:"_numVoteOptions"}),", ",(0,l.jsx)(s.code,{children:"_voteOptionTreeDepth"}),"): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Create a new Ballot instance"}),"\n",(0,l.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(s.tbody,{children:[(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"_numVoteOptions"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How many vote options are available in the poll"})]}),(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"_voteOptionTreeDepth"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"The depth of the merkle tree holding the vote options"})]})]})]}),"\n",(0,l.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L23",children:"domainobjs/ts/ballot.ts:23"})}),"\n",(0,l.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,l.jsx)(s.h3,{id:"nonce",children:"nonce"}),"\n",(0,l.jsxs)(s.p,{children:["\u2022 ",(0,l.jsx)(s.strong,{children:"nonce"}),": ",(0,l.jsx)(s.code,{children:"bigint"})]}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L14",children:"domainobjs/ts/ballot.ts:14"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"voteoptiontreedepth",children:"voteOptionTreeDepth"}),"\n",(0,l.jsxs)(s.p,{children:["\u2022 ",(0,l.jsx)(s.strong,{children:"voteOptionTreeDepth"}),": ",(0,l.jsx)(s.code,{children:"number"})]}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L16",children:"domainobjs/ts/ballot.ts:16"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"votes",children:"votes"}),"\n",(0,l.jsxs)(s.p,{children:["\u2022 ",(0,l.jsx)(s.strong,{children:"votes"}),": ",(0,l.jsx)(s.code,{children:"bigint"}),"[] = ",(0,l.jsx)(s.code,{children:"[]"})]}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L12",children:"domainobjs/ts/ballot.ts:12"})}),"\n",(0,l.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,l.jsx)(s.h3,{id:"asarray",children:"asArray"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"asArray"}),"(): ",(0,l.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,l.jsx)(s.p,{children:"Convert in a an array of bigints"}),"\n",(0,l.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,l.jsx)(s.p,{children:"the ballot as a bigint array"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.strong,{children:(0,l.jsx)(s.code,{children:"Notice"})})}),"\n",(0,l.jsx)(s.p,{children:"this is the nonce and the root of the vote option tree"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L52",children:"domainobjs/ts/ballot.ts:52"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"asCircuitInputs"}),"(): ",(0,l.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,l.jsx)(s.p,{children:"Convert in a format suitable for the circuit"}),"\n",(0,l.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,l.jsx)(s.p,{children:"the ballot as a BigInt array"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L45",children:"domainobjs/ts/ballot.ts:45"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"copy"}),"(): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Create a deep clone of this Ballot"}),"\n",(0,l.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.p,{children:"a copy of the ballot"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L68",children:"domainobjs/ts/ballot.ts:68"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"equals"}),"(",(0,l.jsx)(s.code,{children:"b"}),"): ",(0,l.jsx)(s.code,{children:"boolean"})]}),"\n",(0,l.jsx)(s.p,{children:"Check if two ballots are equal (same votes and same nonce)"}),"\n",(0,l.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(s.tbody,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"b"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"The ballot to compare with"})]})})]}),"\n",(0,l.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.code,{children:"boolean"})}),"\n",(0,l.jsx)(s.p,{children:"whether the two ballots are equal"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L81",children:"domainobjs/ts/ballot.ts:81"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"hash"}),"(): ",(0,l.jsx)(s.code,{children:"bigint"})]}),"\n",(0,l.jsx)(s.p,{children:"Generate an hash of this ballot"}),"\n",(0,l.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.code,{children:"bigint"})}),"\n",(0,l.jsx)(s.p,{children:"The hash of the ballot"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L36",children:"domainobjs/ts/ballot.ts:36"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",children:(0,l.jsx)(s.code,{children:"IJsonBallot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Serialize to a JSON object"}),"\n",(0,l.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",children:(0,l.jsx)(s.code,{children:"IJsonBallot"})})}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L112",children:"domainobjs/ts/ballot.ts:112"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"fromJSON"}),"(",(0,l.jsx)(s.code,{children:"json"}),"): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Deserialize into a Ballot instance"}),"\n",(0,l.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(s.tbody,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"json"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",children:(0,l.jsx)(s.code,{children:"IJsonBallot"})})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"the json representation"})]})})]}),"\n",(0,l.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.p,{children:"the deserialized object as a Ballot instance"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L125",children:"domainobjs/ts/ballot.ts:125"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"genblankballot",children:"genBlankBallot"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"genBlankBallot"}),"(",(0,l.jsx)(s.code,{children:"numVoteOptions"}),", ",(0,l.jsx)(s.code,{children:"voteOptionTreeDepth"}),"): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Generate a blank ballot"}),"\n",(0,l.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(s.tbody,{children:[(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"numVoteOptions"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How many vote options are available"})]}),(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"voteOptionTreeDepth"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How deep is the merkle tree holding the vote options"})]})]})]}),"\n",(0,l.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.p,{children:"a Blank Ballot object"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L104",children:"domainobjs/ts/ballot.ts:104"})}),"\n",(0,l.jsx)(s.hr,{}),"\n",(0,l.jsx)(s.h3,{id:"genrandomballot",children:"genRandomBallot"}),"\n",(0,l.jsxs)(s.p,{children:["\u25b8 ",(0,l.jsx)(s.strong,{children:"genRandomBallot"}),"(",(0,l.jsx)(s.code,{children:"numVoteOptions"}),", ",(0,l.jsx)(s.code,{children:"voteOptionTreeDepth"}),"): ",(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})]}),"\n",(0,l.jsx)(s.p,{children:"Generate a random ballot"}),"\n",(0,l.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(s.tbody,{children:[(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"numVoteOptions"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How many vote options are available"})]}),(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"voteOptionTreeDepth"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:(0,l.jsx)(s.code,{children:"number"})}),(0,l.jsx)(s.td,{style:{textAlign:"left"},children:"How deep is the merkle tree holding the vote options"})]})]})]}),"\n",(0,l.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:(0,l.jsx)(s.code,{children:"Ballot"})})}),"\n",(0,l.jsx)(s.p,{children:"a random Ballot"}),"\n",(0,l.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/ballot.ts#L92",children:"domainobjs/ts/ballot.ts:92"})})]})}function h(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>o,a:()=>d});var l=n(79);const t={},i=l.createContext(t);function d(e){const s=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),l.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/721ed18f.0dea355e.js b/assets/js/721ed18f.e8dbea04.js similarity index 95% rename from assets/js/721ed18f.0dea355e.js rename to assets/js/721ed18f.e8dbea04.js index 63c082f2db..ad2040fff6 100644 --- a/assets/js/721ed18f.0dea355e.js +++ b/assets/js/721ed18f.e8dbea04.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2118],{4116:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var s=n(5250),i=n(2459);const r={},c="Interface: Queue",o={id:"typedoc/interfaces/crypto_ts.Queue",title:"crypto_ts.Queue",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / Queue",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Queue.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/crypto_ts.Queue",permalink:"/docs/typedoc/interfaces/crypto_ts.Queue",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Queue.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.PoseidonFuncs",permalink:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs"},next:{title:"crypto_ts.Signature",permalink:"/docs/typedoc/interfaces/crypto_ts.Signature"}},d={},l=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"indices",id:"indices",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"levels",id:"levels",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function p(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / Queue"]}),"\n",(0,s.jsx)(t.h1,{id:"interface-queue",children:"Interface: Queue"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".Queue"]}),"\n",(0,s.jsx)(t.p,{children:"A acc queue"}),"\n",(0,s.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue#indices",children:"indices"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue#levels",children:"levels"})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(t.h3,{id:"indices",children:"indices"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"indices"}),": ",(0,s.jsx)(t.code,{children:"number"}),"[]"]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L28",children:"crypto/ts/types.ts:28"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"levels",children:"levels"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"levels"}),": ",(0,s.jsx)(t.code,{children:"bigint"}),"[][]"]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L27",children:"crypto/ts/types.ts:27"})})]})}function a(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>c});var s=n(79);const i={},r=s.createContext(i);function c(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2118],{4116:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var s=n(5250),i=n(2459);const r={},c="Interface: Queue",o={id:"typedoc/interfaces/crypto_ts.Queue",title:"crypto_ts.Queue",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / Queue",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Queue.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/crypto_ts.Queue",permalink:"/docs/typedoc/interfaces/crypto_ts.Queue",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Queue.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.PoseidonFuncs",permalink:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs"},next:{title:"crypto_ts.Signature",permalink:"/docs/typedoc/interfaces/crypto_ts.Signature"}},d={},l=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"indices",id:"indices",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"levels",id:"levels",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function p(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / Queue"]}),"\n",(0,s.jsx)(t.h1,{id:"interface-queue",children:"Interface: Queue"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".Queue"]}),"\n",(0,s.jsx)(t.p,{children:"A acc queue"}),"\n",(0,s.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue#indices",children:"indices"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue#levels",children:"levels"})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(t.h3,{id:"indices",children:"indices"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"indices"}),": ",(0,s.jsx)(t.code,{children:"number"}),"[]"]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L28",children:"crypto/ts/types.ts:28"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"levels",children:"levels"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"levels"}),": ",(0,s.jsx)(t.code,{children:"bigint"}),"[][]"]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L27",children:"crypto/ts/types.ts:27"})})]})}function a(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>c});var s=n(79);const i={},r=s.createContext(i);function c(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7242abcf.c5c50616.js b/assets/js/7242abcf.73daa837.js similarity index 92% rename from assets/js/7242abcf.c5c50616.js rename to assets/js/7242abcf.73daa837.js index ade7994def..242dc39be8 100644 --- a/assets/js/7242abcf.c5c50616.js +++ b/assets/js/7242abcf.73daa837.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7599],{6172:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var n=i(5250),s=i(2459);const r={},l="Interface: ITallyCircuitInputs",c={id:"typedoc/interfaces/core_ts.ITallyCircuitInputs",title:"core_ts.ITallyCircuitInputs",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / ITallyCircuitInputs",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.ITallyCircuitInputs.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.ITallyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.ITallyCircuitInputs.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.ISubsidyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs"},next:{title:"core_ts.MaxValues",permalink:"/docs/typedoc/interfaces/core_ts.MaxValues"}},d={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"ballotPathElements",id:"ballotpathelements",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"ballotRoot",id:"ballotroot",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"ballots",id:"ballots",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"currentPerVOSpentVoiceCredits",id:"currentpervospentvoicecredits",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"currentPerVOSpentVoiceCreditsRootSalt",id:"currentpervospentvoicecreditsrootsalt",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"currentResults",id:"currentresults",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"currentResultsRootSalt",id:"currentresultsrootsalt",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"currentSpentVoiceCreditSubtotal",id:"currentspentvoicecreditsubtotal",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"currentSpentVoiceCreditSubtotalSalt",id:"currentspentvoicecreditsubtotalsalt",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"currentTallyCommitment",id:"currenttallycommitment",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"inputHash",id:"inputhash",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"newPerVOSpentVoiceCreditsRootSalt",id:"newpervospentvoicecreditsrootsalt",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"newResultsRootSalt",id:"newresultsrootsalt",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"newSpentVoiceCreditSubtotalSalt",id:"newspentvoicecreditsubtotalsalt",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"newTallyCommitment",id:"newtallycommitment",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"packedVals",id:"packedvals",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"sbCommitment",id:"sbcommitment",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"sbSalt",id:"sbsalt",level:3},{value:"Defined in",id:"defined-in-17",level:4},{value:"stateRoot",id:"stateroot",level:3},{value:"Defined in",id:"defined-in-18",level:4},{value:"votes",id:"votes",level:3},{value:"Defined in",id:"defined-in-19",level:4}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / ITallyCircuitInputs"]}),"\n",(0,n.jsx)(t.h1,{id:"interface-itallycircuitinputs",children:"Interface: ITallyCircuitInputs"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".ITallyCircuitInputs"]}),"\n",(0,n.jsx)(t.p,{children:"An interface describing the circuit inputs to the TallyVotes circuit"}),"\n",(0,n.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#ballotpathelements",children:"ballotPathElements"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#ballotroot",children:"ballotRoot"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#ballots",children:"ballots"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentpervospentvoicecredits",children:"currentPerVOSpentVoiceCredits"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentpervospentvoicecreditsrootsalt",children:"currentPerVOSpentVoiceCreditsRootSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentresults",children:"currentResults"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentresultsrootsalt",children:"currentResultsRootSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentspentvoicecreditsubtotal",children:"currentSpentVoiceCreditSubtotal"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentspentvoicecreditsubtotalsalt",children:"currentSpentVoiceCreditSubtotalSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currenttallycommitment",children:"currentTallyCommitment"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#inputhash",children:"inputHash"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#newpervospentvoicecreditsrootsalt",children:"newPerVOSpentVoiceCreditsRootSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#newresultsrootsalt",children:"newResultsRootSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#newspentvoicecreditsubtotalsalt",children:"newSpentVoiceCreditSubtotalSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#newtallycommitment",children:"newTallyCommitment"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#packedvals",children:"packedVals"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#sbcommitment",children:"sbCommitment"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#sbsalt",children:"sbSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#stateroot",children:"stateRoot"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#votes",children:"votes"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(t.h3,{id:"ballotpathelements",children:"ballotPathElements"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"ballotPathElements"}),": ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts#pathelements",children:(0,n.jsx)(t.code,{children:"PathElements"})})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L189",children:"core/ts/utils/types.ts:189"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"ballotroot",children:"ballotRoot"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"ballotRoot"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L181",children:"core/ts/utils/types.ts:181"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"ballots",children:"ballots"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"ballots"}),": ",(0,n.jsx)(t.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L188",children:"core/ts/utils/types.ts:188"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentpervospentvoicecredits",children:"currentPerVOSpentVoiceCredits"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentPerVOSpentVoiceCredits"}),": ",(0,n.jsx)(t.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L195",children:"core/ts/utils/types.ts:195"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentpervospentvoicecreditsrootsalt",children:"currentPerVOSpentVoiceCreditsRootSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentPerVOSpentVoiceCreditsRootSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L196",children:"core/ts/utils/types.ts:196"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentresults",children:"currentResults"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentResults"}),": ",(0,n.jsx)(t.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L191",children:"core/ts/utils/types.ts:191"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentresultsrootsalt",children:"currentResultsRootSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentResultsRootSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L192",children:"core/ts/utils/types.ts:192"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentspentvoicecreditsubtotal",children:"currentSpentVoiceCreditSubtotal"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentSpentVoiceCreditSubtotal"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L193",children:"core/ts/utils/types.ts:193"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentspentvoicecreditsubtotalsalt",children:"currentSpentVoiceCreditSubtotalSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentSpentVoiceCreditSubtotalSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L194",children:"core/ts/utils/types.ts:194"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currenttallycommitment",children:"currentTallyCommitment"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentTallyCommitment"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L184",children:"core/ts/utils/types.ts:184"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"inputhash",children:"inputHash"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"inputHash"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L187",children:"core/ts/utils/types.ts:187"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"newpervospentvoicecreditsrootsalt",children:"newPerVOSpentVoiceCreditsRootSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"newPerVOSpentVoiceCreditsRootSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L198",children:"core/ts/utils/types.ts:198"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"newresultsrootsalt",children:"newResultsRootSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"newResultsRootSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L197",children:"core/ts/utils/types.ts:197"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"newspentvoicecreditsubtotalsalt",children:"newSpentVoiceCreditSubtotalSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"newSpentVoiceCreditSubtotalSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L199",children:"core/ts/utils/types.ts:199"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"newtallycommitment",children:"newTallyCommitment"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"newTallyCommitment"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L185",children:"core/ts/utils/types.ts:185"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"packedvals",children:"packedVals"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"packedVals"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L186",children:"core/ts/utils/types.ts:186"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"sbcommitment",children:"sbCommitment"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"sbCommitment"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L183",children:"core/ts/utils/types.ts:183"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"sbsalt",children:"sbSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"sbSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L182",children:"core/ts/utils/types.ts:182"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"stateroot",children:"stateRoot"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"stateRoot"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L180",children:"core/ts/utils/types.ts:180"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"votes",children:"votes"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"votes"}),": ",(0,n.jsx)(t.code,{children:"string"}),"[][]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L190",children:"core/ts/utils/types.ts:190"})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},2459:(e,t,i)=>{i.d(t,{Z:()=>c,a:()=>l});var n=i(79);const s={},r=n.createContext(s);function l(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7599],{6172:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var n=i(5250),s=i(2459);const r={},l="Interface: ITallyCircuitInputs",c={id:"typedoc/interfaces/core_ts.ITallyCircuitInputs",title:"core_ts.ITallyCircuitInputs",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / ITallyCircuitInputs",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.ITallyCircuitInputs.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.ITallyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.ITallyCircuitInputs.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.ISubsidyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs"},next:{title:"core_ts.MaxValues",permalink:"/docs/typedoc/interfaces/core_ts.MaxValues"}},d={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"ballotPathElements",id:"ballotpathelements",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"ballotRoot",id:"ballotroot",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"ballots",id:"ballots",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"currentPerVOSpentVoiceCredits",id:"currentpervospentvoicecredits",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"currentPerVOSpentVoiceCreditsRootSalt",id:"currentpervospentvoicecreditsrootsalt",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"currentResults",id:"currentresults",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"currentResultsRootSalt",id:"currentresultsrootsalt",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"currentSpentVoiceCreditSubtotal",id:"currentspentvoicecreditsubtotal",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"currentSpentVoiceCreditSubtotalSalt",id:"currentspentvoicecreditsubtotalsalt",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"currentTallyCommitment",id:"currenttallycommitment",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"inputHash",id:"inputhash",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"newPerVOSpentVoiceCreditsRootSalt",id:"newpervospentvoicecreditsrootsalt",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"newResultsRootSalt",id:"newresultsrootsalt",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"newSpentVoiceCreditSubtotalSalt",id:"newspentvoicecreditsubtotalsalt",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"newTallyCommitment",id:"newtallycommitment",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"packedVals",id:"packedvals",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"sbCommitment",id:"sbcommitment",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"sbSalt",id:"sbsalt",level:3},{value:"Defined in",id:"defined-in-17",level:4},{value:"stateRoot",id:"stateroot",level:3},{value:"Defined in",id:"defined-in-18",level:4},{value:"votes",id:"votes",level:3},{value:"Defined in",id:"defined-in-19",level:4}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / ITallyCircuitInputs"]}),"\n",(0,n.jsx)(t.h1,{id:"interface-itallycircuitinputs",children:"Interface: ITallyCircuitInputs"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".ITallyCircuitInputs"]}),"\n",(0,n.jsx)(t.p,{children:"An interface describing the circuit inputs to the TallyVotes circuit"}),"\n",(0,n.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#ballotpathelements",children:"ballotPathElements"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#ballotroot",children:"ballotRoot"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#ballots",children:"ballots"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentpervospentvoicecredits",children:"currentPerVOSpentVoiceCredits"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentpervospentvoicecreditsrootsalt",children:"currentPerVOSpentVoiceCreditsRootSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentresults",children:"currentResults"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentresultsrootsalt",children:"currentResultsRootSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentspentvoicecreditsubtotal",children:"currentSpentVoiceCreditSubtotal"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currentspentvoicecreditsubtotalsalt",children:"currentSpentVoiceCreditSubtotalSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#currenttallycommitment",children:"currentTallyCommitment"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#inputhash",children:"inputHash"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#newpervospentvoicecreditsrootsalt",children:"newPerVOSpentVoiceCreditsRootSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#newresultsrootsalt",children:"newResultsRootSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#newspentvoicecreditsubtotalsalt",children:"newSpentVoiceCreditSubtotalSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#newtallycommitment",children:"newTallyCommitment"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#packedvals",children:"packedVals"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#sbcommitment",children:"sbCommitment"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#sbsalt",children:"sbSalt"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#stateroot",children:"stateRoot"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs#votes",children:"votes"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(t.h3,{id:"ballotpathelements",children:"ballotPathElements"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"ballotPathElements"}),": ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts#pathelements",children:(0,n.jsx)(t.code,{children:"PathElements"})})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L189",children:"core/ts/utils/types.ts:189"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"ballotroot",children:"ballotRoot"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"ballotRoot"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L181",children:"core/ts/utils/types.ts:181"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"ballots",children:"ballots"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"ballots"}),": ",(0,n.jsx)(t.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L188",children:"core/ts/utils/types.ts:188"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentpervospentvoicecredits",children:"currentPerVOSpentVoiceCredits"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentPerVOSpentVoiceCredits"}),": ",(0,n.jsx)(t.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L195",children:"core/ts/utils/types.ts:195"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentpervospentvoicecreditsrootsalt",children:"currentPerVOSpentVoiceCreditsRootSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentPerVOSpentVoiceCreditsRootSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L196",children:"core/ts/utils/types.ts:196"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentresults",children:"currentResults"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentResults"}),": ",(0,n.jsx)(t.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L191",children:"core/ts/utils/types.ts:191"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentresultsrootsalt",children:"currentResultsRootSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentResultsRootSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L192",children:"core/ts/utils/types.ts:192"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentspentvoicecreditsubtotal",children:"currentSpentVoiceCreditSubtotal"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentSpentVoiceCreditSubtotal"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L193",children:"core/ts/utils/types.ts:193"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currentspentvoicecreditsubtotalsalt",children:"currentSpentVoiceCreditSubtotalSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentSpentVoiceCreditSubtotalSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L194",children:"core/ts/utils/types.ts:194"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"currenttallycommitment",children:"currentTallyCommitment"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"currentTallyCommitment"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L184",children:"core/ts/utils/types.ts:184"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"inputhash",children:"inputHash"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"inputHash"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L187",children:"core/ts/utils/types.ts:187"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"newpervospentvoicecreditsrootsalt",children:"newPerVOSpentVoiceCreditsRootSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"newPerVOSpentVoiceCreditsRootSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L198",children:"core/ts/utils/types.ts:198"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"newresultsrootsalt",children:"newResultsRootSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"newResultsRootSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L197",children:"core/ts/utils/types.ts:197"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"newspentvoicecreditsubtotalsalt",children:"newSpentVoiceCreditSubtotalSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"newSpentVoiceCreditSubtotalSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L199",children:"core/ts/utils/types.ts:199"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"newtallycommitment",children:"newTallyCommitment"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"newTallyCommitment"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L185",children:"core/ts/utils/types.ts:185"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"packedvals",children:"packedVals"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"packedVals"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L186",children:"core/ts/utils/types.ts:186"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"sbcommitment",children:"sbCommitment"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"sbCommitment"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L183",children:"core/ts/utils/types.ts:183"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"sbsalt",children:"sbSalt"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"sbSalt"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L182",children:"core/ts/utils/types.ts:182"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"stateroot",children:"stateRoot"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"stateRoot"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L180",children:"core/ts/utils/types.ts:180"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"votes",children:"votes"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"votes"}),": ",(0,n.jsx)(t.code,{children:"string"}),"[][]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L190",children:"core/ts/utils/types.ts:190"})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},2459:(e,t,i)=>{i.d(t,{Z:()=>c,a:()=>l});var n=i(79);const s={},r=n.createContext(s);function l(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7dd10b00.41ae2aac.js b/assets/js/7dd10b00.6bc5acac.js similarity index 96% rename from assets/js/7dd10b00.41ae2aac.js rename to assets/js/7dd10b00.6bc5acac.js index 86149617f8..b14cb64c30 100644 --- a/assets/js/7dd10b00.41ae2aac.js +++ b/assets/js/7dd10b00.6bc5acac.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8423],{8894:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>a,frontMatter:()=>l,metadata:()=>r,toc:()=>h});var t=i(5250),s=i(2459);const l={},d="Module: crypto/ts",r={id:"typedoc/modules/crypto_ts",title:"crypto_ts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts",source:"@site/versioned_docs/version-v1.x/typedoc/modules/crypto_ts.md",sourceDirName:"typedoc/modules",slug:"/typedoc/modules/crypto_ts",permalink:"/docs/typedoc/modules/crypto_ts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/modules/crypto_ts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts",permalink:"/docs/typedoc/modules/core_ts"},next:{title:"domainobjs_ts",permalink:"/docs/typedoc/modules/domainobjs_ts"}},c={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Classes",id:"classes",level:3},{value:"Interfaces",id:"interfaces",level:3},{value:"Type Aliases",id:"type-aliases",level:3},{value:"Variables",id:"variables",level:3},{value:"Functions",id:"functions",level:3},{value:"Type Aliases",id:"type-aliases-1",level:2},{value:"Ciphertext",id:"ciphertext",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"EcdhSharedKey",id:"ecdhsharedkey",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Leaf",id:"leaf",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"PathElements",id:"pathelements",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Plaintext",id:"plaintext",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"Point",id:"point",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"PrivKey",id:"privkey",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"PubKey",id:"pubkey",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Variables",id:"variables-1",level:2},{value:"NOTHING_UP_MY_SLEEVE",id:"nothing_up_my_sleeve",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"SNARK_FIELD_SIZE",id:"snark_field_size",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"Functions",id:"functions-1",level:2},{value:"bigInt2Buffer",id:"bigint2buffer",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"calcDepthFromNumLeaves",id:"calcdepthfromnumleaves",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"deepCopyBigIntArray",id:"deepcopybigintarray",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"formatPrivKeyForBabyJub",id:"formatprivkeyforbabyjub",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"genEcdhSharedKey",id:"genecdhsharedkey",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"genKeypair",id:"genkeypair",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"genPrivKey",id:"genprivkey",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"genPubKey",id:"genpubkey",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"genRandomBabyJubValue",id:"genrandombabyjubvalue",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"genRandomSalt",id:"genrandomsalt",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"genTreeCommitment",id:"gentreecommitment",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"genTreeProof",id:"gentreeproof",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"hash13",id:"hash13",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"hash2",id:"hash2",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"hash3",id:"hash3",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"hash4",id:"hash4",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"hash5",id:"hash5",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"hashLeftRight",id:"hashleftright",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"hashN",id:"hashn",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"hashOne",id:"hashone",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"packPubKey",id:"packpubkey",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"poseidonDecrypt",id:"poseidondecrypt",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"poseidonEncrypt",id:"poseidonencrypt",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"sha256Hash",id:"sha256hash",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Defined in",id:"defined-in-33",level:4},{value:"sign",id:"sign",level:3},{value:"Parameters",id:"parameters-20",level:4},{value:"Returns",id:"returns-24",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"stringifyBigInts",id:"stringifybigints",level:3},{value:"Parameters",id:"parameters-21",level:4},{value:"Returns",id:"returns-25",level:4},{value:"Defined in",id:"defined-in-35",level:4},{value:"unpackPubKey",id:"unpackpubkey",level:3},{value:"Parameters",id:"parameters-22",level:4},{value:"Returns",id:"returns-26",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"unstringifyBigInts",id:"unstringifybigints",level:3},{value:"Parameters",id:"parameters-23",level:4},{value:"Returns",id:"returns-27",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"verifySignature",id:"verifysignature",level:3},{value:"Parameters",id:"parameters-24",level:4},{value:"Returns",id:"returns-28",level:4},{value:"Defined in",id:"defined-in-38",level:4}];function x(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / crypto/ts"]}),"\n",(0,t.jsx)(n.h1,{id:"module-cryptots",children:"Module: crypto/ts"}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"classes",children:"Classes"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:"AccQueue"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point",children:"G1Point"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point",children:"G2Point"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:"IncrementalQuinTree"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair",children:"Keypair"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs",children:"PoseidonFuncs"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue",children:"Queue"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Signature",children:"Signature"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#ciphertext",children:"Ciphertext"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#ecdhsharedkey",children:"EcdhSharedKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#leaf",children:"Leaf"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pathelements",children:"PathElements"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:"Plaintext"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#point",children:"Point"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#privkey",children:"PrivKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:"PubKey"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"variables",children:"Variables"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#nothing_up_my_sleeve",children:"NOTHING_UP_MY_SLEEVE"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#snark_field_size",children:"SNARK_FIELD_SIZE"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"functions",children:"Functions"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#bigint2buffer",children:"bigInt2Buffer"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#calcdepthfromnumleaves",children:"calcDepthFromNumLeaves"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#deepcopybigintarray",children:"deepCopyBigIntArray"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#formatprivkeyforbabyjub",children:"formatPrivKeyForBabyJub"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genecdhsharedkey",children:"genEcdhSharedKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genkeypair",children:"genKeypair"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genprivkey",children:"genPrivKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genpubkey",children:"genPubKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genrandombabyjubvalue",children:"genRandomBabyJubValue"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genrandomsalt",children:"genRandomSalt"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#gentreecommitment",children:"genTreeCommitment"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#gentreeproof",children:"genTreeProof"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash13",children:"hash13"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash2",children:"hash2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash3",children:"hash3"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash4",children:"hash4"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash5",children:"hash5"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hashleftright",children:"hashLeftRight"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hashn",children:"hashN"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hashone",children:"hashOne"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#packpubkey",children:"packPubKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#poseidondecrypt",children:"poseidonDecrypt"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#poseidonencrypt",children:"poseidonEncrypt"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#sha256hash",children:"sha256Hash"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#sign",children:"sign"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#stringifybigints",children:"stringifyBigInts"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#unpackpubkey",children:"unpackPubKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#unstringifybigints",children:"unstringifyBigInts"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#verifysignature",children:"verifySignature"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"type-aliases-1",children:"Type Aliases"}),"\n",(0,t.jsx)(n.h3,{id:"ciphertext",children:"Ciphertext"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"Ciphertext"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: ",(0,t.jsx)(n.code,{children:"N"}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L21",children:"crypto/ts/types.ts:21"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"ecdhsharedkey",children:"EcdhSharedKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"EcdhSharedKey"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: [",(0,t.jsx)(n.code,{children:"N"}),", ",(0,t.jsx)(n.code,{children:"N"}),"]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-1",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L12",children:"crypto/ts/types.ts:12"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"leaf",children:"Leaf"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"Leaf"}),": ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L61",children:"crypto/ts/types.ts:61"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"pathelements",children:"PathElements"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"PathElements"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[][]"]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L3",children:"crypto/ts/@types/optimisedmt.d.ts:3"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"plaintext",children:"Plaintext"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"Plaintext"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: ",(0,t.jsx)(n.code,{children:"N"}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-2",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L18",children:"crypto/ts/types.ts:18"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"point",children:"Point"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"Point"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: [",(0,t.jsx)(n.code,{children:"N"}),", ",(0,t.jsx)(n.code,{children:"N"}),"]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-3",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"SnarkBigNumber"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L15",children:"crypto/ts/types.ts:15"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"privkey",children:"PrivKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"PrivKey"}),": ",(0,t.jsx)(n.code,{children:"SnarkBigNumber"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L6",children:"crypto/ts/types.ts:6"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"pubkey",children:"PubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"PubKey"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: [",(0,t.jsx)(n.code,{children:"N"}),", ",(0,t.jsx)(n.code,{children:"N"}),"]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-4",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L9",children:"crypto/ts/types.ts:9"})}),"\n",(0,t.jsx)(n.h2,{id:"variables-1",children:"Variables"}),"\n",(0,t.jsx)(n.h3,{id:"nothing_up_my_sleeve",children:"NOTHING_UP_MY_SLEEVE"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.code,{children:"Const"})," ",(0,t.jsx)(n.strong,{children:"NOTHING_UP_MY_SLEEVE"}),": ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/constants.ts#L10",children:"crypto/ts/constants.ts:10"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"snark_field_size",children:"SNARK_FIELD_SIZE"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.code,{children:"Const"})," ",(0,t.jsx)(n.strong,{children:"SNARK_FIELD_SIZE"}),": ",(0,t.jsx)(n.code,{children:"bigint"})," = ",(0,t.jsx)(n.code,{children:"r"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/constants.ts#L6",children:"crypto/ts/constants.ts:6"})}),"\n",(0,t.jsx)(n.h2,{id:"functions-1",children:"Functions"}),"\n",(0,t.jsx)(n.h3,{id:"bigint2buffer",children:"bigInt2Buffer"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"bigInt2Buffer"}),"(",(0,t.jsx)(n.code,{children:"i"}),"): ",(0,t.jsx)(n.code,{children:"Buffer"})]}),"\n",(0,t.jsx)(n.p,{children:"Convert a BigInt to a Buffer"}),"\n",(0,t.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"i"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the bigint to convert"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Buffer"})}),"\n",(0,t.jsx)(n.p,{children:"the buffer"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/bigIntUtils.ts#L127",children:"crypto/ts/bigIntUtils.ts:127"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"calcdepthfromnumleaves",children:"calcDepthFromNumLeaves"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"calcDepthFromNumLeaves"}),"(",(0,t.jsx)(n.code,{children:"hashLength"}),", ",(0,t.jsx)(n.code,{children:"numLeaves"}),"): ",(0,t.jsx)(n.code,{children:"number"})]}),"\n",(0,t.jsx)(n.p,{children:"Calculate the depth of a tree given the number of leaves"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"hashLength"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the hashing function param length"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"numLeaves"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"how many leaves"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"number"})}),"\n",(0,t.jsx)(n.p,{children:"the depth"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/utils.ts#L11",children:"crypto/ts/utils.ts:11"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"deepcopybigintarray",children:"deepCopyBigIntArray"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"deepCopyBigIntArray"}),"(",(0,t.jsx)(n.code,{children:"arr"}),"): ",(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(n.p,{children:"Create a copy of a bigint array"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"arr"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the array of bigints to copy"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(n.p,{children:"a deep copy of the array"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/bigIntUtils.ts#L110",children:"crypto/ts/bigIntUtils.ts:110"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"formatprivkeyforbabyjub",children:"formatPrivKeyForBabyJub"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"formatPrivKeyForBabyJub"}),"(",(0,t.jsx)(n.code,{children:"privKey"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"An internal function which formats a random private key to be compatible\nwith the BabyJub curve. This is the format which should be passed into the\nPubKey and other circuits."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"privKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"SnarkBigNumber"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A private key generated using genPrivKey()"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A BabyJub-compatible private key."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/keys.ts#L29",children:"crypto/ts/keys.ts:29"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genecdhsharedkey",children:"genEcdhSharedKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genEcdhSharedKey"}),"(",(0,t.jsx)(n.code,{children:"privKey"}),", ",(0,t.jsx)(n.code,{children:"pubKey"}),"): ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#ecdhsharedkey",children:(0,t.jsx)(n.code,{children:"EcdhSharedKey"})})]}),"\n",(0,t.jsx)(n.p,{children:"Generates an Elliptic-Curve Diffie\u2013Hellman (ECDH) shared key given a private\nkey and a public key."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"privKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"SnarkBigNumber"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A private key generated using genPrivKey()"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"pubKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A public key generated using genPubKey()"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#ecdhsharedkey",children:(0,t.jsx)(n.code,{children:"EcdhSharedKey"})})}),"\n",(0,t.jsx)(n.p,{children:"The ECDH shared key."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/keys.ts#L80",children:"crypto/ts/keys.ts:80"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genkeypair",children:"genKeypair"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genKeypair"}),"(): ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair",children:(0,t.jsx)(n.code,{children:"Keypair"})})]}),"\n",(0,t.jsx)(n.p,{children:"Generates a keypair."}),"\n",(0,t.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair",children:(0,t.jsx)(n.code,{children:"Keypair"})})}),"\n",(0,t.jsx)(n.p,{children:"a keypair"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/keys.ts#L64",children:"crypto/ts/keys.ts:64"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genprivkey",children:"genPrivKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genPrivKey"}),"(): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Generate a private key"}),"\n",(0,t.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A BabyJub-compatible private key."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/keys.ts#L14",children:"crypto/ts/keys.ts:14"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genpubkey",children:"genPubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genPubKey"}),"(",(0,t.jsx)(n.code,{children:"privKey"}),"): ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"privKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"SnarkBigNumber"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A private key generated using genPrivKey()"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})}),"\n",(0,t.jsx)(n.p,{children:"A public key associated with the private key"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/keys.ts#L52",children:"crypto/ts/keys.ts:52"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genrandombabyjubvalue",children:"genRandomBabyJubValue"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genRandomBabyJubValue"}),"(): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsxs)(n.p,{children:["Returns a BabyJub-compatible random value. We create it by first generating\na random value (initially 256 bits large) modulo the snark field size as\ndescribed in EIP197. This results in a key size of roughly 253 bits and no\nmore than 254 bits. To prevent modulo bias, we then use this efficient\nalgorithm:\n",(0,t.jsx)(n.a,{href:"http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/lib/libc/crypt/arc4random_uniform.c",children:"http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/lib/libc/crypt/arc4random_uniform.c"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A BabyJub-compatible random value."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L115",children:"crypto/ts/babyjub.ts:115"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genrandomsalt",children:"genRandomSalt"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genRandomSalt"}),"(): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Generate a random value"}),"\n",(0,t.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A BabyJub-compatible salt."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/keys.ts#L20",children:"crypto/ts/keys.ts:20"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"gentreecommitment",children:"genTreeCommitment"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genTreeCommitment"}),"(",(0,t.jsx)(n.code,{children:"leaves"}),", ",(0,t.jsx)(n.code,{children:"salt"}),", ",(0,t.jsx)(n.code,{children:"depth"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"A helper function which hashes a list of results with a salt and returns the\nhash."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"leaves"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A list of values"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"salt"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A random salt"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"depth"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The tree depth"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the leaves and the salt, with the salt last"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/utils.ts#L31",children:"crypto/ts/utils.ts:31"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"gentreeproof",children:"genTreeProof"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genTreeProof"}),"(",(0,t.jsx)(n.code,{children:"index"}),", ",(0,t.jsx)(n.code,{children:"leaves"}),", ",(0,t.jsx)(n.code,{children:"depth"}),"): ",(0,t.jsx)(n.code,{children:"bigint"}),"[][]"]}),"\n",(0,t.jsx)(n.p,{children:"A helper function to generate the tree proof for the value at the given index in the leaves"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"index"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The index of the value to generate the proof for"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"leaves"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A list of values"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"depth"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The tree depth"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"bigint"}),"[][]"]}),"\n",(0,t.jsx)(n.p,{children:"The proof"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-21",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/utils.ts#L48",children:"crypto/ts/utils.ts:48"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash13",children:"hash13"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash13"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"A convenience function to use Poseidon to hash a Plaintext with\nno more than 13 elements"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The elements to hash"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the elements"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-22",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/hashing.ts#L130",children:"crypto/ts/hashing.ts:130"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash2",children:"hash2"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash2"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-23",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/hashing.ts#L119",children:"crypto/ts/hashing.ts:119"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash3",children:"hash3"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash3"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-24",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/hashing.ts#L120",children:"crypto/ts/hashing.ts:120"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash4",children:"hash4"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash4"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-25",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/hashing.ts#L121",children:"crypto/ts/hashing.ts:121"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash5",children:"hash5"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash5"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-26",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/hashing.ts#L122",children:"crypto/ts/hashing.ts:122"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hashleftright",children:"hashLeftRight"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hashLeftRight"}),"(",(0,t.jsx)(n.code,{children:"left"}),", ",(0,t.jsx)(n.code,{children:"right"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Hash two BigInts with the Poseidon hash function"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"left"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The left-hand element to hash"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"right"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The right-hand element to hash"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the two elements"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-27",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/hashing.ts#L85",children:"crypto/ts/hashing.ts:85"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hashn",children:"hashN"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hashN"}),"(",(0,t.jsx)(n.code,{children:"numElements"}),", ",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Hash up to N elements"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"numElements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The number of elements to hash"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The elements to hash"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-18",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the elements"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-28",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/hashing.ts#L101",children:"crypto/ts/hashing.ts:101"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hashone",children:"hashOne"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hashOne"}),"(",(0,t.jsx)(n.code,{children:"preImage"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Hash a single BigInt with the Poseidon hash function"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"preImage"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The element to hash"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-19",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the element"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-29",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/hashing.ts#L160",children:"crypto/ts/hashing.ts:160"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"packpubkey",children:"packPubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"packPubKey"}),"(",(0,t.jsx)(n.code,{children:"pubKey"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Losslessly reduces the size of the representation of a public key"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"pubKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The public key to pack"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-20",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A packed public key"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-30",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/keys.ts#L36",children:"crypto/ts/keys.ts:36"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"poseidondecrypt",children:"poseidonDecrypt"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"poseidonDecrypt"}),"(",(0,t.jsx)(n.code,{children:"ciphertext"}),", ",(0,t.jsx)(n.code,{children:"key"}),", ",(0,t.jsx)(n.code,{children:"nonce"}),", ",(0,t.jsx)(n.code,{children:"length"}),"): ",(0,t.jsx)(n.code,{children:"PlainText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"Decrypt some ciphertext using poseidon encryption"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"ciphertext"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"CipherText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the ciphertext to decrypt"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"key"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"EncryptionKey"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the key to decrypt with"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"nonce"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the nonce used to encrypt"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"length"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the length of the plaintext"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-21",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"PlainText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"the plaintext"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-31",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:"node_modules/.pnpm/@zk-kit+poseidon-cipher@0.1.1/node_modules/@zk-kit/poseidon-cipher/dist/types/poseidonCipher.d.ts:18"}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"poseidonencrypt",children:"poseidonEncrypt"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"poseidonEncrypt"}),"(",(0,t.jsx)(n.code,{children:"msg"}),", ",(0,t.jsx)(n.code,{children:"key"}),", ",(0,t.jsx)(n.code,{children:"nonce"}),"): ",(0,t.jsx)(n.code,{children:"CipherText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"Encrypt some plaintext using poseidon encryption"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-18",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"msg"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"PlainText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the message to encrypt"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"key"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"EncryptionKey"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the key to encrypt with"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"nonce"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the nonce to avoid replay attacks"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-22",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"CipherText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"the ciphertext"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-32",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:"node_modules/.pnpm/@zk-kit+poseidon-cipher@0.1.1/node_modules/@zk-kit/poseidon-cipher/dist/types/poseidonCipher.d.ts:9"}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"sha256hash",children:"sha256Hash"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"sha256Hash"}),"(",(0,t.jsx)(n.code,{children:"input"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Hash an array of uint256 values the same way that the EVM does."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-19",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"input"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the array of values to hash"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-23",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"a EVM compatible sha256 hash"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-33",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/hashing.ts#L15",children:"crypto/ts/hashing.ts:15"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"sign",children:"sign"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"sign"}),"(",(0,t.jsx)(n.code,{children:"privateKey"}),", ",(0,t.jsx)(n.code,{children:"message"}),"): ",(0,t.jsx)(n.code,{children:"Signature"}),"<",(0,t.jsx)(n.code,{children:"string"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"Signs a message using the provided private key, employing Poseidon hashing and\r\nEdDSA with the Baby Jubjub elliptic curve."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-20",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"privateKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"BigNumberish"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The private key used to sign the message."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"message"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"BigNumberish"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The message to be signed."})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-24",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Signature"}),"<",(0,t.jsx)(n.code,{children:"string"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"The signature object, containing properties relevant to EdDSA signatures, such as 'R8' and 'S' values."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-34",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:"node_modules/.pnpm/@zk-kit+eddsa-poseidon@0.5.1/node_modules/@zk-kit/eddsa-poseidon/dist/types/eddsa-poseidon.d.ts:32"}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"stringifybigints",children:"stringifyBigInts"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"stringifyBigInts"}),"(",(0,t.jsx)(n.code,{children:"input"}),"): ",(0,t.jsx)(n.code,{children:"StringifiedBigInts"})]}),"\n",(0,t.jsx)(n.p,{children:"Given an input of bigint values, convert them to their string representations"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-21",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"input"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"BigIntVariants"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The input to convert"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-25",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"StringifiedBigInts"})}),"\n",(0,t.jsx)(n.p,{children:"The input with bigint values converted to string"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-35",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/bigIntUtils.ts#L78",children:"crypto/ts/bigIntUtils.ts:78"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unpackpubkey",children:"unpackPubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"unpackPubKey"}),"(",(0,t.jsx)(n.code,{children:"packed"}),"): ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})]}),"\n",(0,t.jsx)(n.p,{children:"Restores the original PubKey from its packed representation"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-22",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"packed"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The value to unpack"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-26",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})}),"\n",(0,t.jsx)(n.p,{children:"The unpacked public key"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-36",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/keys.ts#L43",children:"crypto/ts/keys.ts:43"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unstringifybigints",children:"unstringifyBigInts"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"unstringifyBigInts"}),"(",(0,t.jsx)(n.code,{children:"input"}),"): ",(0,t.jsx)(n.code,{children:"BigIntVariants"})]}),"\n",(0,t.jsx)(n.p,{children:"Given an input containing string values, convert them\nto bigint"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-23",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"input"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"StringifiedBigInts"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The input to convert"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-27",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"BigIntVariants"})}),"\n",(0,t.jsx)(n.p,{children:"the input with string values converted to bigint"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-37",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/bigIntUtils.ts#L9",children:"crypto/ts/bigIntUtils.ts:9"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"verifysignature",children:"verifySignature"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"verifySignature"}),"(",(0,t.jsx)(n.code,{children:"message"}),", ",(0,t.jsx)(n.code,{children:"signature"}),", ",(0,t.jsx)(n.code,{children:"publicKey"}),"): ",(0,t.jsx)(n.code,{children:"boolean"})]}),"\n",(0,t.jsx)(n.p,{children:"Verifies an EdDSA signature using the Baby Jubjub elliptic curve and Poseidon hash function."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-24",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"message"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"BigNumberish"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The original message that was be signed."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"signature"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"Signature"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The EdDSA signature to be verified."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"publicKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"Point"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The public key associated with the private key used to sign the message."})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-28",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"boolean"})}),"\n",(0,t.jsx)(n.p,{children:"Returns true if the signature is valid and corresponds to the message and public key, false otherwise."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-38",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:"node_modules/.pnpm/@zk-kit+eddsa-poseidon@0.5.1/node_modules/@zk-kit/eddsa-poseidon/dist/types/eddsa-poseidon.d.ts:40"})]})}function a(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},2459:(e,n,i)=>{i.d(n,{Z:()=>r,a:()=>d});var t=i(79);const s={},l=t.createContext(s);function d(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8423],{8894:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>a,frontMatter:()=>l,metadata:()=>r,toc:()=>h});var t=i(5250),s=i(2459);const l={},d="Module: crypto/ts",r={id:"typedoc/modules/crypto_ts",title:"crypto_ts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts",source:"@site/versioned_docs/version-v1.x/typedoc/modules/crypto_ts.md",sourceDirName:"typedoc/modules",slug:"/typedoc/modules/crypto_ts",permalink:"/docs/typedoc/modules/crypto_ts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/modules/crypto_ts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts",permalink:"/docs/typedoc/modules/core_ts"},next:{title:"domainobjs_ts",permalink:"/docs/typedoc/modules/domainobjs_ts"}},c={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Classes",id:"classes",level:3},{value:"Interfaces",id:"interfaces",level:3},{value:"Type Aliases",id:"type-aliases",level:3},{value:"Variables",id:"variables",level:3},{value:"Functions",id:"functions",level:3},{value:"Type Aliases",id:"type-aliases-1",level:2},{value:"Ciphertext",id:"ciphertext",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"EcdhSharedKey",id:"ecdhsharedkey",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Leaf",id:"leaf",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"PathElements",id:"pathelements",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Plaintext",id:"plaintext",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"Point",id:"point",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"PrivKey",id:"privkey",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"PubKey",id:"pubkey",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Variables",id:"variables-1",level:2},{value:"NOTHING_UP_MY_SLEEVE",id:"nothing_up_my_sleeve",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"SNARK_FIELD_SIZE",id:"snark_field_size",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"Functions",id:"functions-1",level:2},{value:"bigInt2Buffer",id:"bigint2buffer",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"calcDepthFromNumLeaves",id:"calcdepthfromnumleaves",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"deepCopyBigIntArray",id:"deepcopybigintarray",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"formatPrivKeyForBabyJub",id:"formatprivkeyforbabyjub",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"genEcdhSharedKey",id:"genecdhsharedkey",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"genKeypair",id:"genkeypair",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"genPrivKey",id:"genprivkey",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"genPubKey",id:"genpubkey",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"genRandomBabyJubValue",id:"genrandombabyjubvalue",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"genRandomSalt",id:"genrandomsalt",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"genTreeCommitment",id:"gentreecommitment",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"genTreeProof",id:"gentreeproof",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"hash13",id:"hash13",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"hash2",id:"hash2",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"hash3",id:"hash3",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"hash4",id:"hash4",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"hash5",id:"hash5",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"hashLeftRight",id:"hashleftright",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"hashN",id:"hashn",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"hashOne",id:"hashone",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"packPubKey",id:"packpubkey",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"poseidonDecrypt",id:"poseidondecrypt",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"poseidonEncrypt",id:"poseidonencrypt",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"sha256Hash",id:"sha256hash",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Defined in",id:"defined-in-33",level:4},{value:"sign",id:"sign",level:3},{value:"Parameters",id:"parameters-20",level:4},{value:"Returns",id:"returns-24",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"stringifyBigInts",id:"stringifybigints",level:3},{value:"Parameters",id:"parameters-21",level:4},{value:"Returns",id:"returns-25",level:4},{value:"Defined in",id:"defined-in-35",level:4},{value:"unpackPubKey",id:"unpackpubkey",level:3},{value:"Parameters",id:"parameters-22",level:4},{value:"Returns",id:"returns-26",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"unstringifyBigInts",id:"unstringifybigints",level:3},{value:"Parameters",id:"parameters-23",level:4},{value:"Returns",id:"returns-27",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"verifySignature",id:"verifysignature",level:3},{value:"Parameters",id:"parameters-24",level:4},{value:"Returns",id:"returns-28",level:4},{value:"Defined in",id:"defined-in-38",level:4}];function x(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / crypto/ts"]}),"\n",(0,t.jsx)(n.h1,{id:"module-cryptots",children:"Module: crypto/ts"}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"classes",children:"Classes"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:"AccQueue"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point",children:"G1Point"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point",children:"G2Point"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:"IncrementalQuinTree"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair",children:"Keypair"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs",children:"PoseidonFuncs"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue",children:"Queue"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Signature",children:"Signature"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#ciphertext",children:"Ciphertext"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#ecdhsharedkey",children:"EcdhSharedKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#leaf",children:"Leaf"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pathelements",children:"PathElements"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:"Plaintext"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#point",children:"Point"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#privkey",children:"PrivKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:"PubKey"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"variables",children:"Variables"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#nothing_up_my_sleeve",children:"NOTHING_UP_MY_SLEEVE"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#snark_field_size",children:"SNARK_FIELD_SIZE"})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"functions",children:"Functions"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#bigint2buffer",children:"bigInt2Buffer"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#calcdepthfromnumleaves",children:"calcDepthFromNumLeaves"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#deepcopybigintarray",children:"deepCopyBigIntArray"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#formatprivkeyforbabyjub",children:"formatPrivKeyForBabyJub"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genecdhsharedkey",children:"genEcdhSharedKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genkeypair",children:"genKeypair"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genprivkey",children:"genPrivKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genpubkey",children:"genPubKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genrandombabyjubvalue",children:"genRandomBabyJubValue"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#genrandomsalt",children:"genRandomSalt"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#gentreecommitment",children:"genTreeCommitment"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#gentreeproof",children:"genTreeProof"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash13",children:"hash13"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash2",children:"hash2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash3",children:"hash3"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash4",children:"hash4"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hash5",children:"hash5"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hashleftright",children:"hashLeftRight"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hashn",children:"hashN"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#hashone",children:"hashOne"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#packpubkey",children:"packPubKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#poseidondecrypt",children:"poseidonDecrypt"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#poseidonencrypt",children:"poseidonEncrypt"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#sha256hash",children:"sha256Hash"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#sign",children:"sign"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#stringifybigints",children:"stringifyBigInts"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#unpackpubkey",children:"unpackPubKey"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#unstringifybigints",children:"unstringifyBigInts"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#verifysignature",children:"verifySignature"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"type-aliases-1",children:"Type Aliases"}),"\n",(0,t.jsx)(n.h3,{id:"ciphertext",children:"Ciphertext"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"Ciphertext"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: ",(0,t.jsx)(n.code,{children:"N"}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L21",children:"crypto/ts/types.ts:21"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"ecdhsharedkey",children:"EcdhSharedKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"EcdhSharedKey"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: [",(0,t.jsx)(n.code,{children:"N"}),", ",(0,t.jsx)(n.code,{children:"N"}),"]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-1",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L12",children:"crypto/ts/types.ts:12"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"leaf",children:"Leaf"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"Leaf"}),": ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L61",children:"crypto/ts/types.ts:61"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"pathelements",children:"PathElements"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"PathElements"}),": ",(0,t.jsx)(n.code,{children:"bigint"}),"[][]"]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L3",children:"crypto/ts/@types/optimisedmt.d.ts:3"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"plaintext",children:"Plaintext"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"Plaintext"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: ",(0,t.jsx)(n.code,{children:"N"}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-2",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L18",children:"crypto/ts/types.ts:18"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"point",children:"Point"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"Point"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: [",(0,t.jsx)(n.code,{children:"N"}),", ",(0,t.jsx)(n.code,{children:"N"}),"]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-3",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"SnarkBigNumber"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L15",children:"crypto/ts/types.ts:15"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"privkey",children:"PrivKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"PrivKey"}),": ",(0,t.jsx)(n.code,{children:"SnarkBigNumber"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L6",children:"crypto/ts/types.ts:6"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"pubkey",children:"PubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u01ac ",(0,t.jsx)(n.strong,{children:"PubKey"}),"<",(0,t.jsx)(n.code,{children:"N"}),">: [",(0,t.jsx)(n.code,{children:"N"}),", ",(0,t.jsx)(n.code,{children:"N"}),"]"]}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-4",children:"Type parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"N"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L9",children:"crypto/ts/types.ts:9"})}),"\n",(0,t.jsx)(n.h2,{id:"variables-1",children:"Variables"}),"\n",(0,t.jsx)(n.h3,{id:"nothing_up_my_sleeve",children:"NOTHING_UP_MY_SLEEVE"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.code,{children:"Const"})," ",(0,t.jsx)(n.strong,{children:"NOTHING_UP_MY_SLEEVE"}),": ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/constants.ts#L10",children:"crypto/ts/constants.ts:10"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"snark_field_size",children:"SNARK_FIELD_SIZE"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.code,{children:"Const"})," ",(0,t.jsx)(n.strong,{children:"SNARK_FIELD_SIZE"}),": ",(0,t.jsx)(n.code,{children:"bigint"})," = ",(0,t.jsx)(n.code,{children:"r"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/constants.ts#L6",children:"crypto/ts/constants.ts:6"})}),"\n",(0,t.jsx)(n.h2,{id:"functions-1",children:"Functions"}),"\n",(0,t.jsx)(n.h3,{id:"bigint2buffer",children:"bigInt2Buffer"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"bigInt2Buffer"}),"(",(0,t.jsx)(n.code,{children:"i"}),"): ",(0,t.jsx)(n.code,{children:"Buffer"})]}),"\n",(0,t.jsx)(n.p,{children:"Convert a BigInt to a Buffer"}),"\n",(0,t.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"i"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the bigint to convert"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Buffer"})}),"\n",(0,t.jsx)(n.p,{children:"the buffer"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/bigIntUtils.ts#L127",children:"crypto/ts/bigIntUtils.ts:127"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"calcdepthfromnumleaves",children:"calcDepthFromNumLeaves"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"calcDepthFromNumLeaves"}),"(",(0,t.jsx)(n.code,{children:"hashLength"}),", ",(0,t.jsx)(n.code,{children:"numLeaves"}),"): ",(0,t.jsx)(n.code,{children:"number"})]}),"\n",(0,t.jsx)(n.p,{children:"Calculate the depth of a tree given the number of leaves"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"hashLength"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the hashing function param length"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"numLeaves"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"how many leaves"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"number"})}),"\n",(0,t.jsx)(n.p,{children:"the depth"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/utils.ts#L11",children:"crypto/ts/utils.ts:11"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"deepcopybigintarray",children:"deepCopyBigIntArray"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"deepCopyBigIntArray"}),"(",(0,t.jsx)(n.code,{children:"arr"}),"): ",(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(n.p,{children:"Create a copy of a bigint array"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"arr"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the array of bigints to copy"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,t.jsx)(n.p,{children:"a deep copy of the array"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/bigIntUtils.ts#L110",children:"crypto/ts/bigIntUtils.ts:110"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"formatprivkeyforbabyjub",children:"formatPrivKeyForBabyJub"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"formatPrivKeyForBabyJub"}),"(",(0,t.jsx)(n.code,{children:"privKey"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"An internal function which formats a random private key to be compatible\nwith the BabyJub curve. This is the format which should be passed into the\nPubKey and other circuits."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"privKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"SnarkBigNumber"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A private key generated using genPrivKey()"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A BabyJub-compatible private key."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/keys.ts#L29",children:"crypto/ts/keys.ts:29"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genecdhsharedkey",children:"genEcdhSharedKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genEcdhSharedKey"}),"(",(0,t.jsx)(n.code,{children:"privKey"}),", ",(0,t.jsx)(n.code,{children:"pubKey"}),"): ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#ecdhsharedkey",children:(0,t.jsx)(n.code,{children:"EcdhSharedKey"})})]}),"\n",(0,t.jsx)(n.p,{children:"Generates an Elliptic-Curve Diffie\u2013Hellman (ECDH) shared key given a private\nkey and a public key."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"privKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"SnarkBigNumber"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A private key generated using genPrivKey()"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"pubKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A public key generated using genPubKey()"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#ecdhsharedkey",children:(0,t.jsx)(n.code,{children:"EcdhSharedKey"})})}),"\n",(0,t.jsx)(n.p,{children:"The ECDH shared key."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/keys.ts#L80",children:"crypto/ts/keys.ts:80"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genkeypair",children:"genKeypair"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genKeypair"}),"(): ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair",children:(0,t.jsx)(n.code,{children:"Keypair"})})]}),"\n",(0,t.jsx)(n.p,{children:"Generates a keypair."}),"\n",(0,t.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/crypto_ts.Keypair",children:(0,t.jsx)(n.code,{children:"Keypair"})})}),"\n",(0,t.jsx)(n.p,{children:"a keypair"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/keys.ts#L64",children:"crypto/ts/keys.ts:64"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genprivkey",children:"genPrivKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genPrivKey"}),"(): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Generate a private key"}),"\n",(0,t.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A BabyJub-compatible private key."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/keys.ts#L14",children:"crypto/ts/keys.ts:14"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genpubkey",children:"genPubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genPubKey"}),"(",(0,t.jsx)(n.code,{children:"privKey"}),"): ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"privKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"SnarkBigNumber"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A private key generated using genPrivKey()"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})}),"\n",(0,t.jsx)(n.p,{children:"A public key associated with the private key"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/keys.ts#L52",children:"crypto/ts/keys.ts:52"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genrandombabyjubvalue",children:"genRandomBabyJubValue"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genRandomBabyJubValue"}),"(): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsxs)(n.p,{children:["Returns a BabyJub-compatible random value. We create it by first generating\na random value (initially 256 bits large) modulo the snark field size as\ndescribed in EIP197. This results in a key size of roughly 253 bits and no\nmore than 254 bits. To prevent modulo bias, we then use this efficient\nalgorithm:\n",(0,t.jsx)(n.a,{href:"http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/lib/libc/crypt/arc4random_uniform.c",children:"http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/lib/libc/crypt/arc4random_uniform.c"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A BabyJub-compatible random value."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L115",children:"crypto/ts/babyjub.ts:115"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"genrandomsalt",children:"genRandomSalt"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genRandomSalt"}),"(): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Generate a random value"}),"\n",(0,t.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A BabyJub-compatible salt."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/keys.ts#L20",children:"crypto/ts/keys.ts:20"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"gentreecommitment",children:"genTreeCommitment"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genTreeCommitment"}),"(",(0,t.jsx)(n.code,{children:"leaves"}),", ",(0,t.jsx)(n.code,{children:"salt"}),", ",(0,t.jsx)(n.code,{children:"depth"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"A helper function which hashes a list of results with a salt and returns the\nhash."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"leaves"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A list of values"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"salt"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A random salt"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"depth"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The tree depth"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the leaves and the salt, with the salt last"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/utils.ts#L31",children:"crypto/ts/utils.ts:31"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"gentreeproof",children:"genTreeProof"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"genTreeProof"}),"(",(0,t.jsx)(n.code,{children:"index"}),", ",(0,t.jsx)(n.code,{children:"leaves"}),", ",(0,t.jsx)(n.code,{children:"depth"}),"): ",(0,t.jsx)(n.code,{children:"bigint"}),"[][]"]}),"\n",(0,t.jsx)(n.p,{children:"A helper function to generate the tree proof for the value at the given index in the leaves"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"index"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The index of the value to generate the proof for"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"leaves"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"A list of values"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"depth"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The tree depth"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"bigint"}),"[][]"]}),"\n",(0,t.jsx)(n.p,{children:"The proof"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-21",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/utils.ts#L48",children:"crypto/ts/utils.ts:48"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash13",children:"hash13"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash13"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"A convenience function to use Poseidon to hash a Plaintext with\nno more than 13 elements"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The elements to hash"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the elements"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-22",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/hashing.ts#L130",children:"crypto/ts/hashing.ts:130"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash2",children:"hash2"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash2"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-23",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/hashing.ts#L119",children:"crypto/ts/hashing.ts:119"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash3",children:"hash3"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash3"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-24",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/hashing.ts#L120",children:"crypto/ts/hashing.ts:120"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash4",children:"hash4"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash4"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-25",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/hashing.ts#L121",children:"crypto/ts/hashing.ts:121"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hash5",children:"hash5"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hash5"}),"(",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-26",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/hashing.ts#L122",children:"crypto/ts/hashing.ts:122"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hashleftright",children:"hashLeftRight"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hashLeftRight"}),"(",(0,t.jsx)(n.code,{children:"left"}),", ",(0,t.jsx)(n.code,{children:"right"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Hash two BigInts with the Poseidon hash function"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"left"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The left-hand element to hash"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"right"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The right-hand element to hash"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the two elements"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-27",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/hashing.ts#L85",children:"crypto/ts/hashing.ts:85"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hashn",children:"hashN"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hashN"}),"(",(0,t.jsx)(n.code,{children:"numElements"}),", ",(0,t.jsx)(n.code,{children:"elements"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Hash up to N elements"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"numElements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The number of elements to hash"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"elements"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#plaintext",children:(0,t.jsx)(n.code,{children:"Plaintext"})})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The elements to hash"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-18",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the elements"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-28",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/hashing.ts#L101",children:"crypto/ts/hashing.ts:101"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hashone",children:"hashOne"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"hashOne"}),"(",(0,t.jsx)(n.code,{children:"preImage"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Hash a single BigInt with the Poseidon hash function"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"preImage"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The element to hash"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-19",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"The hash of the element"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-29",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/hashing.ts#L160",children:"crypto/ts/hashing.ts:160"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"packpubkey",children:"packPubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"packPubKey"}),"(",(0,t.jsx)(n.code,{children:"pubKey"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Losslessly reduces the size of the representation of a public key"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"pubKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The public key to pack"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-20",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"A packed public key"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-30",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/keys.ts#L36",children:"crypto/ts/keys.ts:36"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"poseidondecrypt",children:"poseidonDecrypt"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"poseidonDecrypt"}),"(",(0,t.jsx)(n.code,{children:"ciphertext"}),", ",(0,t.jsx)(n.code,{children:"key"}),", ",(0,t.jsx)(n.code,{children:"nonce"}),", ",(0,t.jsx)(n.code,{children:"length"}),"): ",(0,t.jsx)(n.code,{children:"PlainText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"Decrypt some ciphertext using poseidon encryption"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"ciphertext"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"CipherText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the ciphertext to decrypt"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"key"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"EncryptionKey"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the key to decrypt with"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"nonce"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the nonce used to encrypt"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"length"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the length of the plaintext"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-21",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"PlainText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"the plaintext"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-31",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:"node_modules/.pnpm/@zk-kit+poseidon-cipher@0.1.1/node_modules/@zk-kit/poseidon-cipher/dist/types/poseidonCipher.d.ts:18"}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"poseidonencrypt",children:"poseidonEncrypt"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"poseidonEncrypt"}),"(",(0,t.jsx)(n.code,{children:"msg"}),", ",(0,t.jsx)(n.code,{children:"key"}),", ",(0,t.jsx)(n.code,{children:"nonce"}),"): ",(0,t.jsx)(n.code,{children:"CipherText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"Encrypt some plaintext using poseidon encryption"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-18",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"msg"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"PlainText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the message to encrypt"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"key"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"EncryptionKey"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the key to encrypt with"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"nonce"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the nonce to avoid replay attacks"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-22",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"CipherText"}),"<",(0,t.jsx)(n.code,{children:"bigint"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"the ciphertext"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-32",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:"node_modules/.pnpm/@zk-kit+poseidon-cipher@0.1.1/node_modules/@zk-kit/poseidon-cipher/dist/types/poseidonCipher.d.ts:9"}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"sha256hash",children:"sha256Hash"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"sha256Hash"}),"(",(0,t.jsx)(n.code,{children:"input"}),"): ",(0,t.jsx)(n.code,{children:"bigint"})]}),"\n",(0,t.jsx)(n.p,{children:"Hash an array of uint256 values the same way that the EVM does."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-19",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"input"})}),(0,t.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,t.jsx)(n.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"the array of values to hash"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-23",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"bigint"})}),"\n",(0,t.jsx)(n.p,{children:"a EVM compatible sha256 hash"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-33",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/hashing.ts#L15",children:"crypto/ts/hashing.ts:15"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"sign",children:"sign"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"sign"}),"(",(0,t.jsx)(n.code,{children:"privateKey"}),", ",(0,t.jsx)(n.code,{children:"message"}),"): ",(0,t.jsx)(n.code,{children:"Signature"}),"<",(0,t.jsx)(n.code,{children:"string"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"Signs a message using the provided private key, employing Poseidon hashing and\r\nEdDSA with the Baby Jubjub elliptic curve."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-20",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"privateKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"BigNumberish"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The private key used to sign the message."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"message"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"BigNumberish"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The message to be signed."})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-24",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Signature"}),"<",(0,t.jsx)(n.code,{children:"string"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"The signature object, containing properties relevant to EdDSA signatures, such as 'R8' and 'S' values."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-34",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:"node_modules/.pnpm/@zk-kit+eddsa-poseidon@0.5.1/node_modules/@zk-kit/eddsa-poseidon/dist/types/eddsa-poseidon.d.ts:32"}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"stringifybigints",children:"stringifyBigInts"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"stringifyBigInts"}),"(",(0,t.jsx)(n.code,{children:"input"}),"): ",(0,t.jsx)(n.code,{children:"StringifiedBigInts"})]}),"\n",(0,t.jsx)(n.p,{children:"Given an input of bigint values, convert them to their string representations"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-21",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"input"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"BigIntVariants"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The input to convert"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-25",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"StringifiedBigInts"})}),"\n",(0,t.jsx)(n.p,{children:"The input with bigint values converted to string"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-35",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/bigIntUtils.ts#L78",children:"crypto/ts/bigIntUtils.ts:78"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unpackpubkey",children:"unpackPubKey"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"unpackPubKey"}),"(",(0,t.jsx)(n.code,{children:"packed"}),"): ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})]}),"\n",(0,t.jsx)(n.p,{children:"Restores the original PubKey from its packed representation"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-22",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"packed"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"bigint"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The value to unpack"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-26",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts#pubkey",children:(0,t.jsx)(n.code,{children:"PubKey"})})}),"\n",(0,t.jsx)(n.p,{children:"The unpacked public key"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-36",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/keys.ts#L43",children:"crypto/ts/keys.ts:43"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unstringifybigints",children:"unstringifyBigInts"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"unstringifyBigInts"}),"(",(0,t.jsx)(n.code,{children:"input"}),"): ",(0,t.jsx)(n.code,{children:"BigIntVariants"})]}),"\n",(0,t.jsx)(n.p,{children:"Given an input containing string values, convert them\nto bigint"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-23",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"input"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"StringifiedBigInts"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The input to convert"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-27",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"BigIntVariants"})}),"\n",(0,t.jsx)(n.p,{children:"the input with string values converted to bigint"}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-37",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/bigIntUtils.ts#L9",children:"crypto/ts/bigIntUtils.ts:9"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"verifysignature",children:"verifySignature"}),"\n",(0,t.jsxs)(n.p,{children:["\u25b8 ",(0,t.jsx)(n.strong,{children:"verifySignature"}),"(",(0,t.jsx)(n.code,{children:"message"}),", ",(0,t.jsx)(n.code,{children:"signature"}),", ",(0,t.jsx)(n.code,{children:"publicKey"}),"): ",(0,t.jsx)(n.code,{children:"boolean"})]}),"\n",(0,t.jsx)(n.p,{children:"Verifies an EdDSA signature using the Baby Jubjub elliptic curve and Poseidon hash function."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-24",children:"Parameters"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"message"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"BigNumberish"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The original message that was be signed."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"signature"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"Signature"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The EdDSA signature to be verified."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"publicKey"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"Point"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"The public key associated with the private key used to sign the message."})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-28",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"boolean"})}),"\n",(0,t.jsx)(n.p,{children:"Returns true if the signature is valid and corresponds to the message and public key, false otherwise."}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-38",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:"node_modules/.pnpm/@zk-kit+eddsa-poseidon@0.5.1/node_modules/@zk-kit/eddsa-poseidon/dist/types/eddsa-poseidon.d.ts:40"})]})}function a(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},2459:(e,n,i)=>{i.d(n,{Z:()=>r,a:()=>d});var t=i(79);const s={},l=t.createContext(s);function d(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ee4b9d1.1552969c.js b/assets/js/7ee4b9d1.cb552ccc.js similarity index 96% rename from assets/js/7ee4b9d1.1552969c.js rename to assets/js/7ee4b9d1.cb552ccc.js index 4fbba170f0..924b1c02eb 100644 --- a/assets/js/7ee4b9d1.1552969c.js +++ b/assets/js/7ee4b9d1.cb552ccc.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6099],{8559:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>a,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var n=s(5250),i=s(2459);const r={},l="Class: G2Point",c={id:"typedoc/classes/crypto_ts.G2Point",title:"crypto_ts.G2Point",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / G2Point",source:"@site/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.G2Point.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/crypto_ts.G2Point",permalink:"/docs/typedoc/classes/crypto_ts.G2Point",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.G2Point.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.G1Point",permalink:"/docs/typedoc/classes/crypto_ts.G1Point"},next:{title:"crypto_ts.IncrementalQuinTree",permalink:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree"}},d={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"x",id:"x",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"y",id:"y",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"checkPointsRange",id:"checkpointsrange",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / G2Point"]}),"\n",(0,n.jsx)(t.h1,{id:"class-g2point",children:"Class: G2Point"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".G2Point"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.code,{children:"Notice"})})}),"\n",(0,n.jsx)(t.p,{children:"A class representing a point on the second group (G2)\nof the Jubjub curve. This is usually an extension field of the\nbase field of the curve."}),"\n",(0,n.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#x",children:"x"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#y",children:"y"})}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#ascontractparam",children:"asContractParam"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#checkpointsrange",children:"checkPointsRange"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#equals",children:"equals"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(t.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"new G2Point"}),"(",(0,n.jsx)(t.code,{children:"x"}),", ",(0,n.jsx)(t.code,{children:"y"}),"): ",(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point",children:(0,n.jsx)(t.code,{children:"G2Point"})})]}),"\n",(0,n.jsx)(t.p,{children:"Create a new instance of G2Point"}),"\n",(0,n.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the x coordinate"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"y"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the y coordinate"})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point",children:(0,n.jsx)(t.code,{children:"G2Point"})})}),"\n",(0,n.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L65",children:"crypto/ts/babyjub.ts:65"})}),"\n",(0,n.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(t.h3,{id:"x",children:"x"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"x"}),": ",(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L56",children:"crypto/ts/babyjub.ts:56"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"y",children:"y"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"y"}),": ",(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L58",children:"crypto/ts/babyjub.ts:58"})}),"\n",(0,n.jsx)(t.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(t.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"asContractParam"}),"(): ",(0,n.jsx)(t.code,{children:"Object"})]}),"\n",(0,n.jsx)(t.p,{children:"Return the point as a contract param in the form of an object"}),"\n",(0,n.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"Object"})}),"\n",(0,n.jsx)(t.p,{children:"the point as a contract param"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"string"}),"[]"]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"y"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"string"}),"[]"]})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L86",children:"crypto/ts/babyjub.ts:86"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"checkpointsrange",children:"checkPointsRange"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"checkPointsRange"}),"(",(0,n.jsx)(t.code,{children:"x"}),", ",(0,n.jsx)(t.code,{children:"type"}),"): ",(0,n.jsx)(t.code,{children:"void"})]}),"\n",(0,n.jsx)(t.p,{children:"Check whether the points are in range"}),"\n",(0,n.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the x coordinate"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"type"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:'"x"'})," | ",(0,n.jsx)(t.code,{children:'"y"'})]}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the type of the coordinate"})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"void"})}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L98",children:"crypto/ts/babyjub.ts:98"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"equals",children:"equals"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"equals"}),"(",(0,n.jsx)(t.code,{children:"pt"}),"): ",(0,n.jsx)(t.code,{children:"boolean"})]}),"\n",(0,n.jsx)(t.p,{children:"Check whether two points are equal"}),"\n",(0,n.jsx)(t.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"pt"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point",children:(0,n.jsx)(t.code,{children:"G2Point"})})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the point to compare with"})]})})]}),"\n",(0,n.jsx)(t.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"boolean"})}),"\n",(0,n.jsx)(t.p,{children:"whether they are equal or not"}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L78",children:"crypto/ts/babyjub.ts:78"})})]})}function a(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>l});var n=s(79);const i={},r=n.createContext(i);function l(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6099],{8559:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>a,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var n=s(5250),i=s(2459);const r={},l="Class: G2Point",c={id:"typedoc/classes/crypto_ts.G2Point",title:"crypto_ts.G2Point",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / G2Point",source:"@site/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.G2Point.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/crypto_ts.G2Point",permalink:"/docs/typedoc/classes/crypto_ts.G2Point",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.G2Point.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.G1Point",permalink:"/docs/typedoc/classes/crypto_ts.G1Point"},next:{title:"crypto_ts.IncrementalQuinTree",permalink:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree"}},d={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"x",id:"x",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"y",id:"y",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"checkPointsRange",id:"checkpointsrange",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / G2Point"]}),"\n",(0,n.jsx)(t.h1,{id:"class-g2point",children:"Class: G2Point"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".G2Point"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.code,{children:"Notice"})})}),"\n",(0,n.jsx)(t.p,{children:"A class representing a point on the second group (G2)\nof the Jubjub curve. This is usually an extension field of the\nbase field of the curve."}),"\n",(0,n.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#x",children:"x"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#y",children:"y"})}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#ascontractparam",children:"asContractParam"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#checkpointsrange",children:"checkPointsRange"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point#equals",children:"equals"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(t.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"new G2Point"}),"(",(0,n.jsx)(t.code,{children:"x"}),", ",(0,n.jsx)(t.code,{children:"y"}),"): ",(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point",children:(0,n.jsx)(t.code,{children:"G2Point"})})]}),"\n",(0,n.jsx)(t.p,{children:"Create a new instance of G2Point"}),"\n",(0,n.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the x coordinate"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"y"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the y coordinate"})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point",children:(0,n.jsx)(t.code,{children:"G2Point"})})}),"\n",(0,n.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L65",children:"crypto/ts/babyjub.ts:65"})}),"\n",(0,n.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(t.h3,{id:"x",children:"x"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"x"}),": ",(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L56",children:"crypto/ts/babyjub.ts:56"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"y",children:"y"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"y"}),": ",(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L58",children:"crypto/ts/babyjub.ts:58"})}),"\n",(0,n.jsx)(t.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(t.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"asContractParam"}),"(): ",(0,n.jsx)(t.code,{children:"Object"})]}),"\n",(0,n.jsx)(t.p,{children:"Return the point as a contract param in the form of an object"}),"\n",(0,n.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"Object"})}),"\n",(0,n.jsx)(t.p,{children:"the point as a contract param"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"string"}),"[]"]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"y"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"string"}),"[]"]})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L86",children:"crypto/ts/babyjub.ts:86"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"checkpointsrange",children:"checkPointsRange"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"checkPointsRange"}),"(",(0,n.jsx)(t.code,{children:"x"}),", ",(0,n.jsx)(t.code,{children:"type"}),"): ",(0,n.jsx)(t.code,{children:"void"})]}),"\n",(0,n.jsx)(t.p,{children:"Check whether the points are in range"}),"\n",(0,n.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:"bigint"}),"[]"]}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the x coordinate"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"type"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,n.jsx)(t.code,{children:'"x"'})," | ",(0,n.jsx)(t.code,{children:'"y"'})]}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the type of the coordinate"})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"void"})}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L98",children:"crypto/ts/babyjub.ts:98"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"equals",children:"equals"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"equals"}),"(",(0,n.jsx)(t.code,{children:"pt"}),"): ",(0,n.jsx)(t.code,{children:"boolean"})]}),"\n",(0,n.jsx)(t.p,{children:"Check whether two points are equal"}),"\n",(0,n.jsx)(t.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"pt"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G2Point",children:(0,n.jsx)(t.code,{children:"G2Point"})})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the point to compare with"})]})})]}),"\n",(0,n.jsx)(t.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"boolean"})}),"\n",(0,n.jsx)(t.p,{children:"whether they are equal or not"}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L78",children:"crypto/ts/babyjub.ts:78"})})]})}function a(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>l});var n=s(79);const i={},r=n.createContext(i);function l(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/83c63353.e575bffb.js b/assets/js/83c63353.62431b50.js similarity index 91% rename from assets/js/83c63353.e575bffb.js rename to assets/js/83c63353.62431b50.js index 6b20ce6a7f..43ecf99fba 100644 --- a/assets/js/83c63353.e575bffb.js +++ b/assets/js/83c63353.62431b50.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6598],{3885:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>c});var i=n(5250),d=n(2459);const a={},o="Module: domainobjs/ts",t={id:"typedoc/modules/domainobjs_ts",title:"domainobjs_ts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts",source:"@site/versioned_docs/version-v1.x/typedoc/modules/domainobjs_ts.md",sourceDirName:"typedoc/modules",slug:"/typedoc/modules/domainobjs_ts",permalink:"/docs/typedoc/modules/domainobjs_ts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/modules/domainobjs_ts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts",permalink:"/docs/typedoc/modules/crypto_ts"}},l={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Classes",id:"classes",level:3},{value:"Interfaces",id:"interfaces",level:3},{value:"Type Aliases",id:"type-aliases",level:3},{value:"Variables",id:"variables",level:3},{value:"Type Aliases",id:"type-aliases-1",level:2},{value:"IJsonPrivateKey",id:"ijsonprivatekey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"IJsonPublicKey",id:"ijsonpublickey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Variables",id:"variables-1",level:2},{value:"SERIALIZED_PRIV_KEY_PREFIX",id:"serialized_priv_key_prefix",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"SERIALIZED_PUB_KEY_PREFIX",id:"serialized_pub_key_prefix",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"blankStateLeaf",id:"blankstateleaf",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"blankStateLeafHash",id:"blankstateleafhash",level:3},{value:"Defined in",id:"defined-in-5",level:4}];function r(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / domainobjs/ts"]}),"\n",(0,i.jsx)(s.h1,{id:"module-domainobjsts",children:"Module: domainobjs/ts"}),"\n",(0,i.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(s.h3,{id:"classes",children:"Classes"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:"Ballot"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:"Keypair"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:"Message"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:"PCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:"PrivKey"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:"PubKey"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:"StateLeaf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:"TCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:"VerifyingKey"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:"IG1ContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",children:"IG2ContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",children:"IJsonBallot"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:"IJsonCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:"IJsonKeyPair"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:"IJsonPCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",children:"IJsonStateLeaf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:"IJsonTCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:"IMessageContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",children:"IStateLeaf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",children:"IStateLeafContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",children:"IVkContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams",children:"IVkObjectParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.Proof",children:"Proof"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf",children:"VoteOptionTreeLeaf"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonprivatekey",children:"IJsonPrivateKey"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonpublickey",children:"IJsonPublicKey"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"variables",children:"Variables"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#serialized_priv_key_prefix",children:"SERIALIZED_PRIV_KEY_PREFIX"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#serialized_pub_key_prefix",children:"SERIALIZED_PUB_KEY_PREFIX"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#blankstateleaf",children:"blankStateLeaf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#blankstateleafhash",children:"blankStateLeafHash"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"type-aliases-1",children:"Type Aliases"}),"\n",(0,i.jsx)(s.h3,{id:"ijsonprivatekey",children:"IJsonPrivateKey"}),"\n",(0,i.jsxs)(s.p,{children:["\u01ac ",(0,i.jsx)(s.strong,{children:"IJsonPrivateKey"}),": ",(0,i.jsx)(s.code,{children:"Pick"}),"<",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,i.jsx)(s.code,{children:"IJsonKeyPair"})}),", ",(0,i.jsx)(s.code,{children:'"privKey"'}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L33",children:"domainobjs/ts/types.ts:33"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ijsonpublickey",children:"IJsonPublicKey"}),"\n",(0,i.jsxs)(s.p,{children:["\u01ac ",(0,i.jsx)(s.strong,{children:"IJsonPublicKey"}),": ",(0,i.jsx)(s.code,{children:"Pick"}),"<",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,i.jsx)(s.code,{children:"IJsonKeyPair"})}),", ",(0,i.jsx)(s.code,{children:'"pubKey"'}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L35",children:"domainobjs/ts/types.ts:35"})}),"\n",(0,i.jsx)(s.h2,{id:"variables-1",children:"Variables"}),"\n",(0,i.jsx)(s.h3,{id:"serialized_priv_key_prefix",children:"SERIALIZED_PRIV_KEY_PREFIX"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Const"})," ",(0,i.jsx)(s.strong,{children:"SERIALIZED_PRIV_KEY_PREFIX"}),": ",(0,i.jsx)(s.code,{children:'"macisk."'})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L5",children:"domainobjs/ts/privateKey.ts:5"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"serialized_pub_key_prefix",children:"SERIALIZED_PUB_KEY_PREFIX"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Const"})," ",(0,i.jsx)(s.strong,{children:"SERIALIZED_PUB_KEY_PREFIX"}),": ",(0,i.jsx)(s.code,{children:'"macipk."'})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L7",children:"domainobjs/ts/publicKey.ts:7"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"blankstateleaf",children:"blankStateLeaf"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Const"})," ",(0,i.jsx)(s.strong,{children:"blankStateLeaf"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,i.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/constants.ts#L3",children:"domainobjs/ts/constants.ts:3"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"blankstateleafhash",children:"blankStateLeafHash"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Const"})," ",(0,i.jsx)(s.strong,{children:"blankStateLeafHash"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/constants.ts#L4",children:"domainobjs/ts/constants.ts:4"})})]})}function h(e={}){const{wrapper:s}={...(0,d.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>t,a:()=>o});var i=n(79);const d={},a=i.createContext(d);function o(e){const s=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:o(e.components),i.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6598],{3885:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var i=n(5250),d=n(2459);const a={},o="Module: domainobjs/ts",c={id:"typedoc/modules/domainobjs_ts",title:"domainobjs_ts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts",source:"@site/versioned_docs/version-v1.x/typedoc/modules/domainobjs_ts.md",sourceDirName:"typedoc/modules",slug:"/typedoc/modules/domainobjs_ts",permalink:"/docs/typedoc/modules/domainobjs_ts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/modules/domainobjs_ts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts",permalink:"/docs/typedoc/modules/crypto_ts"}},t={},l=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Classes",id:"classes",level:3},{value:"Interfaces",id:"interfaces",level:3},{value:"Type Aliases",id:"type-aliases",level:3},{value:"Variables",id:"variables",level:3},{value:"Type Aliases",id:"type-aliases-1",level:2},{value:"IJsonPrivateKey",id:"ijsonprivatekey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"IJsonPublicKey",id:"ijsonpublickey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Variables",id:"variables-1",level:2},{value:"SERIALIZED_PRIV_KEY_PREFIX",id:"serialized_priv_key_prefix",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"SERIALIZED_PUB_KEY_PREFIX",id:"serialized_pub_key_prefix",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"blankStateLeaf",id:"blankstateleaf",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"blankStateLeafHash",id:"blankstateleafhash",level:3},{value:"Defined in",id:"defined-in-5",level:4}];function r(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / domainobjs/ts"]}),"\n",(0,i.jsx)(s.h1,{id:"module-domainobjsts",children:"Module: domainobjs/ts"}),"\n",(0,i.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(s.h3,{id:"classes",children:"Classes"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Ballot",children:"Ballot"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Keypair",children:"Keypair"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.Message",children:"Message"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PCommand",children:"PCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:"PrivKey"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:"PubKey"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:"StateLeaf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.TCommand",children:"TCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:"VerifyingKey"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.ICommand",children:"ICommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:"IG1ContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",children:"IG2ContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot",children:"IJsonBallot"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:"IJsonCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:"IJsonKeyPair"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand",children:"IJsonPCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf",children:"IJsonStateLeaf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",children:"IJsonTCommand"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",children:"IMessageContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf",children:"IStateLeaf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",children:"IStateLeafContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",children:"IVkContractParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams",children:"IVkObjectParams"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.Proof",children:"Proof"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf",children:"VoteOptionTreeLeaf"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonprivatekey",children:"IJsonPrivateKey"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonpublickey",children:"IJsonPublicKey"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"variables",children:"Variables"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#serialized_priv_key_prefix",children:"SERIALIZED_PRIV_KEY_PREFIX"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#serialized_pub_key_prefix",children:"SERIALIZED_PUB_KEY_PREFIX"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#blankstateleaf",children:"blankStateLeaf"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#blankstateleafhash",children:"blankStateLeafHash"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"type-aliases-1",children:"Type Aliases"}),"\n",(0,i.jsx)(s.h3,{id:"ijsonprivatekey",children:"IJsonPrivateKey"}),"\n",(0,i.jsxs)(s.p,{children:["\u01ac ",(0,i.jsx)(s.strong,{children:"IJsonPrivateKey"}),": ",(0,i.jsx)(s.code,{children:"Pick"}),"<",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,i.jsx)(s.code,{children:"IJsonKeyPair"})}),", ",(0,i.jsx)(s.code,{children:'"privKey"'}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L33",children:"domainobjs/ts/types.ts:33"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ijsonpublickey",children:"IJsonPublicKey"}),"\n",(0,i.jsxs)(s.p,{children:["\u01ac ",(0,i.jsx)(s.strong,{children:"IJsonPublicKey"}),": ",(0,i.jsx)(s.code,{children:"Pick"}),"<",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",children:(0,i.jsx)(s.code,{children:"IJsonKeyPair"})}),", ",(0,i.jsx)(s.code,{children:'"pubKey"'}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L35",children:"domainobjs/ts/types.ts:35"})}),"\n",(0,i.jsx)(s.h2,{id:"variables-1",children:"Variables"}),"\n",(0,i.jsx)(s.h3,{id:"serialized_priv_key_prefix",children:"SERIALIZED_PRIV_KEY_PREFIX"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Const"})," ",(0,i.jsx)(s.strong,{children:"SERIALIZED_PRIV_KEY_PREFIX"}),": ",(0,i.jsx)(s.code,{children:'"macisk."'})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L5",children:"domainobjs/ts/privateKey.ts:5"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"serialized_pub_key_prefix",children:"SERIALIZED_PUB_KEY_PREFIX"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Const"})," ",(0,i.jsx)(s.strong,{children:"SERIALIZED_PUB_KEY_PREFIX"}),": ",(0,i.jsx)(s.code,{children:'"macipk."'})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L7",children:"domainobjs/ts/publicKey.ts:7"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"blankstateleaf",children:"blankStateLeaf"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Const"})," ",(0,i.jsx)(s.strong,{children:"blankStateLeaf"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.StateLeaf",children:(0,i.jsx)(s.code,{children:"StateLeaf"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/constants.ts#L3",children:"domainobjs/ts/constants.ts:3"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"blankstateleafhash",children:"blankStateLeafHash"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Const"})," ",(0,i.jsx)(s.strong,{children:"blankStateLeafHash"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/constants.ts#L4",children:"domainobjs/ts/constants.ts:4"})})]})}function h(e={}){const{wrapper:s}={...(0,d.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>o});var i=n(79);const d={},a=i.createContext(d);function o(e){const s=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:o(e.components),i.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/84eacfbc.fbc23141.js b/assets/js/84eacfbc.60188562.js similarity index 97% rename from assets/js/84eacfbc.fbc23141.js rename to assets/js/84eacfbc.60188562.js index 3ad7901d0e..ac2e98f7f5 100644 --- a/assets/js/84eacfbc.fbc23141.js +++ b/assets/js/84eacfbc.60188562.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3809],{6594:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>x,frontMatter:()=>n,metadata:()=>d,toc:()=>h});var l=s(5250),i=s(2459);const n={},r="Module: core/ts",d={id:"typedoc/modules/core_ts",title:"core_ts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts",source:"@site/versioned_docs/version-v1.x/typedoc/modules/core_ts.md",sourceDirName:"typedoc/modules",slug:"/typedoc/modules/core_ts",permalink:"/docs/typedoc/modules/core_ts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/modules/core_ts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"cli_ts",permalink:"/docs/typedoc/modules/cli_ts"},next:{title:"crypto_ts",permalink:"/docs/typedoc/modules/crypto_ts"}},c={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Classes",id:"classes",level:3},{value:"Interfaces",id:"interfaces",level:3},{value:"Type Aliases",id:"type-aliases",level:3},{value:"Variables",id:"variables",level:3},{value:"Functions",id:"functions",level:3},{value:"Type Aliases",id:"type-aliases-1",level:2},{value:"CircuitInputs",id:"circuitinputs",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"Variables",id:"variables-1",level:2},{value:"STATE_TREE_ARITY",id:"state_tree_arity",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Functions",id:"functions-1",level:2},{value:"genProcessVkSig",id:"genprocessvksig",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"genSubsidyVkSig",id:"gensubsidyvksig",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"genTallyVkSig",id:"gentallyvksig",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"packProcessMessageSmallVals",id:"packprocessmessagesmallvals",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"packSubsidySmallVals",id:"packsubsidysmallvals",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"packTallyVotesSmallVals",id:"packtallyvotessmallvals",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"unpackProcessMessageSmallVals",id:"unpackprocessmessagesmallvals",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"unpackTallyVotesSmallVals",id:"unpacktallyvotessmallvals",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-9",level:4}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(t.p,{children:[(0,l.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,l.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / core/ts"]}),"\n",(0,l.jsx)(t.h1,{id:"module-corets",children:"Module: core/ts"}),"\n",(0,l.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,l.jsx)(t.h3,{id:"classes",children:"Classes"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:"MaciState"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:"Poll"})}),"\n"]}),"\n",(0,l.jsx)(t.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes",children:"BatchSizes"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",children:"IJsonMaciState"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",children:"IProcessMessagesCircuitInputs"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",children:"ISubsidyCircuitInputs"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs",children:"ITallyCircuitInputs"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues",children:"MaxValues"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths",children:"TreeDepths"})}),"\n"]}),"\n",(0,l.jsx)(t.h3,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#circuitinputs",children:"CircuitInputs"})}),"\n"]}),"\n",(0,l.jsx)(t.h3,{id:"variables",children:"Variables"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#state_tree_arity",children:"STATE_TREE_ARITY"})}),"\n"]}),"\n",(0,l.jsx)(t.h3,{id:"functions",children:"Functions"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#genprocessvksig",children:"genProcessVkSig"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#gensubsidyvksig",children:"genSubsidyVkSig"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#gentallyvksig",children:"genTallyVkSig"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#packprocessmessagesmallvals",children:"packProcessMessageSmallVals"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#packsubsidysmallvals",children:"packSubsidySmallVals"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#packtallyvotessmallvals",children:"packTallyVotesSmallVals"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#unpackprocessmessagesmallvals",children:"unpackProcessMessageSmallVals"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#unpacktallyvotessmallvals",children:"unpackTallyVotesSmallVals"})}),"\n"]}),"\n",(0,l.jsx)(t.h2,{id:"type-aliases-1",children:"Type Aliases"}),"\n",(0,l.jsx)(t.h3,{id:"circuitinputs",children:"CircuitInputs"}),"\n",(0,l.jsxs)(t.p,{children:["\u01ac ",(0,l.jsx)(t.strong,{children:"CircuitInputs"}),": ",(0,l.jsx)(t.code,{children:"Record"}),"<",(0,l.jsx)(t.code,{children:"string"}),", ",(0,l.jsx)(t.code,{children:"string"})," | ",(0,l.jsx)(t.code,{children:"bigint"})," | ",(0,l.jsx)(t.code,{children:"bigint"}),"[] | ",(0,l.jsx)(t.code,{children:"bigint"}),"[][] | ",(0,l.jsx)(t.code,{children:"string"}),"[] | ",(0,l.jsx)(t.code,{children:"bigint"}),"[][][]>"]}),"\n",(0,l.jsx)(t.p,{children:"A circuit inputs for the circom circuit"}),"\n",(0,l.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L22",children:"core/ts/utils/types.ts:22"})}),"\n",(0,l.jsx)(t.h2,{id:"variables-1",children:"Variables"}),"\n",(0,l.jsx)(t.h3,{id:"state_tree_arity",children:"STATE_TREE_ARITY"}),"\n",(0,l.jsxs)(t.p,{children:["\u2022 ",(0,l.jsx)(t.code,{children:"Const"})," ",(0,l.jsx)(t.strong,{children:"STATE_TREE_ARITY"}),": ",(0,l.jsx)(t.code,{children:"5"})]}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/constants.ts#L2",children:"core/ts/utils/constants.ts:2"})}),"\n",(0,l.jsx)(t.h2,{id:"functions-1",children:"Functions"}),"\n",(0,l.jsx)(t.h3,{id:"genprocessvksig",children:"genProcessVkSig"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"genProcessVkSig"}),"(",(0,l.jsx)(t.code,{children:"stateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"messageTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"voteOptionTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"batchSize"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function generates the signature of a ProcessMessage Verifying Key(VK).\nThis can be used to check if a ProcessMessages' circuit VK is registered\nin a smart contract that holds several VKs."}),"\n",(0,l.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"stateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"messageTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the message tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"voteOptionTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the vote option tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchSize"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The size of the batch."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a signature for querying if a verifying key with the given parameters is already registered in the contract."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/utils.ts#L14",children:"core/ts/utils/utils.ts:14"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"gensubsidyvksig",children:"genSubsidyVkSig"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"genSubsidyVkSig"}),"(",(0,l.jsx)(t.code,{children:"_stateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"_intStateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"_voteOptionTreeDepth"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function generates the signature of a Subsidy Verifying Key(VK).\nThis can be used to check if a SubsidyCalculations' circuit VK is registered\nin a smart contract that holds several VKs."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_stateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_intStateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the intermediate state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_voteOptionTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the vote option tree."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a signature for querying if a verifying key with\nthe given parameters is already registered in the contract."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/utils.ts#L51",children:"core/ts/utils/utils.ts:51"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"gentallyvksig",children:"genTallyVkSig"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"genTallyVkSig"}),"(",(0,l.jsx)(t.code,{children:"_stateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"_intStateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"_voteOptionTreeDepth"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function generates the signature of a Tally Verifying Key(VK).\nThis can be used to check if a TallyVotes' circuit VK is registered\nin a smart contract that holds several VKs."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_stateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_intStateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the intermediate state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_voteOptionTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the vote option tree."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a signature for querying if a verifying key with\nthe given parameters is already registered in the contract."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/utils.ts#L35",children:"core/ts/utils/utils.ts:35"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"packprocessmessagesmallvals",children:"packProcessMessageSmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"packProcessMessageSmallVals"}),"(",(0,l.jsx)(t.code,{children:"maxVoteOptions"}),", ",(0,l.jsx)(t.code,{children:"numUsers"}),", ",(0,l.jsx)(t.code,{children:"batchStartIndex"}),", ",(0,l.jsx)(t.code,{children:"batchEndIndex"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function packs it's parameters into a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"maxVoteOptions"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The maximum number of vote options."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numUsers"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The number of users."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchStartIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The start index of the batch."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchEndIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The end index of the batch."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-3",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a single bigint that contains the packed values."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/utils.ts#L65",children:"core/ts/utils/utils.ts:65"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"packsubsidysmallvals",children:"packSubsidySmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"packSubsidySmallVals"}),"(",(0,l.jsx)(t.code,{children:"row"}),", ",(0,l.jsx)(t.code,{children:"col"}),", ",(0,l.jsx)(t.code,{children:"numSignUps"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function packs it's parameters into a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"row"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The row."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"col"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The column."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numSignUps"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The number of signups."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-4",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a single bigint that contains the packed values."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/utils.ts#L150",children:"core/ts/utils/utils.ts:150"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"packtallyvotessmallvals",children:"packTallyVotesSmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"packTallyVotesSmallVals"}),"(",(0,l.jsx)(t.code,{children:"batchStartIndex"}),", ",(0,l.jsx)(t.code,{children:"batchSize"}),", ",(0,l.jsx)(t.code,{children:"numSignUps"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function packs it's parameters into a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchStartIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The start index of the batch."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchSize"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The size of the batch."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numSignUps"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The number of signups."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-5",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a single bigint that contains the packed values."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/utils.ts#L119",children:"core/ts/utils/utils.ts:119"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"unpackprocessmessagesmallvals",children:"unpackProcessMessageSmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"unpackProcessMessageSmallVals"}),"(",(0,l.jsx)(t.code,{children:"packedVals"}),"): ",(0,l.jsx)(t.code,{children:"Object"})]}),"\n",(0,l.jsx)(t.p,{children:"This function unpacks partial values for the ProcessMessages circuit from a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"packedVals"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The single bigint that contains the packed values."})]})})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-6",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"Object"})}),"\n",(0,l.jsx)(t.p,{children:"Returns an object that contains the unpacked values."}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchEndIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchStartIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"maxVoteOptions"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numUsers"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/utils.ts#L86",children:"core/ts/utils/utils.ts:86"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"unpacktallyvotessmallvals",children:"unpackTallyVotesSmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"unpackTallyVotesSmallVals"}),"(",(0,l.jsx)(t.code,{children:"packedVals"}),"): ",(0,l.jsx)(t.code,{children:"Object"})]}),"\n",(0,l.jsx)(t.p,{children:"This function unpacks partial values for the TallyVotes circuit from a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"packedVals"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The single bigint that contains the packed values."})]})})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-7",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"Object"})}),"\n",(0,l.jsx)(t.p,{children:"Returns an object that contains the unpacked values."}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchStartIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numSignUps"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/utils.ts#L131",children:"core/ts/utils/utils.ts:131"})})]})}function x(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>d,a:()=>r});var l=s(79);const i={},n=l.createContext(i);function r(e){const t=l.useContext(n);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),l.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3809],{6594:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>x,frontMatter:()=>n,metadata:()=>d,toc:()=>h});var l=s(5250),i=s(2459);const n={},r="Module: core/ts",d={id:"typedoc/modules/core_ts",title:"core_ts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts",source:"@site/versioned_docs/version-v1.x/typedoc/modules/core_ts.md",sourceDirName:"typedoc/modules",slug:"/typedoc/modules/core_ts",permalink:"/docs/typedoc/modules/core_ts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/modules/core_ts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"cli_ts",permalink:"/docs/typedoc/modules/cli_ts"},next:{title:"crypto_ts",permalink:"/docs/typedoc/modules/crypto_ts"}},c={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Classes",id:"classes",level:3},{value:"Interfaces",id:"interfaces",level:3},{value:"Type Aliases",id:"type-aliases",level:3},{value:"Variables",id:"variables",level:3},{value:"Functions",id:"functions",level:3},{value:"Type Aliases",id:"type-aliases-1",level:2},{value:"CircuitInputs",id:"circuitinputs",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"Variables",id:"variables-1",level:2},{value:"STATE_TREE_ARITY",id:"state_tree_arity",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Functions",id:"functions-1",level:2},{value:"genProcessVkSig",id:"genprocessvksig",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"genSubsidyVkSig",id:"gensubsidyvksig",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"genTallyVkSig",id:"gentallyvksig",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"packProcessMessageSmallVals",id:"packprocessmessagesmallvals",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"packSubsidySmallVals",id:"packsubsidysmallvals",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"packTallyVotesSmallVals",id:"packtallyvotessmallvals",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"unpackProcessMessageSmallVals",id:"unpackprocessmessagesmallvals",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"unpackTallyVotesSmallVals",id:"unpacktallyvotessmallvals",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-9",level:4}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(t.p,{children:[(0,l.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,l.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / core/ts"]}),"\n",(0,l.jsx)(t.h1,{id:"module-corets",children:"Module: core/ts"}),"\n",(0,l.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,l.jsx)(t.h3,{id:"classes",children:"Classes"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:"MaciState"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:"Poll"})}),"\n"]}),"\n",(0,l.jsx)(t.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes",children:"BatchSizes"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IJsonMaciState",children:"IJsonMaciState"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",children:"IProcessMessagesCircuitInputs"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",children:"ISubsidyCircuitInputs"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs",children:"ITallyCircuitInputs"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues",children:"MaxValues"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths",children:"TreeDepths"})}),"\n"]}),"\n",(0,l.jsx)(t.h3,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#circuitinputs",children:"CircuitInputs"})}),"\n"]}),"\n",(0,l.jsx)(t.h3,{id:"variables",children:"Variables"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#state_tree_arity",children:"STATE_TREE_ARITY"})}),"\n"]}),"\n",(0,l.jsx)(t.h3,{id:"functions",children:"Functions"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#genprocessvksig",children:"genProcessVkSig"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#gensubsidyvksig",children:"genSubsidyVkSig"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#gentallyvksig",children:"genTallyVkSig"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#packprocessmessagesmallvals",children:"packProcessMessageSmallVals"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#packsubsidysmallvals",children:"packSubsidySmallVals"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#packtallyvotessmallvals",children:"packTallyVotesSmallVals"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#unpackprocessmessagesmallvals",children:"unpackProcessMessageSmallVals"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts#unpacktallyvotessmallvals",children:"unpackTallyVotesSmallVals"})}),"\n"]}),"\n",(0,l.jsx)(t.h2,{id:"type-aliases-1",children:"Type Aliases"}),"\n",(0,l.jsx)(t.h3,{id:"circuitinputs",children:"CircuitInputs"}),"\n",(0,l.jsxs)(t.p,{children:["\u01ac ",(0,l.jsx)(t.strong,{children:"CircuitInputs"}),": ",(0,l.jsx)(t.code,{children:"Record"}),"<",(0,l.jsx)(t.code,{children:"string"}),", ",(0,l.jsx)(t.code,{children:"string"})," | ",(0,l.jsx)(t.code,{children:"bigint"})," | ",(0,l.jsx)(t.code,{children:"bigint"}),"[] | ",(0,l.jsx)(t.code,{children:"bigint"}),"[][] | ",(0,l.jsx)(t.code,{children:"string"}),"[] | ",(0,l.jsx)(t.code,{children:"bigint"}),"[][][]>"]}),"\n",(0,l.jsx)(t.p,{children:"A circuit inputs for the circom circuit"}),"\n",(0,l.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L22",children:"core/ts/utils/types.ts:22"})}),"\n",(0,l.jsx)(t.h2,{id:"variables-1",children:"Variables"}),"\n",(0,l.jsx)(t.h3,{id:"state_tree_arity",children:"STATE_TREE_ARITY"}),"\n",(0,l.jsxs)(t.p,{children:["\u2022 ",(0,l.jsx)(t.code,{children:"Const"})," ",(0,l.jsx)(t.strong,{children:"STATE_TREE_ARITY"}),": ",(0,l.jsx)(t.code,{children:"5"})]}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/constants.ts#L2",children:"core/ts/utils/constants.ts:2"})}),"\n",(0,l.jsx)(t.h2,{id:"functions-1",children:"Functions"}),"\n",(0,l.jsx)(t.h3,{id:"genprocessvksig",children:"genProcessVkSig"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"genProcessVkSig"}),"(",(0,l.jsx)(t.code,{children:"stateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"messageTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"voteOptionTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"batchSize"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function generates the signature of a ProcessMessage Verifying Key(VK).\nThis can be used to check if a ProcessMessages' circuit VK is registered\nin a smart contract that holds several VKs."}),"\n",(0,l.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"stateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"messageTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the message tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"voteOptionTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the vote option tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchSize"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The size of the batch."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a signature for querying if a verifying key with the given parameters is already registered in the contract."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/utils.ts#L14",children:"core/ts/utils/utils.ts:14"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"gensubsidyvksig",children:"genSubsidyVkSig"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"genSubsidyVkSig"}),"(",(0,l.jsx)(t.code,{children:"_stateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"_intStateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"_voteOptionTreeDepth"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function generates the signature of a Subsidy Verifying Key(VK).\nThis can be used to check if a SubsidyCalculations' circuit VK is registered\nin a smart contract that holds several VKs."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_stateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_intStateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the intermediate state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_voteOptionTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the vote option tree."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a signature for querying if a verifying key with\nthe given parameters is already registered in the contract."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/utils.ts#L51",children:"core/ts/utils/utils.ts:51"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"gentallyvksig",children:"genTallyVkSig"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"genTallyVkSig"}),"(",(0,l.jsx)(t.code,{children:"_stateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"_intStateTreeDepth"}),", ",(0,l.jsx)(t.code,{children:"_voteOptionTreeDepth"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function generates the signature of a Tally Verifying Key(VK).\nThis can be used to check if a TallyVotes' circuit VK is registered\nin a smart contract that holds several VKs."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_stateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_intStateTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the intermediate state tree."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"_voteOptionTreeDepth"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The depth of the vote option tree."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a signature for querying if a verifying key with\nthe given parameters is already registered in the contract."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/utils.ts#L35",children:"core/ts/utils/utils.ts:35"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"packprocessmessagesmallvals",children:"packProcessMessageSmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"packProcessMessageSmallVals"}),"(",(0,l.jsx)(t.code,{children:"maxVoteOptions"}),", ",(0,l.jsx)(t.code,{children:"numUsers"}),", ",(0,l.jsx)(t.code,{children:"batchStartIndex"}),", ",(0,l.jsx)(t.code,{children:"batchEndIndex"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function packs it's parameters into a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"maxVoteOptions"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The maximum number of vote options."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numUsers"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The number of users."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchStartIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The start index of the batch."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchEndIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The end index of the batch."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-3",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a single bigint that contains the packed values."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/utils.ts#L65",children:"core/ts/utils/utils.ts:65"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"packsubsidysmallvals",children:"packSubsidySmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"packSubsidySmallVals"}),"(",(0,l.jsx)(t.code,{children:"row"}),", ",(0,l.jsx)(t.code,{children:"col"}),", ",(0,l.jsx)(t.code,{children:"numSignUps"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function packs it's parameters into a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"row"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The row."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"col"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The column."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numSignUps"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The number of signups."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-4",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a single bigint that contains the packed values."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/utils.ts#L150",children:"core/ts/utils/utils.ts:150"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"packtallyvotessmallvals",children:"packTallyVotesSmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"packTallyVotesSmallVals"}),"(",(0,l.jsx)(t.code,{children:"batchStartIndex"}),", ",(0,l.jsx)(t.code,{children:"batchSize"}),", ",(0,l.jsx)(t.code,{children:"numSignUps"}),"): ",(0,l.jsx)(t.code,{children:"bigint"})]}),"\n",(0,l.jsx)(t.p,{children:"This function packs it's parameters into a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchStartIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The start index of the batch."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchSize"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The size of the batch."})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numSignUps"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"number"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The number of signups."})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-5",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"bigint"})}),"\n",(0,l.jsx)(t.p,{children:"Returns a single bigint that contains the packed values."}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/utils.ts#L119",children:"core/ts/utils/utils.ts:119"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"unpackprocessmessagesmallvals",children:"unpackProcessMessageSmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"unpackProcessMessageSmallVals"}),"(",(0,l.jsx)(t.code,{children:"packedVals"}),"): ",(0,l.jsx)(t.code,{children:"Object"})]}),"\n",(0,l.jsx)(t.p,{children:"This function unpacks partial values for the ProcessMessages circuit from a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"packedVals"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The single bigint that contains the packed values."})]})})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-6",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"Object"})}),"\n",(0,l.jsx)(t.p,{children:"Returns an object that contains the unpacked values."}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchEndIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchStartIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"maxVoteOptions"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numUsers"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/utils.ts#L86",children:"core/ts/utils/utils.ts:86"})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.h3,{id:"unpacktallyvotessmallvals",children:"unpackTallyVotesSmallVals"}),"\n",(0,l.jsxs)(t.p,{children:["\u25b8 ",(0,l.jsx)(t.strong,{children:"unpackTallyVotesSmallVals"}),"(",(0,l.jsx)(t.code,{children:"packedVals"}),"): ",(0,l.jsx)(t.code,{children:"Object"})]}),"\n",(0,l.jsx)(t.p,{children:"This function unpacks partial values for the TallyVotes circuit from a single bigint."}),"\n",(0,l.jsx)(t.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"packedVals"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"The single bigint that contains the packed values."})]})})]}),"\n",(0,l.jsx)(t.h4,{id:"returns-7",children:"Returns"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.code,{children:"Object"})}),"\n",(0,l.jsx)(t.p,{children:"Returns an object that contains the unpacked values."}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"batchStartIndex"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"numSignUps"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"bigint"})})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,l.jsx)(t.p,{children:(0,l.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/utils.ts#L131",children:"core/ts/utils/utils.ts:131"})})]})}function x(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>d,a:()=>r});var l=s(79);const i={},n=l.createContext(i);function r(e){const t=l.useContext(n);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),l.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/96b24319.4a5992bd.js b/assets/js/96b24319.cdcaa65c.js similarity index 95% rename from assets/js/96b24319.4a5992bd.js rename to assets/js/96b24319.cdcaa65c.js index 38fd214819..a788856757 100644 --- a/assets/js/96b24319.4a5992bd.js +++ b/assets/js/96b24319.cdcaa65c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1934],{1840:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var n=t(5250),a=t(2459);const o={},i="Interface: IMessageContractParams",r={id:"typedoc/interfaces/domainobjs_ts.IMessageContractParams",title:"domainobjs_ts.IMessageContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IMessageContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IMessageContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IMessageContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IMessageContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonTCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand"},next:{title:"domainobjs_ts.IStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf"}},d={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"data",id:"data",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"msgType",id:"msgtype",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IMessageContractParams"]}),"\n",(0,n.jsx)(s.h1,{id:"interface-imessagecontractparams",children:"Interface: IMessageContractParams"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IMessageContractParams"]}),"\n",(0,n.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams#data",children:"data"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams#msgtype",children:"msgType"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"data",children:"data"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"data"}),": ",(0,n.jsx)(s.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L83",children:"domainobjs/ts/types.ts:83"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"msgtype",children:"msgType"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"msgType"}),": ",(0,n.jsx)(s.code,{children:"string"})]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L82",children:"domainobjs/ts/types.ts:82"})})]})}function m(e={}){const{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},2459:(e,s,t)=>{t.d(s,{Z:()=>r,a:()=>i});var n=t(79);const a={},o=n.createContext(a);function i(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1934],{1840:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var n=t(5250),a=t(2459);const o={},i="Interface: IMessageContractParams",r={id:"typedoc/interfaces/domainobjs_ts.IMessageContractParams",title:"domainobjs_ts.IMessageContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IMessageContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IMessageContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IMessageContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IMessageContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonTCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand"},next:{title:"domainobjs_ts.IStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf"}},d={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"data",id:"data",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"msgType",id:"msgtype",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IMessageContractParams"]}),"\n",(0,n.jsx)(s.h1,{id:"interface-imessagecontractparams",children:"Interface: IMessageContractParams"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IMessageContractParams"]}),"\n",(0,n.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams#data",children:"data"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams#msgtype",children:"msgType"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"data",children:"data"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"data"}),": ",(0,n.jsx)(s.code,{children:"BigNumberish"}),"[]"]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L83",children:"domainobjs/ts/types.ts:83"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"msgtype",children:"msgType"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"msgType"}),": ",(0,n.jsx)(s.code,{children:"string"})]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L82",children:"domainobjs/ts/types.ts:82"})})]})}function m(e={}){const{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},2459:(e,s,t)=>{t.d(s,{Z:()=>r,a:()=>i});var n=t(79);const a={},o=n.createContext(a);function i(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a424efa6.ece2c9d0.js b/assets/js/a424efa6.98fd90ca.js similarity index 97% rename from assets/js/a424efa6.ece2c9d0.js rename to assets/js/a424efa6.98fd90ca.js index 0c310fe4ae..bfceea52fe 100644 --- a/assets/js/a424efa6.ece2c9d0.js +++ b/assets/js/a424efa6.98fd90ca.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2076],{8319:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=n(5250),a=n(2459);const s={slug:"welcome",title:"Welcome to MACI",authors:["PSE"],tags:["maci","ef","pse","zk","voting","privacy"]},l=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/index.md",source:"@site/blog/index.md",title:"Welcome to MACI",description:"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.",date:"2024-01-11T21:21:30.000Z",formattedDate:"January 11, 2024",tags:[{label:"maci",permalink:"/blog/tags/maci"},{label:"ef",permalink:"/blog/tags/ef"},{label:"pse",permalink:"/blog/tags/pse"},{label:"zk",permalink:"/blog/tags/zk"},{label:"voting",permalink:"/blog/tags/voting"},{label:"privacy",permalink:"/blog/tags/privacy"}],readingTime:.115,hasTruncateMarker:!1,authors:[{name:"Privacy and Scaling Explorations (PSE)",title:"Zero-Knowledge research team",url:"https://pse.dev",imageURL:"/img/pse-logo-round.png",key:"PSE"}],frontMatter:{slug:"welcome",title:"Welcome to MACI",authors:["PSE"],tags:["maci","ef","pse","zk","voting","privacy"]},unlisted:!1,nextItem:{title:"Maci v1.1.1 Release",permalink:"/blog/maci-v1-1-1-release"}},r={authorsImageUrls:[void 0]},c=[];function p(e){const t={p:"p",...(0,a.a)(),...e.components};return(0,o.jsx)(t.p,{children:"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news."})}function m(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>l});var o=n(79);const a={},s=o.createContext(a);function l(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2076],{8319:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=n(5250),a=n(2459);const s={slug:"welcome",title:"Welcome to MACI",authors:["PSE"],tags:["maci","ef","pse","zk","voting","privacy"]},l=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/index.md",source:"@site/blog/index.md",title:"Welcome to MACI",description:"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.",date:"2024-01-11T22:31:24.000Z",formattedDate:"January 11, 2024",tags:[{label:"maci",permalink:"/blog/tags/maci"},{label:"ef",permalink:"/blog/tags/ef"},{label:"pse",permalink:"/blog/tags/pse"},{label:"zk",permalink:"/blog/tags/zk"},{label:"voting",permalink:"/blog/tags/voting"},{label:"privacy",permalink:"/blog/tags/privacy"}],readingTime:.115,hasTruncateMarker:!1,authors:[{name:"Privacy and Scaling Explorations (PSE)",title:"Zero-Knowledge research team",url:"https://pse.dev",imageURL:"/img/pse-logo-round.png",key:"PSE"}],frontMatter:{slug:"welcome",title:"Welcome to MACI",authors:["PSE"],tags:["maci","ef","pse","zk","voting","privacy"]},unlisted:!1,nextItem:{title:"Maci v1.1.1 Release",permalink:"/blog/maci-v1-1-1-release"}},r={authorsImageUrls:[void 0]},c=[];function p(e){const t={p:"p",...(0,a.a)(),...e.components};return(0,o.jsx)(t.p,{children:"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news."})}function m(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>l});var o=n(79);const a={},s=o.createContext(a);function l(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a948f6fc.f90e4195.js b/assets/js/a948f6fc.68c6579b.js similarity index 92% rename from assets/js/a948f6fc.f90e4195.js rename to assets/js/a948f6fc.68c6579b.js index 8fb1d7786c..be01fe37c2 100644 --- a/assets/js/a948f6fc.f90e4195.js +++ b/assets/js/a948f6fc.68c6579b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7635],{4589:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>a,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var n=s(5250),i=s(2459);const r={},l="Class: G1Point",c={id:"typedoc/classes/crypto_ts.G1Point",title:"crypto_ts.G1Point",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / G1Point",source:"@site/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.G1Point.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/crypto_ts.G1Point",permalink:"/docs/typedoc/classes/crypto_ts.G1Point",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.G1Point.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.AccQueue",permalink:"/docs/typedoc/classes/crypto_ts.AccQueue"},next:{title:"crypto_ts.G2Point",permalink:"/docs/typedoc/classes/crypto_ts.G2Point"}},d={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"x",id:"x",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"y",id:"y",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / G1Point"]}),"\n",(0,n.jsx)(t.h1,{id:"class-g1point",children:"Class: G1Point"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".G1Point"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.code,{children:"Notice"})})}),"\n",(0,n.jsx)(t.p,{children:"A class representing a point on the first group (G1)\nof the Jubjub curve"}),"\n",(0,n.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#x",children:"x"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#y",children:"y"})}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#ascontractparam",children:"asContractParam"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#equals",children:"equals"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(t.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"new G1Point"}),"(",(0,n.jsx)(t.code,{children:"x"}),", ",(0,n.jsx)(t.code,{children:"y"}),"): ",(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point",children:(0,n.jsx)(t.code,{children:"G1Point"})})]}),"\n",(0,n.jsx)(t.p,{children:"Create a new instance of G1Point"}),"\n",(0,n.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"bigint"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the x coordinate"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"y"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"bigint"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the y coordinate"})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point",children:(0,n.jsx)(t.code,{children:"G1Point"})})}),"\n",(0,n.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L22",children:"crypto/ts/babyjub.ts:22"})}),"\n",(0,n.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(t.h3,{id:"x",children:"x"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"x"}),": ",(0,n.jsx)(t.code,{children:"bigint"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L13",children:"crypto/ts/babyjub.ts:13"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"y",children:"y"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"y"}),": ",(0,n.jsx)(t.code,{children:"bigint"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L15",children:"crypto/ts/babyjub.ts:15"})}),"\n",(0,n.jsx)(t.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(t.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"asContractParam"}),"(): ",(0,n.jsx)(t.code,{children:"Object"})]}),"\n",(0,n.jsx)(t.p,{children:"Return the point as a contract param in the form of an object"}),"\n",(0,n.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"Object"})}),"\n",(0,n.jsx)(t.p,{children:"the point as a contract param"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"string"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"y"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"string"})})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L42",children:"crypto/ts/babyjub.ts:42"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"equals",children:"equals"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"equals"}),"(",(0,n.jsx)(t.code,{children:"pt"}),"): ",(0,n.jsx)(t.code,{children:"boolean"})]}),"\n",(0,n.jsx)(t.p,{children:"Check whether two points are equal"}),"\n",(0,n.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"pt"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point",children:(0,n.jsx)(t.code,{children:"G1Point"})})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the point to compare with"})]})})]}),"\n",(0,n.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"boolean"})}),"\n",(0,n.jsx)(t.p,{children:"whether they are equal or not"}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/babyjub.ts#L34",children:"crypto/ts/babyjub.ts:34"})})]})}function a(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>l});var n=s(79);const i={},r=n.createContext(i);function l(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7635],{4589:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>r,metadata:()=>l,toc:()=>o});var n=s(5250),i=s(2459);const r={},c="Class: G1Point",l={id:"typedoc/classes/crypto_ts.G1Point",title:"crypto_ts.G1Point",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / G1Point",source:"@site/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.G1Point.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/crypto_ts.G1Point",permalink:"/docs/typedoc/classes/crypto_ts.G1Point",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.G1Point.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.AccQueue",permalink:"/docs/typedoc/classes/crypto_ts.AccQueue"},next:{title:"crypto_ts.G2Point",permalink:"/docs/typedoc/classes/crypto_ts.G2Point"}},d={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"x",id:"x",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"y",id:"y",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / G1Point"]}),"\n",(0,n.jsx)(t.h1,{id:"class-g1point",children:"Class: G1Point"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".G1Point"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.code,{children:"Notice"})})}),"\n",(0,n.jsx)(t.p,{children:"A class representing a point on the first group (G1)\nof the Jubjub curve"}),"\n",(0,n.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#x",children:"x"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#y",children:"y"})}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#ascontractparam",children:"asContractParam"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point#equals",children:"equals"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(t.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"new G1Point"}),"(",(0,n.jsx)(t.code,{children:"x"}),", ",(0,n.jsx)(t.code,{children:"y"}),"): ",(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point",children:(0,n.jsx)(t.code,{children:"G1Point"})})]}),"\n",(0,n.jsx)(t.p,{children:"Create a new instance of G1Point"}),"\n",(0,n.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"bigint"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the x coordinate"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"y"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"bigint"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the y coordinate"})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point",children:(0,n.jsx)(t.code,{children:"G1Point"})})}),"\n",(0,n.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L22",children:"crypto/ts/babyjub.ts:22"})}),"\n",(0,n.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(t.h3,{id:"x",children:"x"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"x"}),": ",(0,n.jsx)(t.code,{children:"bigint"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L13",children:"crypto/ts/babyjub.ts:13"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"y",children:"y"}),"\n",(0,n.jsxs)(t.p,{children:["\u2022 ",(0,n.jsx)(t.strong,{children:"y"}),": ",(0,n.jsx)(t.code,{children:"bigint"})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L15",children:"crypto/ts/babyjub.ts:15"})}),"\n",(0,n.jsx)(t.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(t.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"asContractParam"}),"(): ",(0,n.jsx)(t.code,{children:"Object"})]}),"\n",(0,n.jsx)(t.p,{children:"Return the point as a contract param in the form of an object"}),"\n",(0,n.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"Object"})}),"\n",(0,n.jsx)(t.p,{children:"the point as a contract param"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"x"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"string"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"y"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"string"})})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L42",children:"crypto/ts/babyjub.ts:42"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"equals",children:"equals"}),"\n",(0,n.jsxs)(t.p,{children:["\u25b8 ",(0,n.jsx)(t.strong,{children:"equals"}),"(",(0,n.jsx)(t.code,{children:"pt"}),"): ",(0,n.jsx)(t.code,{children:"boolean"})]}),"\n",(0,n.jsx)(t.p,{children:"Check whether two points are equal"}),"\n",(0,n.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"pt"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/docs/typedoc/classes/crypto_ts.G1Point",children:(0,n.jsx)(t.code,{children:"G1Point"})})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"the point to compare with"})]})})]}),"\n",(0,n.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"boolean"})}),"\n",(0,n.jsx)(t.p,{children:"whether they are equal or not"}),"\n",(0,n.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/babyjub.ts#L34",children:"crypto/ts/babyjub.ts:34"})})]})}function a(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>c});var n=s(79);const i={},r=n.createContext(i);function c(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.74181b4f.js b/assets/js/b2f554cd.ed375872.js similarity index 99% rename from assets/js/b2f554cd.74181b4f.js rename to assets/js/b2f554cd.ed375872.js index d61769976a..5ff285ca2a 100644 --- a/assets/js/b2f554cd.74181b4f.js +++ b/assets/js/b2f554cd.ed375872.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/index.md","source":"@site/blog/index.md","title":"Welcome to MACI","description":"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.","date":"2024-01-11T21:21:30.000Z","formattedDate":"January 11, 2024","tags":[{"label":"maci","permalink":"/blog/tags/maci"},{"label":"ef","permalink":"/blog/tags/ef"},{"label":"pse","permalink":"/blog/tags/pse"},{"label":"zk","permalink":"/blog/tags/zk"},{"label":"voting","permalink":"/blog/tags/voting"},{"label":"privacy","permalink":"/blog/tags/privacy"}],"readingTime":0.115,"hasTruncateMarker":false,"authors":[{"name":"Privacy and Scaling Explorations (PSE)","title":"Zero-Knowledge research team","url":"https://pse.dev","imageURL":"/img/pse-logo-round.png","key":"PSE"}],"frontMatter":{"slug":"welcome","title":"Welcome to MACI","authors":["PSE"],"tags":["maci","ef","pse","zk","voting","privacy"]},"unlisted":false,"nextItem":{"title":"Maci v1.1.1 Release","permalink":"/blog/maci-v1-1-1-release"}},"content":"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news."},{"id":"maci-v1-1-1-release","metadata":{"permalink":"/blog/maci-v1-1-1-release","editUrl":"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/2023-01-18-maci-v1.1.1.md","source":"@site/blog/2023-01-18-maci-v1.1.1.md","title":"Maci v1.1.1 Release","description":"We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.","date":"2023-01-18T00:00:00.000Z","formattedDate":"January 18, 2023","tags":[{"label":"zk","permalink":"/blog/tags/zk"},{"label":"maci","permalink":"/blog/tags/maci"},{"label":"release","permalink":"/blog/tags/release"},{"label":"voting","permalink":"/blog/tags/voting"},{"label":"security","permalink":"/blog/tags/security"}],"readingTime":6.735,"hasTruncateMarker":false,"authors":[{"name":"ctrlc03 & chao","title":"MACI team","url":"https://pse.dev","image_url":"/img/pse-logo-round.png","imageURL":"/img/pse-logo-round.png"}],"frontMatter":{"slug":"maci-v1-1-1-release","title":"Maci v1.1.1 Release","authors":{"name":"ctrlc03 & chao","title":"MACI team","url":"https://pse.dev","image_url":"/img/pse-logo-round.png","imageURL":"/img/pse-logo-round.png"},"tags":["zk","maci","release","voting","security"]},"unlisted":false,"prevItem":{"title":"Welcome to MACI","permalink":"/blog/welcome"},"nextItem":{"title":"A Technical Introduction to MACI 1.0","permalink":"/blog/maci-1-0-technical-introduction"}},"content":"We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.\\n\\nThis new release brings a more secure product, new features, and a much needed documentation refresh. Before we dive into the updates, let\'s refresh your memory on what MACI is and what it was created to achieve.\\n\\n## Background\\n\\nMACI is an application that provides collusion resistance for on-chain voting processes. It was originally created after Vitalik\'s [post](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413), and has since been revisited and improved.\\n\\nMACI revolves around the need for a trusted coordinator. The coordinator is in charge of setting up the system, publishing its public key, and computing the tally of the votes. Below are the main properties of MACI:\\n\\n| Property | Description |\\n| -------------------- | ----------------------------------------------------------------------------------------------------------------------- |\\n| Collusion Resistance | no-one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery. |\\n| Receipt-freeness | no-one can prove (besides to the coordinator) which way they voted. |\\n| Privacy | no-one except a trusted coordinator should be able to decrypt a vote. |\\n| Uncensorability | no-one \u2014 not even the trusted coordinator, should be able to censor a vote. |\\n| Unforgeability | only the owner of a user\'s private key may cast a vote tied to its corresponding public key. |\\n| Non-repudiation | no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. |\\n| Correct execution | no-one, not even the trusted coordinator, should be able to produce a false tally of votes. |\\n\\nSince its inception, MACI has been adopted by different projects, most notably [clr.fund](https://github.com/clrfund) and [QFI](https://github.com/quadratic-funding/qfi/tree/feat/code-freeze). These projects prove how effective MACI can be, especially when integrated with applications that are otherwise prone to collusion, such as funding Public Goods.\\n\\nFor a more detailed description of MACI, please refer to the [v1 technical introduction article](https://medium.com/privacy-scaling-explorations/a-technical-introduction-to-maci-1-0-db95c3a9439a).\\n\\n## Security Audit\\n\\nMACI was [audited](/audit_reports/202220930_Hashcloak_audit_report.pdf) by HashCloack in the summer of 2022. The audit team discovered certain high risk vulnerabilities, whose fixes were the focus of the MACI team in the past months.\\n\\nIn more details, the audit revealed two high risk issues within the zk-SNARK circuits:\\n\\n- Incomplete validation when processing messages\\n- Integer overflow which could have allowed users to affect a coordinator\'s effort of calculating the subsidy by either making it incorrect or by intercepting the calculation\\n\\nAnother notable security issue was the lack of initialization of the `AccQueue` contract. This contract is used to store messages (votes or topups) for the different polls. Without inserting a zero value hash into the merkle tree contract as the first message during initialization, a malicious user could have performed a denial of service attack on a poll. This could have resulted in the poll results taking a very long time before being tallied by the coordinator.\\n\\nAll of these issues have been successfully resolved, on top of fixing minor issues and general code optimizations. The updated product uses a more up to date and secure version of Solidity, and more thorough test cases to verify the correctness of the solution.\\n\\n## New Features\\n\\n| Feature | Description |\\n| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |\\n| [Top Up Credit](https://hackmd.io/@chaosma/rkyPfI7Iq) | Users can now top up credits rather than having to sign up with a different MACI key |\\n| [Pairwise Subsidy](https://ethresear.ch/t/pairwise-coordination-subsidies-a-new-quadratic-funding-design/5553) | Enhanced protection against collusion in quadratic funding |\\n| [Coordinator Service](https://github.com/privacy-scaling-explorations/maci/tree/v1.1.1/server) | Sample coordinator server for easier MACI use |\\n\\n### Top Up Credit\\n\\nRather than requring a user to sign up multiple times, it is now possible to top up voice credits by sending a top up message on the Poll contract. Withdrawals are not enabled as this would allow a malicious user to bribe others offline to transfer their keys.\\n\\nNow, the Poll contract will hold all the funds deposited from users for the current poll. At the end of a poll, the coordinator can transfer the funds to a hardcoded address which can be used to fund public goods.\\n\\nWhen a user deposits tokens by calling topup, they will also need to specify the stateTree index. The topup function will insert a topup message into the message queue for them. When the voting period ends, any call of topup function will be rejected. Both voting and topup messages have the same ending time, which ensures there is a well-defined ending state for each poll.\\n\\nPlease note that in this approach, the initial credit is still shared across multiple polls, and the actual credit an user can spend in a given poll is the following: `totalCredit=initialCredit+topupCredit` where the `topupCredit` is the voice credit amount deposited by the user during the voting period of the given pollID.\\n\\nFor a detailed description, please refer to this [document](https://hackmd.io/@chaosma/rkyPfI7Iq).\\n\\n### Pairwise Subsidy\\n\\nPairwise subsidy is a new way to reduce collusion in quadratic funding applications. If two contributors collude with each other, they can extract most of the public funding pool if they have enough funds.\\n\\nIn this [post](https://ethresear.ch/t/pairwise-coordination-subsidies-a-new-quadratic-funding-design/5553), Vitalik introduced this kind of collusion and also proposed a protocol to penalize this behavior. As a generalized solution, the more correlation between contributions, the smaller subsidy should be allocated to this project, as this reduces the risk of collusion between contributors. It should be noted that this solution assumes that an identity system is in place to prevent the same entity from registering with two different identities.\\n\\nPlease refer to this [post](https://hackmd.io/@chaosma/H1_9xmT2K) for a more detailed explaination of the implementation.\\n\\nFinally, please note that currently it is not possible to generate the `zkeys` for the subsidy circuit with with the `vote options` parameter larger than $5^2$. This issue is documented [here](https://github.com/privacy-scaling-explorations/maci/issues/584) and the team will focus on finding a solution to be able to support larger vote options.\\n\\n### Coordinator Service\\n\\nMACI now includes a sample [coordinator service](https://github.com/privacy-scaling-explorations/maci/tree/v1.1.1/server).\\n\\nThere are two roles in the cordinator service: admin (i.e. MACI coordinator) and user (i.e. a voter). The admin\'s responsibility is to ensure that the code remains updated and that the backend services are live. The user can then simply send HTTP requests to the backend server to interact with MACI, for instance, by signing up and publishing a message on chain.\\n\\nThe coordinator service has been wrapped into two docker instances: one for the backend server to accept user requests; one for the Mongodb service to store all necessary information on the current state such as smart contract addresses, zero knowledge proof keys and so on.\\n\\nFor further reading on coordinator services, please refer to this [doc](https://hackmd.io/@chaosma/SJtsfzKnF).\\n\\n## How to use MACI\\n\\nMACI can be used as a standalone application to carry out on-chain polls, or be implemented into new projects that can then benefit from its properties.\\n\\nFor use as a standalone application, a `cli` package is provided which allows coordinators and voters to use MACI. Please refer to this [doc](https://maci.pse.dev/docs/cli.html) for details on how to use it.\\n\\nTo implement MACI into a project, the [documentation](https://maci.pse.dev/docs/introduction) can be used a reference, as well as reviewing how [clr.fund](https://github.com/clrfund) and [qf](https://github.com/privacy-scaling-explorations/qf) use MACI in their code.\\n\\n## MACI 0.x\\n\\nMACI version 0.x will be discontinued. MACI 1.x has feature parity, more robust code and newest features. Users are encouraged to use the latest version. Starting February 7, 2023, the team will focus solely on resolving issues for MACI 1.x, and will cease to provide support for version 0.x.\\n\\n## How to get involved\\n\\nShould you wish to get involved with MACI or simply report a bug, feel free to visit the [repository](https://github.com/privacy-scaling-explorations/maci/tree/v1.1.1) and open an issue, or comment under an open issue to notify the team of your intention to work on it.\\n\\nFor any other enquiry, please reach out to us via the Privacy and Scaling Explorations (PSE) [Discord](https://discord.gg/bTdZfpc69U).\\n\\n## References\\n\\n- [MACI GitHub repository](https://github.com/privacy-scaling-explorations/maci/tree/v1.1.1)\\n- [A technical introduction to MACI 1.0 - Kyle Charbonnet](https://medium.com/privacy-scaling-explorations/a-technical-introduction-to-maci-1-0-db95c3a9439a)\\n- [Minimal anti-collusion infrastructure - Vitalik](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413)\\n- [Pairwise Subsidy](https://ethresear.ch/t/pairwise-coordination-subsidies-a-new-quadratic-funding-design/5553)\\n- [Security Audit](https://github.com/privacy-scaling-explorations/maci/blob/v1/audit/202220930_Hashcloak_audit_report.pdf)\\n\\n## Release\\n\\nHere is a link to the new release code in GitHub - [v1.1.1 Release](https://github.com/privacy-scaling-explorations/maci/releases/tag/v1.1.1)."},{"id":"maci-1-0-technical-introduction","metadata":{"permalink":"/blog/maci-1-0-technical-introduction","editUrl":"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/2022-09-22-maci-v1-technical-introduction.md","source":"@site/blog/2022-09-22-maci-v1-technical-introduction.md","title":"A Technical Introduction to MACI 1.0","description":"Introduction","date":"2022-09-22T00:00:00.000Z","formattedDate":"September 22, 2022","tags":[{"label":"zk","permalink":"/blog/tags/zk"},{"label":"maci","permalink":"/blog/tags/maci"},{"label":"release","permalink":"/blog/tags/release"},{"label":"voting","permalink":"/blog/tags/voting"},{"label":"security","permalink":"/blog/tags/security"}],"readingTime":13.235,"hasTruncateMarker":false,"authors":[{"name":"Kyle Charbonnet","title":"Privacy and Scaling Explorations (PSE)","url":"https://github.com/kcharbo3","image_url":"https://avatars.githubusercontent.com/u/30647178?v=4","imageURL":"https://avatars.githubusercontent.com/u/30647178?v=4"}],"frontMatter":{"slug":"maci-1-0-technical-introduction","title":"A Technical Introduction to MACI 1.0","authors":{"name":"Kyle Charbonnet","title":"Privacy and Scaling Explorations (PSE)","url":"https://github.com/kcharbo3","image_url":"https://avatars.githubusercontent.com/u/30647178?v=4","imageURL":"https://avatars.githubusercontent.com/u/30647178?v=4"},"tags":["zk","maci","release","voting","security"]},"unlisted":false,"prevItem":{"title":"Maci v1.1.1 Release","permalink":"/blog/maci-v1-1-1-release"},"nextItem":{"title":"MACI 1.0 Release","permalink":"/blog/maci-1-0-release"}},"content":"## Introduction\\n\\nMACI, which stands for Minimal Anti-Collusion Infrastructure, is an application that allows users to have an on-chain voting process with greatly increased collusion resistance. A common problem among today\u2019s on-chain voting processes is how easy it is to bribe voters into voting for a particular option. Oftentimes this bribery takes the form of \u201cjoin our pool (vote our way) and we will give you a cut of the rewards (the bribe)\u201d. Since all transactions on the blockchain are public, without MACI, voters can easily prove to the briber which option they voted for and therefore receive the bribe rewards.\\n\\nMACI counters this by using zk-SNARKs to essentially hide how each person voted while still revealing the final vote result. User\u2019s cannot prove which option they voted for, and therefore bribers cannot reliably trust that a user voted for their preferred option. For example, a voter can tell a briber that they are voting for option A, but in reality they voted for option B. There is no reliable way to prove which option the voter actually voted for, so the briber does not have the incentive to pay voters to vote their way.\\n\\n## Background\\n\\nFor a general overview, the history and the importance of MACI, see Release Announcement: MACI 1.0 by Wei Jie, one of the creators. He also created a very helpful youtube video on the overview of MACI. To see the origin of the idea of MACI, see Vitalik\u2019s research post on Minimal Anti-Collusion Infrastructure. Lastly, it is recommended to understand the basic idea behind zk-SNARKs, as these are a core component of MACI. The following articles are great resources:\\n\\n- Introduction to zk-SNARKs \u2014 Consensys\\n- What are zk-SNARKs \u2014 Zcash\\n- An approximate introduction to how zk-SNARKs are possible \u2014 Vitalik\\n- zkSNARKs in a nutshell \u2014 Ethereum.org\\n\\nThis article will go over the general workflow of MACI and how it is capable of providing the following tenets (taken word for word from Wei Jie\u2019s article):\\n\\n- Collusion Resistance: No one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery\\n- Receipt-freeness: No voter may prove (besides to the coordinator) which way they voted\\n- Privacy: No one except a trusted coordinator should be able to decrypt a vote\\n- Uncensorability: No one (not even the trusted coordinator) should be able to censor a vote\\n- Unforgeability: Only the owner of a user\u2019s private key may cast a vote tied to its corresponding public key\\n- Non-repudiation: No one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it\\n- Correct execution: No one (not even the trusted coordinator) should be able to produce a false tally of votes\\n\\n## System Overview\\n\\n### Roles\\n\\nIn the MACI workflow, there are two different roles: users (voters) and a single trusted coordinator. The users vote on the blockchain via MACI smart contracts, and the coordinator tallies up the votes and releases the final results.\\n\\nThe coordinators must use zk-SNARKs to prove that their final tally result is valid without releasing the vote of every individual. Therefore, even if a coordinator is corrupt, they are unable to change a user\u2019s vote or add extra votes themselves. A corrupt coordinator can stop a vote by never publishing the results, but they can\u2019t publish false results.\\n\\nBefore sending their vote on the blockchain, users encrypt their vote using a shared key that only the user and coordinator can know. This key scheme is designed so that every individual user shares a distinct key with the coordinator. This prevents any bribers from simply reading the transaction data to see which option a user voted for. The encrypted vote is now considered a \u201cmessage\u201d and the user sends this message to a MACI smart contract to be stored on-chain.\\n\\nA very simplified illustration of this encryption can be seen below:\\n\\n![Posting a Message](assets/MACI_Simple_Message.png)\\n\\n### Vote Overriding and Public Key Switching\\n\\nBefore a user can cast a vote, they must sign up by sending the public key they wish to use to vote to a MACI smart contract. This public key acts as their identity when voting. They can vote from any address, but their message must contain a signature from that public key. When casting an actual vote after signing up, a user will bundle a few variables \u2014 including a public key, their vote option, their vote amount, and a few others \u2014 into what is called a \u201ccommand\u201d. Then, the user signs the command with the public key they originally used to sign up. After that, the user encrypts the signature and command together so that it is now considered a message. This more complex description of how a message is constructed is illustrated below:\\n\\n![Complex Message](assets/MACI_Complex_Message.png)\\n\\nUsers are able to override their previous vote as long as they sign their command with the previous public key. If the command is properly signed by the user\u2019s previous public key, then the message is considered valid and the coordinator will count this as the correct vote. So, when a user provides a public key in their vote that is different than their previous public key, they may now submit a new vote signed by this new public key to override their previous vote. If the signature is not from the previous public key, the message will be marked as invalid and not counted toward the tally. Therefore, the public key can be thought of as the user\u2019s voting username, and the signature is the voting password. If they provide the correct signature, they can submit a vote or change their public key \u2014 or both.\\n\\nThis feature, which I refer to as public key switching, is designed to counter the bribery attack where a user simply shows the briber their message, and then decrypts it for the briber to see which way the user voted. Public key switching allows users to change their public key and create invalid messages in favor of the bribers. The bribers have no way of telling if the user switched their public keys before sending in the vote shown to the bribers.\\n\\nThis can be quite confusing so here is an example:\\n\\n1. Bob signs up with public key 1\\n2. Bob then creates a command that contains \u2014 a vote for option A and public key 2\\n3. Bob signs this command with public key 1, the key he used to sign up\\n4. Bob encrypts this command into a message and submits it to the MACI smart contracts\\n5. The coordinator decrypts this message, and checks to ensure that the command is signed by Bob\u2019s previous key \u2014 public key 1. This message is valid.\\n6. The coordinator then records Bob\u2019s vote for option A and updates his public key to public key 2\\n\\n![Signup 1](assets/MACI_Bob_SignUp_1.png)\\n\\nAt this point, Bob has successfully voted for option A, and in order to override this vote must send in a new vote with a signature from public key 2. At this point, a briber now tries to get Bob to vote for option B:\\n\\n1. Bob creates a command that contains \u2014 a vote for option B and public key 1\\n2. Bob signs this command with public key 1, encrypts the message and submits it to the MACI smart contracts\\n3. Bob shows the briber the decrypted message as proof of his vote for option B\\n4. The coordinator decrypts Bob\u2019s message and sees that the signature does not match up with public key 2 \u2014 Bob\u2019s previous key added in his previous message. Therefore this message is invalid and this vote is not counted in the final tally.\\n5. The briber has no way of knowing whether the vote was valid or invalid, and so is not incentivized to offer bribes to other users.\\n\\n![Signup 2](assets/MACI_Bob_SignUp_2.png)\\n\\nIn order to get a good idea of how MACI works, it\u2019s important to know how the zk-SNARKs are able to prove that the coordinator decrypted each message and tallied the votes properly. The next section gives a quick and much oversimplified overview of zk-SNARKs, although the readings listed in the introduction are much more helpful.\\n\\n### zk-SNARKs\\n\\nEssentially, zk-SNARKs allow users to prove they know an answer to a specific mathematical equation, without revealing what that answer is. Take the following equation for example,\\n\\n> X + Y = 15\\n\\nI can prove that I know 2 values, X and Y that satisfy the equation without revealing what those two values are. When I create a zk-SNARK for my answer, anyone can use the SNARK (a group of numbers) and validate it against the equation above to prove that I do know a solution to that equation. The user is unable to use the SNARK to find out my answers for X and Y.\\n\\nFor MACI, the equation is much more complicated but can be summarized as the following equations:\\n\\n> encrypt(command1) = message1 \\n> encrypt(command2) = message2 \\n> encrypt(command3) = message3 \\n> \u2026 \\n> Command1 from user1 + command2 from user2 + command3 from user3 + \u2026 = total tally result\\n\\nHere, everyone is able to see the messages on the blockchain and the total tally result. Only the coordinator knows what the individual commands/votes are by decrypting the messages. So, the coordinator uses a zk-SNARK to prove they know all of the votes that:\\n\\n1. Encrypt to the messages present on the blockchain\\n2. Sum to the tally result\\n Users can then use the SNARK to prove that the tally result is correct, but cannot use it to prove any individual\u2019s vote choices.\\n\\nNow that the core components of MACI have been covered, it is helpful to dive deeper into the MACI workflow and specific smart contracts.\\n\\n## Workflow\\n\\nThe general workflow process can be broken down into 4 different phases:\\n\\n1. Sign Up\\n2. Publish Message\\n3. Process Messages\\n4. Tally Results\\n\\nThese phases make use of 3 main smart contracts \u2014 MACI, Poll and \u200b\u200bPollProcessorAndTallyer. These contracts can be found on the MACI github page. The MACI contract is responsible for keeping track of all the user signups by recording the initial public key for each user. When a vote is going to take place, users can deploy a Poll smart contract via MACI.deployPoll().\\n\\nThe Poll smart contract is where users submit their messages. One MACI contract can be used for multiple polls. In other words, the users that signed up to the MACI contract can vote on multiple issues, with each issue represented by a distinct Poll contract.\\n\\nFinally, the PollProcessorAndTallyer contract is used by the coordinator to prove on-chain that they are correctly tallying each vote. This process is explained in more detail in the Process Messages and Tally Results sections below.\\n\\n![MACI Workflow](assets/MACI_Contracts.png)\\n\\n### Sign Up\\n\\nThe sign up process for MACI is handled via the MACI.sol smart contract. Users need to send three pieces of information when calling MACI.signUp():\\n\\n1. Public Key\\n2. Sign Up Gatekeeper Data\\n3. Initial Voice Credit Proxy Data\\n\\nThe public key is the original public key mentioned in above sections that the user will need to vote. As explained in earlier sections, they can change this public key later once voting starts. The user\u2019s public key used to sign up is shared amongst every poll.\\n\\nMACI allows the contract creator/owner to set a \u201csignUpGateKeeper\u201d. The sign up gatekeeper is meant to be the address of another smart contract that determines the rules to sign up. So, when a user calls MACI.signUp(), the function will call the sign up gatekeeper to check if this user is valid to sign up.\\n\\nMACI also allows the contract creator/owner to set an \u201cinitialVoiceCreditProxy\u201d. This represents the contract that determines how many votes a given user gets. So, when a user calls MACI.signUp(), the function will call the initial voice credit proxy to check how many votes they can spend. The user\u2019s voice credit balance is reset to this number for every new poll.\\n\\nOnce MACI has checked that the user is valid and retrieved how many voice credits they have, MACI stores the following user info into the Sign Up Merkle Tree:\\n\\n1. Public Key\\n2. Voice Credits\\n3. Timestamp\\n\\n![Signup](assets/MACI_Sign_Up.png)\\n\\n### Publish Message\\n\\nOnce it is time to vote, the MACI creator/owner will deploy a Poll smart contract. Then, users will call Poll.publishMessage() and send the following data:\\n\\n1. Message\\n2. Encryption Key\\n\\nAs explained in sections above, the coordinator will need to use the encryption key in order to derive a shared key. The coordinator can then use the shared key to decrypt the message into a command, which contains the vote.\\n\\nOnce a user publishes their message, the Poll contract will store the message and encryption key into the Message Merkle Tree.\\n\\n### Process Messages\\n\\nOnce the voting is done for a specific poll, the coordinator will use the PollProcessAndTallyer contract to first prove that they have correctly decrypted each message and applied them to correctly create an updated state tree. This state tree keeps an account of all the valid votes that should be counted. So, when processing the messages, the coordinator will not keep messages that are later overridden by a newer message inside the state tree. For example, if a user votes for option A, but then later sends a new message to vote for option B, the coordinator will only count the vote for option B.\\n\\nThe coordinator must process messages in groups so that proving on chain does not exceed the data limit. The coordinator then creates a zk-SNARK proving their state tree correctly contains only the valid messages. Once the proof is ready, the coordinator calls PollProcessorAndTallyer.processMessages(), providing a hash of the state tree and the zk-SNARK proof as an input parameters.\\n\\nThe PollProcessorAndTallyer contract will send the proof to a separate verifier contract. The verifier contract is specifically built to read MACI zk-SNARK proofs and tell if they are valid or not. So, if the verifier contract returns true, then everyone can see on-chain that the coordinator correctly processed that batch of messages. The coordinator repeats this process until all messages have been processed.\\n\\n### Tally Votes\\n\\nFinally, once all messages have been processed, the coordinator tallies the votes of the valid messages. The coordinator creates a zk-SNARK proving that the valid messages in the state tree (proved in Process Messages step) contain votes that sum to the given tally result. Then, they call PollProcessorAndTallyer.tallyVotes() with a hash of the correct tally results and the zk-SNARK proof. Similarly to the processMessages function, the tallyVotes function will send the proof to a verifier contract to ensure that it is valid.\\n\\nThe tallyVotes function is only successful if the verifier contract returns that the proof is valid. Therefore, once the tallyVotes function succeeds, users can trust that the coordinator has correctly tallied all of the valid votes. After this step, anyone can see the final tally results and the proof that these results are a correct result of the messages sent to the Poll contract. The users won\u2019t be able to see how any individual voted, but will be able to trust that these votes were properly processed and counted.\\n\\n![Tally](assets/MACI_Verifier_1.png)\\n\\n## Conclusion\\n\\nMACI is a huge step forward in preventing collusion for on-chain votes. While it doesn\u2019t prevent all possibilities of collusion, it does make it much harder. MACI can already be seen to be in use by the clr.fund, which has users vote on which projects to receive funding. When the possible funding amount becomes very large, users and organizations have a large incentive to collude to receive parts of these funds. This is where MACI can truly make a difference, to protect the fairness of such important voting processes such as those at clr.fund."},{"id":"maci-1-0-release","metadata":{"permalink":"/blog/maci-1-0-release","editUrl":"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/2021-10-12-maci-v1.md","source":"@site/blog/2021-10-12-maci-v1.md","title":"MACI 1.0 Release","description":"The Privacy & Scaling Explorations team is proud to release version 1.0 of Minimal Anti-Collusion Infrastructure (MACI). MACI enables collusion resistance for decentralised applications, particularly voting and quadratic funding systems. This release is a major upgrade to the project and provides better developer experience and gas savings for users.","date":"2021-10-12T00:00:00.000Z","formattedDate":"October 12, 2021","tags":[{"label":"zk","permalink":"/blog/tags/zk"},{"label":"maci","permalink":"/blog/tags/maci"},{"label":"release","permalink":"/blog/tags/release"},{"label":"voting","permalink":"/blog/tags/voting"},{"label":"security","permalink":"/blog/tags/security"}],"readingTime":7.415,"hasTruncateMarker":false,"authors":[{"name":"Koh Wei Jie","title":"Zero Knowledge (ZK) Researcher","url":"https://github.com/weijiekoh","image_url":"https://avatars.githubusercontent.com/u/17002415?v=4","imageURL":"https://avatars.githubusercontent.com/u/17002415?v=4"}],"frontMatter":{"slug":"maci-1-0-release","title":"MACI 1.0 Release","authors":{"name":"Koh Wei Jie","title":"Zero Knowledge (ZK) Researcher","url":"https://github.com/weijiekoh","image_url":"https://avatars.githubusercontent.com/u/17002415?v=4","imageURL":"https://avatars.githubusercontent.com/u/17002415?v=4"},"tags":["zk","maci","release","voting","security"]},"unlisted":false,"prevItem":{"title":"A Technical Introduction to MACI 1.0","permalink":"/blog/maci-1-0-technical-introduction"}},"content":"The Privacy & Scaling Explorations team is proud to release version 1.0 of Minimal Anti-Collusion Infrastructure (MACI). MACI enables collusion resistance for decentralised applications, particularly voting and quadratic funding systems. This release is a major upgrade to the project and provides better developer experience and gas savings for users.\\n\\nThe code is in the v1 branch of the appliedzkp/macirepository and will be merged soon.\\n\\nMACI 1.0 was audited by Hashcloak. All vulnerabilities found have been fixed. The audit report can be found here. We would like to thank our highly professional and responsive auditors for surfacing these issues and providing clear feedback for addressing them.\\n\\n## About MACI\\n\\nMACI is a set of smart contracts and zero-knowledge circuits upon which which developers can build collusion-resistant applications, such as voting systems or quadratic funding platforms. MACI per se is not a user-facing application. Rather, developers may build applications on top of it. In turn, such applications can benefit from the following properties:\\n\\n- Collusion resistance: no-one, except a trusted coordinator, can be convinced of the validity of a vote, reducing the effectiveness of bribery.\\n- Receipt-freeness: a voter cannot prove, besides to the coordinator, which way they voted.\\n- Privacy: no-one, except a trusted coordinator, should be able to decrypt a vote.\\n- Uncensorability: no-one, not even the trusted coordinator, should be able to censor a vote.\\n- Unforgeability: only the owner of a user\u2019s private key may cast a vote tied to its corresponding public key.\\n- Non-repudiation: no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it.\\n- Correct execution: no-one, not even the trusted coordinator, should be able to produce a false tally of votes.\\n\\nPractically speaking, MACI provides a set of Typescript packages, Ethereum smart contracts and zero-knowledge circuits. It inherits security and uncensorability from the underlying Ethereum blockchain, ensures unforgeability via asymmetric encryption, and achieves collusion resistance, privacy, and correct execution via zk-SNARKs.\\n\\nPlease note that MACI does not and will not have a token. In other words, it does not represent an investment opportunity.\\n\\n## MACI\u2019s history\\n\\nMACI stems from an ethresear.ch post by Vitalik Buterin. Subsequently, the initial codebase was written in late 2019 and early 2020 by grantees with the Ethereum Foundation, namely Kendrick Tan, Koh Wei Jie, and Chih-Cheng Liang. MACI then saw developer adoption at ETHDenver in February 2020, where Auryn Macmillan and others started work on clr.fund, a protocol for the Ethereum community to allocate funds for Ethereum-based public goods.\\n\\nAfter the event, we continued to work with clr.fund to improve MACI and integrate it with their application. clr.fund has completed seven rounds of public goods funding, the last of which saw more than US$6000 worth of contributions. At the time of writing, it is currently running an eighth round with more than US$20k in contributions.\\n\\nWork on version 1.0 started in late 2020 with the goal of reducing the gas and computational requirements, as well as to improve its flexibility and usability, without compromising any of its anti-collusion, security, and trust guarantees. We also took this opportunity to keep up with new techniques, ideas, and tooling from the rapidly advancing Ethereum and zero-knowledge ecosystem.\\n\\nFinally, in early 2021 we were very fortunate to bring on Cory Dickson to the team. His work on writing documentation, revamping MACI\u2019s integration test suites, working with our auditors to fix bugs, and collaborating with external teams has been invaluable to the project.\\n\\n## Why is MACI important?\\n\\nIt is very difficult for naive voting systems, particularly those which are integrated into smart contract platforms, to prevent collusion. For instance, if a simple Ethereum transaction represents a vote, a briber can easily examine its calldata, tell how its sender voted, and reward or punish them accordingly.\\n\\nMore broadly, collusion resistance is particulary important for cryptoeconomic systems. Vitalik Buterin describes the motivations behind MACI in On Collusion. He argues that systems that use cryptoeconomic incentive mechanisms to align participants\u2019 behaviour can be vulnerable to collusion attacks, such as bribery. In another post, he elaborates:\\n\\nif you can prove how you voted, selling your vote becomes very easy. Provability of votes would also enable forms of coercion where the coercer demands to see some kind of proof of voting for their preferred candidate.\\n\\nTo illustrate this point, consider an alleged example of collusion that occurred in round 6 of Gitcoin grants (a platform for quadratic funding software projects which contribute to public goods). In How to Attack and Defend Quadratic Funding, an author from Gitcoin highlights a tweet by a potential grant beneficiary appeared to offer 0.01 ETH in exchange for matching funds:\\n\\nThey explain the nature of this scheme:\\n\\n> While creating fake accounts to attract matching funds can be prevented by sybil resistant design, colluders can easily up their game by coordinating a group of real accounts to \u201cmine Gitcoin matching funds\u201d and split the \u201cinterest\u201d among the group.\\n\\nFinally, MACI is important because as crypto communities are increasingly adopting Decentralised Autonomous Organisations (DAOs) which govern through token voting. The threat of bribery attacks and other forms of collusion will only increase if left unchecked, since such attacks target a fundamental vulnerability of such systems.\\n\\n## What\u2019s new?\\n\\nIn this release, we rearchitected MACI\u2019s smart contracts to allow for greater flexiblity and separation of concerns. In particular, we support multiple polls within a single instance of MACI. This allows the coordinator to run and tally many elections either subsequently or concurrently.\\n\\nWe\u2019ve kept the ability for developers to provide their own set of logic to gate-keep signups. For instance, application developers can write custom logic that only allows addresses which own a certain token to sign up once to MACI in order to participate in polls.\\n\\nAn additional upgrade we have implemented is greater capacity for signups, votes, and vote options. With MACI 1.0, a coordinator can run a round that supports more users, votes, and choices than before, even with the same hardware.\\n\\nWe adopted iden3\u2019s tools for faster proof generation. Furthermore, we rewrote our zk-SNARK circuits using the latest versions of snarkjs, circom, and circomlib. We also developed additional developer tooling such as circom-helper and zkey-manager.\\n\\nFinally, we significantly reduced gas costs borne by users by replacing our incremental Merkle tree contracts with a modified deposit queue mechanism. While this new mechanism achieves the same outcome, it shifts some gas costs from users to the coordinator. A comparison of approximate gas costs for user-executed operations is as follows:\\n\\nFinally, we are looking forward to collaborating with other projects and supporting their development of client applications and new use cases. For instance, clr.fund team has indicated that they would like to upgrade their stack to MACI v1.0, and other projects have expressed interest in adopting MACI. We hope that through collaboration, the Ethereum community can benefit from our work, and vice versa.\\n\\n## Further work\\n\\nThere is plenty of space for MACI to grow and we welcome new ideas. We are keen to work with developers who wish to do interesting and impactful work, especially folks who would like to learn how to build applications with zk-SNARKs and Ethereum.\\n\\n### Negative voting\\n\\nWe thank Samuel Gosling for completing a grant for work on negative voting. This allows voters to use their voice credits to not only signal approval of a vote option, but also disapproval. Please note that the negative voting branch, while complete, is currently unaudited and therefore not yet merged into the main MACI codebase.\\n\\n### Anonymisation\\n\\nA suggested upgrade to MACI is to use ElGamal re-randomisation for anonymity of voters. While all votes are encrypted, currently the coordinator is able to decrypt and read them. With re-randomisation, the coordinator would not be able to tell which user took which action.\\n\\n### Coordinator tooling\\n\\nWe are working on tooling that makes it easier for coordinators to interface with deployed contracts and manage tallies for multiple polls. This will allow users to generate proofs and query inputs and outputs from existing circuits through an easy-to-use API. We hope that this will drive more adoption of MACI and offload the need for bespoke infrastructure.\\n\\n### Trusted setup\\n\\nUnlike other ZKP projects, MACI does not have an official trusted setup. Instead, we hope to assist teams implementing MACI in their applications to run their own trusted setup. For instance, clr.fund recently completed a trusted setup (on a previous version of MACI) for a specific set of circuit parameters. Other teams may wish to use a different set of parameters on MACI 1.0, which calls for a different trusted setup.\\n\\n## Conclusion\\n\\nThis release marks a step towards the hard problem of preventing collusion in decentralised voting and quadratic funding systems. We are excited to share our work and please get in touch if you are a developer and are interested in getting involved in any way."}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/index.md","source":"@site/blog/index.md","title":"Welcome to MACI","description":"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.","date":"2024-01-11T22:31:24.000Z","formattedDate":"January 11, 2024","tags":[{"label":"maci","permalink":"/blog/tags/maci"},{"label":"ef","permalink":"/blog/tags/ef"},{"label":"pse","permalink":"/blog/tags/pse"},{"label":"zk","permalink":"/blog/tags/zk"},{"label":"voting","permalink":"/blog/tags/voting"},{"label":"privacy","permalink":"/blog/tags/privacy"}],"readingTime":0.115,"hasTruncateMarker":false,"authors":[{"name":"Privacy and Scaling Explorations (PSE)","title":"Zero-Knowledge research team","url":"https://pse.dev","imageURL":"/img/pse-logo-round.png","key":"PSE"}],"frontMatter":{"slug":"welcome","title":"Welcome to MACI","authors":["PSE"],"tags":["maci","ef","pse","zk","voting","privacy"]},"unlisted":false,"nextItem":{"title":"Maci v1.1.1 Release","permalink":"/blog/maci-v1-1-1-release"}},"content":"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news."},{"id":"maci-v1-1-1-release","metadata":{"permalink":"/blog/maci-v1-1-1-release","editUrl":"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/2023-01-18-maci-v1.1.1.md","source":"@site/blog/2023-01-18-maci-v1.1.1.md","title":"Maci v1.1.1 Release","description":"We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.","date":"2023-01-18T00:00:00.000Z","formattedDate":"January 18, 2023","tags":[{"label":"zk","permalink":"/blog/tags/zk"},{"label":"maci","permalink":"/blog/tags/maci"},{"label":"release","permalink":"/blog/tags/release"},{"label":"voting","permalink":"/blog/tags/voting"},{"label":"security","permalink":"/blog/tags/security"}],"readingTime":6.735,"hasTruncateMarker":false,"authors":[{"name":"ctrlc03 & chao","title":"MACI team","url":"https://pse.dev","image_url":"/img/pse-logo-round.png","imageURL":"/img/pse-logo-round.png"}],"frontMatter":{"slug":"maci-v1-1-1-release","title":"Maci v1.1.1 Release","authors":{"name":"ctrlc03 & chao","title":"MACI team","url":"https://pse.dev","image_url":"/img/pse-logo-round.png","imageURL":"/img/pse-logo-round.png"},"tags":["zk","maci","release","voting","security"]},"unlisted":false,"prevItem":{"title":"Welcome to MACI","permalink":"/blog/welcome"},"nextItem":{"title":"A Technical Introduction to MACI 1.0","permalink":"/blog/maci-1-0-technical-introduction"}},"content":"We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.\\n\\nThis new release brings a more secure product, new features, and a much needed documentation refresh. Before we dive into the updates, let\'s refresh your memory on what MACI is and what it was created to achieve.\\n\\n## Background\\n\\nMACI is an application that provides collusion resistance for on-chain voting processes. It was originally created after Vitalik\'s [post](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413), and has since been revisited and improved.\\n\\nMACI revolves around the need for a trusted coordinator. The coordinator is in charge of setting up the system, publishing its public key, and computing the tally of the votes. Below are the main properties of MACI:\\n\\n| Property | Description |\\n| -------------------- | ----------------------------------------------------------------------------------------------------------------------- |\\n| Collusion Resistance | no-one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery. |\\n| Receipt-freeness | no-one can prove (besides to the coordinator) which way they voted. |\\n| Privacy | no-one except a trusted coordinator should be able to decrypt a vote. |\\n| Uncensorability | no-one \u2014 not even the trusted coordinator, should be able to censor a vote. |\\n| Unforgeability | only the owner of a user\'s private key may cast a vote tied to its corresponding public key. |\\n| Non-repudiation | no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. |\\n| Correct execution | no-one, not even the trusted coordinator, should be able to produce a false tally of votes. |\\n\\nSince its inception, MACI has been adopted by different projects, most notably [clr.fund](https://github.com/clrfund) and [QFI](https://github.com/quadratic-funding/qfi/tree/feat/code-freeze). These projects prove how effective MACI can be, especially when integrated with applications that are otherwise prone to collusion, such as funding Public Goods.\\n\\nFor a more detailed description of MACI, please refer to the [v1 technical introduction article](https://medium.com/privacy-scaling-explorations/a-technical-introduction-to-maci-1-0-db95c3a9439a).\\n\\n## Security Audit\\n\\nMACI was [audited](/audit_reports/202220930_Hashcloak_audit_report.pdf) by HashCloack in the summer of 2022. The audit team discovered certain high risk vulnerabilities, whose fixes were the focus of the MACI team in the past months.\\n\\nIn more details, the audit revealed two high risk issues within the zk-SNARK circuits:\\n\\n- Incomplete validation when processing messages\\n- Integer overflow which could have allowed users to affect a coordinator\'s effort of calculating the subsidy by either making it incorrect or by intercepting the calculation\\n\\nAnother notable security issue was the lack of initialization of the `AccQueue` contract. This contract is used to store messages (votes or topups) for the different polls. Without inserting a zero value hash into the merkle tree contract as the first message during initialization, a malicious user could have performed a denial of service attack on a poll. This could have resulted in the poll results taking a very long time before being tallied by the coordinator.\\n\\nAll of these issues have been successfully resolved, on top of fixing minor issues and general code optimizations. The updated product uses a more up to date and secure version of Solidity, and more thorough test cases to verify the correctness of the solution.\\n\\n## New Features\\n\\n| Feature | Description |\\n| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |\\n| [Top Up Credit](https://hackmd.io/@chaosma/rkyPfI7Iq) | Users can now top up credits rather than having to sign up with a different MACI key |\\n| [Pairwise Subsidy](https://ethresear.ch/t/pairwise-coordination-subsidies-a-new-quadratic-funding-design/5553) | Enhanced protection against collusion in quadratic funding |\\n| [Coordinator Service](https://github.com/privacy-scaling-explorations/maci/tree/v1.1.1/server) | Sample coordinator server for easier MACI use |\\n\\n### Top Up Credit\\n\\nRather than requring a user to sign up multiple times, it is now possible to top up voice credits by sending a top up message on the Poll contract. Withdrawals are not enabled as this would allow a malicious user to bribe others offline to transfer their keys.\\n\\nNow, the Poll contract will hold all the funds deposited from users for the current poll. At the end of a poll, the coordinator can transfer the funds to a hardcoded address which can be used to fund public goods.\\n\\nWhen a user deposits tokens by calling topup, they will also need to specify the stateTree index. The topup function will insert a topup message into the message queue for them. When the voting period ends, any call of topup function will be rejected. Both voting and topup messages have the same ending time, which ensures there is a well-defined ending state for each poll.\\n\\nPlease note that in this approach, the initial credit is still shared across multiple polls, and the actual credit an user can spend in a given poll is the following: `totalCredit=initialCredit+topupCredit` where the `topupCredit` is the voice credit amount deposited by the user during the voting period of the given pollID.\\n\\nFor a detailed description, please refer to this [document](https://hackmd.io/@chaosma/rkyPfI7Iq).\\n\\n### Pairwise Subsidy\\n\\nPairwise subsidy is a new way to reduce collusion in quadratic funding applications. If two contributors collude with each other, they can extract most of the public funding pool if they have enough funds.\\n\\nIn this [post](https://ethresear.ch/t/pairwise-coordination-subsidies-a-new-quadratic-funding-design/5553), Vitalik introduced this kind of collusion and also proposed a protocol to penalize this behavior. As a generalized solution, the more correlation between contributions, the smaller subsidy should be allocated to this project, as this reduces the risk of collusion between contributors. It should be noted that this solution assumes that an identity system is in place to prevent the same entity from registering with two different identities.\\n\\nPlease refer to this [post](https://hackmd.io/@chaosma/H1_9xmT2K) for a more detailed explaination of the implementation.\\n\\nFinally, please note that currently it is not possible to generate the `zkeys` for the subsidy circuit with with the `vote options` parameter larger than $5^2$. This issue is documented [here](https://github.com/privacy-scaling-explorations/maci/issues/584) and the team will focus on finding a solution to be able to support larger vote options.\\n\\n### Coordinator Service\\n\\nMACI now includes a sample [coordinator service](https://github.com/privacy-scaling-explorations/maci/tree/v1.1.1/server).\\n\\nThere are two roles in the cordinator service: admin (i.e. MACI coordinator) and user (i.e. a voter). The admin\'s responsibility is to ensure that the code remains updated and that the backend services are live. The user can then simply send HTTP requests to the backend server to interact with MACI, for instance, by signing up and publishing a message on chain.\\n\\nThe coordinator service has been wrapped into two docker instances: one for the backend server to accept user requests; one for the Mongodb service to store all necessary information on the current state such as smart contract addresses, zero knowledge proof keys and so on.\\n\\nFor further reading on coordinator services, please refer to this [doc](https://hackmd.io/@chaosma/SJtsfzKnF).\\n\\n## How to use MACI\\n\\nMACI can be used as a standalone application to carry out on-chain polls, or be implemented into new projects that can then benefit from its properties.\\n\\nFor use as a standalone application, a `cli` package is provided which allows coordinators and voters to use MACI. Please refer to this [doc](https://maci.pse.dev/docs/cli.html) for details on how to use it.\\n\\nTo implement MACI into a project, the [documentation](https://maci.pse.dev/docs/introduction) can be used a reference, as well as reviewing how [clr.fund](https://github.com/clrfund) and [qf](https://github.com/privacy-scaling-explorations/qf) use MACI in their code.\\n\\n## MACI 0.x\\n\\nMACI version 0.x will be discontinued. MACI 1.x has feature parity, more robust code and newest features. Users are encouraged to use the latest version. Starting February 7, 2023, the team will focus solely on resolving issues for MACI 1.x, and will cease to provide support for version 0.x.\\n\\n## How to get involved\\n\\nShould you wish to get involved with MACI or simply report a bug, feel free to visit the [repository](https://github.com/privacy-scaling-explorations/maci/tree/v1.1.1) and open an issue, or comment under an open issue to notify the team of your intention to work on it.\\n\\nFor any other enquiry, please reach out to us via the Privacy and Scaling Explorations (PSE) [Discord](https://discord.gg/bTdZfpc69U).\\n\\n## References\\n\\n- [MACI GitHub repository](https://github.com/privacy-scaling-explorations/maci/tree/v1.1.1)\\n- [A technical introduction to MACI 1.0 - Kyle Charbonnet](https://medium.com/privacy-scaling-explorations/a-technical-introduction-to-maci-1-0-db95c3a9439a)\\n- [Minimal anti-collusion infrastructure - Vitalik](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413)\\n- [Pairwise Subsidy](https://ethresear.ch/t/pairwise-coordination-subsidies-a-new-quadratic-funding-design/5553)\\n- [Security Audit](https://github.com/privacy-scaling-explorations/maci/blob/v1/audit/202220930_Hashcloak_audit_report.pdf)\\n\\n## Release\\n\\nHere is a link to the new release code in GitHub - [v1.1.1 Release](https://github.com/privacy-scaling-explorations/maci/releases/tag/v1.1.1)."},{"id":"maci-1-0-technical-introduction","metadata":{"permalink":"/blog/maci-1-0-technical-introduction","editUrl":"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/2022-09-22-maci-v1-technical-introduction.md","source":"@site/blog/2022-09-22-maci-v1-technical-introduction.md","title":"A Technical Introduction to MACI 1.0","description":"Introduction","date":"2022-09-22T00:00:00.000Z","formattedDate":"September 22, 2022","tags":[{"label":"zk","permalink":"/blog/tags/zk"},{"label":"maci","permalink":"/blog/tags/maci"},{"label":"release","permalink":"/blog/tags/release"},{"label":"voting","permalink":"/blog/tags/voting"},{"label":"security","permalink":"/blog/tags/security"}],"readingTime":13.235,"hasTruncateMarker":false,"authors":[{"name":"Kyle Charbonnet","title":"Privacy and Scaling Explorations (PSE)","url":"https://github.com/kcharbo3","image_url":"https://avatars.githubusercontent.com/u/30647178?v=4","imageURL":"https://avatars.githubusercontent.com/u/30647178?v=4"}],"frontMatter":{"slug":"maci-1-0-technical-introduction","title":"A Technical Introduction to MACI 1.0","authors":{"name":"Kyle Charbonnet","title":"Privacy and Scaling Explorations (PSE)","url":"https://github.com/kcharbo3","image_url":"https://avatars.githubusercontent.com/u/30647178?v=4","imageURL":"https://avatars.githubusercontent.com/u/30647178?v=4"},"tags":["zk","maci","release","voting","security"]},"unlisted":false,"prevItem":{"title":"Maci v1.1.1 Release","permalink":"/blog/maci-v1-1-1-release"},"nextItem":{"title":"MACI 1.0 Release","permalink":"/blog/maci-1-0-release"}},"content":"## Introduction\\n\\nMACI, which stands for Minimal Anti-Collusion Infrastructure, is an application that allows users to have an on-chain voting process with greatly increased collusion resistance. A common problem among today\u2019s on-chain voting processes is how easy it is to bribe voters into voting for a particular option. Oftentimes this bribery takes the form of \u201cjoin our pool (vote our way) and we will give you a cut of the rewards (the bribe)\u201d. Since all transactions on the blockchain are public, without MACI, voters can easily prove to the briber which option they voted for and therefore receive the bribe rewards.\\n\\nMACI counters this by using zk-SNARKs to essentially hide how each person voted while still revealing the final vote result. User\u2019s cannot prove which option they voted for, and therefore bribers cannot reliably trust that a user voted for their preferred option. For example, a voter can tell a briber that they are voting for option A, but in reality they voted for option B. There is no reliable way to prove which option the voter actually voted for, so the briber does not have the incentive to pay voters to vote their way.\\n\\n## Background\\n\\nFor a general overview, the history and the importance of MACI, see Release Announcement: MACI 1.0 by Wei Jie, one of the creators. He also created a very helpful youtube video on the overview of MACI. To see the origin of the idea of MACI, see Vitalik\u2019s research post on Minimal Anti-Collusion Infrastructure. Lastly, it is recommended to understand the basic idea behind zk-SNARKs, as these are a core component of MACI. The following articles are great resources:\\n\\n- Introduction to zk-SNARKs \u2014 Consensys\\n- What are zk-SNARKs \u2014 Zcash\\n- An approximate introduction to how zk-SNARKs are possible \u2014 Vitalik\\n- zkSNARKs in a nutshell \u2014 Ethereum.org\\n\\nThis article will go over the general workflow of MACI and how it is capable of providing the following tenets (taken word for word from Wei Jie\u2019s article):\\n\\n- Collusion Resistance: No one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery\\n- Receipt-freeness: No voter may prove (besides to the coordinator) which way they voted\\n- Privacy: No one except a trusted coordinator should be able to decrypt a vote\\n- Uncensorability: No one (not even the trusted coordinator) should be able to censor a vote\\n- Unforgeability: Only the owner of a user\u2019s private key may cast a vote tied to its corresponding public key\\n- Non-repudiation: No one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it\\n- Correct execution: No one (not even the trusted coordinator) should be able to produce a false tally of votes\\n\\n## System Overview\\n\\n### Roles\\n\\nIn the MACI workflow, there are two different roles: users (voters) and a single trusted coordinator. The users vote on the blockchain via MACI smart contracts, and the coordinator tallies up the votes and releases the final results.\\n\\nThe coordinators must use zk-SNARKs to prove that their final tally result is valid without releasing the vote of every individual. Therefore, even if a coordinator is corrupt, they are unable to change a user\u2019s vote or add extra votes themselves. A corrupt coordinator can stop a vote by never publishing the results, but they can\u2019t publish false results.\\n\\nBefore sending their vote on the blockchain, users encrypt their vote using a shared key that only the user and coordinator can know. This key scheme is designed so that every individual user shares a distinct key with the coordinator. This prevents any bribers from simply reading the transaction data to see which option a user voted for. The encrypted vote is now considered a \u201cmessage\u201d and the user sends this message to a MACI smart contract to be stored on-chain.\\n\\nA very simplified illustration of this encryption can be seen below:\\n\\n![Posting a Message](assets/MACI_Simple_Message.png)\\n\\n### Vote Overriding and Public Key Switching\\n\\nBefore a user can cast a vote, they must sign up by sending the public key they wish to use to vote to a MACI smart contract. This public key acts as their identity when voting. They can vote from any address, but their message must contain a signature from that public key. When casting an actual vote after signing up, a user will bundle a few variables \u2014 including a public key, their vote option, their vote amount, and a few others \u2014 into what is called a \u201ccommand\u201d. Then, the user signs the command with the public key they originally used to sign up. After that, the user encrypts the signature and command together so that it is now considered a message. This more complex description of how a message is constructed is illustrated below:\\n\\n![Complex Message](assets/MACI_Complex_Message.png)\\n\\nUsers are able to override their previous vote as long as they sign their command with the previous public key. If the command is properly signed by the user\u2019s previous public key, then the message is considered valid and the coordinator will count this as the correct vote. So, when a user provides a public key in their vote that is different than their previous public key, they may now submit a new vote signed by this new public key to override their previous vote. If the signature is not from the previous public key, the message will be marked as invalid and not counted toward the tally. Therefore, the public key can be thought of as the user\u2019s voting username, and the signature is the voting password. If they provide the correct signature, they can submit a vote or change their public key \u2014 or both.\\n\\nThis feature, which I refer to as public key switching, is designed to counter the bribery attack where a user simply shows the briber their message, and then decrypts it for the briber to see which way the user voted. Public key switching allows users to change their public key and create invalid messages in favor of the bribers. The bribers have no way of telling if the user switched their public keys before sending in the vote shown to the bribers.\\n\\nThis can be quite confusing so here is an example:\\n\\n1. Bob signs up with public key 1\\n2. Bob then creates a command that contains \u2014 a vote for option A and public key 2\\n3. Bob signs this command with public key 1, the key he used to sign up\\n4. Bob encrypts this command into a message and submits it to the MACI smart contracts\\n5. The coordinator decrypts this message, and checks to ensure that the command is signed by Bob\u2019s previous key \u2014 public key 1. This message is valid.\\n6. The coordinator then records Bob\u2019s vote for option A and updates his public key to public key 2\\n\\n![Signup 1](assets/MACI_Bob_SignUp_1.png)\\n\\nAt this point, Bob has successfully voted for option A, and in order to override this vote must send in a new vote with a signature from public key 2. At this point, a briber now tries to get Bob to vote for option B:\\n\\n1. Bob creates a command that contains \u2014 a vote for option B and public key 1\\n2. Bob signs this command with public key 1, encrypts the message and submits it to the MACI smart contracts\\n3. Bob shows the briber the decrypted message as proof of his vote for option B\\n4. The coordinator decrypts Bob\u2019s message and sees that the signature does not match up with public key 2 \u2014 Bob\u2019s previous key added in his previous message. Therefore this message is invalid and this vote is not counted in the final tally.\\n5. The briber has no way of knowing whether the vote was valid or invalid, and so is not incentivized to offer bribes to other users.\\n\\n![Signup 2](assets/MACI_Bob_SignUp_2.png)\\n\\nIn order to get a good idea of how MACI works, it\u2019s important to know how the zk-SNARKs are able to prove that the coordinator decrypted each message and tallied the votes properly. The next section gives a quick and much oversimplified overview of zk-SNARKs, although the readings listed in the introduction are much more helpful.\\n\\n### zk-SNARKs\\n\\nEssentially, zk-SNARKs allow users to prove they know an answer to a specific mathematical equation, without revealing what that answer is. Take the following equation for example,\\n\\n> X + Y = 15\\n\\nI can prove that I know 2 values, X and Y that satisfy the equation without revealing what those two values are. When I create a zk-SNARK for my answer, anyone can use the SNARK (a group of numbers) and validate it against the equation above to prove that I do know a solution to that equation. The user is unable to use the SNARK to find out my answers for X and Y.\\n\\nFor MACI, the equation is much more complicated but can be summarized as the following equations:\\n\\n> encrypt(command1) = message1 \\n> encrypt(command2) = message2 \\n> encrypt(command3) = message3 \\n> \u2026 \\n> Command1 from user1 + command2 from user2 + command3 from user3 + \u2026 = total tally result\\n\\nHere, everyone is able to see the messages on the blockchain and the total tally result. Only the coordinator knows what the individual commands/votes are by decrypting the messages. So, the coordinator uses a zk-SNARK to prove they know all of the votes that:\\n\\n1. Encrypt to the messages present on the blockchain\\n2. Sum to the tally result\\n Users can then use the SNARK to prove that the tally result is correct, but cannot use it to prove any individual\u2019s vote choices.\\n\\nNow that the core components of MACI have been covered, it is helpful to dive deeper into the MACI workflow and specific smart contracts.\\n\\n## Workflow\\n\\nThe general workflow process can be broken down into 4 different phases:\\n\\n1. Sign Up\\n2. Publish Message\\n3. Process Messages\\n4. Tally Results\\n\\nThese phases make use of 3 main smart contracts \u2014 MACI, Poll and \u200b\u200bPollProcessorAndTallyer. These contracts can be found on the MACI github page. The MACI contract is responsible for keeping track of all the user signups by recording the initial public key for each user. When a vote is going to take place, users can deploy a Poll smart contract via MACI.deployPoll().\\n\\nThe Poll smart contract is where users submit their messages. One MACI contract can be used for multiple polls. In other words, the users that signed up to the MACI contract can vote on multiple issues, with each issue represented by a distinct Poll contract.\\n\\nFinally, the PollProcessorAndTallyer contract is used by the coordinator to prove on-chain that they are correctly tallying each vote. This process is explained in more detail in the Process Messages and Tally Results sections below.\\n\\n![MACI Workflow](assets/MACI_Contracts.png)\\n\\n### Sign Up\\n\\nThe sign up process for MACI is handled via the MACI.sol smart contract. Users need to send three pieces of information when calling MACI.signUp():\\n\\n1. Public Key\\n2. Sign Up Gatekeeper Data\\n3. Initial Voice Credit Proxy Data\\n\\nThe public key is the original public key mentioned in above sections that the user will need to vote. As explained in earlier sections, they can change this public key later once voting starts. The user\u2019s public key used to sign up is shared amongst every poll.\\n\\nMACI allows the contract creator/owner to set a \u201csignUpGateKeeper\u201d. The sign up gatekeeper is meant to be the address of another smart contract that determines the rules to sign up. So, when a user calls MACI.signUp(), the function will call the sign up gatekeeper to check if this user is valid to sign up.\\n\\nMACI also allows the contract creator/owner to set an \u201cinitialVoiceCreditProxy\u201d. This represents the contract that determines how many votes a given user gets. So, when a user calls MACI.signUp(), the function will call the initial voice credit proxy to check how many votes they can spend. The user\u2019s voice credit balance is reset to this number for every new poll.\\n\\nOnce MACI has checked that the user is valid and retrieved how many voice credits they have, MACI stores the following user info into the Sign Up Merkle Tree:\\n\\n1. Public Key\\n2. Voice Credits\\n3. Timestamp\\n\\n![Signup](assets/MACI_Sign_Up.png)\\n\\n### Publish Message\\n\\nOnce it is time to vote, the MACI creator/owner will deploy a Poll smart contract. Then, users will call Poll.publishMessage() and send the following data:\\n\\n1. Message\\n2. Encryption Key\\n\\nAs explained in sections above, the coordinator will need to use the encryption key in order to derive a shared key. The coordinator can then use the shared key to decrypt the message into a command, which contains the vote.\\n\\nOnce a user publishes their message, the Poll contract will store the message and encryption key into the Message Merkle Tree.\\n\\n### Process Messages\\n\\nOnce the voting is done for a specific poll, the coordinator will use the PollProcessAndTallyer contract to first prove that they have correctly decrypted each message and applied them to correctly create an updated state tree. This state tree keeps an account of all the valid votes that should be counted. So, when processing the messages, the coordinator will not keep messages that are later overridden by a newer message inside the state tree. For example, if a user votes for option A, but then later sends a new message to vote for option B, the coordinator will only count the vote for option B.\\n\\nThe coordinator must process messages in groups so that proving on chain does not exceed the data limit. The coordinator then creates a zk-SNARK proving their state tree correctly contains only the valid messages. Once the proof is ready, the coordinator calls PollProcessorAndTallyer.processMessages(), providing a hash of the state tree and the zk-SNARK proof as an input parameters.\\n\\nThe PollProcessorAndTallyer contract will send the proof to a separate verifier contract. The verifier contract is specifically built to read MACI zk-SNARK proofs and tell if they are valid or not. So, if the verifier contract returns true, then everyone can see on-chain that the coordinator correctly processed that batch of messages. The coordinator repeats this process until all messages have been processed.\\n\\n### Tally Votes\\n\\nFinally, once all messages have been processed, the coordinator tallies the votes of the valid messages. The coordinator creates a zk-SNARK proving that the valid messages in the state tree (proved in Process Messages step) contain votes that sum to the given tally result. Then, they call PollProcessorAndTallyer.tallyVotes() with a hash of the correct tally results and the zk-SNARK proof. Similarly to the processMessages function, the tallyVotes function will send the proof to a verifier contract to ensure that it is valid.\\n\\nThe tallyVotes function is only successful if the verifier contract returns that the proof is valid. Therefore, once the tallyVotes function succeeds, users can trust that the coordinator has correctly tallied all of the valid votes. After this step, anyone can see the final tally results and the proof that these results are a correct result of the messages sent to the Poll contract. The users won\u2019t be able to see how any individual voted, but will be able to trust that these votes were properly processed and counted.\\n\\n![Tally](assets/MACI_Verifier_1.png)\\n\\n## Conclusion\\n\\nMACI is a huge step forward in preventing collusion for on-chain votes. While it doesn\u2019t prevent all possibilities of collusion, it does make it much harder. MACI can already be seen to be in use by the clr.fund, which has users vote on which projects to receive funding. When the possible funding amount becomes very large, users and organizations have a large incentive to collude to receive parts of these funds. This is where MACI can truly make a difference, to protect the fairness of such important voting processes such as those at clr.fund."},{"id":"maci-1-0-release","metadata":{"permalink":"/blog/maci-1-0-release","editUrl":"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/2021-10-12-maci-v1.md","source":"@site/blog/2021-10-12-maci-v1.md","title":"MACI 1.0 Release","description":"The Privacy & Scaling Explorations team is proud to release version 1.0 of Minimal Anti-Collusion Infrastructure (MACI). MACI enables collusion resistance for decentralised applications, particularly voting and quadratic funding systems. This release is a major upgrade to the project and provides better developer experience and gas savings for users.","date":"2021-10-12T00:00:00.000Z","formattedDate":"October 12, 2021","tags":[{"label":"zk","permalink":"/blog/tags/zk"},{"label":"maci","permalink":"/blog/tags/maci"},{"label":"release","permalink":"/blog/tags/release"},{"label":"voting","permalink":"/blog/tags/voting"},{"label":"security","permalink":"/blog/tags/security"}],"readingTime":7.415,"hasTruncateMarker":false,"authors":[{"name":"Koh Wei Jie","title":"Zero Knowledge (ZK) Researcher","url":"https://github.com/weijiekoh","image_url":"https://avatars.githubusercontent.com/u/17002415?v=4","imageURL":"https://avatars.githubusercontent.com/u/17002415?v=4"}],"frontMatter":{"slug":"maci-1-0-release","title":"MACI 1.0 Release","authors":{"name":"Koh Wei Jie","title":"Zero Knowledge (ZK) Researcher","url":"https://github.com/weijiekoh","image_url":"https://avatars.githubusercontent.com/u/17002415?v=4","imageURL":"https://avatars.githubusercontent.com/u/17002415?v=4"},"tags":["zk","maci","release","voting","security"]},"unlisted":false,"prevItem":{"title":"A Technical Introduction to MACI 1.0","permalink":"/blog/maci-1-0-technical-introduction"}},"content":"The Privacy & Scaling Explorations team is proud to release version 1.0 of Minimal Anti-Collusion Infrastructure (MACI). MACI enables collusion resistance for decentralised applications, particularly voting and quadratic funding systems. This release is a major upgrade to the project and provides better developer experience and gas savings for users.\\n\\nThe code is in the v1 branch of the appliedzkp/macirepository and will be merged soon.\\n\\nMACI 1.0 was audited by Hashcloak. All vulnerabilities found have been fixed. The audit report can be found here. We would like to thank our highly professional and responsive auditors for surfacing these issues and providing clear feedback for addressing them.\\n\\n## About MACI\\n\\nMACI is a set of smart contracts and zero-knowledge circuits upon which which developers can build collusion-resistant applications, such as voting systems or quadratic funding platforms. MACI per se is not a user-facing application. Rather, developers may build applications on top of it. In turn, such applications can benefit from the following properties:\\n\\n- Collusion resistance: no-one, except a trusted coordinator, can be convinced of the validity of a vote, reducing the effectiveness of bribery.\\n- Receipt-freeness: a voter cannot prove, besides to the coordinator, which way they voted.\\n- Privacy: no-one, except a trusted coordinator, should be able to decrypt a vote.\\n- Uncensorability: no-one, not even the trusted coordinator, should be able to censor a vote.\\n- Unforgeability: only the owner of a user\u2019s private key may cast a vote tied to its corresponding public key.\\n- Non-repudiation: no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it.\\n- Correct execution: no-one, not even the trusted coordinator, should be able to produce a false tally of votes.\\n\\nPractically speaking, MACI provides a set of Typescript packages, Ethereum smart contracts and zero-knowledge circuits. It inherits security and uncensorability from the underlying Ethereum blockchain, ensures unforgeability via asymmetric encryption, and achieves collusion resistance, privacy, and correct execution via zk-SNARKs.\\n\\nPlease note that MACI does not and will not have a token. In other words, it does not represent an investment opportunity.\\n\\n## MACI\u2019s history\\n\\nMACI stems from an ethresear.ch post by Vitalik Buterin. Subsequently, the initial codebase was written in late 2019 and early 2020 by grantees with the Ethereum Foundation, namely Kendrick Tan, Koh Wei Jie, and Chih-Cheng Liang. MACI then saw developer adoption at ETHDenver in February 2020, where Auryn Macmillan and others started work on clr.fund, a protocol for the Ethereum community to allocate funds for Ethereum-based public goods.\\n\\nAfter the event, we continued to work with clr.fund to improve MACI and integrate it with their application. clr.fund has completed seven rounds of public goods funding, the last of which saw more than US$6000 worth of contributions. At the time of writing, it is currently running an eighth round with more than US$20k in contributions.\\n\\nWork on version 1.0 started in late 2020 with the goal of reducing the gas and computational requirements, as well as to improve its flexibility and usability, without compromising any of its anti-collusion, security, and trust guarantees. We also took this opportunity to keep up with new techniques, ideas, and tooling from the rapidly advancing Ethereum and zero-knowledge ecosystem.\\n\\nFinally, in early 2021 we were very fortunate to bring on Cory Dickson to the team. His work on writing documentation, revamping MACI\u2019s integration test suites, working with our auditors to fix bugs, and collaborating with external teams has been invaluable to the project.\\n\\n## Why is MACI important?\\n\\nIt is very difficult for naive voting systems, particularly those which are integrated into smart contract platforms, to prevent collusion. For instance, if a simple Ethereum transaction represents a vote, a briber can easily examine its calldata, tell how its sender voted, and reward or punish them accordingly.\\n\\nMore broadly, collusion resistance is particulary important for cryptoeconomic systems. Vitalik Buterin describes the motivations behind MACI in On Collusion. He argues that systems that use cryptoeconomic incentive mechanisms to align participants\u2019 behaviour can be vulnerable to collusion attacks, such as bribery. In another post, he elaborates:\\n\\nif you can prove how you voted, selling your vote becomes very easy. Provability of votes would also enable forms of coercion where the coercer demands to see some kind of proof of voting for their preferred candidate.\\n\\nTo illustrate this point, consider an alleged example of collusion that occurred in round 6 of Gitcoin grants (a platform for quadratic funding software projects which contribute to public goods). In How to Attack and Defend Quadratic Funding, an author from Gitcoin highlights a tweet by a potential grant beneficiary appeared to offer 0.01 ETH in exchange for matching funds:\\n\\nThey explain the nature of this scheme:\\n\\n> While creating fake accounts to attract matching funds can be prevented by sybil resistant design, colluders can easily up their game by coordinating a group of real accounts to \u201cmine Gitcoin matching funds\u201d and split the \u201cinterest\u201d among the group.\\n\\nFinally, MACI is important because as crypto communities are increasingly adopting Decentralised Autonomous Organisations (DAOs) which govern through token voting. The threat of bribery attacks and other forms of collusion will only increase if left unchecked, since such attacks target a fundamental vulnerability of such systems.\\n\\n## What\u2019s new?\\n\\nIn this release, we rearchitected MACI\u2019s smart contracts to allow for greater flexiblity and separation of concerns. In particular, we support multiple polls within a single instance of MACI. This allows the coordinator to run and tally many elections either subsequently or concurrently.\\n\\nWe\u2019ve kept the ability for developers to provide their own set of logic to gate-keep signups. For instance, application developers can write custom logic that only allows addresses which own a certain token to sign up once to MACI in order to participate in polls.\\n\\nAn additional upgrade we have implemented is greater capacity for signups, votes, and vote options. With MACI 1.0, a coordinator can run a round that supports more users, votes, and choices than before, even with the same hardware.\\n\\nWe adopted iden3\u2019s tools for faster proof generation. Furthermore, we rewrote our zk-SNARK circuits using the latest versions of snarkjs, circom, and circomlib. We also developed additional developer tooling such as circom-helper and zkey-manager.\\n\\nFinally, we significantly reduced gas costs borne by users by replacing our incremental Merkle tree contracts with a modified deposit queue mechanism. While this new mechanism achieves the same outcome, it shifts some gas costs from users to the coordinator. A comparison of approximate gas costs for user-executed operations is as follows:\\n\\nFinally, we are looking forward to collaborating with other projects and supporting their development of client applications and new use cases. For instance, clr.fund team has indicated that they would like to upgrade their stack to MACI v1.0, and other projects have expressed interest in adopting MACI. We hope that through collaboration, the Ethereum community can benefit from our work, and vice versa.\\n\\n## Further work\\n\\nThere is plenty of space for MACI to grow and we welcome new ideas. We are keen to work with developers who wish to do interesting and impactful work, especially folks who would like to learn how to build applications with zk-SNARKs and Ethereum.\\n\\n### Negative voting\\n\\nWe thank Samuel Gosling for completing a grant for work on negative voting. This allows voters to use their voice credits to not only signal approval of a vote option, but also disapproval. Please note that the negative voting branch, while complete, is currently unaudited and therefore not yet merged into the main MACI codebase.\\n\\n### Anonymisation\\n\\nA suggested upgrade to MACI is to use ElGamal re-randomisation for anonymity of voters. While all votes are encrypted, currently the coordinator is able to decrypt and read them. With re-randomisation, the coordinator would not be able to tell which user took which action.\\n\\n### Coordinator tooling\\n\\nWe are working on tooling that makes it easier for coordinators to interface with deployed contracts and manage tallies for multiple polls. This will allow users to generate proofs and query inputs and outputs from existing circuits through an easy-to-use API. We hope that this will drive more adoption of MACI and offload the need for bespoke infrastructure.\\n\\n### Trusted setup\\n\\nUnlike other ZKP projects, MACI does not have an official trusted setup. Instead, we hope to assist teams implementing MACI in their applications to run their own trusted setup. For instance, clr.fund recently completed a trusted setup (on a previous version of MACI) for a specific set of circuit parameters. Other teams may wish to use a different set of parameters on MACI 1.0, which calls for a different trusted setup.\\n\\n## Conclusion\\n\\nThis release marks a step towards the hard problem of preventing collusion in decentralised voting and quadratic funding systems. We are excited to share our work and please get in touch if you are a developer and are interested in getting involved in any way."}]}')}}]); \ No newline at end of file diff --git a/assets/js/b45a731b.43d156d1.js b/assets/js/b45a731b.0b4be402.js similarity index 95% rename from assets/js/b45a731b.43d156d1.js rename to assets/js/b45a731b.0b4be402.js index f2cfd488f0..635b287f91 100644 --- a/assets/js/b45a731b.43d156d1.js +++ b/assets/js/b45a731b.0b4be402.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6246],{4448:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>o});var s=i(5250),t=i(2459);const r={},d="Class: VerifyingKey",l={id:"typedoc/classes/domainobjs_ts.VerifyingKey",title:"domainobjs_ts.VerifyingKey",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / VerifyingKey",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.VerifyingKey.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.VerifyingKey",permalink:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.VerifyingKey.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.TCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.TCommand"},next:{title:"cli_ts.DeployedContracts",permalink:"/docs/typedoc/interfaces/cli_ts.DeployedContracts"}},c={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"alpha1",id:"alpha1",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"beta2",id:"beta2",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"delta2",id:"delta2",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"gamma2",id:"gamma2",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"ic",id:"ic",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"fromContract",id:"fromcontract",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"fromObj",id:"fromobj",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-11",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / VerifyingKey"]}),"\n",(0,s.jsx)(n.h1,{id:"class-verifyingkey",children:"Class: VerifyingKey"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".VerifyingKey"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.code,{children:"Notice"})})}),"\n",(0,s.jsx)(n.p,{children:"A TS Class representing a zk-SNARK VerifyingKey"}),"\n",(0,s.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(n.h3,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#constructor",children:"constructor"})}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#alpha1",children:"alpha1"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#beta2",children:"beta2"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#delta2",children:"delta2"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#gamma2",children:"gamma2"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#ic",children:"ic"})}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"methods",children:"Methods"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#ascontractparam",children:"asContractParam"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#copy",children:"copy"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#equals",children:"equals"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#fromcontract",children:"fromContract"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#fromjson",children:"fromJSON"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#fromobj",children:"fromObj"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,s.jsx)(n.h3,{id:"constructor",children:"constructor"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"new VerifyingKey"}),"(",(0,s.jsx)(n.code,{children:"alpha1"}),", ",(0,s.jsx)(n.code,{children:"beta2"}),", ",(0,s.jsx)(n.code,{children:"gamma2"}),", ",(0,s.jsx)(n.code,{children:"delta2"}),", ",(0,s.jsx)(n.code,{children:"ic"}),"): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Generate a new VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"alpha1"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"G1Point"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the alpha1 point"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"beta2"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"G2Point"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the beta2 point"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"gamma2"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"G2Point"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the gamma2 point"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"delta2"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"G2Point"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the delta2 point"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"ic"})}),(0,s.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,s.jsx)(n.code,{children:"G1Point"}),"[]"]}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the ic points"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L27",children:"domainobjs/ts/verifyingKey.ts:27"})}),"\n",(0,s.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(n.h3,{id:"alpha1",children:"alpha1"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"alpha1"}),": ",(0,s.jsx)(n.code,{children:"G1Point"})]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L9",children:"domainobjs/ts/verifyingKey.ts:9"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"beta2",children:"beta2"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"beta2"}),": ",(0,s.jsx)(n.code,{children:"G2Point"})]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L11",children:"domainobjs/ts/verifyingKey.ts:11"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"delta2",children:"delta2"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"delta2"}),": ",(0,s.jsx)(n.code,{children:"G2Point"})]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L15",children:"domainobjs/ts/verifyingKey.ts:15"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"gamma2",children:"gamma2"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"gamma2"}),": ",(0,s.jsx)(n.code,{children:"G2Point"})]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L13",children:"domainobjs/ts/verifyingKey.ts:13"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"ic",children:"ic"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"ic"}),": ",(0,s.jsx)(n.code,{children:"G1Point"}),"[]"]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L17",children:"domainobjs/ts/verifyingKey.ts:17"})}),"\n",(0,s.jsx)(n.h2,{id:"methods-1",children:"Methods"}),"\n",(0,s.jsx)(n.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"asContractParam"}),"(): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",children:(0,s.jsx)(n.code,{children:"IVkContractParams"})})]}),"\n",(0,s.jsx)(n.p,{children:"Return this as an object which can be passed\nto the smart contract"}),"\n",(0,s.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",children:(0,s.jsx)(n.code,{children:"IVkContractParams"})})}),"\n",(0,s.jsx)(n.p,{children:"the object representation of this"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L40",children:"domainobjs/ts/verifyingKey.ts:40"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"copy"}),"(): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Produce a copy of this verifying key"}),"\n",(0,s.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.p,{children:"the copy"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L94",children:"domainobjs/ts/verifyingKey.ts:94"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"equals"}),"(",(0,s.jsx)(n.code,{children:"vk"}),"): ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n",(0,s.jsx)(n.p,{children:"Check whether this is equal to another verifying key"}),"\n",(0,s.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"vk"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the other verifying key"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"boolean"})}),"\n",(0,s.jsx)(n.p,{children:"whether this is equal to the other verifying key"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L73",children:"domainobjs/ts/verifyingKey.ts:73"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"fromcontract",children:"fromContract"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"fromContract"}),"(",(0,s.jsx)(n.code,{children:"data"}),"): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Create a new verifying key from a contract representation of the VK"}),"\n",(0,s.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"data"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",children:(0,s.jsx)(n.code,{children:"IVkContractParams"})})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the object representation"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.p,{children:"a new VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L55",children:"domainobjs/ts/verifyingKey.ts:55"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"fromJSON"}),"(",(0,s.jsx)(n.code,{children:"json"}),"): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Deserialize into a VerifyingKey instance"}),"\n",(0,s.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"json"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the JSON representation"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.p,{children:"the VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L115",children:"domainobjs/ts/verifyingKey.ts:115"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"fromobj",children:"fromObj"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"fromObj"}),"(",(0,s.jsx)(n.code,{children:"data"}),"): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Convert an object representation to a VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"data"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams",children:(0,s.jsx)(n.code,{children:"IVkObjectParams"})})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the object representation"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.p,{children:"the VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/verifyingKey.ts#L125",children:"domainobjs/ts/verifyingKey.ts:125"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},2459:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>d});var s=i(79);const t={},r=s.createContext(t);function d(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6246],{4448:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>o});var s=i(5250),t=i(2459);const r={},d="Class: VerifyingKey",l={id:"typedoc/classes/domainobjs_ts.VerifyingKey",title:"domainobjs_ts.VerifyingKey",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / VerifyingKey",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.VerifyingKey.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.VerifyingKey",permalink:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.VerifyingKey.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.TCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.TCommand"},next:{title:"cli_ts.DeployedContracts",permalink:"/docs/typedoc/interfaces/cli_ts.DeployedContracts"}},c={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"alpha1",id:"alpha1",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"beta2",id:"beta2",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"delta2",id:"delta2",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"gamma2",id:"gamma2",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"ic",id:"ic",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"fromContract",id:"fromcontract",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"fromObj",id:"fromobj",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-11",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / VerifyingKey"]}),"\n",(0,s.jsx)(n.h1,{id:"class-verifyingkey",children:"Class: VerifyingKey"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".VerifyingKey"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.code,{children:"Notice"})})}),"\n",(0,s.jsx)(n.p,{children:"A TS Class representing a zk-SNARK VerifyingKey"}),"\n",(0,s.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(n.h3,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#constructor",children:"constructor"})}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#alpha1",children:"alpha1"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#beta2",children:"beta2"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#delta2",children:"delta2"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#gamma2",children:"gamma2"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#ic",children:"ic"})}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"methods",children:"Methods"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#ascontractparam",children:"asContractParam"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#copy",children:"copy"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#equals",children:"equals"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#fromcontract",children:"fromContract"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#fromjson",children:"fromJSON"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey#fromobj",children:"fromObj"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,s.jsx)(n.h3,{id:"constructor",children:"constructor"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"new VerifyingKey"}),"(",(0,s.jsx)(n.code,{children:"alpha1"}),", ",(0,s.jsx)(n.code,{children:"beta2"}),", ",(0,s.jsx)(n.code,{children:"gamma2"}),", ",(0,s.jsx)(n.code,{children:"delta2"}),", ",(0,s.jsx)(n.code,{children:"ic"}),"): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Generate a new VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"alpha1"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"G1Point"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the alpha1 point"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"beta2"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"G2Point"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the beta2 point"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"gamma2"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"G2Point"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the gamma2 point"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"delta2"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"G2Point"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the delta2 point"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"ic"})}),(0,s.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,s.jsx)(n.code,{children:"G1Point"}),"[]"]}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the ic points"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L27",children:"domainobjs/ts/verifyingKey.ts:27"})}),"\n",(0,s.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(n.h3,{id:"alpha1",children:"alpha1"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"alpha1"}),": ",(0,s.jsx)(n.code,{children:"G1Point"})]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L9",children:"domainobjs/ts/verifyingKey.ts:9"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"beta2",children:"beta2"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"beta2"}),": ",(0,s.jsx)(n.code,{children:"G2Point"})]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L11",children:"domainobjs/ts/verifyingKey.ts:11"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"delta2",children:"delta2"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"delta2"}),": ",(0,s.jsx)(n.code,{children:"G2Point"})]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L15",children:"domainobjs/ts/verifyingKey.ts:15"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"gamma2",children:"gamma2"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"gamma2"}),": ",(0,s.jsx)(n.code,{children:"G2Point"})]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L13",children:"domainobjs/ts/verifyingKey.ts:13"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"ic",children:"ic"}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"ic"}),": ",(0,s.jsx)(n.code,{children:"G1Point"}),"[]"]}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L17",children:"domainobjs/ts/verifyingKey.ts:17"})}),"\n",(0,s.jsx)(n.h2,{id:"methods-1",children:"Methods"}),"\n",(0,s.jsx)(n.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"asContractParam"}),"(): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",children:(0,s.jsx)(n.code,{children:"IVkContractParams"})})]}),"\n",(0,s.jsx)(n.p,{children:"Return this as an object which can be passed\nto the smart contract"}),"\n",(0,s.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",children:(0,s.jsx)(n.code,{children:"IVkContractParams"})})}),"\n",(0,s.jsx)(n.p,{children:"the object representation of this"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L40",children:"domainobjs/ts/verifyingKey.ts:40"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"copy"}),"(): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Produce a copy of this verifying key"}),"\n",(0,s.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.p,{children:"the copy"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L94",children:"domainobjs/ts/verifyingKey.ts:94"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"equals"}),"(",(0,s.jsx)(n.code,{children:"vk"}),"): ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n",(0,s.jsx)(n.p,{children:"Check whether this is equal to another verifying key"}),"\n",(0,s.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"vk"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the other verifying key"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"boolean"})}),"\n",(0,s.jsx)(n.p,{children:"whether this is equal to the other verifying key"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L73",children:"domainobjs/ts/verifyingKey.ts:73"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"fromcontract",children:"fromContract"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"fromContract"}),"(",(0,s.jsx)(n.code,{children:"data"}),"): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Create a new verifying key from a contract representation of the VK"}),"\n",(0,s.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"data"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",children:(0,s.jsx)(n.code,{children:"IVkContractParams"})})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the object representation"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.p,{children:"a new VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L55",children:"domainobjs/ts/verifyingKey.ts:55"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"fromJSON"}),"(",(0,s.jsx)(n.code,{children:"json"}),"): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Deserialize into a VerifyingKey instance"}),"\n",(0,s.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"json"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the JSON representation"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.p,{children:"the VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L115",children:"domainobjs/ts/verifyingKey.ts:115"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"fromobj",children:"fromObj"}),"\n",(0,s.jsxs)(n.p,{children:["\u25b8 ",(0,s.jsx)(n.strong,{children:"fromObj"}),"(",(0,s.jsx)(n.code,{children:"data"}),"): ",(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})]}),"\n",(0,s.jsx)(n.p,{children:"Convert an object representation to a VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"data"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams",children:(0,s.jsx)(n.code,{children:"IVkObjectParams"})})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"the object representation"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey",children:(0,s.jsx)(n.code,{children:"VerifyingKey"})})}),"\n",(0,s.jsx)(n.p,{children:"the VerifyingKey"}),"\n",(0,s.jsx)(n.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/verifyingKey.ts#L125",children:"domainobjs/ts/verifyingKey.ts:125"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},2459:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>d});var s=i(79);const t={},r=s.createContext(t);function d(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ba037aae.59537301.js b/assets/js/ba037aae.98b60388.js similarity index 93% rename from assets/js/ba037aae.59537301.js rename to assets/js/ba037aae.98b60388.js index 8e68d66e3b..22a87a93b4 100644 --- a/assets/js/ba037aae.59537301.js +++ b/assets/js/ba037aae.98b60388.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5659],{9138:(e,s,l)=>{l.r(s),l.d(s,{assets:()=>c,contentTitle:()=>d,default:()=>a,frontMatter:()=>t,metadata:()=>r,toc:()=>o});var i=l(5250),n=l(2459);const t={},d="Class: Poll",r={id:"typedoc/classes/core_ts.Poll",title:"core_ts.Poll",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / Poll",source:"@site/versioned_docs/version-v1.x/typedoc/classes/core_ts.Poll.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/core_ts.Poll",permalink:"/docs/typedoc/classes/core_ts.Poll",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/core_ts.Poll.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.MaciState",permalink:"/docs/typedoc/classes/core_ts.MaciState"},next:{title:"crypto_ts.AccQueue",permalink:"/docs/typedoc/classes/crypto_ts.AccQueue"}},c={},o=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"MM",id:"mm",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"WW",id:"ww",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"ballotTree",id:"ballottree",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"ballots",id:"ballots",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"batchSizes",id:"batchsizes",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"cbi",id:"cbi",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"commands",id:"commands",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"coordinatorKeypair",id:"coordinatorkeypair",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"currentMessageBatchIndex",id:"currentmessagebatchindex",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"emptyBallot",id:"emptyballot",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"emptyBallotHash",id:"emptyballothash",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"encPubKeys",id:"encpubkeys",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"maciStateRef",id:"macistateref",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"maxValues",id:"maxvalues",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"messageTree",id:"messagetree",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"messages",id:"messages",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"numBatchesProcessed",id:"numbatchesprocessed",level:3},{value:"Defined in",id:"defined-in-17",level:4},{value:"numBatchesTallied",id:"numbatchestallied",level:3},{value:"Defined in",id:"defined-in-18",level:4},{value:"perVOSpentVoiceCredits",id:"pervospentvoicecredits",level:3},{value:"Defined in",id:"defined-in-19",level:4},{value:"pollEndTimestamp",id:"pollendtimestamp",level:3},{value:"Defined in",id:"defined-in-20",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-21",level:4},{value:"preVOSpentVoiceCreditsRootSalts",id:"prevospentvoicecreditsrootsalts",level:3},{value:"Defined in",id:"defined-in-22",level:4},{value:"rbi",id:"rbi",level:3},{value:"Defined in",id:"defined-in-23",level:4},{value:"resultRootSalts",id:"resultrootsalts",level:3},{value:"Defined in",id:"defined-in-24",level:4},{value:"sbSalts",id:"sbsalts",level:3},{value:"Defined in",id:"defined-in-25",level:4},{value:"spentVoiceCreditSubtotalSalts",id:"spentvoicecreditsubtotalsalts",level:3},{value:"Defined in",id:"defined-in-26",level:4},{value:"stateCopied",id:"statecopied",level:3},{value:"Defined in",id:"defined-in-27",level:4},{value:"stateLeaves",id:"stateleaves",level:3},{value:"Defined in",id:"defined-in-28",level:4},{value:"stateTree",id:"statetree",level:3},{value:"Defined in",id:"defined-in-29",level:4},{value:"stateTreeDepth",id:"statetreedepth",level:3},{value:"Defined in",id:"defined-in-30",level:4},{value:"subsidy",id:"subsidy",level:3},{value:"Defined in",id:"defined-in-31",level:4},{value:"subsidySalts",id:"subsidysalts",level:3},{value:"Defined in",id:"defined-in-32",level:4},{value:"tallyResult",id:"tallyresult",level:3},{value:"Defined in",id:"defined-in-33",level:4},{value:"totalSpentVoiceCredits",id:"totalspentvoicecredits",level:3},{value:"Defined in",id:"defined-in-34",level:4},{value:"treeDepths",id:"treedepths",level:3},{value:"Defined in",id:"defined-in-35",level:4},{value:"Methods",id:"methods-1",level:2},{value:"coefficientCalculation",id:"coefficientcalculation",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"copyStateFromMaci",id:"copystatefrommaci",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"genPerVOSpentVoiceCreditsCommitment",id:"genpervospentvoicecreditscommitment",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-40",level:4},{value:"genProcessMessagesCircuitInputsPartial",id:"genprocessmessagescircuitinputspartial",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-41",level:4},{value:"genSpentVoiceCreditSubtotalCommitment",id:"genspentvoicecreditsubtotalcommitment",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-42",level:4},{value:"hasUnfinishedSubsidyCalculation",id:"hasunfinishedsubsidycalculation",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"Defined in",id:"defined-in-43",level:4},{value:"hasUnprocessedMessages",id:"hasunprocessedmessages",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"Defined in",id:"defined-in-44",level:4},{value:"hasUntalliedBallots",id:"hasuntalliedballots",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Implementation of",id:"implementation-of-4",level:4},{value:"Defined in",id:"defined-in-45",level:4},{value:"increaseSubsidyIndex",id:"increasesubsidyindex",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-46",level:4},{value:"previousSubsidyIndexToString",id:"previoussubsidyindextostring",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-47",level:4},{value:"processAllMessages",id:"processallmessages",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Implementation of",id:"implementation-of-5",level:4},{value:"Defined in",id:"defined-in-48",level:4},{value:"processMessage",id:"processmessage",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-49",level:4},{value:"processMessages",id:"processmessages",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Implementation of",id:"implementation-of-6",level:4},{value:"Defined in",id:"defined-in-50",level:4},{value:"publishMessage",id:"publishmessage",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Implementation of",id:"implementation-of-7",level:4},{value:"Defined in",id:"defined-in-51",level:4},{value:"setCoordinatorKeypair",id:"setcoordinatorkeypair",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Implementation of",id:"implementation-of-8",level:4},{value:"Defined in",id:"defined-in-52",level:4},{value:"subsidyCalculation",id:"subsidycalculation",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-53",level:4},{value:"subsidyPerBatch",id:"subsidyperbatch",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Implementation of",id:"implementation-of-9",level:4},{value:"Defined in",id:"defined-in-54",level:4},{value:"tallyVotes",id:"tallyvotes",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Implementation of",id:"implementation-of-10",level:4},{value:"Defined in",id:"defined-in-55",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Implementation of",id:"implementation-of-11",level:4},{value:"Defined in",id:"defined-in-56",level:4},{value:"topupMessage",id:"topupmessage",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Implementation of",id:"implementation-of-12",level:4},{value:"Defined in",id:"defined-in-57",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Defined in",id:"defined-in-58",level:4}];function h(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / Poll"]}),"\n",(0,i.jsx)(s.h1,{id:"class-poll",children:"Class: Poll"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".Poll"]}),"\n",(0,i.jsx)(s.p,{children:"A representation of the Poll contract."}),"\n",(0,i.jsx)(s.h2,{id:"implements",children:"Implements"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.code,{children:"IPoll"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#constructor",children:"constructor"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#mm",children:"MM"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#ww",children:"WW"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#ballottree",children:"ballotTree"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#ballots",children:"ballots"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#batchsizes",children:"batchSizes"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#cbi",children:"cbi"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#commands",children:"commands"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#coordinatorkeypair",children:"coordinatorKeypair"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#currentmessagebatchindex",children:"currentMessageBatchIndex"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#emptyballot",children:"emptyBallot"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#emptyballothash",children:"emptyBallotHash"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#encpubkeys",children:"encPubKeys"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#macistateref",children:"maciStateRef"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#maxvalues",children:"maxValues"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#messagetree",children:"messageTree"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#messages",children:"messages"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#numbatchesprocessed",children:"numBatchesProcessed"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#numbatchestallied",children:"numBatchesTallied"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#pervospentvoicecredits",children:"perVOSpentVoiceCredits"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#pollendtimestamp",children:"pollEndTimestamp"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#pollid",children:"pollId"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#prevospentvoicecreditsrootsalts",children:"preVOSpentVoiceCreditsRootSalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#rbi",children:"rbi"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#resultrootsalts",children:"resultRootSalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#sbsalts",children:"sbSalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#spentvoicecreditsubtotalsalts",children:"spentVoiceCreditSubtotalSalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#statecopied",children:"stateCopied"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#stateleaves",children:"stateLeaves"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#statetree",children:"stateTree"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#statetreedepth",children:"stateTreeDepth"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#subsidy",children:"subsidy"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#subsidysalts",children:"subsidySalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#tallyresult",children:"tallyResult"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#totalspentvoicecredits",children:"totalSpentVoiceCredits"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#treedepths",children:"treeDepths"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#coefficientcalculation",children:"coefficientCalculation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#copy",children:"copy"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#copystatefrommaci",children:"copyStateFromMaci"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#equals",children:"equals"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#genpervospentvoicecreditscommitment",children:"genPerVOSpentVoiceCreditsCommitment"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#genprocessmessagescircuitinputspartial",children:"genProcessMessagesCircuitInputsPartial"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#genspentvoicecreditsubtotalcommitment",children:"genSpentVoiceCreditSubtotalCommitment"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#hasunfinishedsubsidycalculation",children:"hasUnfinishedSubsidyCalculation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#hasunprocessedmessages",children:"hasUnprocessedMessages"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#hasuntalliedballots",children:"hasUntalliedBallots"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#increasesubsidyindex",children:"increaseSubsidyIndex"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#previoussubsidyindextostring",children:"previousSubsidyIndexToString"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#processallmessages",children:"processAllMessages"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#processmessage",children:"processMessage"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#processmessages",children:"processMessages"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#publishmessage",children:"publishMessage"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#setcoordinatorkeypair",children:"setCoordinatorKeypair"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#subsidycalculation",children:"subsidyCalculation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#subsidyperbatch",children:"subsidyPerBatch"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#tallyvotes",children:"tallyVotes"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#tojson",children:"toJSON"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#topupmessage",children:"topupMessage"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"new Poll"}),"(",(0,i.jsx)(s.code,{children:"pollEndTimestamp"}),", ",(0,i.jsx)(s.code,{children:"coordinatorKeypair"}),", ",(0,i.jsx)(s.code,{children:"treeDepths"}),", ",(0,i.jsx)(s.code,{children:"batchSizes"}),", ",(0,i.jsx)(s.code,{children:"maxValues"}),", ",(0,i.jsx)(s.code,{children:"maciStateRef"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})]}),"\n",(0,i.jsx)(s.p,{children:"Constructs a new Poll object."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"pollEndTimestamp"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"bigint"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The Unix timestamp at which the poll ends."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"coordinatorKeypair"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Keypair"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The keypair of the coordinator."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"treeDepths"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths",children:(0,i.jsx)(s.code,{children:"TreeDepths"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The depths of the trees used in the poll."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"batchSizes"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes",children:(0,i.jsx)(s.code,{children:"BatchSizes"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The sizes of the batches used in the poll."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"maxValues"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues",children:(0,i.jsx)(s.code,{children:"MaxValues"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The maximum values the MACI circuits can accept."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"maciStateRef"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(s.code,{children:"MaciState"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The reference to the MACI state."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L142",children:"core/ts/Poll.ts:142"})}),"\n",(0,i.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(s.h3,{id:"mm",children:"MM"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"MM"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"50"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L123",children:"core/ts/Poll.ts:123"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ww",children:"WW"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"WW"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"4"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L125",children:"core/ts/Poll.ts:125"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ballottree",children:"ballotTree"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Optional"})," ",(0,i.jsx)(s.strong,{children:"ballotTree"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(s.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L72",children:"core/ts/Poll.ts:72"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ballots",children:"ballots"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"ballots"}),": ",(0,i.jsx)(s.code,{children:"Ballot"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L70",children:"core/ts/Poll.ts:70"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"batchsizes",children:"batchSizes"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"batchSizes"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes",children:(0,i.jsx)(s.code,{children:"BatchSizes"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L61",children:"core/ts/Poll.ts:61"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"cbi",children:"cbi"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"cbi"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"0"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L121",children:"core/ts/Poll.ts:121"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"commands",children:"commands"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"commands"}),": ",(0,i.jsx)(s.code,{children:"ICommand"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L78",children:"core/ts/Poll.ts:78"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"coordinatorkeypair",children:"coordinatorKeypair"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"coordinatorKeypair"}),": ",(0,i.jsx)(s.code,{children:"Keypair"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L57",children:"core/ts/Poll.ts:57"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"currentmessagebatchindex",children:"currentMessageBatchIndex"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Optional"})," ",(0,i.jsx)(s.strong,{children:"currentMessageBatchIndex"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L91",children:"core/ts/Poll.ts:91"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"emptyballot",children:"emptyBallot"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"emptyBallot"}),": ",(0,i.jsx)(s.code,{children:"Ballot"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L129",children:"core/ts/Poll.ts:129"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"emptyballothash",children:"emptyBallotHash"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Optional"})," ",(0,i.jsx)(s.strong,{children:"emptyBallotHash"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L131",children:"core/ts/Poll.ts:131"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"encpubkeys",children:"encPubKeys"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"encPubKeys"}),": ",(0,i.jsx)(s.code,{children:"PubKey"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L80",children:"core/ts/Poll.ts:80"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"macistateref",children:"maciStateRef"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"maciStateRef"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(s.code,{children:"MaciState"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L93",children:"core/ts/Poll.ts:93"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"maxvalues",children:"maxValues"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"maxValues"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues",children:(0,i.jsx)(s.code,{children:"MaxValues"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L63",children:"core/ts/Poll.ts:63"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"messagetree",children:"messageTree"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"messageTree"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(s.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L76",children:"core/ts/Poll.ts:76"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"messages",children:"messages"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"messages"}),": ",(0,i.jsx)(s.code,{children:"Message"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L74",children:"core/ts/Poll.ts:74"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"numbatchesprocessed",children:"numBatchesProcessed"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"numBatchesProcessed"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"0"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L89",children:"core/ts/Poll.ts:89"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"numbatchestallied",children:"numBatchesTallied"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"numBatchesTallied"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"0"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L110",children:"core/ts/Poll.ts:110"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"pervospentvoicecredits",children:"perVOSpentVoiceCredits"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"perVOSpentVoiceCredits"}),": ",(0,i.jsx)(s.code,{children:"bigint"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L108",children:"core/ts/Poll.ts:108"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"pollendtimestamp",children:"pollEndTimestamp"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"pollEndTimestamp"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L68",children:"core/ts/Poll.ts:68"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"pollid",children:"pollId"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"pollId"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-21",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L95",children:"core/ts/Poll.ts:95"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"prevospentvoicecreditsrootsalts",children:"preVOSpentVoiceCreditsRootSalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"preVOSpentVoiceCreditsRootSalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-22",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L101",children:"core/ts/Poll.ts:101"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"rbi",children:"rbi"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"rbi"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"0"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-23",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L119",children:"core/ts/Poll.ts:119"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"resultrootsalts",children:"resultRootSalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"resultRootSalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-24",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L99",children:"core/ts/Poll.ts:99"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"sbsalts",children:"sbSalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"sbSalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-25",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L97",children:"core/ts/Poll.ts:97"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"spentvoicecreditsubtotalsalts",children:"spentVoiceCreditSubtotalSalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"spentVoiceCreditSubtotalSalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-26",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L103",children:"core/ts/Poll.ts:103"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"statecopied",children:"stateCopied"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"stateCopied"}),": ",(0,i.jsx)(s.code,{children:"boolean"})," = ",(0,i.jsx)(s.code,{children:"false"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-27",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L82",children:"core/ts/Poll.ts:82"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"stateleaves",children:"stateLeaves"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"stateLeaves"}),": ",(0,i.jsx)(s.code,{children:"StateLeaf"}),"[]"]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-28",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L84",children:"core/ts/Poll.ts:84"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"statetree",children:"stateTree"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Optional"})," ",(0,i.jsx)(s.strong,{children:"stateTree"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(s.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-29",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L86",children:"core/ts/Poll.ts:86"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"statetreedepth",children:"stateTreeDepth"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"stateTreeDepth"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-30",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L66",children:"core/ts/Poll.ts:66"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidy",children:"subsidy"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"subsidy"}),": ",(0,i.jsx)(s.code,{children:"bigint"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-31",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L115",children:"core/ts/Poll.ts:115"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidysalts",children:"subsidySalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"subsidySalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-32",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L117",children:"core/ts/Poll.ts:117"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tallyresult",children:"tallyResult"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"tallyResult"}),": ",(0,i.jsx)(s.code,{children:"bigint"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-33",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L106",children:"core/ts/Poll.ts:106"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"totalspentvoicecredits",children:"totalSpentVoiceCredits"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"totalSpentVoiceCredits"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-34",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L112",children:"core/ts/Poll.ts:112"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"treedepths",children:"treeDepths"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"treeDepths"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths",children:(0,i.jsx)(s.code,{children:"TreeDepths"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-35",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L59",children:"core/ts/Poll.ts:59"})}),"\n",(0,i.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"coefficientcalculation",children:"coefficientCalculation"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"coefficientCalculation"}),"(",(0,i.jsx)(s.code,{children:"rowBallot"}),", ",(0,i.jsx)(s.code,{children:"colBallot"}),"): ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.p,{children:"This method calculates the coefficient for a pair of ballots."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"rowBallot"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Ballot"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The ballot in the row."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"colBallot"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Ballot"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The ballot in the column."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"bigint"})}),"\n",(0,i.jsx)(s.p,{children:"Returns the calculated coefficient."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-36",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L902",children:"core/ts/Poll.ts:902"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"copy"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})]}),"\n",(0,i.jsx)(s.p,{children:"Create a deep copy of the Poll object."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})}),"\n",(0,i.jsx)(s.p,{children:"A new instance of the Poll object with the same properties."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.copy"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-37",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L1176",children:"core/ts/Poll.ts:1176"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"copystatefrommaci",children:"copyStateFromMaci"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"copyStateFromMaci"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"Copy the state from the MaciState instance."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-38",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L178",children:"core/ts/Poll.ts:178"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"equals"}),"(",(0,i.jsx)(s.code,{children:"p"}),"): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"Check if the Poll object is equal to another Poll object."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"p"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The Poll object to compare."})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"True if the two Poll objects are equal, false otherwise."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.equals"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-39",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L1259",children:"core/ts/Poll.ts:1259"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"genpervospentvoicecreditscommitment",children:"genPerVOSpentVoiceCreditsCommitment"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"genPerVOSpentVoiceCreditsCommitment"}),"(",(0,i.jsx)(s.code,{children:"salt"}),", ",(0,i.jsx)(s.code,{children:"numBallotsToCount"}),"): ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.p,{children:"This method generates a commitment to the spent voice credits per vote option."}),"\n",(0,i.jsx)(s.p,{children:"This is the hash of the Merkle root of the spent voice credits per vote option and a salt, computed as Poseidon([root, _salt])."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"salt"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"bigint"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The salt used in the hash function."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"numBallotsToCount"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The number of ballots to count for the calculation."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"bigint"})}),"\n",(0,i.jsx)(s.p,{children:"Returns the hash of the Merkle root of the spent voice credits per vote option and a salt, computed as Poseidon([root, _salt])."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-40",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L1154",children:"core/ts/Poll.ts:1154"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"genprocessmessagescircuitinputspartial",children:"genProcessMessagesCircuitInputsPartial"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"genProcessMessagesCircuitInputsPartial"}),"(",(0,i.jsx)(s.code,{children:"index"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts#circuitinputs",children:(0,i.jsx)(s.code,{children:"CircuitInputs"})})]}),"\n",(0,i.jsx)(s.p,{children:"Generates partial circuit inputs for processing a batch of messages"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"index"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The index of the partial batch."})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts#circuitinputs",children:(0,i.jsx)(s.code,{children:"CircuitInputs"})})}),"\n",(0,i.jsx)(s.p,{children:"stringified partial circuit inputs"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-41",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L665",children:"core/ts/Poll.ts:665"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"genspentvoicecreditsubtotalcommitment",children:"genSpentVoiceCreditSubtotalCommitment"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"genSpentVoiceCreditSubtotalCommitment"}),"(",(0,i.jsx)(s.code,{children:"salt"}),", ",(0,i.jsx)(s.code,{children:"numBallotsToCount"}),"): ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.p,{children:"This method generates a commitment to the total spent voice credits."}),"\n",(0,i.jsx)(s.p,{children:"This is the hash of the total spent voice credits and a salt, computed as Poseidon([totalCredits, _salt])."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"salt"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"bigint"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The salt used in the hash function."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"numBallotsToCount"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The number of ballots to count for the calculation."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"bigint"})}),"\n",(0,i.jsx)(s.p,{children:"Returns the hash of the total spent voice credits and a salt, computed as Poseidon([totalCredits, _salt])."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-42",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L1130",children:"core/ts/Poll.ts:1130"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"hasunfinishedsubsidycalculation",children:"hasUnfinishedSubsidyCalculation"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"hasUnfinishedSubsidyCalculation"}),"(): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"This method checks if there are any unfinished subsidy calculations."}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"Returns true if the product of the row batch index (rbi) and batch size or\nthe product of column batch index (cbi) and batch size is less than the length\nof the ballots array, indicating that there are still ballots left to be processed.\nOtherwise, it returns false."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.hasUnfinishedSubsidyCalculation"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-43",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L783",children:"core/ts/Poll.ts:783"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"hasunprocessedmessages",children:"hasUnprocessedMessages"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"hasUnprocessedMessages"}),"(): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"This method checks if there are any unprocessed messages in the Poll instance."}),"\n",(0,i.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"Returns true if the number of processed batches is\nless than the total number of batches, false otherwise."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.hasUnprocessedMessages"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-44",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L388",children:"core/ts/Poll.ts:388"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"hasuntalliedballots",children:"hasUntalliedBallots"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"hasUntalliedBallots"}),"(): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"Checks whether there are any untallied ballots."}),"\n",(0,i.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"Whether there are any untallied ballots"}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-4",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.hasUntalliedBallots"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-45",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L774",children:"core/ts/Poll.ts:774"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"increasesubsidyindex",children:"increaseSubsidyIndex"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"increaseSubsidyIndex"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"It increases the index for the subsidy calculation."}),"\n",(0,i.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-46",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L857",children:"core/ts/Poll.ts:857"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"previoussubsidyindextostring",children:"previousSubsidyIndexToString"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"previousSubsidyIndexToString"}),"(): ",(0,i.jsx)(s.code,{children:"string"})]}),"\n",(0,i.jsx)(s.p,{children:"This method converts the previous subsidy index to a string."}),"\n",(0,i.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:'Returns a string representation of the previous subsidy index.\nThe string is in the format "rbi-cbi", where rbi and cbi are\nthe previous row batch index and column batch index respectively.'}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-47",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L874",children:"core/ts/Poll.ts:874"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"processallmessages",children:"processAllMessages"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"processAllMessages"}),"(): ",(0,i.jsx)(s.code,{children:"Object"})]}),"\n",(0,i.jsx)(s.p,{children:"Process all messages. This function does not update the ballots or state\nleaves; rather, it copies and then updates them. This makes it possible\nto test the result of multiple processMessage() invocations."}),"\n",(0,i.jsx)(s.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"Object"})}),"\n",(0,i.jsx)(s.p,{children:"The state leaves and ballots of the poll"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"ballots"})}),(0,i.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,i.jsx)(s.code,{children:"Ballot"}),"[]"]})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"stateLeaves"})}),(0,i.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,i.jsx)(s.code,{children:"StateLeaf"}),"[]"]})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-5",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.processAllMessages"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-48",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L758",children:"core/ts/Poll.ts:758"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"processmessage",children:"processMessage"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"processMessage"}),"(",(0,i.jsx)(s.code,{children:"message"}),", ",(0,i.jsx)(s.code,{children:"encPubKey"}),"): ",(0,i.jsx)(s.code,{children:"IProcessMessagesOutput"})]}),"\n",(0,i.jsx)(s.p,{children:"Process one message."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The message to process."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"encPubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"PubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The public key associated with the encryption private key."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"IProcessMessagesOutput"})}),"\n",(0,i.jsx)(s.p,{children:"A number of variables which will be used in the zk-SNARK circuit."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-49",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L205",children:"core/ts/Poll.ts:205"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"processmessages",children:"processMessages"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"processMessages"}),"(",(0,i.jsx)(s.code,{children:"pollId"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",children:(0,i.jsx)(s.code,{children:"IProcessMessagesCircuitInputs"})})]}),"\n",(0,i.jsx)(s.p,{children:"Process _batchSize messages starting from the saved index. This\nfunction will process messages even if the number of messages is not an\nexact multiple of _batchSize. e.g. if there are 10 messages, index is\n8, and _batchSize is 4, this function will only process the last two\nmessages in this.messages, and finally update the zeroth state leaf.\nNote that this function will only process as many state leaves as there\nare ballots to prevent accidental inclusion of a new user after this\npoll has concluded."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"pollId"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The ID of the poll associated with the messages to process"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",children:(0,i.jsx)(s.code,{children:"IProcessMessagesCircuitInputs"})})}),"\n",(0,i.jsx)(s.p,{children:"stringified circuit inputs"}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-6",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.processMessages"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-50",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L413",children:"core/ts/Poll.ts:413"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"publishmessage",children:"publishMessage"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"publishMessage"}),"(",(0,i.jsx)(s.code,{children:"message"}),", ",(0,i.jsx)(s.code,{children:"encPubKey"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"Inserts a Message and the corresponding public key used to generate the\nECDH shared key which was used to encrypt said message."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The message to insert"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"encPubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"PubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The public key used to encrypt the message"})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-16",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-7",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.publishMessage"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-51",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L349",children:"core/ts/Poll.ts:349"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"setcoordinatorkeypair",children:"setCoordinatorKeypair"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"setCoordinatorKeypair"}),"(",(0,i.jsx)(s.code,{children:"serializedPrivateKey"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"Set the coordinator's keypair"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"serializedPrivateKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"string"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the serialized private key"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-17",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-8",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.setCoordinatorKeypair"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-52",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L1366",children:"core/ts/Poll.ts:1366"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidycalculation",children:"subsidyCalculation"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"subsidyCalculation"}),"(",(0,i.jsx)(s.code,{children:"rowStartIndex"}),", ",(0,i.jsx)(s.code,{children:"colStartIndex"}),"): ",(0,i.jsx)(s.code,{children:"Ballot"}),"[][]"]}),"\n",(0,i.jsx)(s.p,{children:"This method calculates the subsidy for a batch of ballots."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"rowStartIndex"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The starting index for the row ballots."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"colStartIndex"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The starting index for the column ballots."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-18",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"Ballot"}),"[][]"]}),"\n",(0,i.jsx)(s.p,{children:"Returns a 2D array of ballots. The first array contains the row ballots and the second array contains the column ballots."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-53",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L917",children:"core/ts/Poll.ts:917"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidyperbatch",children:"subsidyPerBatch"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"subsidyPerBatch"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",children:(0,i.jsx)(s.code,{children:"ISubsidyCircuitInputs"})})]}),"\n",(0,i.jsx)(s.p,{children:"This method calculates the subsidy per batch."}),"\n",(0,i.jsx)(s.h4,{id:"returns-19",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",children:(0,i.jsx)(s.code,{children:"ISubsidyCircuitInputs"})})}),"\n",(0,i.jsx)(s.p,{children:"Returns an array of big integers which represent the circuit inputs for the subsidy calculation."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-9",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.subsidyPerBatch"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-54",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L792",children:"core/ts/Poll.ts:792"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tallyvotes",children:"tallyVotes"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"tallyVotes"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs",children:(0,i.jsx)(s.code,{children:"ITallyCircuitInputs"})})]}),"\n",(0,i.jsx)(s.p,{children:"This method tallies a ballots and updates the tally results."}),"\n",(0,i.jsx)(s.h4,{id:"returns-20",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs",children:(0,i.jsx)(s.code,{children:"ITallyCircuitInputs"})})}),"\n",(0,i.jsx)(s.p,{children:"the circuit inputs for the TallyVotes circuit."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-10",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.tallyVotes"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-55",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L956",children:"core/ts/Poll.ts:956"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,i.jsx)(s.code,{children:"IJsonPoll"})]}),"\n",(0,i.jsx)(s.p,{children:"Serialize the Poll object to a JSON object"}),"\n",(0,i.jsx)(s.h4,{id:"returns-21",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"IJsonPoll"})}),"\n",(0,i.jsx)(s.p,{children:"a JSON object"}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-11",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.toJSON"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-56",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L1294",children:"core/ts/Poll.ts:1294"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"topupmessage",children:"topupMessage"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"topupMessage"}),"(",(0,i.jsx)(s.code,{children:"message"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"Top up the voice credit balance of a user."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The message to top up the voice credit balance"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-22",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-12",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.topupMessage"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-57",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L319",children:"core/ts/Poll.ts:319"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"fromJSON"}),"(",(0,i.jsx)(s.code,{children:"json"}),", ",(0,i.jsx)(s.code,{children:"maciState"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})]}),"\n",(0,i.jsx)(s.p,{children:"Deserialize a json object into a Poll instance"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"json"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"IJsonPoll"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the json object to deserialize"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"maciState"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(s.code,{children:"MaciState"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the reference to the MaciState Class"})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-23",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})}),"\n",(0,i.jsx)(s.p,{children:"a new Poll instance"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-58",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/Poll.ts#L1317",children:"core/ts/Poll.ts:1317"})})]})}function a(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},2459:(e,s,l)=>{l.d(s,{Z:()=>r,a:()=>d});var i=l(79);const n={},t=i.createContext(n);function d(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5659],{9138:(e,s,l)=>{l.r(s),l.d(s,{assets:()=>r,contentTitle:()=>c,default:()=>a,frontMatter:()=>t,metadata:()=>d,toc:()=>o});var i=l(5250),n=l(2459);const t={},c="Class: Poll",d={id:"typedoc/classes/core_ts.Poll",title:"core_ts.Poll",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / Poll",source:"@site/versioned_docs/version-v1.x/typedoc/classes/core_ts.Poll.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/core_ts.Poll",permalink:"/docs/typedoc/classes/core_ts.Poll",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/core_ts.Poll.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.MaciState",permalink:"/docs/typedoc/classes/core_ts.MaciState"},next:{title:"crypto_ts.AccQueue",permalink:"/docs/typedoc/classes/crypto_ts.AccQueue"}},r={},o=[{value:"Implements",id:"implements",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"MM",id:"mm",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"WW",id:"ww",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"ballotTree",id:"ballottree",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"ballots",id:"ballots",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"batchSizes",id:"batchsizes",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"cbi",id:"cbi",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"commands",id:"commands",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"coordinatorKeypair",id:"coordinatorkeypair",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"currentMessageBatchIndex",id:"currentmessagebatchindex",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"emptyBallot",id:"emptyballot",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"emptyBallotHash",id:"emptyballothash",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"encPubKeys",id:"encpubkeys",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"maciStateRef",id:"macistateref",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"maxValues",id:"maxvalues",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"messageTree",id:"messagetree",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"messages",id:"messages",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"numBatchesProcessed",id:"numbatchesprocessed",level:3},{value:"Defined in",id:"defined-in-17",level:4},{value:"numBatchesTallied",id:"numbatchestallied",level:3},{value:"Defined in",id:"defined-in-18",level:4},{value:"perVOSpentVoiceCredits",id:"pervospentvoicecredits",level:3},{value:"Defined in",id:"defined-in-19",level:4},{value:"pollEndTimestamp",id:"pollendtimestamp",level:3},{value:"Defined in",id:"defined-in-20",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-21",level:4},{value:"preVOSpentVoiceCreditsRootSalts",id:"prevospentvoicecreditsrootsalts",level:3},{value:"Defined in",id:"defined-in-22",level:4},{value:"rbi",id:"rbi",level:3},{value:"Defined in",id:"defined-in-23",level:4},{value:"resultRootSalts",id:"resultrootsalts",level:3},{value:"Defined in",id:"defined-in-24",level:4},{value:"sbSalts",id:"sbsalts",level:3},{value:"Defined in",id:"defined-in-25",level:4},{value:"spentVoiceCreditSubtotalSalts",id:"spentvoicecreditsubtotalsalts",level:3},{value:"Defined in",id:"defined-in-26",level:4},{value:"stateCopied",id:"statecopied",level:3},{value:"Defined in",id:"defined-in-27",level:4},{value:"stateLeaves",id:"stateleaves",level:3},{value:"Defined in",id:"defined-in-28",level:4},{value:"stateTree",id:"statetree",level:3},{value:"Defined in",id:"defined-in-29",level:4},{value:"stateTreeDepth",id:"statetreedepth",level:3},{value:"Defined in",id:"defined-in-30",level:4},{value:"subsidy",id:"subsidy",level:3},{value:"Defined in",id:"defined-in-31",level:4},{value:"subsidySalts",id:"subsidysalts",level:3},{value:"Defined in",id:"defined-in-32",level:4},{value:"tallyResult",id:"tallyresult",level:3},{value:"Defined in",id:"defined-in-33",level:4},{value:"totalSpentVoiceCredits",id:"totalspentvoicecredits",level:3},{value:"Defined in",id:"defined-in-34",level:4},{value:"treeDepths",id:"treedepths",level:3},{value:"Defined in",id:"defined-in-35",level:4},{value:"Methods",id:"methods-1",level:2},{value:"coefficientCalculation",id:"coefficientcalculation",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Implementation of",id:"implementation-of",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"copyStateFromMaci",id:"copystatefrommaci",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"genPerVOSpentVoiceCreditsCommitment",id:"genpervospentvoicecreditscommitment",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-40",level:4},{value:"genProcessMessagesCircuitInputsPartial",id:"genprocessmessagescircuitinputspartial",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-41",level:4},{value:"genSpentVoiceCreditSubtotalCommitment",id:"genspentvoicecreditsubtotalcommitment",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-42",level:4},{value:"hasUnfinishedSubsidyCalculation",id:"hasunfinishedsubsidycalculation",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"Defined in",id:"defined-in-43",level:4},{value:"hasUnprocessedMessages",id:"hasunprocessedmessages",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"Defined in",id:"defined-in-44",level:4},{value:"hasUntalliedBallots",id:"hasuntalliedballots",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Implementation of",id:"implementation-of-4",level:4},{value:"Defined in",id:"defined-in-45",level:4},{value:"increaseSubsidyIndex",id:"increasesubsidyindex",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-46",level:4},{value:"previousSubsidyIndexToString",id:"previoussubsidyindextostring",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-47",level:4},{value:"processAllMessages",id:"processallmessages",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Implementation of",id:"implementation-of-5",level:4},{value:"Defined in",id:"defined-in-48",level:4},{value:"processMessage",id:"processmessage",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-49",level:4},{value:"processMessages",id:"processmessages",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Implementation of",id:"implementation-of-6",level:4},{value:"Defined in",id:"defined-in-50",level:4},{value:"publishMessage",id:"publishmessage",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Implementation of",id:"implementation-of-7",level:4},{value:"Defined in",id:"defined-in-51",level:4},{value:"setCoordinatorKeypair",id:"setcoordinatorkeypair",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Implementation of",id:"implementation-of-8",level:4},{value:"Defined in",id:"defined-in-52",level:4},{value:"subsidyCalculation",id:"subsidycalculation",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-53",level:4},{value:"subsidyPerBatch",id:"subsidyperbatch",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Implementation of",id:"implementation-of-9",level:4},{value:"Defined in",id:"defined-in-54",level:4},{value:"tallyVotes",id:"tallyvotes",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Implementation of",id:"implementation-of-10",level:4},{value:"Defined in",id:"defined-in-55",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Implementation of",id:"implementation-of-11",level:4},{value:"Defined in",id:"defined-in-56",level:4},{value:"topupMessage",id:"topupmessage",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Implementation of",id:"implementation-of-12",level:4},{value:"Defined in",id:"defined-in-57",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Defined in",id:"defined-in-58",level:4}];function h(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / Poll"]}),"\n",(0,i.jsx)(s.h1,{id:"class-poll",children:"Class: Poll"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".Poll"]}),"\n",(0,i.jsx)(s.p,{children:"A representation of the Poll contract."}),"\n",(0,i.jsx)(s.h2,{id:"implements",children:"Implements"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.code,{children:"IPoll"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#constructor",children:"constructor"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#mm",children:"MM"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#ww",children:"WW"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#ballottree",children:"ballotTree"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#ballots",children:"ballots"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#batchsizes",children:"batchSizes"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#cbi",children:"cbi"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#commands",children:"commands"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#coordinatorkeypair",children:"coordinatorKeypair"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#currentmessagebatchindex",children:"currentMessageBatchIndex"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#emptyballot",children:"emptyBallot"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#emptyballothash",children:"emptyBallotHash"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#encpubkeys",children:"encPubKeys"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#macistateref",children:"maciStateRef"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#maxvalues",children:"maxValues"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#messagetree",children:"messageTree"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#messages",children:"messages"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#numbatchesprocessed",children:"numBatchesProcessed"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#numbatchestallied",children:"numBatchesTallied"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#pervospentvoicecredits",children:"perVOSpentVoiceCredits"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#pollendtimestamp",children:"pollEndTimestamp"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#pollid",children:"pollId"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#prevospentvoicecreditsrootsalts",children:"preVOSpentVoiceCreditsRootSalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#rbi",children:"rbi"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#resultrootsalts",children:"resultRootSalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#sbsalts",children:"sbSalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#spentvoicecreditsubtotalsalts",children:"spentVoiceCreditSubtotalSalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#statecopied",children:"stateCopied"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#stateleaves",children:"stateLeaves"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#statetree",children:"stateTree"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#statetreedepth",children:"stateTreeDepth"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#subsidy",children:"subsidy"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#subsidysalts",children:"subsidySalts"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#tallyresult",children:"tallyResult"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#totalspentvoicecredits",children:"totalSpentVoiceCredits"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#treedepths",children:"treeDepths"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#coefficientcalculation",children:"coefficientCalculation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#copy",children:"copy"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#copystatefrommaci",children:"copyStateFromMaci"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#equals",children:"equals"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#genpervospentvoicecreditscommitment",children:"genPerVOSpentVoiceCreditsCommitment"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#genprocessmessagescircuitinputspartial",children:"genProcessMessagesCircuitInputsPartial"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#genspentvoicecreditsubtotalcommitment",children:"genSpentVoiceCreditSubtotalCommitment"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#hasunfinishedsubsidycalculation",children:"hasUnfinishedSubsidyCalculation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#hasunprocessedmessages",children:"hasUnprocessedMessages"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#hasuntalliedballots",children:"hasUntalliedBallots"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#increasesubsidyindex",children:"increaseSubsidyIndex"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#previoussubsidyindextostring",children:"previousSubsidyIndexToString"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#processallmessages",children:"processAllMessages"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#processmessage",children:"processMessage"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#processmessages",children:"processMessages"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#publishmessage",children:"publishMessage"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#setcoordinatorkeypair",children:"setCoordinatorKeypair"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#subsidycalculation",children:"subsidyCalculation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#subsidyperbatch",children:"subsidyPerBatch"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#tallyvotes",children:"tallyVotes"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#tojson",children:"toJSON"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#topupmessage",children:"topupMessage"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll#fromjson",children:"fromJSON"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"new Poll"}),"(",(0,i.jsx)(s.code,{children:"pollEndTimestamp"}),", ",(0,i.jsx)(s.code,{children:"coordinatorKeypair"}),", ",(0,i.jsx)(s.code,{children:"treeDepths"}),", ",(0,i.jsx)(s.code,{children:"batchSizes"}),", ",(0,i.jsx)(s.code,{children:"maxValues"}),", ",(0,i.jsx)(s.code,{children:"maciStateRef"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})]}),"\n",(0,i.jsx)(s.p,{children:"Constructs a new Poll object."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"pollEndTimestamp"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"bigint"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The Unix timestamp at which the poll ends."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"coordinatorKeypair"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Keypair"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The keypair of the coordinator."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"treeDepths"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths",children:(0,i.jsx)(s.code,{children:"TreeDepths"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The depths of the trees used in the poll."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"batchSizes"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes",children:(0,i.jsx)(s.code,{children:"BatchSizes"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The sizes of the batches used in the poll."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"maxValues"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues",children:(0,i.jsx)(s.code,{children:"MaxValues"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The maximum values the MACI circuits can accept."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"maciStateRef"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(s.code,{children:"MaciState"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The reference to the MACI state."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L142",children:"core/ts/Poll.ts:142"})}),"\n",(0,i.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(s.h3,{id:"mm",children:"MM"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"MM"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"50"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L123",children:"core/ts/Poll.ts:123"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ww",children:"WW"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"WW"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"4"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L125",children:"core/ts/Poll.ts:125"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ballottree",children:"ballotTree"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Optional"})," ",(0,i.jsx)(s.strong,{children:"ballotTree"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(s.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L72",children:"core/ts/Poll.ts:72"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"ballots",children:"ballots"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"ballots"}),": ",(0,i.jsx)(s.code,{children:"Ballot"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L70",children:"core/ts/Poll.ts:70"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"batchsizes",children:"batchSizes"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"batchSizes"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.BatchSizes",children:(0,i.jsx)(s.code,{children:"BatchSizes"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L61",children:"core/ts/Poll.ts:61"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"cbi",children:"cbi"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"cbi"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"0"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L121",children:"core/ts/Poll.ts:121"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"commands",children:"commands"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"commands"}),": ",(0,i.jsx)(s.code,{children:"ICommand"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L78",children:"core/ts/Poll.ts:78"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"coordinatorkeypair",children:"coordinatorKeypair"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"coordinatorKeypair"}),": ",(0,i.jsx)(s.code,{children:"Keypair"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L57",children:"core/ts/Poll.ts:57"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"currentmessagebatchindex",children:"currentMessageBatchIndex"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Optional"})," ",(0,i.jsx)(s.strong,{children:"currentMessageBatchIndex"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L91",children:"core/ts/Poll.ts:91"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"emptyballot",children:"emptyBallot"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"emptyBallot"}),": ",(0,i.jsx)(s.code,{children:"Ballot"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L129",children:"core/ts/Poll.ts:129"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"emptyballothash",children:"emptyBallotHash"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Optional"})," ",(0,i.jsx)(s.strong,{children:"emptyBallotHash"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L131",children:"core/ts/Poll.ts:131"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"encpubkeys",children:"encPubKeys"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"encPubKeys"}),": ",(0,i.jsx)(s.code,{children:"PubKey"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L80",children:"core/ts/Poll.ts:80"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"macistateref",children:"maciStateRef"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"maciStateRef"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(s.code,{children:"MaciState"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L93",children:"core/ts/Poll.ts:93"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"maxvalues",children:"maxValues"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"maxValues"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.MaxValues",children:(0,i.jsx)(s.code,{children:"MaxValues"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L63",children:"core/ts/Poll.ts:63"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"messagetree",children:"messageTree"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"messageTree"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(s.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L76",children:"core/ts/Poll.ts:76"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"messages",children:"messages"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"messages"}),": ",(0,i.jsx)(s.code,{children:"Message"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L74",children:"core/ts/Poll.ts:74"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"numbatchesprocessed",children:"numBatchesProcessed"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"numBatchesProcessed"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"0"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L89",children:"core/ts/Poll.ts:89"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"numbatchestallied",children:"numBatchesTallied"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"numBatchesTallied"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"0"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L110",children:"core/ts/Poll.ts:110"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"pervospentvoicecredits",children:"perVOSpentVoiceCredits"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"perVOSpentVoiceCredits"}),": ",(0,i.jsx)(s.code,{children:"bigint"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L108",children:"core/ts/Poll.ts:108"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"pollendtimestamp",children:"pollEndTimestamp"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"pollEndTimestamp"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L68",children:"core/ts/Poll.ts:68"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"pollid",children:"pollId"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"pollId"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-21",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L95",children:"core/ts/Poll.ts:95"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"prevospentvoicecreditsrootsalts",children:"preVOSpentVoiceCreditsRootSalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"preVOSpentVoiceCreditsRootSalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-22",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L101",children:"core/ts/Poll.ts:101"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"rbi",children:"rbi"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"rbi"}),": ",(0,i.jsx)(s.code,{children:"number"})," = ",(0,i.jsx)(s.code,{children:"0"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-23",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L119",children:"core/ts/Poll.ts:119"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"resultrootsalts",children:"resultRootSalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"resultRootSalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-24",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L99",children:"core/ts/Poll.ts:99"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"sbsalts",children:"sbSalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"sbSalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-25",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L97",children:"core/ts/Poll.ts:97"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"spentvoicecreditsubtotalsalts",children:"spentVoiceCreditSubtotalSalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"spentVoiceCreditSubtotalSalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-26",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L103",children:"core/ts/Poll.ts:103"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"statecopied",children:"stateCopied"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"stateCopied"}),": ",(0,i.jsx)(s.code,{children:"boolean"})," = ",(0,i.jsx)(s.code,{children:"false"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-27",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L82",children:"core/ts/Poll.ts:82"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"stateleaves",children:"stateLeaves"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"stateLeaves"}),": ",(0,i.jsx)(s.code,{children:"StateLeaf"}),"[]"]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-28",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L84",children:"core/ts/Poll.ts:84"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"statetree",children:"stateTree"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.code,{children:"Optional"})," ",(0,i.jsx)(s.strong,{children:"stateTree"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(s.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-29",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L86",children:"core/ts/Poll.ts:86"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"statetreedepth",children:"stateTreeDepth"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"stateTreeDepth"}),": ",(0,i.jsx)(s.code,{children:"number"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-30",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L66",children:"core/ts/Poll.ts:66"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidy",children:"subsidy"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"subsidy"}),": ",(0,i.jsx)(s.code,{children:"bigint"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-31",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L115",children:"core/ts/Poll.ts:115"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidysalts",children:"subsidySalts"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"subsidySalts"}),": ",(0,i.jsx)(s.code,{children:"Record"}),"<",(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"}),", ",(0,i.jsx)(s.code,{children:"bigint"}),"> = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-32",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L117",children:"core/ts/Poll.ts:117"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tallyresult",children:"tallyResult"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"tallyResult"}),": ",(0,i.jsx)(s.code,{children:"bigint"}),"[] = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-33",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L106",children:"core/ts/Poll.ts:106"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"totalspentvoicecredits",children:"totalSpentVoiceCredits"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"totalSpentVoiceCredits"}),": ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-34",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L112",children:"core/ts/Poll.ts:112"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"treedepths",children:"treeDepths"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"treeDepths"}),": ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths",children:(0,i.jsx)(s.code,{children:"TreeDepths"})})]}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-35",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L59",children:"core/ts/Poll.ts:59"})}),"\n",(0,i.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"coefficientcalculation",children:"coefficientCalculation"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"coefficientCalculation"}),"(",(0,i.jsx)(s.code,{children:"rowBallot"}),", ",(0,i.jsx)(s.code,{children:"colBallot"}),"): ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.p,{children:"This method calculates the coefficient for a pair of ballots."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"rowBallot"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Ballot"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The ballot in the row."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"colBallot"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Ballot"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The ballot in the column."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"bigint"})}),"\n",(0,i.jsx)(s.p,{children:"Returns the calculated coefficient."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-36",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L902",children:"core/ts/Poll.ts:902"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"copy"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})]}),"\n",(0,i.jsx)(s.p,{children:"Create a deep copy of the Poll object."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})}),"\n",(0,i.jsx)(s.p,{children:"A new instance of the Poll object with the same properties."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.copy"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-37",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L1176",children:"core/ts/Poll.ts:1176"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"copystatefrommaci",children:"copyStateFromMaci"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"copyStateFromMaci"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"Copy the state from the MaciState instance."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-38",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L178",children:"core/ts/Poll.ts:178"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"equals"}),"(",(0,i.jsx)(s.code,{children:"p"}),"): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"Check if the Poll object is equal to another Poll object."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"p"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The Poll object to compare."})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"True if the two Poll objects are equal, false otherwise."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.equals"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-39",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L1259",children:"core/ts/Poll.ts:1259"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"genpervospentvoicecreditscommitment",children:"genPerVOSpentVoiceCreditsCommitment"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"genPerVOSpentVoiceCreditsCommitment"}),"(",(0,i.jsx)(s.code,{children:"salt"}),", ",(0,i.jsx)(s.code,{children:"numBallotsToCount"}),"): ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.p,{children:"This method generates a commitment to the spent voice credits per vote option."}),"\n",(0,i.jsx)(s.p,{children:"This is the hash of the Merkle root of the spent voice credits per vote option and a salt, computed as Poseidon([root, _salt])."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"salt"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"bigint"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The salt used in the hash function."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"numBallotsToCount"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The number of ballots to count for the calculation."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"bigint"})}),"\n",(0,i.jsx)(s.p,{children:"Returns the hash of the Merkle root of the spent voice credits per vote option and a salt, computed as Poseidon([root, _salt])."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-40",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L1154",children:"core/ts/Poll.ts:1154"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"genprocessmessagescircuitinputspartial",children:"genProcessMessagesCircuitInputsPartial"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"genProcessMessagesCircuitInputsPartial"}),"(",(0,i.jsx)(s.code,{children:"index"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts#circuitinputs",children:(0,i.jsx)(s.code,{children:"CircuitInputs"})})]}),"\n",(0,i.jsx)(s.p,{children:"Generates partial circuit inputs for processing a batch of messages"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"index"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The index of the partial batch."})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts#circuitinputs",children:(0,i.jsx)(s.code,{children:"CircuitInputs"})})}),"\n",(0,i.jsx)(s.p,{children:"stringified partial circuit inputs"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-41",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L665",children:"core/ts/Poll.ts:665"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"genspentvoicecreditsubtotalcommitment",children:"genSpentVoiceCreditSubtotalCommitment"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"genSpentVoiceCreditSubtotalCommitment"}),"(",(0,i.jsx)(s.code,{children:"salt"}),", ",(0,i.jsx)(s.code,{children:"numBallotsToCount"}),"): ",(0,i.jsx)(s.code,{children:"bigint"})]}),"\n",(0,i.jsx)(s.p,{children:"This method generates a commitment to the total spent voice credits."}),"\n",(0,i.jsx)(s.p,{children:"This is the hash of the total spent voice credits and a salt, computed as Poseidon([totalCredits, _salt])."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"salt"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"bigint"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The salt used in the hash function."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"numBallotsToCount"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The number of ballots to count for the calculation."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"bigint"})}),"\n",(0,i.jsx)(s.p,{children:"Returns the hash of the total spent voice credits and a salt, computed as Poseidon([totalCredits, _salt])."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-42",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L1130",children:"core/ts/Poll.ts:1130"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"hasunfinishedsubsidycalculation",children:"hasUnfinishedSubsidyCalculation"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"hasUnfinishedSubsidyCalculation"}),"(): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"This method checks if there are any unfinished subsidy calculations."}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"Returns true if the product of the row batch index (rbi) and batch size or\nthe product of column batch index (cbi) and batch size is less than the length\nof the ballots array, indicating that there are still ballots left to be processed.\nOtherwise, it returns false."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.hasUnfinishedSubsidyCalculation"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-43",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L783",children:"core/ts/Poll.ts:783"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"hasunprocessedmessages",children:"hasUnprocessedMessages"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"hasUnprocessedMessages"}),"(): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"This method checks if there are any unprocessed messages in the Poll instance."}),"\n",(0,i.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"Returns true if the number of processed batches is\nless than the total number of batches, false otherwise."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.hasUnprocessedMessages"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-44",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L388",children:"core/ts/Poll.ts:388"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"hasuntalliedballots",children:"hasUntalliedBallots"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"hasUntalliedBallots"}),"(): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.p,{children:"Checks whether there are any untallied ballots."}),"\n",(0,i.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsx)(s.p,{children:"Whether there are any untallied ballots"}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-4",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.hasUntalliedBallots"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-45",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L774",children:"core/ts/Poll.ts:774"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"increasesubsidyindex",children:"increaseSubsidyIndex"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"increaseSubsidyIndex"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"It increases the index for the subsidy calculation."}),"\n",(0,i.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-46",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L857",children:"core/ts/Poll.ts:857"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"previoussubsidyindextostring",children:"previousSubsidyIndexToString"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"previousSubsidyIndexToString"}),"(): ",(0,i.jsx)(s.code,{children:"string"})]}),"\n",(0,i.jsx)(s.p,{children:"This method converts the previous subsidy index to a string."}),"\n",(0,i.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:'Returns a string representation of the previous subsidy index.\nThe string is in the format "rbi-cbi", where rbi and cbi are\nthe previous row batch index and column batch index respectively.'}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-47",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L874",children:"core/ts/Poll.ts:874"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"processallmessages",children:"processAllMessages"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"processAllMessages"}),"(): ",(0,i.jsx)(s.code,{children:"Object"})]}),"\n",(0,i.jsx)(s.p,{children:"Process all messages. This function does not update the ballots or state\nleaves; rather, it copies and then updates them. This makes it possible\nto test the result of multiple processMessage() invocations."}),"\n",(0,i.jsx)(s.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"Object"})}),"\n",(0,i.jsx)(s.p,{children:"The state leaves and ballots of the poll"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"ballots"})}),(0,i.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,i.jsx)(s.code,{children:"Ballot"}),"[]"]})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"stateLeaves"})}),(0,i.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,i.jsx)(s.code,{children:"StateLeaf"}),"[]"]})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-5",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.processAllMessages"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-48",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L758",children:"core/ts/Poll.ts:758"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"processmessage",children:"processMessage"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"processMessage"}),"(",(0,i.jsx)(s.code,{children:"message"}),", ",(0,i.jsx)(s.code,{children:"encPubKey"}),"): ",(0,i.jsx)(s.code,{children:"IProcessMessagesOutput"})]}),"\n",(0,i.jsx)(s.p,{children:"Process one message."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The message to process."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"encPubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"PubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The public key associated with the encryption private key."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"IProcessMessagesOutput"})}),"\n",(0,i.jsx)(s.p,{children:"A number of variables which will be used in the zk-SNARK circuit."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-49",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L205",children:"core/ts/Poll.ts:205"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"processmessages",children:"processMessages"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"processMessages"}),"(",(0,i.jsx)(s.code,{children:"pollId"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",children:(0,i.jsx)(s.code,{children:"IProcessMessagesCircuitInputs"})})]}),"\n",(0,i.jsx)(s.p,{children:"Process _batchSize messages starting from the saved index. This\nfunction will process messages even if the number of messages is not an\nexact multiple of _batchSize. e.g. if there are 10 messages, index is\n8, and _batchSize is 4, this function will only process the last two\nmessages in this.messages, and finally update the zeroth state leaf.\nNote that this function will only process as many state leaves as there\nare ballots to prevent accidental inclusion of a new user after this\npoll has concluded."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"pollId"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The ID of the poll associated with the messages to process"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",children:(0,i.jsx)(s.code,{children:"IProcessMessagesCircuitInputs"})})}),"\n",(0,i.jsx)(s.p,{children:"stringified circuit inputs"}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-6",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.processMessages"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-50",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L413",children:"core/ts/Poll.ts:413"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"publishmessage",children:"publishMessage"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"publishMessage"}),"(",(0,i.jsx)(s.code,{children:"message"}),", ",(0,i.jsx)(s.code,{children:"encPubKey"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"Inserts a Message and the corresponding public key used to generate the\nECDH shared key which was used to encrypt said message."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The message to insert"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"encPubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"PubKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The public key used to encrypt the message"})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-16",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-7",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.publishMessage"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-51",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L349",children:"core/ts/Poll.ts:349"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"setcoordinatorkeypair",children:"setCoordinatorKeypair"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"setCoordinatorKeypair"}),"(",(0,i.jsx)(s.code,{children:"serializedPrivateKey"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"Set the coordinator's keypair"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"serializedPrivateKey"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"string"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the serialized private key"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-17",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-8",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.setCoordinatorKeypair"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-52",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L1366",children:"core/ts/Poll.ts:1366"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidycalculation",children:"subsidyCalculation"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"subsidyCalculation"}),"(",(0,i.jsx)(s.code,{children:"rowStartIndex"}),", ",(0,i.jsx)(s.code,{children:"colStartIndex"}),"): ",(0,i.jsx)(s.code,{children:"Ballot"}),"[][]"]}),"\n",(0,i.jsx)(s.p,{children:"This method calculates the subsidy for a batch of ballots."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"rowStartIndex"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The starting index for the row ballots."})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"colStartIndex"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"number"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The starting index for the column ballots."})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-18",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"Ballot"}),"[][]"]}),"\n",(0,i.jsx)(s.p,{children:"Returns a 2D array of ballots. The first array contains the row ballots and the second array contains the column ballots."}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-53",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L917",children:"core/ts/Poll.ts:917"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subsidyperbatch",children:"subsidyPerBatch"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"subsidyPerBatch"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",children:(0,i.jsx)(s.code,{children:"ISubsidyCircuitInputs"})})]}),"\n",(0,i.jsx)(s.p,{children:"This method calculates the subsidy per batch."}),"\n",(0,i.jsx)(s.h4,{id:"returns-19",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs",children:(0,i.jsx)(s.code,{children:"ISubsidyCircuitInputs"})})}),"\n",(0,i.jsx)(s.p,{children:"Returns an array of big integers which represent the circuit inputs for the subsidy calculation."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-9",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.subsidyPerBatch"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-54",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L792",children:"core/ts/Poll.ts:792"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tallyvotes",children:"tallyVotes"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"tallyVotes"}),"(): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs",children:(0,i.jsx)(s.code,{children:"ITallyCircuitInputs"})})]}),"\n",(0,i.jsx)(s.p,{children:"This method tallies a ballots and updates the tally results."}),"\n",(0,i.jsx)(s.h4,{id:"returns-20",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs",children:(0,i.jsx)(s.code,{children:"ITallyCircuitInputs"})})}),"\n",(0,i.jsx)(s.p,{children:"the circuit inputs for the TallyVotes circuit."}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-10",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.tallyVotes"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-55",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L956",children:"core/ts/Poll.ts:956"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,i.jsx)(s.code,{children:"IJsonPoll"})]}),"\n",(0,i.jsx)(s.p,{children:"Serialize the Poll object to a JSON object"}),"\n",(0,i.jsx)(s.h4,{id:"returns-21",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"IJsonPoll"})}),"\n",(0,i.jsx)(s.p,{children:"a JSON object"}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-11",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.toJSON"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-56",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L1294",children:"core/ts/Poll.ts:1294"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"topupmessage",children:"topupMessage"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"topupMessage"}),"(",(0,i.jsx)(s.code,{children:"message"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n",(0,i.jsx)(s.p,{children:"Top up the voice credit balance of a user."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"Message"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"The message to top up the voice credit balance"})]})})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-22",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"implementation-of-12",children:"Implementation of"}),"\n",(0,i.jsx)(s.p,{children:"IPoll.topupMessage"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-57",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L319",children:"core/ts/Poll.ts:319"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,i.jsxs)(s.p,{children:["\u25b8 ",(0,i.jsx)(s.strong,{children:"fromJSON"}),"(",(0,i.jsx)(s.code,{children:"json"}),", ",(0,i.jsx)(s.code,{children:"maciState"}),"): ",(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})]}),"\n",(0,i.jsx)(s.p,{children:"Deserialize a json object into a Poll instance"}),"\n",(0,i.jsx)(s.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"json"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"IJsonPoll"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the json object to deserialize"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.code,{children:"maciState"})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.MaciState",children:(0,i.jsx)(s.code,{children:"MaciState"})})}),(0,i.jsx)(s.td,{style:{textAlign:"left"},children:"the reference to the MaciState Class"})]})]})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-23",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/docs/typedoc/classes/core_ts.Poll",children:(0,i.jsx)(s.code,{children:"Poll"})})}),"\n",(0,i.jsx)(s.p,{children:"a new Poll instance"}),"\n",(0,i.jsx)(s.h4,{id:"defined-in-58",children:"Defined in"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/Poll.ts#L1317",children:"core/ts/Poll.ts:1317"})})]})}function a(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},2459:(e,s,l)=>{l.d(s,{Z:()=>d,a:()=>c});var i=l(79);const n={},t=i.createContext(n);function c(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c3534551.ea43f16a.js b/assets/js/c3534551.50bca591.js similarity index 96% rename from assets/js/c3534551.ea43f16a.js rename to assets/js/c3534551.50bca591.js index 9618c398ef..bf0d047b1c 100644 --- a/assets/js/c3534551.ea43f16a.js +++ b/assets/js/c3534551.50bca591.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5587],{7445:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var s=n(5250),a=n(2459);const i={},o="Interface: IStateLeafContractParams",r={id:"typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",title:"domainobjs_ts.IStateLeafContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IStateLeafContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf"},next:{title:"domainobjs_ts.IVkContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams"}},c={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"timestamp",id:"timestamp",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"voiceCreditBalance",id:"voicecreditbalance",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IStateLeafContractParams"]}),"\n",(0,s.jsx)(t.h1,{id:"interface-istateleafcontractparams",children:"Interface: IStateLeafContractParams"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IStateLeafContractParams"]}),"\n",(0,s.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams#pubkey",children:"pubKey"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams#timestamp",children:"timestamp"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams#voicecreditbalance",children:"voiceCreditBalance"})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(t.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"pubKey"}),": ",(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,s.jsx)(t.code,{children:"IG1ContractParams"})})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L76",children:"domainobjs/ts/types.ts:76"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"timestamp",children:"timestamp"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"timestamp"}),": ",(0,s.jsx)(t.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L78",children:"domainobjs/ts/types.ts:78"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"voicecreditbalance",children:"voiceCreditBalance"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"voiceCreditBalance"}),": ",(0,s.jsx)(t.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L77",children:"domainobjs/ts/types.ts:77"})})]})}function m(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>o});var s=n(79);const a={},i=s.createContext(a);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5587],{7445:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var s=n(5250),a=n(2459);const i={},o="Interface: IStateLeafContractParams",r={id:"typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",title:"domainobjs_ts.IStateLeafContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IStateLeafContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf"},next:{title:"domainobjs_ts.IVkContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams"}},c={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"timestamp",id:"timestamp",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"voiceCreditBalance",id:"voicecreditbalance",level:3},{value:"Defined in",id:"defined-in-2",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IStateLeafContractParams"]}),"\n",(0,s.jsx)(t.h1,{id:"interface-istateleafcontractparams",children:"Interface: IStateLeafContractParams"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IStateLeafContractParams"]}),"\n",(0,s.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,s.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams#pubkey",children:"pubKey"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams#timestamp",children:"timestamp"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams#voicecreditbalance",children:"voiceCreditBalance"})}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,s.jsx)(t.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"pubKey"}),": ",(0,s.jsx)(t.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,s.jsx)(t.code,{children:"IG1ContractParams"})})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L76",children:"domainobjs/ts/types.ts:76"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"timestamp",children:"timestamp"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"timestamp"}),": ",(0,s.jsx)(t.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L78",children:"domainobjs/ts/types.ts:78"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"voicecreditbalance",children:"voiceCreditBalance"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"voiceCreditBalance"}),": ",(0,s.jsx)(t.code,{children:"BigNumberish"})]}),"\n",(0,s.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L77",children:"domainobjs/ts/types.ts:77"})})]})}function m(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>o});var s=n(79);const a={},i=s.createContext(a);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c7dcdb3c.7b3a35c4.js b/assets/js/c7dcdb3c.4df8809f.js similarity index 91% rename from assets/js/c7dcdb3c.7b3a35c4.js rename to assets/js/c7dcdb3c.4df8809f.js index af36ed45af..3ad39474ef 100644 --- a/assets/js/c7dcdb3c.7b3a35c4.js +++ b/assets/js/c7dcdb3c.4df8809f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1300],{4217:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var t=s(5250),a=s(2459);const i={},r="Interface: IVkContractParams",o={id:"typedoc/interfaces/domainobjs_ts.IVkContractParams",title:"domainobjs_ts.IVkContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IVkContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IVkContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IVkContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IVkContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IStateLeafContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams"},next:{title:"domainobjs_ts.IVkObjectParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams"}},d={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"alpha1",id:"alpha1",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"beta2",id:"beta2",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"delta2",id:"delta2",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"gamma2",id:"gamma2",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"ic",id:"ic",level:3},{value:"Defined in",id:"defined-in-4",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IVkContractParams"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-ivkcontractparams",children:"Interface: IVkContractParams"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IVkContractParams"]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#alpha1",children:"alpha1"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#beta2",children:"beta2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#delta2",children:"delta2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#gamma2",children:"gamma2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#ic",children:"ic"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"alpha1",children:"alpha1"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"alpha1"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,t.jsx)(n.code,{children:"IG1ContractParams"})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L56",children:"domainobjs/ts/types.ts:56"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"beta2",children:"beta2"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"beta2"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",children:(0,t.jsx)(n.code,{children:"IG2ContractParams"})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L57",children:"domainobjs/ts/types.ts:57"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"delta2",children:"delta2"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"delta2"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",children:(0,t.jsx)(n.code,{children:"IG2ContractParams"})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L59",children:"domainobjs/ts/types.ts:59"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"gamma2",children:"gamma2"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"gamma2"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",children:(0,t.jsx)(n.code,{children:"IG2ContractParams"})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L58",children:"domainobjs/ts/types.ts:58"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"ic",children:"ic"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"ic"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,t.jsx)(n.code,{children:"IG1ContractParams"})}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L60",children:"domainobjs/ts/types.ts:60"})})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>r});var t=s(79);const a={},i=t.createContext(a);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1300],{4217:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var t=s(5250),a=s(2459);const i={},r="Interface: IVkContractParams",o={id:"typedoc/interfaces/domainobjs_ts.IVkContractParams",title:"domainobjs_ts.IVkContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IVkContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IVkContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IVkContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IVkContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IStateLeafContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams"},next:{title:"domainobjs_ts.IVkObjectParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams"}},c={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"alpha1",id:"alpha1",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"beta2",id:"beta2",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"delta2",id:"delta2",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"gamma2",id:"gamma2",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"ic",id:"ic",level:3},{value:"Defined in",id:"defined-in-4",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IVkContractParams"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-ivkcontractparams",children:"Interface: IVkContractParams"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IVkContractParams"]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#alpha1",children:"alpha1"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#beta2",children:"beta2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#delta2",children:"delta2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#gamma2",children:"gamma2"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams#ic",children:"ic"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"alpha1",children:"alpha1"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"alpha1"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,t.jsx)(n.code,{children:"IG1ContractParams"})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L56",children:"domainobjs/ts/types.ts:56"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"beta2",children:"beta2"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"beta2"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",children:(0,t.jsx)(n.code,{children:"IG2ContractParams"})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L57",children:"domainobjs/ts/types.ts:57"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"delta2",children:"delta2"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"delta2"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",children:(0,t.jsx)(n.code,{children:"IG2ContractParams"})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L59",children:"domainobjs/ts/types.ts:59"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"gamma2",children:"gamma2"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"gamma2"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams",children:(0,t.jsx)(n.code,{children:"IG2ContractParams"})})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L58",children:"domainobjs/ts/types.ts:58"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"ic",children:"ic"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"ic"}),": ",(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,t.jsx)(n.code,{children:"IG1ContractParams"})}),"[]"]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L60",children:"domainobjs/ts/types.ts:60"})})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>r});var t=s(79);const a={},i=t.createContext(a);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cf7f3f4b.c42faf1e.js b/assets/js/cf7f3f4b.146457e0.js similarity index 95% rename from assets/js/cf7f3f4b.c42faf1e.js rename to assets/js/cf7f3f4b.146457e0.js index 26a5e04cdd..07eb29475b 100644 --- a/assets/js/cf7f3f4b.c42faf1e.js +++ b/assets/js/cf7f3f4b.146457e0.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3624],{6040:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>a,frontMatter:()=>t,metadata:()=>r,toc:()=>h});var i=s(5250),d=s(2459);const t={},l="Class: IncrementalQuinTree",r={id:"typedoc/classes/crypto_ts.IncrementalQuinTree",title:"crypto_ts.IncrementalQuinTree",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / IncrementalQuinTree",source:"@site/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.IncrementalQuinTree.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/crypto_ts.IncrementalQuinTree",permalink:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.IncrementalQuinTree.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.G2Point",permalink:"/docs/typedoc/classes/crypto_ts.G2Point"},next:{title:"domainobjs_ts.Ballot",permalink:"/docs/typedoc/classes/domainobjs_ts.Ballot"}},c={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"capacity",id:"capacity",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"depth",id:"depth",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"equals",id:"equals",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-3",level:4},{value:"getChildIndices",id:"getchildindices",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"getParentIndices",id:"getparentindices",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"hashFunc",id:"hashfunc",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-6",level:4},{value:"leavesPerNode",id:"leavespernode",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"nextIndex",id:"nextindex",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"nodes",id:"nodes",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"numNodes",id:"numnodes",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"root",id:"root",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"serialize",id:"serialize",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Returns",id:"returns-3",level:5},{value:"Defined in",id:"defined-in-12",level:4},{value:"zeroValue",id:"zerovalue",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"zeros",id:"zeros",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"unserialize",id:"unserialize",level:3},{value:"Type declaration",id:"type-declaration-3",level:4},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-4",level:5},{value:"Defined in",id:"defined-in-15",level:4},{value:"verifyMerklePath",id:"verifymerklepath",level:3},{value:"Type declaration",id:"type-declaration-4",level:4},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-5",level:5},{value:"Defined in",id:"defined-in-16",level:4},{value:"Methods",id:"methods-1",level:2},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"genMerklePath",id:"genmerklepath",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"genMerkleSubrootPath",id:"genmerklesubrootpath",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"getLeaf",id:"getleaf",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"getNode",id:"getnode",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"insert",id:"insert",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"setNode",id:"setnode",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"update",id:"update",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"calcChildIndices",id:"calcchildindices",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"calcParentIndices",id:"calcparentindices",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-26",level:4}];function o(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / IncrementalQuinTree"]}),"\n",(0,i.jsx)(n.h1,{id:"class-incrementalquintree",children:"Class: IncrementalQuinTree"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".IncrementalQuinTree"]}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#constructor",children:"constructor"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#capacity",children:"capacity"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#depth",children:"depth"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#equals",children:"equals"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#getchildindices",children:"getChildIndices"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#getparentindices",children:"getParentIndices"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#hashfunc",children:"hashFunc"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#leavespernode",children:"leavesPerNode"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#nextindex",children:"nextIndex"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#nodes",children:"nodes"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#numnodes",children:"numNodes"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#root",children:"root"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#serialize",children:"serialize"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#zerovalue",children:"zeroValue"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#zeros",children:"zeros"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#unserialize",children:"unserialize"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#verifymerklepath",children:"verifyMerklePath"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#copy",children:"copy"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#genmerklepath",children:"genMerklePath"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#genmerklesubrootpath",children:"genMerkleSubrootPath"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#getleaf",children:"getLeaf"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#getnode",children:"getNode"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#insert",children:"insert"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#setnode",children:"setNode"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#update",children:"update"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#calcchildindices",children:"calcChildIndices"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#calcparentindices",children:"calcParentIndices"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,i.jsx)(n.h3,{id:"constructor",children:"constructor"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"new IncrementalQuinTree"}),"(",(0,i.jsx)(n.code,{children:"depth"}),", ",(0,i.jsx)(n.code,{children:"zeroValue"}),", ",(0,i.jsx)(n.code,{children:"leavesPerNode"}),", ",(0,i.jsx)(n.code,{children:"_hashFunc"}),"): ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"depth"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"zeroValue"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"bigint"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"leavesPerNode"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"_hashFunc"})}),(0,i.jsxs)(n.td,{style:{textAlign:"left"},children:["(",(0,i.jsx)(n.code,{children:"leaves"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,i.jsx)(n.code,{children:"bigint"})]})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L134",children:"crypto/ts/@types/optimisedmt.d.ts:134"})}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"capacity",children:"capacity"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"capacity"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L132",children:"crypto/ts/@types/optimisedmt.d.ts:132"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"depth",children:"depth"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"depth"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L114",children:"crypto/ts/@types/optimisedmt.d.ts:114"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"equals"}),": (",(0,i.jsx)(n.code,{children:"o"}),": ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})}),") => ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (",(0,i.jsx)(n.code,{children:"o"}),"): ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"o"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})})]})})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L167",children:"crypto/ts/@types/optimisedmt.d.ts:167"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getchildindices",children:"getChildIndices"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.code,{children:"Private"})," ",(0,i.jsx)(n.strong,{children:"getChildIndices"}),": ",(0,i.jsx)(n.code,{children:"any"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L155",children:"crypto/ts/@types/optimisedmt.d.ts:155"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getparentindices",children:"getParentIndices"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.code,{children:"Private"})," ",(0,i.jsx)(n.strong,{children:"getParentIndices"}),": ",(0,i.jsx)(n.code,{children:"any"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L159",children:"crypto/ts/@types/optimisedmt.d.ts:159"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"hashfunc",children:"hashFunc"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"hashFunc"}),": (",(0,i.jsx)(n.code,{children:"leaves"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (",(0,i.jsx)(n.code,{children:"leaves"}),"): ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"leaves"})}),(0,i.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,i.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"bigint"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L120",children:"crypto/ts/@types/optimisedmt.d.ts:120"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"leavespernode",children:"leavesPerNode"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"leavesPerNode"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L118",children:"crypto/ts/@types/optimisedmt.d.ts:118"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"nextindex",children:"nextIndex"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"nextIndex"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L122",children:"crypto/ts/@types/optimisedmt.d.ts:122"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"nodes",children:"nodes"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"nodes"}),": ",(0,i.jsx)(n.code,{children:"MTNode"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L128",children:"crypto/ts/@types/optimisedmt.d.ts:128"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"numnodes",children:"numNodes"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"numNodes"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L130",children:"crypto/ts/@types/optimisedmt.d.ts:130"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"root",children:"root"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"root"}),": ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L126",children:"crypto/ts/@types/optimisedmt.d.ts:126"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"serialize",children:"serialize"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"serialize"}),": () => ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration-2",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (): ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L165",children:"crypto/ts/@types/optimisedmt.d.ts:165"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"zerovalue",children:"zeroValue"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"zeroValue"}),": ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L116",children:"crypto/ts/@types/optimisedmt.d.ts:116"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"zeros",children:"zeros"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"zeros"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L124",children:"crypto/ts/@types/optimisedmt.d.ts:124"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"unserialize",children:"unserialize"}),"\n",(0,i.jsxs)(n.p,{children:["\u25aa ",(0,i.jsx)(n.code,{children:"Static"})," ",(0,i.jsx)(n.strong,{children:"unserialize"}),": (",(0,i.jsx)(n.code,{children:"s"}),": ",(0,i.jsx)(n.code,{children:"string"}),") => ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration-3",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (",(0,i.jsx)(n.code,{children:"s"}),"): ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"s"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"string"})})]})})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L169",children:"crypto/ts/@types/optimisedmt.d.ts:169"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"verifymerklepath",children:"verifyMerklePath"}),"\n",(0,i.jsxs)(n.p,{children:["\u25aa ",(0,i.jsx)(n.code,{children:"Static"})," ",(0,i.jsx)(n.strong,{children:"verifyMerklePath"}),": (",(0,i.jsx)(n.code,{children:"proof"}),": ",(0,i.jsx)(n.code,{children:"MerkleProof"}),", ",(0,i.jsx)(n.code,{children:"hashFunc"}),": (",(0,i.jsx)(n.code,{children:"leaves"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,i.jsx)(n.code,{children:"bigint"}),") => ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration-4",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (",(0,i.jsx)(n.code,{children:"proof"}),", ",(0,i.jsx)(n.code,{children:"hashFunc"}),"): ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"proof"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"MerkleProof"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"hashFunc"})}),(0,i.jsxs)(n.td,{style:{textAlign:"left"},children:["(",(0,i.jsx)(n.code,{children:"leaves"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,i.jsx)(n.code,{children:"bigint"})]})]})]})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L147",children:"crypto/ts/@types/optimisedmt.d.ts:147"})}),"\n",(0,i.jsx)(n.h2,{id:"methods-1",children:"Methods"}),"\n",(0,i.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"copy"}),"(): ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L163",children:"crypto/ts/@types/optimisedmt.d.ts:163"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"genmerklepath",children:"genMerklePath"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"genMerklePath"}),"(",(0,i.jsx)(n.code,{children:"index"}),"): ",(0,i.jsx)(n.code,{children:"MerkleProof"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"MerkleProof"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L140",children:"crypto/ts/@types/optimisedmt.d.ts:140"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"genmerklesubrootpath",children:"genMerkleSubrootPath"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"genMerkleSubrootPath"}),"(",(0,i.jsx)(n.code,{children:"startIndex"}),", ",(0,i.jsx)(n.code,{children:"endIndex"}),"): ",(0,i.jsx)(n.code,{children:"MerkleProof"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"startIndex"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"endIndex"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"MerkleProof"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L142",children:"crypto/ts/@types/optimisedmt.d.ts:142"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getleaf",children:"getLeaf"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"getLeaf"}),"(",(0,i.jsx)(n.code,{children:"index"}),"): ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"bigint"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L149",children:"crypto/ts/@types/optimisedmt.d.ts:149"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getnode",children:"getNode"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"getNode"}),"(",(0,i.jsx)(n.code,{children:"index"}),"): ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"bigint"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-21",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L151",children:"crypto/ts/@types/optimisedmt.d.ts:151"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"insert",children:"insert"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"insert"}),"(",(0,i.jsx)(n.code,{children:"value"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"value"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-22",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L136",children:"crypto/ts/@types/optimisedmt.d.ts:136"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"setnode",children:"setNode"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"setNode"}),"(",(0,i.jsx)(n.code,{children:"index"}),", ",(0,i.jsx)(n.code,{children:"value"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"value"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"bigint"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-23",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L153",children:"crypto/ts/@types/optimisedmt.d.ts:153"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"update",children:"update"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"update"}),"(",(0,i.jsx)(n.code,{children:"index"}),", ",(0,i.jsx)(n.code,{children:"value"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"value"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"bigint"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-24",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L138",children:"crypto/ts/@types/optimisedmt.d.ts:138"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"calcchildindices",children:"calcChildIndices"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"calcChildIndices"}),"(",(0,i.jsx)(n.code,{children:"index"}),", ",(0,i.jsx)(n.code,{children:"leavesPerNode"}),", ",(0,i.jsx)(n.code,{children:"depth"}),"): ",(0,i.jsx)(n.code,{children:"number"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"leavesPerNode"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"depth"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"number"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-25",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L157",children:"crypto/ts/@types/optimisedmt.d.ts:157"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"calcparentindices",children:"calcParentIndices"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"calcParentIndices"}),"(",(0,i.jsx)(n.code,{children:"index"}),", ",(0,i.jsx)(n.code,{children:"leavesPerNode"}),", ",(0,i.jsx)(n.code,{children:"depth"}),"): ",(0,i.jsx)(n.code,{children:"number"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"leavesPerNode"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"depth"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"number"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-26",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/@types/optimisedmt.d.ts#L161",children:"crypto/ts/@types/optimisedmt.d.ts:161"})})]})}function a(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>l});var i=s(79);const d={},t=i.createContext(d);function l(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3624],{6040:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>a,frontMatter:()=>t,metadata:()=>r,toc:()=>h});var i=s(5250),d=s(2459);const t={},l="Class: IncrementalQuinTree",r={id:"typedoc/classes/crypto_ts.IncrementalQuinTree",title:"crypto_ts.IncrementalQuinTree",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / IncrementalQuinTree",source:"@site/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.IncrementalQuinTree.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/crypto_ts.IncrementalQuinTree",permalink:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.IncrementalQuinTree.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.G2Point",permalink:"/docs/typedoc/classes/crypto_ts.G2Point"},next:{title:"domainobjs_ts.Ballot",permalink:"/docs/typedoc/classes/domainobjs_ts.Ballot"}},c={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"capacity",id:"capacity",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"depth",id:"depth",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"equals",id:"equals",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-3",level:4},{value:"getChildIndices",id:"getchildindices",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"getParentIndices",id:"getparentindices",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"hashFunc",id:"hashfunc",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-6",level:4},{value:"leavesPerNode",id:"leavespernode",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"nextIndex",id:"nextindex",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"nodes",id:"nodes",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"numNodes",id:"numnodes",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"root",id:"root",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"serialize",id:"serialize",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Returns",id:"returns-3",level:5},{value:"Defined in",id:"defined-in-12",level:4},{value:"zeroValue",id:"zerovalue",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"zeros",id:"zeros",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"unserialize",id:"unserialize",level:3},{value:"Type declaration",id:"type-declaration-3",level:4},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-4",level:5},{value:"Defined in",id:"defined-in-15",level:4},{value:"verifyMerklePath",id:"verifymerklepath",level:3},{value:"Type declaration",id:"type-declaration-4",level:4},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-5",level:5},{value:"Defined in",id:"defined-in-16",level:4},{value:"Methods",id:"methods-1",level:2},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"genMerklePath",id:"genmerklepath",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"genMerkleSubrootPath",id:"genmerklesubrootpath",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"getLeaf",id:"getleaf",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"getNode",id:"getnode",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"insert",id:"insert",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"setNode",id:"setnode",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"update",id:"update",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"calcChildIndices",id:"calcchildindices",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"calcParentIndices",id:"calcparentindices",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-26",level:4}];function o(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / IncrementalQuinTree"]}),"\n",(0,i.jsx)(n.h1,{id:"class-incrementalquintree",children:"Class: IncrementalQuinTree"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".IncrementalQuinTree"]}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#constructor",children:"constructor"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#capacity",children:"capacity"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#depth",children:"depth"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#equals",children:"equals"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#getchildindices",children:"getChildIndices"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#getparentindices",children:"getParentIndices"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#hashfunc",children:"hashFunc"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#leavespernode",children:"leavesPerNode"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#nextindex",children:"nextIndex"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#nodes",children:"nodes"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#numnodes",children:"numNodes"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#root",children:"root"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#serialize",children:"serialize"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#zerovalue",children:"zeroValue"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#zeros",children:"zeros"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#unserialize",children:"unserialize"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#verifymerklepath",children:"verifyMerklePath"})}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#copy",children:"copy"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#genmerklepath",children:"genMerklePath"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#genmerklesubrootpath",children:"genMerkleSubrootPath"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#getleaf",children:"getLeaf"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#getnode",children:"getNode"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#insert",children:"insert"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#setnode",children:"setNode"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#update",children:"update"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#calcchildindices",children:"calcChildIndices"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree#calcparentindices",children:"calcParentIndices"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,i.jsx)(n.h3,{id:"constructor",children:"constructor"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"new IncrementalQuinTree"}),"(",(0,i.jsx)(n.code,{children:"depth"}),", ",(0,i.jsx)(n.code,{children:"zeroValue"}),", ",(0,i.jsx)(n.code,{children:"leavesPerNode"}),", ",(0,i.jsx)(n.code,{children:"_hashFunc"}),"): ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"depth"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"zeroValue"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"bigint"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"leavesPerNode"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"_hashFunc"})}),(0,i.jsxs)(n.td,{style:{textAlign:"left"},children:["(",(0,i.jsx)(n.code,{children:"leaves"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,i.jsx)(n.code,{children:"bigint"})]})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L134",children:"crypto/ts/@types/optimisedmt.d.ts:134"})}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"capacity",children:"capacity"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"capacity"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L132",children:"crypto/ts/@types/optimisedmt.d.ts:132"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"depth",children:"depth"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"depth"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L114",children:"crypto/ts/@types/optimisedmt.d.ts:114"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"equals",children:"equals"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"equals"}),": (",(0,i.jsx)(n.code,{children:"o"}),": ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})}),") => ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (",(0,i.jsx)(n.code,{children:"o"}),"): ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"o"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})})]})})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L167",children:"crypto/ts/@types/optimisedmt.d.ts:167"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getchildindices",children:"getChildIndices"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.code,{children:"Private"})," ",(0,i.jsx)(n.strong,{children:"getChildIndices"}),": ",(0,i.jsx)(n.code,{children:"any"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L155",children:"crypto/ts/@types/optimisedmt.d.ts:155"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getparentindices",children:"getParentIndices"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.code,{children:"Private"})," ",(0,i.jsx)(n.strong,{children:"getParentIndices"}),": ",(0,i.jsx)(n.code,{children:"any"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L159",children:"crypto/ts/@types/optimisedmt.d.ts:159"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"hashfunc",children:"hashFunc"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"hashFunc"}),": (",(0,i.jsx)(n.code,{children:"leaves"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (",(0,i.jsx)(n.code,{children:"leaves"}),"): ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"leaves"})}),(0,i.jsxs)(n.td,{style:{textAlign:"left"},children:[(0,i.jsx)(n.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"bigint"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L120",children:"crypto/ts/@types/optimisedmt.d.ts:120"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"leavespernode",children:"leavesPerNode"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"leavesPerNode"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L118",children:"crypto/ts/@types/optimisedmt.d.ts:118"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"nextindex",children:"nextIndex"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"nextIndex"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L122",children:"crypto/ts/@types/optimisedmt.d.ts:122"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"nodes",children:"nodes"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"nodes"}),": ",(0,i.jsx)(n.code,{children:"MTNode"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L128",children:"crypto/ts/@types/optimisedmt.d.ts:128"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"numnodes",children:"numNodes"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"numNodes"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L130",children:"crypto/ts/@types/optimisedmt.d.ts:130"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"root",children:"root"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"root"}),": ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L126",children:"crypto/ts/@types/optimisedmt.d.ts:126"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"serialize",children:"serialize"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"serialize"}),": () => ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration-2",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (): ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L165",children:"crypto/ts/@types/optimisedmt.d.ts:165"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"zerovalue",children:"zeroValue"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"zeroValue"}),": ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L116",children:"crypto/ts/@types/optimisedmt.d.ts:116"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"zeros",children:"zeros"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"zeros"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L124",children:"crypto/ts/@types/optimisedmt.d.ts:124"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"unserialize",children:"unserialize"}),"\n",(0,i.jsxs)(n.p,{children:["\u25aa ",(0,i.jsx)(n.code,{children:"Static"})," ",(0,i.jsx)(n.strong,{children:"unserialize"}),": (",(0,i.jsx)(n.code,{children:"s"}),": ",(0,i.jsx)(n.code,{children:"string"}),") => ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration-3",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (",(0,i.jsx)(n.code,{children:"s"}),"): ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"s"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"string"})})]})})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L169",children:"crypto/ts/@types/optimisedmt.d.ts:169"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"verifymerklepath",children:"verifyMerklePath"}),"\n",(0,i.jsxs)(n.p,{children:["\u25aa ",(0,i.jsx)(n.code,{children:"Static"})," ",(0,i.jsx)(n.strong,{children:"verifyMerklePath"}),": (",(0,i.jsx)(n.code,{children:"proof"}),": ",(0,i.jsx)(n.code,{children:"MerkleProof"}),", ",(0,i.jsx)(n.code,{children:"hashFunc"}),": (",(0,i.jsx)(n.code,{children:"leaves"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,i.jsx)(n.code,{children:"bigint"}),") => ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration-4",children:"Type declaration"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 (",(0,i.jsx)(n.code,{children:"proof"}),", ",(0,i.jsx)(n.code,{children:"hashFunc"}),"): ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"proof"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"MerkleProof"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"hashFunc"})}),(0,i.jsxs)(n.td,{style:{textAlign:"left"},children:["(",(0,i.jsx)(n.code,{children:"leaves"}),": ",(0,i.jsx)(n.code,{children:"bigint"}),"[]) => ",(0,i.jsx)(n.code,{children:"bigint"})]})]})]})]}),"\n",(0,i.jsx)(n.h5,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L147",children:"crypto/ts/@types/optimisedmt.d.ts:147"})}),"\n",(0,i.jsx)(n.h2,{id:"methods-1",children:"Methods"}),"\n",(0,i.jsx)(n.h3,{id:"copy",children:"copy"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"copy"}),"(): ",(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree",children:(0,i.jsx)(n.code,{children:"IncrementalQuinTree"})})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L163",children:"crypto/ts/@types/optimisedmt.d.ts:163"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"genmerklepath",children:"genMerklePath"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"genMerklePath"}),"(",(0,i.jsx)(n.code,{children:"index"}),"): ",(0,i.jsx)(n.code,{children:"MerkleProof"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"MerkleProof"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L140",children:"crypto/ts/@types/optimisedmt.d.ts:140"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"genmerklesubrootpath",children:"genMerkleSubrootPath"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"genMerkleSubrootPath"}),"(",(0,i.jsx)(n.code,{children:"startIndex"}),", ",(0,i.jsx)(n.code,{children:"endIndex"}),"): ",(0,i.jsx)(n.code,{children:"MerkleProof"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"startIndex"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"endIndex"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"MerkleProof"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L142",children:"crypto/ts/@types/optimisedmt.d.ts:142"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getleaf",children:"getLeaf"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"getLeaf"}),"(",(0,i.jsx)(n.code,{children:"index"}),"): ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"bigint"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L149",children:"crypto/ts/@types/optimisedmt.d.ts:149"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getnode",children:"getNode"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"getNode"}),"(",(0,i.jsx)(n.code,{children:"index"}),"): ",(0,i.jsx)(n.code,{children:"bigint"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"bigint"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-21",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L151",children:"crypto/ts/@types/optimisedmt.d.ts:151"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"insert",children:"insert"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"insert"}),"(",(0,i.jsx)(n.code,{children:"value"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"value"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"bigint"})})]})})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-22",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L136",children:"crypto/ts/@types/optimisedmt.d.ts:136"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"setnode",children:"setNode"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"setNode"}),"(",(0,i.jsx)(n.code,{children:"index"}),", ",(0,i.jsx)(n.code,{children:"value"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"value"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"bigint"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-23",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L153",children:"crypto/ts/@types/optimisedmt.d.ts:153"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"update",children:"update"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"update"}),"(",(0,i.jsx)(n.code,{children:"index"}),", ",(0,i.jsx)(n.code,{children:"value"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"value"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"bigint"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-24",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L138",children:"crypto/ts/@types/optimisedmt.d.ts:138"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"calcchildindices",children:"calcChildIndices"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"calcChildIndices"}),"(",(0,i.jsx)(n.code,{children:"index"}),", ",(0,i.jsx)(n.code,{children:"leavesPerNode"}),", ",(0,i.jsx)(n.code,{children:"depth"}),"): ",(0,i.jsx)(n.code,{children:"number"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"leavesPerNode"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"depth"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"number"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-25",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L157",children:"crypto/ts/@types/optimisedmt.d.ts:157"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"calcparentindices",children:"calcParentIndices"}),"\n",(0,i.jsxs)(n.p,{children:["\u25b8 ",(0,i.jsx)(n.strong,{children:"calcParentIndices"}),"(",(0,i.jsx)(n.code,{children:"index"}),", ",(0,i.jsx)(n.code,{children:"leavesPerNode"}),", ",(0,i.jsx)(n.code,{children:"depth"}),"): ",(0,i.jsx)(n.code,{children:"number"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"index"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"leavesPerNode"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"depth"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"number"})})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"number"}),"[]"]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-26",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/@types/optimisedmt.d.ts#L161",children:"crypto/ts/@types/optimisedmt.d.ts:161"})})]})}function a(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>l});var i=s(79);const d={},t=i.createContext(d);function l(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d1ba0a34.b7753954.js b/assets/js/d1ba0a34.5227dee7.js similarity index 96% rename from assets/js/d1ba0a34.b7753954.js rename to assets/js/d1ba0a34.5227dee7.js index e3e6dc5ddb..304eb31775 100644 --- a/assets/js/d1ba0a34.b7753954.js +++ b/assets/js/d1ba0a34.5227dee7.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7994],{7470:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var t=s(5250),i=s(2459);const o={},r="Interface: IG1ContractParams",a={id:"typedoc/interfaces/domainobjs_ts.IG1ContractParams",title:"domainobjs_ts.IG1ContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IG1ContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IG1ContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IG1ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IG1ContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.ICommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.ICommand"},next:{title:"domainobjs_ts.IG2ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams"}},c={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"x",id:"x",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"y",id:"y",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IG1ContractParams"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-ig1contractparams",children:"Interface: IG1ContractParams"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IG1ContractParams"]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams#x",children:"x"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams#y",children:"y"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"x",children:"x"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"x"}),": ",(0,t.jsx)(n.code,{children:"BigNumberish"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L46",children:"domainobjs/ts/types.ts:46"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"y",children:"y"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"y"}),": ",(0,t.jsx)(n.code,{children:"BigNumberish"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L47",children:"domainobjs/ts/types.ts:47"})})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>r});var t=s(79);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7994],{7470:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var t=s(5250),i=s(2459);const o={},r="Interface: IG1ContractParams",a={id:"typedoc/interfaces/domainobjs_ts.IG1ContractParams",title:"domainobjs_ts.IG1ContractParams",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IG1ContractParams",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IG1ContractParams.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IG1ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IG1ContractParams.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.ICommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.ICommand"},next:{title:"domainobjs_ts.IG2ContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams"}},c={},d=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"x",id:"x",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"y",id:"y",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IG1ContractParams"]}),"\n",(0,t.jsx)(n.h1,{id:"interface-ig1contractparams",children:"Interface: IG1ContractParams"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IG1ContractParams"]}),"\n",(0,t.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams#x",children:"x"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams#y",children:"y"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"x",children:"x"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"x"}),": ",(0,t.jsx)(n.code,{children:"BigNumberish"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L46",children:"domainobjs/ts/types.ts:46"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"y",children:"y"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"y"}),": ",(0,t.jsx)(n.code,{children:"BigNumberish"})]}),"\n",(0,t.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L47",children:"domainobjs/ts/types.ts:47"})})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>r});var t=s(79);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d24400bc.cc1b7ed3.js b/assets/js/d24400bc.d22bb634.js similarity index 91% rename from assets/js/d24400bc.cc1b7ed3.js rename to assets/js/d24400bc.d22bb634.js index 4646f95716..bcbde41874 100644 --- a/assets/js/d24400bc.cc1b7ed3.js +++ b/assets/js/d24400bc.d22bb634.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[515],{844:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>o});var t=n(5250),i=n(2459);const r={},c="Interface: IProcessMessagesCircuitInputs",l={id:"typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",title:"core_ts.IProcessMessagesCircuitInputs",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / IProcessMessagesCircuitInputs",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.IJsonMaciState",permalink:"/docs/typedoc/interfaces/core_ts.IJsonMaciState"},next:{title:"core_ts.ISubsidyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs"}},d={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"coordPrivKey",id:"coordprivkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"coordPubKey",id:"coordpubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"currentBallotRoot",id:"currentballotroot",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"currentBallots",id:"currentballots",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"currentBallotsPathElements",id:"currentballotspathelements",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"currentSbCommitment",id:"currentsbcommitment",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"currentSbSalt",id:"currentsbsalt",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"currentStateLeaves",id:"currentstateleaves",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"currentStateLeavesPathElements",id:"currentstateleavespathelements",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"currentStateRoot",id:"currentstateroot",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"currentVoteWeights",id:"currentvoteweights",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"currentVoteWeightsPathElements",id:"currentvoteweightspathelements",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"encPubKeys",id:"encpubkeys",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"inputHash",id:"inputhash",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"msgRoot",id:"msgroot",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"msgSubrootPathElements",id:"msgsubrootpathelements",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"msgs",id:"msgs",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"newSbCommitment",id:"newsbcommitment",level:3},{value:"Defined in",id:"defined-in-17",level:4},{value:"newSbSalt",id:"newsbsalt",level:3},{value:"Defined in",id:"defined-in-18",level:4},{value:"packedVals",id:"packedvals",level:3},{value:"Defined in",id:"defined-in-19",level:4},{value:"pollEndTimestamp",id:"pollendtimestamp",level:3},{value:"Defined in",id:"defined-in-20",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / IProcessMessagesCircuitInputs"]}),"\n",(0,t.jsx)(s.h1,{id:"interface-iprocessmessagescircuitinputs",children:"Interface: IProcessMessagesCircuitInputs"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".IProcessMessagesCircuitInputs"]}),"\n",(0,t.jsx)(s.p,{children:"An interface describing the circuit inputs to the ProcessMessage circuit"}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#coordprivkey",children:"coordPrivKey"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#coordpubkey",children:"coordPubKey"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentballotroot",children:"currentBallotRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentballots",children:"currentBallots"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentballotspathelements",children:"currentBallotsPathElements"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentsbcommitment",children:"currentSbCommitment"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentsbsalt",children:"currentSbSalt"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentstateleaves",children:"currentStateLeaves"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentstateleavespathelements",children:"currentStateLeavesPathElements"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentstateroot",children:"currentStateRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentvoteweights",children:"currentVoteWeights"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentvoteweightspathelements",children:"currentVoteWeightsPathElements"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#encpubkeys",children:"encPubKeys"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#inputhash",children:"inputHash"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#msgroot",children:"msgRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#msgsubrootpathelements",children:"msgSubrootPathElements"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#msgs",children:"msgs"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#newsbcommitment",children:"newSbCommitment"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#newsbsalt",children:"newSbSalt"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#packedvals",children:"packedVals"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#pollendtimestamp",children:"pollEndTimestamp"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"coordprivkey",children:"coordPrivKey"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"coordPrivKey"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L158",children:"core/ts/utils/types.ts:158"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"coordpubkey",children:"coordPubKey"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"coordPubKey"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L159",children:"core/ts/utils/types.ts:159"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentballotroot",children:"currentBallotRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentBallotRoot"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L162",children:"core/ts/utils/types.ts:162"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentballots",children:"currentBallots"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentBallots"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L167",children:"core/ts/utils/types.ts:167"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentballotspathelements",children:"currentBallotsPathElements"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentBallotsPathElements"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[][]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L168",children:"core/ts/utils/types.ts:168"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentsbcommitment",children:"currentSbCommitment"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentSbCommitment"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L163",children:"core/ts/utils/types.ts:163"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentsbsalt",children:"currentSbSalt"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentSbSalt"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L164",children:"core/ts/utils/types.ts:164"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentstateleaves",children:"currentStateLeaves"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentStateLeaves"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L165",children:"core/ts/utils/types.ts:165"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentstateleavespathelements",children:"currentStateLeavesPathElements"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentStateLeavesPathElements"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[][]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L166",children:"core/ts/utils/types.ts:166"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentstateroot",children:"currentStateRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentStateRoot"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L161",children:"core/ts/utils/types.ts:161"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentvoteweights",children:"currentVoteWeights"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentVoteWeights"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L169",children:"core/ts/utils/types.ts:169"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentvoteweightspathelements",children:"currentVoteWeightsPathElements"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentVoteWeightsPathElements"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[][]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L170",children:"core/ts/utils/types.ts:170"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"encpubkeys",children:"encPubKeys"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"encPubKeys"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L160",children:"core/ts/utils/types.ts:160"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"inputhash",children:"inputHash"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"inputHash"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L171",children:"core/ts/utils/types.ts:171"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"msgroot",children:"msgRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"msgRoot"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L155",children:"core/ts/utils/types.ts:155"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"msgsubrootpathelements",children:"msgSubrootPathElements"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"msgSubrootPathElements"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[][]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L157",children:"core/ts/utils/types.ts:157"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"msgs",children:"msgs"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"msgs"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L156",children:"core/ts/utils/types.ts:156"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"newsbcommitment",children:"newSbCommitment"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"newSbCommitment"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L173",children:"core/ts/utils/types.ts:173"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"newsbsalt",children:"newSbSalt"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"newSbSalt"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L172",children:"core/ts/utils/types.ts:172"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"packedvals",children:"packedVals"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"packedVals"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L154",children:"core/ts/utils/types.ts:154"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"pollendtimestamp",children:"pollEndTimestamp"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"pollEndTimestamp"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L153",children:"core/ts/utils/types.ts:153"})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>c});var t=n(79);const i={},r=t.createContext(i);function c(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[515],{844:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>o});var t=n(5250),i=n(2459);const r={},c="Interface: IProcessMessagesCircuitInputs",l={id:"typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",title:"core_ts.IProcessMessagesCircuitInputs",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / IProcessMessagesCircuitInputs",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.IJsonMaciState",permalink:"/docs/typedoc/interfaces/core_ts.IJsonMaciState"},next:{title:"core_ts.ISubsidyCircuitInputs",permalink:"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs"}},d={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"coordPrivKey",id:"coordprivkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"coordPubKey",id:"coordpubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"currentBallotRoot",id:"currentballotroot",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"currentBallots",id:"currentballots",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"currentBallotsPathElements",id:"currentballotspathelements",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"currentSbCommitment",id:"currentsbcommitment",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"currentSbSalt",id:"currentsbsalt",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"currentStateLeaves",id:"currentstateleaves",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"currentStateLeavesPathElements",id:"currentstateleavespathelements",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"currentStateRoot",id:"currentstateroot",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"currentVoteWeights",id:"currentvoteweights",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"currentVoteWeightsPathElements",id:"currentvoteweightspathelements",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"encPubKeys",id:"encpubkeys",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"inputHash",id:"inputhash",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"msgRoot",id:"msgroot",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"msgSubrootPathElements",id:"msgsubrootpathelements",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"msgs",id:"msgs",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"newSbCommitment",id:"newsbcommitment",level:3},{value:"Defined in",id:"defined-in-17",level:4},{value:"newSbSalt",id:"newsbsalt",level:3},{value:"Defined in",id:"defined-in-18",level:4},{value:"packedVals",id:"packedvals",level:3},{value:"Defined in",id:"defined-in-19",level:4},{value:"pollEndTimestamp",id:"pollendtimestamp",level:3},{value:"Defined in",id:"defined-in-20",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / IProcessMessagesCircuitInputs"]}),"\n",(0,t.jsx)(s.h1,{id:"interface-iprocessmessagescircuitinputs",children:"Interface: IProcessMessagesCircuitInputs"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".IProcessMessagesCircuitInputs"]}),"\n",(0,t.jsx)(s.p,{children:"An interface describing the circuit inputs to the ProcessMessage circuit"}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#coordprivkey",children:"coordPrivKey"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#coordpubkey",children:"coordPubKey"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentballotroot",children:"currentBallotRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentballots",children:"currentBallots"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentballotspathelements",children:"currentBallotsPathElements"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentsbcommitment",children:"currentSbCommitment"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentsbsalt",children:"currentSbSalt"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentstateleaves",children:"currentStateLeaves"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentstateleavespathelements",children:"currentStateLeavesPathElements"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentstateroot",children:"currentStateRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentvoteweights",children:"currentVoteWeights"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#currentvoteweightspathelements",children:"currentVoteWeightsPathElements"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#encpubkeys",children:"encPubKeys"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#inputhash",children:"inputHash"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#msgroot",children:"msgRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#msgsubrootpathelements",children:"msgSubrootPathElements"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#msgs",children:"msgs"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#newsbcommitment",children:"newSbCommitment"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#newsbsalt",children:"newSbSalt"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#packedvals",children:"packedVals"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs#pollendtimestamp",children:"pollEndTimestamp"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"coordprivkey",children:"coordPrivKey"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"coordPrivKey"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L158",children:"core/ts/utils/types.ts:158"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"coordpubkey",children:"coordPubKey"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"coordPubKey"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L159",children:"core/ts/utils/types.ts:159"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentballotroot",children:"currentBallotRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentBallotRoot"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L162",children:"core/ts/utils/types.ts:162"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentballots",children:"currentBallots"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentBallots"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L167",children:"core/ts/utils/types.ts:167"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentballotspathelements",children:"currentBallotsPathElements"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentBallotsPathElements"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[][]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L168",children:"core/ts/utils/types.ts:168"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentsbcommitment",children:"currentSbCommitment"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentSbCommitment"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L163",children:"core/ts/utils/types.ts:163"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentsbsalt",children:"currentSbSalt"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentSbSalt"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L164",children:"core/ts/utils/types.ts:164"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentstateleaves",children:"currentStateLeaves"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentStateLeaves"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L165",children:"core/ts/utils/types.ts:165"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentstateleavespathelements",children:"currentStateLeavesPathElements"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentStateLeavesPathElements"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[][]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L166",children:"core/ts/utils/types.ts:166"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentstateroot",children:"currentStateRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentStateRoot"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L161",children:"core/ts/utils/types.ts:161"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentvoteweights",children:"currentVoteWeights"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentVoteWeights"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L169",children:"core/ts/utils/types.ts:169"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentvoteweightspathelements",children:"currentVoteWeightsPathElements"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentVoteWeightsPathElements"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[][]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L170",children:"core/ts/utils/types.ts:170"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"encpubkeys",children:"encPubKeys"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"encPubKeys"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L160",children:"core/ts/utils/types.ts:160"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"inputhash",children:"inputHash"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"inputHash"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L171",children:"core/ts/utils/types.ts:171"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"msgroot",children:"msgRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"msgRoot"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L155",children:"core/ts/utils/types.ts:155"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"msgsubrootpathelements",children:"msgSubrootPathElements"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"msgSubrootPathElements"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[][]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L157",children:"core/ts/utils/types.ts:157"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"msgs",children:"msgs"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"msgs"}),": ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L156",children:"core/ts/utils/types.ts:156"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"newsbcommitment",children:"newSbCommitment"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"newSbCommitment"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L173",children:"core/ts/utils/types.ts:173"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"newsbsalt",children:"newSbSalt"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"newSbSalt"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L172",children:"core/ts/utils/types.ts:172"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"packedvals",children:"packedVals"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"packedVals"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L154",children:"core/ts/utils/types.ts:154"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"pollendtimestamp",children:"pollEndTimestamp"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"pollEndTimestamp"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L153",children:"core/ts/utils/types.ts:153"})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>l,a:()=>c});var t=n(79);const i={},r=t.createContext(i);function c(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d4b0ab9b.2b1c4c33.js b/assets/js/d4b0ab9b.b3a1b242.js similarity index 90% rename from assets/js/d4b0ab9b.2b1c4c33.js rename to assets/js/d4b0ab9b.b3a1b242.js index 49aebafc43..c9fb8d5ad9 100644 --- a/assets/js/d4b0ab9b.2b1c4c33.js +++ b/assets/js/d4b0ab9b.b3a1b242.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4946],{9541:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>m,frontMatter:()=>d,metadata:()=>r,toc:()=>a});var i=s(5250),o=s(2459);const d={},t="Interface: IJsonTCommand",r={id:"typedoc/interfaces/domainobjs_ts.IJsonTCommand",title:"domainobjs_ts.IJsonTCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonTCommand",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonTCommand.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonTCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonTCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf"},next:{title:"domainobjs_ts.IMessageContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams"}},c={},a=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"amount",id:"amount",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"cmdType",id:"cmdtype",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"stateIndex",id:"stateindex",level:3},{value:"Defined in",id:"defined-in-3",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonTCommand"]}),"\n",(0,i.jsx)(n.h1,{id:"interface-ijsontcommand",children:"Interface: IJsonTCommand"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonTCommand"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"Notice"})})}),"\n",(0,i.jsx)(n.p,{children:"An interface representing a json T command"}),"\n",(0,i.jsx)(n.h2,{id:"hierarchy",children:"Hierarchy"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:(0,i.jsx)(n.code,{children:"IJsonCommand"})})}),"\n",(0,i.jsxs)(n.p,{children:["\u21b3 ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"IJsonTCommand"})})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand#amount",children:"amount"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand#cmdtype",children:"cmdType"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand#pollid",children:"pollId"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand#stateindex",children:"stateIndex"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"amount",children:"amount"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"amount"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L23",children:"domainobjs/ts/commands/types.ts:23"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"cmdType"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:"IJsonCommand"}),".",(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand#cmdtype",children:"cmdType"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L15",children:"domainobjs/ts/commands/types.ts:15"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"pollid",children:"pollId"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"pollId"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L24",children:"domainobjs/ts/commands/types.ts:24"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"stateindex",children:"stateIndex"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"stateIndex"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/commands/types.ts#L22",children:"domainobjs/ts/commands/types.ts:22"})})]})}function m(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>t});var i=s(79);const o={},d=i.createContext(o);function t(e){const n=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),i.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4946],{9541:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>m,frontMatter:()=>d,metadata:()=>c,toc:()=>a});var i=s(5250),o=s(2459);const d={},t="Interface: IJsonTCommand",c={id:"typedoc/interfaces/domainobjs_ts.IJsonTCommand",title:"domainobjs_ts.IJsonTCommand",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonTCommand",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonTCommand.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonTCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonTCommand.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonStateLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf"},next:{title:"domainobjs_ts.IMessageContractParams",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams"}},r={},a=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"amount",id:"amount",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"cmdType",id:"cmdtype",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"pollId",id:"pollid",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"stateIndex",id:"stateindex",level:3},{value:"Defined in",id:"defined-in-3",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonTCommand"]}),"\n",(0,i.jsx)(n.h1,{id:"interface-ijsontcommand",children:"Interface: IJsonTCommand"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonTCommand"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"Notice"})})}),"\n",(0,i.jsx)(n.p,{children:"An interface representing a json T command"}),"\n",(0,i.jsx)(n.h2,{id:"hierarchy",children:"Hierarchy"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:(0,i.jsx)(n.code,{children:"IJsonCommand"})})}),"\n",(0,i.jsxs)(n.p,{children:["\u21b3 ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"IJsonTCommand"})})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand#amount",children:"amount"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand#cmdtype",children:"cmdType"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand#pollid",children:"pollId"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand#stateindex",children:"stateIndex"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"amount",children:"amount"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"amount"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L23",children:"domainobjs/ts/commands/types.ts:23"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"cmdtype",children:"cmdType"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"cmdType"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand",children:"IJsonCommand"}),".",(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand#cmdtype",children:"cmdType"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L15",children:"domainobjs/ts/commands/types.ts:15"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"pollid",children:"pollId"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"pollId"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L24",children:"domainobjs/ts/commands/types.ts:24"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"stateindex",children:"stateIndex"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"stateIndex"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/commands/types.ts#L22",children:"domainobjs/ts/commands/types.ts:22"})})]})}function m(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>t});var i=s(79);const o={},d=i.createContext(o);function t(e){const n=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),i.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d5efa611.e9721608.js b/assets/js/d5efa611.f85cb906.js similarity index 96% rename from assets/js/d5efa611.e9721608.js rename to assets/js/d5efa611.f85cb906.js index 36e52121d3..488abdc02d 100644 --- a/assets/js/d5efa611.e9721608.js +++ b/assets/js/d5efa611.f85cb906.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6647],{6295:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>a});var n=i(5250),l=i(2459);const d={},r="Class: PubKey",t={id:"typedoc/classes/domainobjs_ts.PubKey",title:"domainobjs_ts.PubKey",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / PubKey",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PubKey.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.PubKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PubKey",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PubKey.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.PrivKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PrivKey"},next:{title:"domainobjs_ts.StateLeaf",permalink:"/docs/typedoc/classes/domainobjs_ts.StateLeaf"}},c={},a=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"rawPubKey",id:"rawpubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"hash",id:"hash",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"serialize",id:"serialize",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"deserialize",id:"deserialize",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"isValidSerializedPubKey",id:"isvalidserializedpubkey",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-12",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / PubKey"]}),"\n",(0,n.jsx)(s.h1,{id:"class-pubkey",children:"Class: PubKey"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".PubKey"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.code,{children:"Notice"})})}),"\n",(0,n.jsx)(s.p,{children:"A class representing a public key\nThis is a MACI public key, which is not to be\nconfused with an Ethereum public key.\nA serialized MACI public key is prefixed by 'macipk.'\nA raw MACI public key can be thought as a pair of\nBigIntegers (x, y) representing a point on the baby jubjub curve"}),"\n",(0,n.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#rawpubkey",children:"rawPubKey"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#asarray",children:"asArray"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#ascontractparam",children:"asContractParam"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#copy",children:"copy"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#equals",children:"equals"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#hash",children:"hash"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#serialize",children:"serialize"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#tojson",children:"toJSON"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#deserialize",children:"deserialize"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#fromjson",children:"fromJSON"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#isvalidserializedpubkey",children:"isValidSerializedPubKey"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"new PubKey"}),"(",(0,n.jsx)(s.code,{children:"rawPubKey"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Create a new instance of a public key"}),"\n",(0,n.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"rawPubKey"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"PubKey"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the raw public key"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),"\n",(0,n.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L23",children:"domainobjs/ts/publicKey.ts:23"})}),"\n",(0,n.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"rawpubkey",children:"rawPubKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"rawPubKey"}),": ",(0,n.jsx)(s.code,{children:"PubKey"})]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L17",children:"domainobjs/ts/publicKey.ts:17"})}),"\n",(0,n.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(s.h3,{id:"asarray",children:"asArray"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"asArray"}),"(): ",(0,n.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,n.jsx)(s.p,{children:"Return this public key as an array of bigints"}),"\n",(0,n.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,n.jsx)(s.p,{children:"the public key as an array of bigints"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L58",children:"domainobjs/ts/publicKey.ts:58"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"asCircuitInputs"}),"(): ",(0,n.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(s.p,{children:"Return this public key as circuit inputs"}),"\n",(0,n.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(s.p,{children:"an array of strings"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L52",children:"domainobjs/ts/publicKey.ts:52"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"asContractParam"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,n.jsx)(s.code,{children:"IG1ContractParams"})})]}),"\n",(0,n.jsx)(s.p,{children:"Return this public key as smart contract parameters"}),"\n",(0,n.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,n.jsx)(s.code,{children:"IG1ContractParams"})})}),"\n",(0,n.jsx)(s.p,{children:"the public key as smart contract parameters"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L39",children:"domainobjs/ts/publicKey.ts:39"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"copy"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Create a copy of the public key"}),"\n",(0,n.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),"\n",(0,n.jsx)(s.p,{children:"a copy of the public key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L33",children:"domainobjs/ts/publicKey.ts:33"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"equals"}),"(",(0,n.jsx)(s.code,{children:"p"}),"): ",(0,n.jsx)(s.code,{children:"boolean"})]}),"\n",(0,n.jsx)(s.p,{children:"Check whether this public key equals to another public key"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"p"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the public key to compare with"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"boolean"})}),"\n",(0,n.jsx)(s.p,{children:"whether they match"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L91",children:"domainobjs/ts/publicKey.ts:91"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"hash"}),"(): ",(0,n.jsx)(s.code,{children:"bigint"})]}),"\n",(0,n.jsx)(s.p,{children:"Hash the two baby jubjub coordinates"}),"\n",(0,n.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"bigint"})}),"\n",(0,n.jsx)(s.p,{children:"the hash of this public key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L84",children:"domainobjs/ts/publicKey.ts:84"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"serialize",children:"serialize"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"serialize"}),"(): ",(0,n.jsx)(s.code,{children:"string"})]}),"\n",(0,n.jsx)(s.p,{children:"Generate a serialized public key from this public key object"}),"\n",(0,n.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.p,{children:"the string representation of a serialized public key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L64",children:"domainobjs/ts/publicKey.ts:64"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonpublickey",children:(0,n.jsx)(s.code,{children:"IJsonPublicKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Serialize this object"}),"\n",(0,n.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonpublickey",children:(0,n.jsx)(s.code,{children:"IJsonPublicKey"})})}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L127",children:"domainobjs/ts/publicKey.ts:127"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"deserialize",children:"deserialize"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"deserialize"}),"(",(0,n.jsx)(s.code,{children:"s"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Deserialize a serialized public key"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"s"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"string"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the serialized public key"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),"\n",(0,n.jsx)(s.p,{children:"the deserialized public key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L98",children:"domainobjs/ts/publicKey.ts:98"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"fromJSON"}),"(",(0,n.jsx)(s.code,{children:"json"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Deserialize a JSON object into a PubKey instance"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"json"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonpublickey",children:(0,n.jsx)(s.code,{children:"IJsonPublicKey"})})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the json object"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),"\n",(0,n.jsx)(s.p,{children:"PubKey"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L138",children:"domainobjs/ts/publicKey.ts:138"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"isvalidserializedpubkey",children:"isValidSerializedPubKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"isValidSerializedPubKey"}),"(",(0,n.jsx)(s.code,{children:"s"}),"): ",(0,n.jsx)(s.code,{children:"boolean"})]}),"\n",(0,n.jsx)(s.p,{children:"Check whether a serialized public key is serialized correctly"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"s"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"string"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the serialized public key"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"boolean"})}),"\n",(0,n.jsx)(s.p,{children:"whether the serialized public key is valid"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/publicKey.ts#L113",children:"domainobjs/ts/publicKey.ts:113"})})]})}function h(e={}){const{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},2459:(e,s,i)=>{i.d(s,{Z:()=>t,a:()=>r});var n=i(79);const l={},d=n.createContext(l);function r(e){const s=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6647],{6295:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>a});var n=i(5250),l=i(2459);const d={},r="Class: PubKey",t={id:"typedoc/classes/domainobjs_ts.PubKey",title:"domainobjs_ts.PubKey",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / PubKey",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PubKey.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.PubKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PubKey",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PubKey.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.PrivKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PrivKey"},next:{title:"domainobjs_ts.StateLeaf",permalink:"/docs/typedoc/classes/domainobjs_ts.StateLeaf"}},c={},a=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"rawPubKey",id:"rawpubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asArray",id:"asarray",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"asContractParam",id:"ascontractparam",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"equals",id:"equals",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"hash",id:"hash",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"serialize",id:"serialize",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"deserialize",id:"deserialize",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"isValidSerializedPubKey",id:"isvalidserializedpubkey",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-12",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / PubKey"]}),"\n",(0,n.jsx)(s.h1,{id:"class-pubkey",children:"Class: PubKey"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".PubKey"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.code,{children:"Notice"})})}),"\n",(0,n.jsx)(s.p,{children:"A class representing a public key\nThis is a MACI public key, which is not to be\nconfused with an Ethereum public key.\nA serialized MACI public key is prefixed by 'macipk.'\nA raw MACI public key can be thought as a pair of\nBigIntegers (x, y) representing a point on the baby jubjub curve"}),"\n",(0,n.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#rawpubkey",children:"rawPubKey"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#asarray",children:"asArray"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#ascontractparam",children:"asContractParam"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#copy",children:"copy"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#equals",children:"equals"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#hash",children:"hash"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#serialize",children:"serialize"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#tojson",children:"toJSON"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#deserialize",children:"deserialize"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#fromjson",children:"fromJSON"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey#isvalidserializedpubkey",children:"isValidSerializedPubKey"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"new PubKey"}),"(",(0,n.jsx)(s.code,{children:"rawPubKey"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Create a new instance of a public key"}),"\n",(0,n.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"rawPubKey"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"PubKey"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the raw public key"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),"\n",(0,n.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L23",children:"domainobjs/ts/publicKey.ts:23"})}),"\n",(0,n.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"rawpubkey",children:"rawPubKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"rawPubKey"}),": ",(0,n.jsx)(s.code,{children:"PubKey"})]}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L17",children:"domainobjs/ts/publicKey.ts:17"})}),"\n",(0,n.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(s.h3,{id:"asarray",children:"asArray"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"asArray"}),"(): ",(0,n.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,n.jsx)(s.p,{children:"Return this public key as an array of bigints"}),"\n",(0,n.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"bigint"}),"[]"]}),"\n",(0,n.jsx)(s.p,{children:"the public key as an array of bigints"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L58",children:"domainobjs/ts/publicKey.ts:58"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"asCircuitInputs"}),"(): ",(0,n.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(s.p,{children:"Return this public key as circuit inputs"}),"\n",(0,n.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(s.p,{children:"an array of strings"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L52",children:"domainobjs/ts/publicKey.ts:52"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"ascontractparam",children:"asContractParam"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"asContractParam"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,n.jsx)(s.code,{children:"IG1ContractParams"})})]}),"\n",(0,n.jsx)(s.p,{children:"Return this public key as smart contract parameters"}),"\n",(0,n.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams",children:(0,n.jsx)(s.code,{children:"IG1ContractParams"})})}),"\n",(0,n.jsx)(s.p,{children:"the public key as smart contract parameters"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L39",children:"domainobjs/ts/publicKey.ts:39"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"copy"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Create a copy of the public key"}),"\n",(0,n.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),"\n",(0,n.jsx)(s.p,{children:"a copy of the public key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L33",children:"domainobjs/ts/publicKey.ts:33"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"equals",children:"equals"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"equals"}),"(",(0,n.jsx)(s.code,{children:"p"}),"): ",(0,n.jsx)(s.code,{children:"boolean"})]}),"\n",(0,n.jsx)(s.p,{children:"Check whether this public key equals to another public key"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"p"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the public key to compare with"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"boolean"})}),"\n",(0,n.jsx)(s.p,{children:"whether they match"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L91",children:"domainobjs/ts/publicKey.ts:91"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"hash"}),"(): ",(0,n.jsx)(s.code,{children:"bigint"})]}),"\n",(0,n.jsx)(s.p,{children:"Hash the two baby jubjub coordinates"}),"\n",(0,n.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"bigint"})}),"\n",(0,n.jsx)(s.p,{children:"the hash of this public key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L84",children:"domainobjs/ts/publicKey.ts:84"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"serialize",children:"serialize"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"serialize"}),"(): ",(0,n.jsx)(s.code,{children:"string"})]}),"\n",(0,n.jsx)(s.p,{children:"Generate a serialized public key from this public key object"}),"\n",(0,n.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.p,{children:"the string representation of a serialized public key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L64",children:"domainobjs/ts/publicKey.ts:64"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"tojson",children:"toJSON"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"toJSON"}),"(): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonpublickey",children:(0,n.jsx)(s.code,{children:"IJsonPublicKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Serialize this object"}),"\n",(0,n.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonpublickey",children:(0,n.jsx)(s.code,{children:"IJsonPublicKey"})})}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L127",children:"domainobjs/ts/publicKey.ts:127"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"deserialize",children:"deserialize"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"deserialize"}),"(",(0,n.jsx)(s.code,{children:"s"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Deserialize a serialized public key"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"s"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"string"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the serialized public key"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),"\n",(0,n.jsx)(s.p,{children:"the deserialized public key"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L98",children:"domainobjs/ts/publicKey.ts:98"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"fromJSON"}),"(",(0,n.jsx)(s.code,{children:"json"}),"): ",(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})]}),"\n",(0,n.jsx)(s.p,{children:"Deserialize a JSON object into a PubKey instance"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"json"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonpublickey",children:(0,n.jsx)(s.code,{children:"IJsonPublicKey"})})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the json object"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/docs/typedoc/classes/domainobjs_ts.PubKey",children:(0,n.jsx)(s.code,{children:"PubKey"})})}),"\n",(0,n.jsx)(s.p,{children:"PubKey"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L138",children:"domainobjs/ts/publicKey.ts:138"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"isvalidserializedpubkey",children:"isValidSerializedPubKey"}),"\n",(0,n.jsxs)(s.p,{children:["\u25b8 ",(0,n.jsx)(s.strong,{children:"isValidSerializedPubKey"}),"(",(0,n.jsx)(s.code,{children:"s"}),"): ",(0,n.jsx)(s.code,{children:"boolean"})]}),"\n",(0,n.jsx)(s.p,{children:"Check whether a serialized public key is serialized correctly"}),"\n",(0,n.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"s"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:(0,n.jsx)(s.code,{children:"string"})}),(0,n.jsx)(s.td,{style:{textAlign:"left"},children:"the serialized public key"})]})})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"boolean"})}),"\n",(0,n.jsx)(s.p,{children:"whether the serialized public key is valid"}),"\n",(0,n.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/publicKey.ts#L113",children:"domainobjs/ts/publicKey.ts:113"})})]})}function h(e={}){const{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},2459:(e,s,i)=>{i.d(s,{Z:()=>t,a:()=>r});var n=i(79);const l={},d=n.createContext(l);function r(e){const s=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d8945762.b57bc294.js b/assets/js/d8945762.a7c00033.js similarity index 93% rename from assets/js/d8945762.b57bc294.js rename to assets/js/d8945762.a7c00033.js index 3f8ea6bf64..d96400d59a 100644 --- a/assets/js/d8945762.b57bc294.js +++ b/assets/js/d8945762.a7c00033.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9944],{1300:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>r,default:()=>x,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var t=n(5250),i=n(2459);const l={},r="Class: AccQueue",c={id:"typedoc/classes/crypto_ts.AccQueue",title:"crypto_ts.AccQueue",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / AccQueue",source:"@site/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.AccQueue.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/crypto_ts.AccQueue",permalink:"/docs/typedoc/classes/crypto_ts.AccQueue",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.AccQueue.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.Poll",permalink:"/docs/typedoc/classes/core_ts.Poll"},next:{title:"crypto_ts.G1Point",permalink:"/docs/typedoc/classes/crypto_ts.G1Point"}},d={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"MAX_DEPTH",id:"max_depth",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"currentSubtreeIndex",id:"currentsubtreeindex",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"hashFunc",id:"hashfunc",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-3",level:4},{value:"hashLength",id:"hashlength",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"leafQueue",id:"leafqueue",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"mainRoots",id:"mainroots",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"nextSRindexToQueue",id:"nextsrindextoqueue",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"numLeaves",id:"numleaves",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"smallSRTroot",id:"smallsrtroot",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"subDepth",id:"subdepth",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"subHashFunc",id:"subhashfunc",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-11",level:4},{value:"subRootQueue",id:"subrootqueue",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"subRoots",id:"subroots",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"subTreesMerged",id:"subtreesmerged",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"zeroValue",id:"zerovalue",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"zeros",id:"zeros",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"Methods",id:"methods-1",level:2},{value:"calcSRTdepth",id:"calcsrtdepth",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"enqueue",id:"enqueue",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"enqueueOp",id:"enqueueop",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"fill",id:"fill",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"fillOp",id:"fillop",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"getRoot",id:"getroot",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"getSubRoot",id:"getsubroot",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"hasRoot",id:"hasroot",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"hash",id:"hash",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"insertSubTree",id:"insertsubtree",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"merge",id:"merge",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"mergeDirect",id:"mergedirect",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"mergeSubRoots",id:"mergesubroots",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"queueSubRoot",id:"queuesubroot",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-31",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / AccQueue"]}),"\n",(0,t.jsx)(s.h1,{id:"class-accqueue",children:"Class: AccQueue"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".AccQueue"]}),"\n",(0,t.jsx)(s.p,{children:"An Accumulator Queue which conforms to the implementation in AccQueue.sol.\nEach enqueue() operation updates a subtree, and a merge() operation combines\nall subtrees into a main tree."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"It supports 2 or 5 elements per leaf."}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#constructor",children:"constructor"})}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#max_depth",children:"MAX_DEPTH"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#currentsubtreeindex",children:"currentSubtreeIndex"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#hashfunc",children:"hashFunc"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#hashlength",children:"hashLength"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#leafqueue",children:"leafQueue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#mainroots",children:"mainRoots"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#nextsrindextoqueue",children:"nextSRindexToQueue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#numleaves",children:"numLeaves"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#smallsrtroot",children:"smallSRTroot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subdepth",children:"subDepth"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subhashfunc",children:"subHashFunc"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subrootqueue",children:"subRootQueue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subroots",children:"subRoots"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subtreesmerged",children:"subTreesMerged"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#zerovalue",children:"zeroValue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#zeros",children:"zeros"})}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#calcsrtdepth",children:"calcSRTdepth"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#copy",children:"copy"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#enqueue",children:"enqueue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#enqueueop",children:"enqueueOp"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#fill",children:"fill"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#fillop",children:"fillOp"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#getroot",children:"getRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#getsubroot",children:"getSubRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#hasroot",children:"hasRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#hash",children:"hash"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#insertsubtree",children:"insertSubTree"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#merge",children:"merge"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#mergedirect",children:"mergeDirect"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#mergesubroots",children:"mergeSubRoots"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#queuesubroot",children:"queueSubRoot"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,t.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"new AccQueue"}),"(",(0,t.jsx)(s.code,{children:"subDepth"}),", ",(0,t.jsx)(s.code,{children:"hashLength"}),", ",(0,t.jsx)(s.code,{children:"zeroValue"}),"): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:(0,t.jsx)(s.code,{children:"AccQueue"})})]}),"\n",(0,t.jsx)(s.p,{children:"Create a new instance of AccQueue"}),"\n",(0,t.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"subDepth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the depth of the subtrees"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"hashLength"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the number of leaves per node"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"zeroValue"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the default value for empty leaves"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:(0,t.jsx)(s.code,{children:"AccQueue"})})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L77",children:"crypto/ts/AccQueue.ts:77"})}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"max_depth",children:"MAX_DEPTH"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.code,{children:"Private"})," ",(0,t.jsx)(s.strong,{children:"MAX_DEPTH"}),": ",(0,t.jsx)(s.code,{children:"number"})," = ",(0,t.jsx)(s.code,{children:"32"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L18",children:"crypto/ts/AccQueue.ts:18"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentsubtreeindex",children:"currentSubtreeIndex"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentSubtreeIndex"}),": ",(0,t.jsx)(s.code,{children:"number"})," = ",(0,t.jsx)(s.code,{children:"0"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L31",children:"crypto/ts/AccQueue.ts:31"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hashfunc",children:"hashFunc"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"hashFunc"}),": (",(0,t.jsx)(s.code,{children:"leaves"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 (",(0,t.jsx)(s.code,{children:"leaves"}),"): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h5,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaves"})}),(0,t.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L37",children:"crypto/ts/AccQueue.ts:37"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hashlength",children:"hashLength"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"hashLength"}),": ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L24",children:"crypto/ts/AccQueue.ts:24"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"leafqueue",children:"leafQueue"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"leafQueue"}),": ",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue",children:(0,t.jsx)(s.code,{children:"Queue"})})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L43",children:"crypto/ts/AccQueue.ts:43"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"mainroots",children:"mainRoots"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"mainRoots"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[] = ",(0,t.jsx)(s.code,{children:"[]"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L62",children:"crypto/ts/AccQueue.ts:62"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"nextsrindextoqueue",children:"nextSRindexToQueue"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"nextSRindexToQueue"}),": ",(0,t.jsx)(s.code,{children:"number"})," = ",(0,t.jsx)(s.code,{children:"0"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L49",children:"crypto/ts/AccQueue.ts:49"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"numleaves",children:"numLeaves"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"numLeaves"}),": ",(0,t.jsx)(s.code,{children:"number"})," = ",(0,t.jsx)(s.code,{children:"0"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L40",children:"crypto/ts/AccQueue.ts:40"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"smallsrtroot",children:"smallSRTroot"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"smallSRTroot"}),": ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L51",children:"crypto/ts/AccQueue.ts:51"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subdepth",children:"subDepth"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subDepth"}),": ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L21",children:"crypto/ts/AccQueue.ts:21"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subhashfunc",children:"subHashFunc"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subHashFunc"}),": (",(0,t.jsx)(s.code,{children:"leaves"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 (",(0,t.jsx)(s.code,{children:"leaves"}),"): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h5,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaves"})}),(0,t.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(s.h5,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L34",children:"crypto/ts/AccQueue.ts:34"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subrootqueue",children:"subRootQueue"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subRootQueue"}),": ",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue",children:(0,t.jsx)(s.code,{children:"Queue"})})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L53",children:"crypto/ts/AccQueue.ts:53"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subroots",children:"subRoots"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subRoots"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[] = ",(0,t.jsx)(s.code,{children:"[]"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L59",children:"crypto/ts/AccQueue.ts:59"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subtreesmerged",children:"subTreesMerged"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subTreesMerged"}),": ",(0,t.jsx)(s.code,{children:"boolean"})," = ",(0,t.jsx)(s.code,{children:"false"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L69",children:"crypto/ts/AccQueue.ts:69"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"zerovalue",children:"zeroValue"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"zeroValue"}),": ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L27",children:"crypto/ts/AccQueue.ts:27"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"zeros",children:"zeros"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"zeros"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[] = ",(0,t.jsx)(s.code,{children:"[]"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L66",children:"crypto/ts/AccQueue.ts:66"})}),"\n",(0,t.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,t.jsx)(s.h3,{id:"calcsrtdepth",children:"calcSRTdepth"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"calcSRTdepth"}),"(): ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.p,{children:"Calculate the depth of the smallest possible Merkle tree which fits all"}),"\n",(0,t.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"number"})}),"\n",(0,t.jsx)(s.p,{children:"the depth of the smallest possible Merkle tree which fits all"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L283",children:"crypto/ts/AccQueue.ts:283"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"copy"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:(0,t.jsx)(s.code,{children:"AccQueue"})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:(0,t.jsx)(s.code,{children:"AccQueue"})})}),"\n",(0,t.jsx)(s.p,{children:"a deep copy of this object"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"Deep-copies this object"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L512",children:"crypto/ts/AccQueue.ts:512"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"enqueue",children:"enqueue"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"enqueue"}),"(",(0,t.jsx)(s.code,{children:"leaf"}),"): ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.p,{children:"Enqueue a leaf into the current subtree"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaf"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The leaf to insert."})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"number"})}),"\n",(0,t.jsx)(s.p,{children:"The index of the leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L133",children:"crypto/ts/AccQueue.ts:133"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"enqueueop",children:"enqueueOp"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"enqueueOp"}),"(",(0,t.jsx)(s.code,{children:"leaf"}),", ",(0,t.jsx)(s.code,{children:"level"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Private function that performs the actual enqueue operation"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaf"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The leaf to insert"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"level"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The level of the subtree"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L172",children:"crypto/ts/AccQueue.ts:172"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"fill",children:"fill"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"fill"}),"(): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Fill any empty leaves of the last subtree with zeros and store the\nresulting subroot."}),"\n",(0,t.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-21",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L210",children:"crypto/ts/AccQueue.ts:210"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"fillop",children:"fillOp"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"fillOp"}),"(",(0,t.jsx)(s.code,{children:"level"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Private function that performs the actual fill operation"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"level"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The level of the subtree"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-22",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L249",children:"crypto/ts/AccQueue.ts:249"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getroot",children:"getRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"getRoot"}),"(",(0,t.jsx)(s.code,{children:"depth"}),"): ",(0,t.jsx)(s.code,{children:"undefined"})," | ",(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the root at a certain depth"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"depth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The depth of the tree"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"undefined"})," | ",(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"the root"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-23",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L494",children:"crypto/ts/AccQueue.ts:494"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getsubroot",children:"getSubRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"getSubRoot"}),"(",(0,t.jsx)(s.code,{children:"index"}),"): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the subroot at a given index"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"index"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The index of the subroot"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.p,{children:"the subroot"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-24",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L124",children:"crypto/ts/AccQueue.ts:124"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hasroot",children:"hasRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"hasRoot"}),"(",(0,t.jsx)(s.code,{children:"depth"}),"): ",(0,t.jsx)(s.code,{children:"boolean"})]}),"\n",(0,t.jsx)(s.p,{children:"Check if the root at a certain depth exists (subtree root)"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"depth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the depth of the tree"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"boolean"})}),"\n",(0,t.jsx)(s.p,{children:"whether the root exists"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-25",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L503",children:"crypto/ts/AccQueue.ts:503"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"hash"}),"(",(0,t.jsx)(s.code,{children:"leaves"}),"): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"Hash an array of leaves"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaves"})}),(0,t.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The leaves to hash"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.p,{children:"the hash value of the leaves"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-26",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L539",children:"crypto/ts/AccQueue.ts:539"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"insertsubtree",children:"insertSubTree"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"insertSubTree"}),"(",(0,t.jsx)(s.code,{children:"subRoot"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Insert a subtree into the queue. This is used when the subtree is\nalready computed."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"subRoot"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The root of the subtree"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-27",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L299",children:"crypto/ts/AccQueue.ts:299"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"merge",children:"merge"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"merge"}),"(",(0,t.jsx)(s.code,{children:"depth"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Merge all the subroots into a tree of a specified depth.\nIt requires this.mergeSubRoots() to be run first."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"depth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-28",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L321",children:"crypto/ts/AccQueue.ts:321"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"mergedirect",children:"mergeDirect"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"mergeDirect"}),"(",(0,t.jsx)(s.code,{children:"depth"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Merge all the subroots into a tree of a specified depth.\nUses an IncrementalQuinTree instead of the two-step method that\nAccQueue.sol uses."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"depth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-29",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L355",children:"crypto/ts/AccQueue.ts:355"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"mergesubroots",children:"mergeSubRoots"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"mergeSubRoots"}),"(",(0,t.jsx)(s.code,{children:"numSrQueueOps?"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Merge all subroots into the smallest possible Merkle tree which fits\nthem. e.g. if there are 5 subroots and hashLength == 2, the tree depth\nis 3 since 2 ** 3 = 8 which is the next power of 2."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Default value"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"numSrQueueOps"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"0"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The number of subroots to queue into the SRT"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-30",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L402",children:"crypto/ts/AccQueue.ts:402"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"queuesubroot",children:"queueSubRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"queueSubRoot"}),"(",(0,t.jsx)(s.code,{children:"leaf"}),", ",(0,t.jsx)(s.code,{children:"level"}),", ",(0,t.jsx)(s.code,{children:"maxDepth"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Queues the leaf (a subroot) into queuedSRTlevels"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaf"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The leaf to insert"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"level"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The level of the subtree"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"maxDepth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The maximum depth of the tree"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-31",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/AccQueue.ts#L463",children:"crypto/ts/AccQueue.ts:463"})})]})}function x(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>r});var t=n(79);const i={},l=t.createContext(i);function r(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9944],{1300:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>c,default:()=>x,frontMatter:()=>l,metadata:()=>r,toc:()=>h});var t=n(5250),i=n(2459);const l={},c="Class: AccQueue",r={id:"typedoc/classes/crypto_ts.AccQueue",title:"crypto_ts.AccQueue",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / AccQueue",source:"@site/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.AccQueue.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/crypto_ts.AccQueue",permalink:"/docs/typedoc/classes/crypto_ts.AccQueue",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/crypto_ts.AccQueue.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.Poll",permalink:"/docs/typedoc/classes/core_ts.Poll"},next:{title:"crypto_ts.G1Point",permalink:"/docs/typedoc/classes/crypto_ts.G1Point"}},d={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"MAX_DEPTH",id:"max_depth",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"currentSubtreeIndex",id:"currentsubtreeindex",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"hashFunc",id:"hashfunc",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-3",level:4},{value:"hashLength",id:"hashlength",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"leafQueue",id:"leafqueue",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"mainRoots",id:"mainroots",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"nextSRindexToQueue",id:"nextsrindextoqueue",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"numLeaves",id:"numleaves",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"smallSRTroot",id:"smallsrtroot",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"subDepth",id:"subdepth",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"subHashFunc",id:"subhashfunc",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-11",level:4},{value:"subRootQueue",id:"subrootqueue",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"subRoots",id:"subroots",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"subTreesMerged",id:"subtreesmerged",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"zeroValue",id:"zerovalue",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"zeros",id:"zeros",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"Methods",id:"methods-1",level:2},{value:"calcSRTdepth",id:"calcsrtdepth",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"enqueue",id:"enqueue",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"enqueueOp",id:"enqueueop",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"fill",id:"fill",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"fillOp",id:"fillop",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"getRoot",id:"getroot",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"getSubRoot",id:"getsubroot",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"hasRoot",id:"hasroot",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"hash",id:"hash",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"insertSubTree",id:"insertsubtree",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"merge",id:"merge",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"mergeDirect",id:"mergedirect",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"mergeSubRoots",id:"mergesubroots",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"queueSubRoot",id:"queuesubroot",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-31",level:4}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / AccQueue"]}),"\n",(0,t.jsx)(s.h1,{id:"class-accqueue",children:"Class: AccQueue"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".AccQueue"]}),"\n",(0,t.jsx)(s.p,{children:"An Accumulator Queue which conforms to the implementation in AccQueue.sol.\nEach enqueue() operation updates a subtree, and a merge() operation combines\nall subtrees into a main tree."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"It supports 2 or 5 elements per leaf."}),"\n",(0,t.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,t.jsx)(s.h3,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#constructor",children:"constructor"})}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#max_depth",children:"MAX_DEPTH"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#currentsubtreeindex",children:"currentSubtreeIndex"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#hashfunc",children:"hashFunc"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#hashlength",children:"hashLength"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#leafqueue",children:"leafQueue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#mainroots",children:"mainRoots"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#nextsrindextoqueue",children:"nextSRindexToQueue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#numleaves",children:"numLeaves"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#smallsrtroot",children:"smallSRTroot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subdepth",children:"subDepth"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subhashfunc",children:"subHashFunc"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subrootqueue",children:"subRootQueue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subroots",children:"subRoots"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#subtreesmerged",children:"subTreesMerged"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#zerovalue",children:"zeroValue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#zeros",children:"zeros"})}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"methods",children:"Methods"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#calcsrtdepth",children:"calcSRTdepth"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#copy",children:"copy"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#enqueue",children:"enqueue"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#enqueueop",children:"enqueueOp"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#fill",children:"fill"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#fillop",children:"fillOp"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#getroot",children:"getRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#getsubroot",children:"getSubRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#hasroot",children:"hasRoot"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#hash",children:"hash"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#insertsubtree",children:"insertSubTree"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#merge",children:"merge"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#mergedirect",children:"mergeDirect"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#mergesubroots",children:"mergeSubRoots"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue#queuesubroot",children:"queueSubRoot"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,t.jsx)(s.h3,{id:"constructor",children:"constructor"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"new AccQueue"}),"(",(0,t.jsx)(s.code,{children:"subDepth"}),", ",(0,t.jsx)(s.code,{children:"hashLength"}),", ",(0,t.jsx)(s.code,{children:"zeroValue"}),"): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:(0,t.jsx)(s.code,{children:"AccQueue"})})]}),"\n",(0,t.jsx)(s.p,{children:"Create a new instance of AccQueue"}),"\n",(0,t.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"subDepth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the depth of the subtrees"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"hashLength"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the number of leaves per node"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"zeroValue"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the default value for empty leaves"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:(0,t.jsx)(s.code,{children:"AccQueue"})})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L77",children:"crypto/ts/AccQueue.ts:77"})}),"\n",(0,t.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"max_depth",children:"MAX_DEPTH"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.code,{children:"Private"})," ",(0,t.jsx)(s.strong,{children:"MAX_DEPTH"}),": ",(0,t.jsx)(s.code,{children:"number"})," = ",(0,t.jsx)(s.code,{children:"32"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L18",children:"crypto/ts/AccQueue.ts:18"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"currentsubtreeindex",children:"currentSubtreeIndex"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"currentSubtreeIndex"}),": ",(0,t.jsx)(s.code,{children:"number"})," = ",(0,t.jsx)(s.code,{children:"0"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L31",children:"crypto/ts/AccQueue.ts:31"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hashfunc",children:"hashFunc"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"hashFunc"}),": (",(0,t.jsx)(s.code,{children:"leaves"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 (",(0,t.jsx)(s.code,{children:"leaves"}),"): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h5,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaves"})}),(0,t.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L37",children:"crypto/ts/AccQueue.ts:37"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hashlength",children:"hashLength"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"hashLength"}),": ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L24",children:"crypto/ts/AccQueue.ts:24"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"leafqueue",children:"leafQueue"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"leafQueue"}),": ",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue",children:(0,t.jsx)(s.code,{children:"Queue"})})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L43",children:"crypto/ts/AccQueue.ts:43"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"mainroots",children:"mainRoots"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"mainRoots"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[] = ",(0,t.jsx)(s.code,{children:"[]"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L62",children:"crypto/ts/AccQueue.ts:62"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"nextsrindextoqueue",children:"nextSRindexToQueue"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"nextSRindexToQueue"}),": ",(0,t.jsx)(s.code,{children:"number"})," = ",(0,t.jsx)(s.code,{children:"0"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L49",children:"crypto/ts/AccQueue.ts:49"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"numleaves",children:"numLeaves"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"numLeaves"}),": ",(0,t.jsx)(s.code,{children:"number"})," = ",(0,t.jsx)(s.code,{children:"0"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L40",children:"crypto/ts/AccQueue.ts:40"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"smallsrtroot",children:"smallSRTroot"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"smallSRTroot"}),": ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L51",children:"crypto/ts/AccQueue.ts:51"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subdepth",children:"subDepth"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subDepth"}),": ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L21",children:"crypto/ts/AccQueue.ts:21"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subhashfunc",children:"subHashFunc"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subHashFunc"}),": (",(0,t.jsx)(s.code,{children:"leaves"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[]) => ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"type-declaration-1",children:"Type declaration"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 (",(0,t.jsx)(s.code,{children:"leaves"}),"): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h5,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaves"})}),(0,t.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]})]})})]}),"\n",(0,t.jsx)(s.h5,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L34",children:"crypto/ts/AccQueue.ts:34"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subrootqueue",children:"subRootQueue"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subRootQueue"}),": ",(0,t.jsx)(s.a,{href:"/docs/typedoc/interfaces/crypto_ts.Queue",children:(0,t.jsx)(s.code,{children:"Queue"})})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L53",children:"crypto/ts/AccQueue.ts:53"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subroots",children:"subRoots"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subRoots"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[] = ",(0,t.jsx)(s.code,{children:"[]"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L59",children:"crypto/ts/AccQueue.ts:59"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"subtreesmerged",children:"subTreesMerged"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"subTreesMerged"}),": ",(0,t.jsx)(s.code,{children:"boolean"})," = ",(0,t.jsx)(s.code,{children:"false"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L69",children:"crypto/ts/AccQueue.ts:69"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"zerovalue",children:"zeroValue"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"zeroValue"}),": ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L27",children:"crypto/ts/AccQueue.ts:27"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"zeros",children:"zeros"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"zeros"}),": ",(0,t.jsx)(s.code,{children:"bigint"}),"[] = ",(0,t.jsx)(s.code,{children:"[]"})]}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L66",children:"crypto/ts/AccQueue.ts:66"})}),"\n",(0,t.jsx)(s.h2,{id:"methods-1",children:"Methods"}),"\n",(0,t.jsx)(s.h3,{id:"calcsrtdepth",children:"calcSRTdepth"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"calcSRTdepth"}),"(): ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.p,{children:"Calculate the depth of the smallest possible Merkle tree which fits all"}),"\n",(0,t.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"number"})}),"\n",(0,t.jsx)(s.p,{children:"the depth of the smallest possible Merkle tree which fits all"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L283",children:"crypto/ts/AccQueue.ts:283"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"copy",children:"copy"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"copy"}),"(): ",(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:(0,t.jsx)(s.code,{children:"AccQueue"})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/docs/typedoc/classes/crypto_ts.AccQueue",children:(0,t.jsx)(s.code,{children:"AccQueue"})})}),"\n",(0,t.jsx)(s.p,{children:"a deep copy of this object"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.code,{children:"Notice"})})}),"\n",(0,t.jsx)(s.p,{children:"Deep-copies this object"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-18",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L512",children:"crypto/ts/AccQueue.ts:512"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"enqueue",children:"enqueue"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"enqueue"}),"(",(0,t.jsx)(s.code,{children:"leaf"}),"): ",(0,t.jsx)(s.code,{children:"number"})]}),"\n",(0,t.jsx)(s.p,{children:"Enqueue a leaf into the current subtree"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaf"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The leaf to insert."})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"number"})}),"\n",(0,t.jsx)(s.p,{children:"The index of the leaf"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-19",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L133",children:"crypto/ts/AccQueue.ts:133"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"enqueueop",children:"enqueueOp"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"enqueueOp"}),"(",(0,t.jsx)(s.code,{children:"leaf"}),", ",(0,t.jsx)(s.code,{children:"level"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Private function that performs the actual enqueue operation"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaf"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The leaf to insert"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"level"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The level of the subtree"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-20",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L172",children:"crypto/ts/AccQueue.ts:172"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"fill",children:"fill"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"fill"}),"(): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Fill any empty leaves of the last subtree with zeros and store the\nresulting subroot."}),"\n",(0,t.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-21",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L210",children:"crypto/ts/AccQueue.ts:210"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"fillop",children:"fillOp"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"fillOp"}),"(",(0,t.jsx)(s.code,{children:"level"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Private function that performs the actual fill operation"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"level"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The level of the subtree"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-22",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L249",children:"crypto/ts/AccQueue.ts:249"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getroot",children:"getRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"getRoot"}),"(",(0,t.jsx)(s.code,{children:"depth"}),"): ",(0,t.jsx)(s.code,{children:"undefined"})," | ",(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the root at a certain depth"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"depth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The depth of the tree"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"undefined"})," | ",(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"the root"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-23",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L494",children:"crypto/ts/AccQueue.ts:494"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getsubroot",children:"getSubRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"getSubRoot"}),"(",(0,t.jsx)(s.code,{children:"index"}),"): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the subroot at a given index"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"index"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The index of the subroot"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.p,{children:"the subroot"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-24",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L124",children:"crypto/ts/AccQueue.ts:124"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hasroot",children:"hasRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"hasRoot"}),"(",(0,t.jsx)(s.code,{children:"depth"}),"): ",(0,t.jsx)(s.code,{children:"boolean"})]}),"\n",(0,t.jsx)(s.p,{children:"Check if the root at a certain depth exists (subtree root)"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"depth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"the depth of the tree"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"boolean"})}),"\n",(0,t.jsx)(s.p,{children:"whether the root exists"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-25",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L503",children:"crypto/ts/AccQueue.ts:503"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"hash",children:"hash"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"hash"}),"(",(0,t.jsx)(s.code,{children:"leaves"}),"): ",(0,t.jsx)(s.code,{children:"bigint"})]}),"\n",(0,t.jsx)(s.p,{children:"Hash an array of leaves"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaves"})}),(0,t.jsxs)(s.td,{style:{textAlign:"left"},children:[(0,t.jsx)(s.code,{children:"bigint"}),"[]"]}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The leaves to hash"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"bigint"})}),"\n",(0,t.jsx)(s.p,{children:"the hash value of the leaves"}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-26",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L539",children:"crypto/ts/AccQueue.ts:539"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"insertsubtree",children:"insertSubTree"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"insertSubTree"}),"(",(0,t.jsx)(s.code,{children:"subRoot"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Insert a subtree into the queue. This is used when the subtree is\nalready computed."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"subRoot"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The root of the subtree"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-27",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L299",children:"crypto/ts/AccQueue.ts:299"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"merge",children:"merge"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"merge"}),"(",(0,t.jsx)(s.code,{children:"depth"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Merge all the subroots into a tree of a specified depth.\nIt requires this.mergeSubRoots() to be run first."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"depth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-28",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L321",children:"crypto/ts/AccQueue.ts:321"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"mergedirect",children:"mergeDirect"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"mergeDirect"}),"(",(0,t.jsx)(s.code,{children:"depth"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Merge all the subroots into a tree of a specified depth.\nUses an IncrementalQuinTree instead of the two-step method that\nAccQueue.sol uses."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"depth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-29",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L355",children:"crypto/ts/AccQueue.ts:355"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"mergesubroots",children:"mergeSubRoots"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"mergeSubRoots"}),"(",(0,t.jsx)(s.code,{children:"numSrQueueOps?"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Merge all subroots into the smallest possible Merkle tree which fits\nthem. e.g. if there are 5 subroots and hashLength == 2, the tree depth\nis 3 since 2 ** 3 = 8 which is the next power of 2."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Default value"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"numSrQueueOps"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"0"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The number of subroots to queue into the SRT"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-30",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L402",children:"crypto/ts/AccQueue.ts:402"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"queuesubroot",children:"queueSubRoot"}),"\n",(0,t.jsxs)(s.p,{children:["\u25b8 ",(0,t.jsx)(s.strong,{children:"queueSubRoot"}),"(",(0,t.jsx)(s.code,{children:"leaf"}),", ",(0,t.jsx)(s.code,{children:"level"}),", ",(0,t.jsx)(s.code,{children:"maxDepth"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n",(0,t.jsx)(s.p,{children:"Queues the leaf (a subroot) into queuedSRTlevels"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Name"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(s.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"leaf"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"bigint"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The leaf to insert"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"level"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The level of the subtree"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"maxDepth"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:(0,t.jsx)(s.code,{children:"number"})}),(0,t.jsx)(s.td,{style:{textAlign:"left"},children:"The maximum depth of the tree"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"defined-in-31",children:"Defined in"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/AccQueue.ts#L463",children:"crypto/ts/AccQueue.ts:463"})})]})}function x(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},2459:(e,s,n)=>{n.d(s,{Z:()=>r,a:()=>c});var t=n(79);const i={},l=t.createContext(i);function c(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dc016e2d.adc83c73.js b/assets/js/dc016e2d.cf77fa7d.js similarity index 97% rename from assets/js/dc016e2d.adc83c73.js rename to assets/js/dc016e2d.cf77fa7d.js index 40f17ab55c..b9785102f8 100644 --- a/assets/js/dc016e2d.adc83c73.js +++ b/assets/js/dc016e2d.cf77fa7d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5635],{9561:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=n(5250),a=n(2459);const s={slug:"welcome",title:"Welcome to MACI",authors:["PSE"],tags:["maci","ef","pse","zk","voting","privacy"]},l=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/index.md",source:"@site/blog/index.md",title:"Welcome to MACI",description:"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.",date:"2024-01-11T21:21:30.000Z",formattedDate:"January 11, 2024",tags:[{label:"maci",permalink:"/blog/tags/maci"},{label:"ef",permalink:"/blog/tags/ef"},{label:"pse",permalink:"/blog/tags/pse"},{label:"zk",permalink:"/blog/tags/zk"},{label:"voting",permalink:"/blog/tags/voting"},{label:"privacy",permalink:"/blog/tags/privacy"}],readingTime:.115,hasTruncateMarker:!1,authors:[{name:"Privacy and Scaling Explorations (PSE)",title:"Zero-Knowledge research team",url:"https://pse.dev",imageURL:"/img/pse-logo-round.png",key:"PSE"}],frontMatter:{slug:"welcome",title:"Welcome to MACI",authors:["PSE"],tags:["maci","ef","pse","zk","voting","privacy"]},unlisted:!1,nextItem:{title:"Maci v1.1.1 Release",permalink:"/blog/maci-v1-1-1-release"}},r={authorsImageUrls:[void 0]},c=[];function p(e){const t={p:"p",...(0,a.a)(),...e.components};return(0,o.jsx)(t.p,{children:"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news."})}function m(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>l});var o=n(79);const a={},s=o.createContext(a);function l(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5635],{9561:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=n(5250),a=n(2459);const s={slug:"welcome",title:"Welcome to MACI",authors:["PSE"],tags:["maci","ef","pse","zk","voting","privacy"]},l=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/blog/index.md",source:"@site/blog/index.md",title:"Welcome to MACI",description:"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.",date:"2024-01-11T22:31:24.000Z",formattedDate:"January 11, 2024",tags:[{label:"maci",permalink:"/blog/tags/maci"},{label:"ef",permalink:"/blog/tags/ef"},{label:"pse",permalink:"/blog/tags/pse"},{label:"zk",permalink:"/blog/tags/zk"},{label:"voting",permalink:"/blog/tags/voting"},{label:"privacy",permalink:"/blog/tags/privacy"}],readingTime:.115,hasTruncateMarker:!1,authors:[{name:"Privacy and Scaling Explorations (PSE)",title:"Zero-Knowledge research team",url:"https://pse.dev",imageURL:"/img/pse-logo-round.png",key:"PSE"}],frontMatter:{slug:"welcome",title:"Welcome to MACI",authors:["PSE"],tags:["maci","ef","pse","zk","voting","privacy"]},unlisted:!1,nextItem:{title:"Maci v1.1.1 Release",permalink:"/blog/maci-v1-1-1-release"}},r={authorsImageUrls:[void 0]},c=[];function p(e){const t={p:"p",...(0,a.a)(),...e.components};return(0,o.jsx)(t.p,{children:"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news."})}function m(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>l});var o=n(79);const a={},s=o.createContext(a);function l(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e05f6340.9acaca20.js b/assets/js/e05f6340.b350cbad.js similarity index 92% rename from assets/js/e05f6340.9acaca20.js rename to assets/js/e05f6340.b350cbad.js index 37e514edd1..b3c9aa50eb 100644 --- a/assets/js/e05f6340.9acaca20.js +++ b/assets/js/e05f6340.b350cbad.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7019],{8498:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var d=i(5250),n=i(2459);const r={},t="Interface: DeployedContracts",c={id:"typedoc/interfaces/cli_ts.DeployedContracts",title:"cli_ts.DeployedContracts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / cli/ts / DeployedContracts",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.DeployedContracts.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/cli_ts.DeployedContracts",permalink:"/docs/typedoc/interfaces/cli_ts.DeployedContracts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.DeployedContracts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.VerifyingKey",permalink:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey"},next:{title:"cli_ts.PollContracts",permalink:"/docs/typedoc/interfaces/cli_ts.PollContracts"}},l={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"initialVoiceCreditProxyAddress",id:"initialvoicecreditproxyaddress",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"maciAddress",id:"maciaddress",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"pollFactoryAddress",id:"pollfactoryaddress",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"poseidonT3Address",id:"poseidont3address",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"poseidonT4Address",id:"poseidont4address",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"poseidonT5Address",id:"poseidont5address",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"poseidonT6Address",id:"poseidont6address",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"signUpGatekeeperAddress",id:"signupgatekeeperaddress",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"stateAqAddress",id:"stateaqaddress",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"topupCreditAddress",id:"topupcreditaddress",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"verifierAddress",id:"verifieraddress",level:3},{value:"Defined in",id:"defined-in-10",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(s.p,{children:[(0,d.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,d.jsx)(s.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"})," / DeployedContracts"]}),"\n",(0,d.jsx)(s.h1,{id:"interface-deployedcontracts",children:"Interface: DeployedContracts"}),"\n",(0,d.jsxs)(s.p,{children:[(0,d.jsx)(s.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"}),".DeployedContracts"]}),"\n",(0,d.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,d.jsxs)(s.ul,{children:["\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#initialvoicecreditproxyaddress",children:"initialVoiceCreditProxyAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#maciaddress",children:"maciAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#pollfactoryaddress",children:"pollFactoryAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#poseidont3address",children:"poseidonT3Address"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#poseidont4address",children:"poseidonT4Address"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#poseidont5address",children:"poseidonT5Address"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#poseidont6address",children:"poseidonT6Address"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#signupgatekeeperaddress",children:"signUpGatekeeperAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#stateaqaddress",children:"stateAqAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#topupcreditaddress",children:"topupCreditAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#verifieraddress",children:"verifierAddress"})}),"\n"]}),"\n",(0,d.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,d.jsx)(s.h3,{id:"initialvoicecreditproxyaddress",children:"initialVoiceCreditProxyAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"initialVoiceCreditProxyAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L14",children:"cli/ts/utils/interfaces.ts:14"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"maciaddress",children:"maciAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"maciAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L6",children:"cli/ts/utils/interfaces.ts:6"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"pollfactoryaddress",children:"pollFactoryAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"pollFactoryAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L8",children:"cli/ts/utils/interfaces.ts:8"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"poseidont3address",children:"poseidonT3Address"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"poseidonT3Address"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L10",children:"cli/ts/utils/interfaces.ts:10"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"poseidont4address",children:"poseidonT4Address"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"poseidonT4Address"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L11",children:"cli/ts/utils/interfaces.ts:11"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"poseidont5address",children:"poseidonT5Address"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"poseidonT5Address"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L12",children:"cli/ts/utils/interfaces.ts:12"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"poseidont6address",children:"poseidonT6Address"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"poseidonT6Address"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L13",children:"cli/ts/utils/interfaces.ts:13"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"signupgatekeeperaddress",children:"signUpGatekeeperAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"signUpGatekeeperAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L15",children:"cli/ts/utils/interfaces.ts:15"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"stateaqaddress",children:"stateAqAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"stateAqAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L7",children:"cli/ts/utils/interfaces.ts:7"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"topupcreditaddress",children:"topupCreditAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"topupCreditAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L9",children:"cli/ts/utils/interfaces.ts:9"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"verifieraddress",children:"verifierAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"verifierAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/utils/interfaces.ts#L16",children:"cli/ts/utils/interfaces.ts:16"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,d.jsx)(s,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},2459:(e,s,i)=>{i.d(s,{Z:()=>c,a:()=>t});var d=i(79);const n={},r=d.createContext(n);function t(e){const s=d.useContext(r);return d.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:t(e.components),d.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7019],{8498:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var d=i(5250),n=i(2459);const r={},t="Interface: DeployedContracts",c={id:"typedoc/interfaces/cli_ts.DeployedContracts",title:"cli_ts.DeployedContracts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / cli/ts / DeployedContracts",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.DeployedContracts.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/cli_ts.DeployedContracts",permalink:"/docs/typedoc/interfaces/cli_ts.DeployedContracts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/cli_ts.DeployedContracts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.VerifyingKey",permalink:"/docs/typedoc/classes/domainobjs_ts.VerifyingKey"},next:{title:"cli_ts.PollContracts",permalink:"/docs/typedoc/interfaces/cli_ts.PollContracts"}},l={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"initialVoiceCreditProxyAddress",id:"initialvoicecreditproxyaddress",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"maciAddress",id:"maciaddress",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"pollFactoryAddress",id:"pollfactoryaddress",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"poseidonT3Address",id:"poseidont3address",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"poseidonT4Address",id:"poseidont4address",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"poseidonT5Address",id:"poseidont5address",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"poseidonT6Address",id:"poseidont6address",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"signUpGatekeeperAddress",id:"signupgatekeeperaddress",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"stateAqAddress",id:"stateaqaddress",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"topupCreditAddress",id:"topupcreditaddress",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"verifierAddress",id:"verifieraddress",level:3},{value:"Defined in",id:"defined-in-10",level:4}];function a(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(s.p,{children:[(0,d.jsx)(s.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(s.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,d.jsx)(s.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"})," / DeployedContracts"]}),"\n",(0,d.jsx)(s.h1,{id:"interface-deployedcontracts",children:"Interface: DeployedContracts"}),"\n",(0,d.jsxs)(s.p,{children:[(0,d.jsx)(s.a,{href:"/docs/typedoc/modules/cli_ts",children:"cli/ts"}),".DeployedContracts"]}),"\n",(0,d.jsx)(s.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,d.jsxs)(s.ul,{children:["\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#initialvoicecreditproxyaddress",children:"initialVoiceCreditProxyAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#maciaddress",children:"maciAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#pollfactoryaddress",children:"pollFactoryAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#poseidont3address",children:"poseidonT3Address"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#poseidont4address",children:"poseidonT4Address"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#poseidont5address",children:"poseidonT5Address"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#poseidont6address",children:"poseidonT6Address"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#signupgatekeeperaddress",children:"signUpGatekeeperAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#stateaqaddress",children:"stateAqAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#topupcreditaddress",children:"topupCreditAddress"})}),"\n",(0,d.jsx)(s.li,{children:(0,d.jsx)(s.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts#verifieraddress",children:"verifierAddress"})}),"\n"]}),"\n",(0,d.jsx)(s.h2,{id:"properties-1",children:"Properties"}),"\n",(0,d.jsx)(s.h3,{id:"initialvoicecreditproxyaddress",children:"initialVoiceCreditProxyAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"initialVoiceCreditProxyAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L14",children:"cli/ts/utils/interfaces.ts:14"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"maciaddress",children:"maciAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"maciAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L6",children:"cli/ts/utils/interfaces.ts:6"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"pollfactoryaddress",children:"pollFactoryAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"pollFactoryAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L8",children:"cli/ts/utils/interfaces.ts:8"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"poseidont3address",children:"poseidonT3Address"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"poseidonT3Address"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L10",children:"cli/ts/utils/interfaces.ts:10"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"poseidont4address",children:"poseidonT4Address"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"poseidonT4Address"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L11",children:"cli/ts/utils/interfaces.ts:11"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"poseidont5address",children:"poseidonT5Address"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"poseidonT5Address"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L12",children:"cli/ts/utils/interfaces.ts:12"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"poseidont6address",children:"poseidonT6Address"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"poseidonT6Address"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L13",children:"cli/ts/utils/interfaces.ts:13"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"signupgatekeeperaddress",children:"signUpGatekeeperAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"signUpGatekeeperAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L15",children:"cli/ts/utils/interfaces.ts:15"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"stateaqaddress",children:"stateAqAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"stateAqAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L7",children:"cli/ts/utils/interfaces.ts:7"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"topupcreditaddress",children:"topupCreditAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"topupCreditAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L9",children:"cli/ts/utils/interfaces.ts:9"})}),"\n",(0,d.jsx)(s.hr,{}),"\n",(0,d.jsx)(s.h3,{id:"verifieraddress",children:"verifierAddress"}),"\n",(0,d.jsxs)(s.p,{children:["\u2022 ",(0,d.jsx)(s.strong,{children:"verifierAddress"}),": ",(0,d.jsx)(s.code,{children:"string"})]}),"\n",(0,d.jsx)(s.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,d.jsx)(s.p,{children:(0,d.jsx)(s.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/utils/interfaces.ts#L16",children:"cli/ts/utils/interfaces.ts:16"})})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,d.jsx)(s,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},2459:(e,s,i)=>{i.d(s,{Z:()=>c,a:()=>t});var d=i(79);const n={},r=d.createContext(n);function t(e){const s=d.useContext(r);return d.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:t(e.components),d.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e1f12d8d.3b74c07c.js b/assets/js/e1f12d8d.e5a38822.js similarity index 96% rename from assets/js/e1f12d8d.3b74c07c.js rename to assets/js/e1f12d8d.e5a38822.js index 43fce5f564..e4ceb77bd7 100644 --- a/assets/js/e1f12d8d.3b74c07c.js +++ b/assets/js/e1f12d8d.e5a38822.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3800],{1021:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var n=s(5250),r=s(2459);const t={},d="Class: PrivKey",l={id:"typedoc/classes/domainobjs_ts.PrivKey",title:"domainobjs_ts.PrivKey",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / PrivKey",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PrivKey.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.PrivKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PrivKey",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PrivKey.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.PCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.PCommand"},next:{title:"domainobjs_ts.PubKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PubKey"}},c={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"rawPrivKey",id:"rawprivkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"serialize",id:"serialize",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"deserialize",id:"deserialize",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"isValidSerializedPrivKey",id:"isvalidserializedprivkey",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-8",level:4}];function a(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(i.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / PrivKey"]}),"\n",(0,n.jsx)(i.h1,{id:"class-privkey",children:"Class: PrivKey"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".PrivKey"]}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.strong,{children:(0,n.jsx)(i.code,{children:"Notice"})})}),"\n",(0,n.jsx)(i.p,{children:"PrivKey is a TS Class representing a MACI PrivateKey (on the jubjub curve)\nThis is a MACI private key, which is not to be\nconfused with an Ethereum private key.\nA serialized MACI private key is prefixed by 'macisk.'\nA raw MACI private key can be thought as a point on the baby jubjub curve"}),"\n",(0,n.jsx)(i.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(i.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#rawprivkey",children:"rawPrivKey"})}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#copy",children:"copy"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#serialize",children:"serialize"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#tojson",children:"toJSON"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#deserialize",children:"deserialize"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#fromjson",children:"fromJSON"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#isvalidserializedprivkey",children:"isValidSerializedPrivKey"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(i.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"new PrivKey"}),"(",(0,n.jsx)(i.code,{children:"rawPrivKey"}),"): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Generate a new Private key object"}),"\n",(0,n.jsx)(i.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(i.tbody,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"rawPrivKey"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"SnarkBigNumber"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"the raw private key (a bigint)"})]})})]}),"\n",(0,n.jsx)(i.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})}),"\n",(0,n.jsx)(i.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L21",children:"domainobjs/ts/privateKey.ts:21"})}),"\n",(0,n.jsx)(i.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(i.h3,{id:"rawprivkey",children:"rawPrivKey"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"rawPrivKey"}),": ",(0,n.jsx)(i.code,{children:"SnarkBigNumber"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L15",children:"domainobjs/ts/privateKey.ts:15"})}),"\n",(0,n.jsx)(i.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(i.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"asCircuitInputs"}),"(): ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.p,{children:"Return this Private key as a circuit input"}),"\n",(0,n.jsx)(i.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.p,{children:"the Private key as a circuit input"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L35",children:"domainobjs/ts/privateKey.ts:35"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"copy",children:"copy"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"copy"}),"(): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Create a copy of this Private key"}),"\n",(0,n.jsx)(i.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})}),"\n",(0,n.jsx)(i.p,{children:"a copy of the Private key"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L29",children:"domainobjs/ts/privateKey.ts:29"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"serialize",children:"serialize"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"serialize"}),"(): ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.p,{children:"Serialize the private key"}),"\n",(0,n.jsx)(i.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.p,{children:"the serialized private key"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L41",children:"domainobjs/ts/privateKey.ts:41"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"tojson",children:"toJSON"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"toJSON"}),"(): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonprivatekey",children:(0,n.jsx)(i.code,{children:"IJsonPrivateKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Serialize this object"}),"\n",(0,n.jsx)(i.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonprivatekey",children:(0,n.jsx)(i.code,{children:"IJsonPrivateKey"})})}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L80",children:"domainobjs/ts/privateKey.ts:80"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"deserialize",children:"deserialize"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"deserialize"}),"(",(0,n.jsx)(i.code,{children:"s"}),"): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Deserialize the private key"}),"\n",(0,n.jsx)(i.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(i.tbody,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"s"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"string"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"the serialized private key"})]})})]}),"\n",(0,n.jsx)(i.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})}),"\n",(0,n.jsx)(i.p,{children:"the deserialized private key"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L55",children:"domainobjs/ts/privateKey.ts:55"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"fromJSON"}),"(",(0,n.jsx)(i.code,{children:"json"}),"): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Deserialize this object from a JSON object"}),"\n",(0,n.jsx)(i.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(i.tbody,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"json"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonprivatekey",children:(0,n.jsx)(i.code,{children:"IJsonPrivateKey"})})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"the json object"})]})})]}),"\n",(0,n.jsx)(i.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})}),"\n",(0,n.jsx)(i.p,{children:"the deserialized object as a PrivKey instance"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L91",children:"domainobjs/ts/privateKey.ts:91"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"isvalidserializedprivkey",children:"isValidSerializedPrivKey"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"isValidSerializedPrivKey"}),"(",(0,n.jsx)(i.code,{children:"s"}),"): ",(0,n.jsx)(i.code,{children:"boolean"})]}),"\n",(0,n.jsx)(i.p,{children:"Check if the serialized private key is valid"}),"\n",(0,n.jsx)(i.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(i.tbody,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"s"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"string"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"the serialized private key"})]})})]}),"\n",(0,n.jsx)(i.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"boolean"})}),"\n",(0,n.jsx)(i.p,{children:"whether it is a valid serialized private key"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/privateKey.ts#L65",children:"domainobjs/ts/privateKey.ts:65"})})]})}function h(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},2459:(e,i,s)=>{s.d(i,{Z:()=>l,a:()=>d});var n=s(79);const r={},t=n.createContext(r);function d(e){const i=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),n.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3800],{1021:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var n=s(5250),r=s(2459);const t={},d="Class: PrivKey",l={id:"typedoc/classes/domainobjs_ts.PrivKey",title:"domainobjs_ts.PrivKey",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / PrivKey",source:"@site/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PrivKey.md",sourceDirName:"typedoc/classes",slug:"/typedoc/classes/domainobjs_ts.PrivKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PrivKey",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/classes/domainobjs_ts.PrivKey.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.PCommand",permalink:"/docs/typedoc/classes/domainobjs_ts.PCommand"},next:{title:"domainobjs_ts.PubKey",permalink:"/docs/typedoc/classes/domainobjs_ts.PubKey"}},c={},o=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Constructors",id:"constructors",level:3},{value:"Properties",id:"properties",level:3},{value:"Methods",id:"methods",level:3},{value:"Constructors",id:"constructors-1",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties-1",level:2},{value:"rawPrivKey",id:"rawprivkey",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods-1",level:2},{value:"asCircuitInputs",id:"ascircuitinputs",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"copy",id:"copy",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"serialize",id:"serialize",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"toJSON",id:"tojson",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"deserialize",id:"deserialize",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"fromJSON",id:"fromjson",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"isValidSerializedPrivKey",id:"isvalidserializedprivkey",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-8",level:4}];function a(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,n.jsx)(i.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / PrivKey"]}),"\n",(0,n.jsx)(i.h1,{id:"class-privkey",children:"Class: PrivKey"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".PrivKey"]}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.strong,{children:(0,n.jsx)(i.code,{children:"Notice"})})}),"\n",(0,n.jsx)(i.p,{children:"PrivKey is a TS Class representing a MACI PrivateKey (on the jubjub curve)\nThis is a MACI private key, which is not to be\nconfused with an Ethereum private key.\nA serialized MACI private key is prefixed by 'macisk.'\nA raw MACI private key can be thought as a point on the baby jubjub curve"}),"\n",(0,n.jsx)(i.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,n.jsx)(i.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#constructor",children:"constructor"})}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#rawprivkey",children:"rawPrivKey"})}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"methods",children:"Methods"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#ascircuitinputs",children:"asCircuitInputs"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#copy",children:"copy"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#serialize",children:"serialize"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#tojson",children:"toJSON"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#deserialize",children:"deserialize"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#fromjson",children:"fromJSON"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey#isvalidserializedprivkey",children:"isValidSerializedPrivKey"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"constructors-1",children:"Constructors"}),"\n",(0,n.jsx)(i.h3,{id:"constructor",children:"constructor"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"new PrivKey"}),"(",(0,n.jsx)(i.code,{children:"rawPrivKey"}),"): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Generate a new Private key object"}),"\n",(0,n.jsx)(i.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(i.tbody,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"rawPrivKey"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"SnarkBigNumber"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"the raw private key (a bigint)"})]})})]}),"\n",(0,n.jsx)(i.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})}),"\n",(0,n.jsx)(i.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L21",children:"domainobjs/ts/privateKey.ts:21"})}),"\n",(0,n.jsx)(i.h2,{id:"properties-1",children:"Properties"}),"\n",(0,n.jsx)(i.h3,{id:"rawprivkey",children:"rawPrivKey"}),"\n",(0,n.jsxs)(i.p,{children:["\u2022 ",(0,n.jsx)(i.strong,{children:"rawPrivKey"}),": ",(0,n.jsx)(i.code,{children:"SnarkBigNumber"})]}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L15",children:"domainobjs/ts/privateKey.ts:15"})}),"\n",(0,n.jsx)(i.h2,{id:"methods-1",children:"Methods"}),"\n",(0,n.jsx)(i.h3,{id:"ascircuitinputs",children:"asCircuitInputs"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"asCircuitInputs"}),"(): ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.p,{children:"Return this Private key as a circuit input"}),"\n",(0,n.jsx)(i.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.p,{children:"the Private key as a circuit input"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L35",children:"domainobjs/ts/privateKey.ts:35"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"copy",children:"copy"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"copy"}),"(): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Create a copy of this Private key"}),"\n",(0,n.jsx)(i.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})}),"\n",(0,n.jsx)(i.p,{children:"a copy of the Private key"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L29",children:"domainobjs/ts/privateKey.ts:29"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"serialize",children:"serialize"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"serialize"}),"(): ",(0,n.jsx)(i.code,{children:"string"})]}),"\n",(0,n.jsx)(i.p,{children:"Serialize the private key"}),"\n",(0,n.jsx)(i.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.p,{children:"the serialized private key"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L41",children:"domainobjs/ts/privateKey.ts:41"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"tojson",children:"toJSON"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"toJSON"}),"(): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonprivatekey",children:(0,n.jsx)(i.code,{children:"IJsonPrivateKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Serialize this object"}),"\n",(0,n.jsx)(i.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonprivatekey",children:(0,n.jsx)(i.code,{children:"IJsonPrivateKey"})})}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L80",children:"domainobjs/ts/privateKey.ts:80"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"deserialize",children:"deserialize"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"deserialize"}),"(",(0,n.jsx)(i.code,{children:"s"}),"): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Deserialize the private key"}),"\n",(0,n.jsx)(i.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(i.tbody,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"s"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"string"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"the serialized private key"})]})})]}),"\n",(0,n.jsx)(i.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})}),"\n",(0,n.jsx)(i.p,{children:"the deserialized private key"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L55",children:"domainobjs/ts/privateKey.ts:55"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"fromjson",children:"fromJSON"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"fromJSON"}),"(",(0,n.jsx)(i.code,{children:"json"}),"): ",(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})]}),"\n",(0,n.jsx)(i.p,{children:"Deserialize this object from a JSON object"}),"\n",(0,n.jsx)(i.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(i.tbody,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"json"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/docs/typedoc/modules/domainobjs_ts#ijsonprivatekey",children:(0,n.jsx)(i.code,{children:"IJsonPrivateKey"})})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"the json object"})]})})]}),"\n",(0,n.jsx)(i.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/docs/typedoc/classes/domainobjs_ts.PrivKey",children:(0,n.jsx)(i.code,{children:"PrivKey"})})}),"\n",(0,n.jsx)(i.p,{children:"the deserialized object as a PrivKey instance"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L91",children:"domainobjs/ts/privateKey.ts:91"})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"isvalidserializedprivkey",children:"isValidSerializedPrivKey"}),"\n",(0,n.jsxs)(i.p,{children:["\u25b8 ",(0,n.jsx)(i.strong,{children:"isValidSerializedPrivKey"}),"(",(0,n.jsx)(i.code,{children:"s"}),"): ",(0,n.jsx)(i.code,{children:"boolean"})]}),"\n",(0,n.jsx)(i.p,{children:"Check if the serialized private key is valid"}),"\n",(0,n.jsx)(i.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(i.tbody,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"s"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"string"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"the serialized private key"})]})})]}),"\n",(0,n.jsx)(i.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"boolean"})}),"\n",(0,n.jsx)(i.p,{children:"whether it is a valid serialized private key"}),"\n",(0,n.jsx)(i.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/privateKey.ts#L65",children:"domainobjs/ts/privateKey.ts:65"})})]})}function h(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},2459:(e,i,s)=>{s.d(i,{Z:()=>l,a:()=>d});var n=s(79);const r={},t=n.createContext(r);function d(e){const i=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),n.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e6ea1a33.6c44a436.js b/assets/js/e6ea1a33.92f76f2f.js similarity index 97% rename from assets/js/e6ea1a33.6c44a436.js rename to assets/js/e6ea1a33.92f76f2f.js index 7865df6a70..42372946a2 100644 --- a/assets/js/e6ea1a33.6c44a436.js +++ b/assets/js/e6ea1a33.92f76f2f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9278],{6531:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=n(5250),s=n(2459);const i={},c="Interface: Signature",o={id:"typedoc/interfaces/crypto_ts.Signature",title:"crypto_ts.Signature",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / Signature",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Signature.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/crypto_ts.Signature",permalink:"/docs/typedoc/interfaces/crypto_ts.Signature",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Signature.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.Queue",permalink:"/docs/typedoc/interfaces/crypto_ts.Queue"},next:{title:"domainobjs_ts.ICommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.ICommand"}},d={},l=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"R8",id:"r8",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"S",id:"s",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,r.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / Signature"]}),"\n",(0,r.jsx)(t.h1,{id:"interface-signaturen",children:"Interface: Signature"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".Signature"]}),"\n",(0,r.jsx)(t.h2,{id:"type-parameters",children:"Type parameters"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"N"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"SnarkBigNumber"})})]})})]}),"\n",(0,r.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,r.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Signature#r8",children:"R8"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Signature#s",children:"S"})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,r.jsx)(t.h3,{id:"r8",children:"R8"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"R8"}),": ",(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts#point",children:(0,r.jsx)(t.code,{children:"Point"})}),"<",(0,r.jsx)(t.code,{children:"N"}),">"]}),"\n",(0,r.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L45",children:"crypto/ts/types.ts:45"})}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"s",children:"S"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"S"}),": ",(0,r.jsx)(t.code,{children:"N"})]}),"\n",(0,r.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/crypto/ts/types.ts#L46",children:"crypto/ts/types.ts:46"})})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>c});var r=n(79);const s={},i=r.createContext(s);function c(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9278],{6531:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=n(5250),s=n(2459);const i={},c="Interface: Signature",o={id:"typedoc/interfaces/crypto_ts.Signature",title:"crypto_ts.Signature",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / crypto/ts / Signature",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Signature.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/crypto_ts.Signature",permalink:"/docs/typedoc/interfaces/crypto_ts.Signature",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/crypto_ts.Signature.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"crypto_ts.Queue",permalink:"/docs/typedoc/interfaces/crypto_ts.Queue"},next:{title:"domainobjs_ts.ICommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.ICommand"}},d={},l=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"R8",id:"r8",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"S",id:"s",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,r.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"})," / Signature"]}),"\n",(0,r.jsx)(t.h1,{id:"interface-signaturen",children:"Interface: Signature"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts",children:"crypto/ts"}),".Signature"]}),"\n",(0,r.jsx)(t.h2,{id:"type-parameters",children:"Type parameters"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"N"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"SnarkBigNumber"})})]})})]}),"\n",(0,r.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,r.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Signature#r8",children:"R8"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/crypto_ts.Signature#s",children:"S"})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,r.jsx)(t.h3,{id:"r8",children:"R8"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"R8"}),": ",(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/crypto_ts#point",children:(0,r.jsx)(t.code,{children:"Point"})}),"<",(0,r.jsx)(t.code,{children:"N"}),">"]}),"\n",(0,r.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L45",children:"crypto/ts/types.ts:45"})}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"s",children:"S"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"S"}),": ",(0,r.jsx)(t.code,{children:"N"})]}),"\n",(0,r.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/crypto/ts/types.ts#L46",children:"crypto/ts/types.ts:46"})})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},2459:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>c});var r=n(79);const s={},i=r.createContext(s);function c(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/efda7701.f9f74ebd.js b/assets/js/efda7701.4b285b0f.js similarity index 90% rename from assets/js/efda7701.f9f74ebd.js rename to assets/js/efda7701.4b285b0f.js index 21bed96e92..3c82f97f5a 100644 --- a/assets/js/efda7701.f9f74ebd.js +++ b/assets/js/efda7701.4b285b0f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8957],{6938:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>t,metadata:()=>d,toc:()=>c});var i=s(5250),o=s(2459);const t={},r="Interface: IJsonKeyPair",d={id:"typedoc/interfaces/domainobjs_ts.IJsonKeyPair",title:"domainobjs_ts.IJsonKeyPair",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonKeyPair",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonKeyPair.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonKeyPair.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand"},next:{title:"domainobjs_ts.IJsonPCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand"}},a={},c=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"privKey",id:"privkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonKeyPair"]}),"\n",(0,i.jsx)(n.h1,{id:"interface-ijsonkeypair",children:"Interface: IJsonKeyPair"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonKeyPair"]}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair#privkey",children:"privKey"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair#pubkey",children:"pubKey"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"privkey",children:"privKey"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"privKey"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L29",children:"domainobjs/ts/types.ts:29"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"pubKey"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/domainobjs/ts/types.ts#L30",children:"domainobjs/ts/types.ts:30"})})]})}function p(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>d,a:()=>r});var i=s(79);const o={},t=i.createContext(o);function r(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8957],{6938:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>t,metadata:()=>d,toc:()=>a});var i=s(5250),o=s(2459);const t={},r="Interface: IJsonKeyPair",d={id:"typedoc/interfaces/domainobjs_ts.IJsonKeyPair",title:"domainobjs_ts.IJsonKeyPair",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / domainobjs/ts / IJsonKeyPair",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonKeyPair.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/domainobjs_ts.IJsonKeyPair.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.IJsonCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand"},next:{title:"domainobjs_ts.IJsonPCommand",permalink:"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand"}},c={},a=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"privKey",id:"privkey",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"pubKey",id:"pubkey",level:3},{value:"Defined in",id:"defined-in-1",level:4}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"})," / IJsonKeyPair"]}),"\n",(0,i.jsx)(n.h1,{id:"interface-ijsonkeypair",children:"Interface: IJsonKeyPair"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/typedoc/modules/domainobjs_ts",children:"domainobjs/ts"}),".IJsonKeyPair"]}),"\n",(0,i.jsx)(n.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,i.jsx)(n.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair#privkey",children:"privKey"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair#pubkey",children:"pubKey"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties-1",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"privkey",children:"privKey"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"privKey"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L29",children:"domainobjs/ts/types.ts:29"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"pubkey",children:"pubKey"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"pubKey"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n",(0,i.jsx)(n.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/domainobjs/ts/types.ts#L30",children:"domainobjs/ts/types.ts:30"})})]})}function p(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>d,a:()=>r});var i=s(79);const o={},t=i.createContext(o);function r(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f0ff8b43.d6e4fa5d.js b/assets/js/f0ff8b43.812ff905.js similarity index 98% rename from assets/js/f0ff8b43.d6e4fa5d.js rename to assets/js/f0ff8b43.812ff905.js index 49b333307f..c2f7e80288 100644 --- a/assets/js/f0ff8b43.d6e4fa5d.js +++ b/assets/js/f0ff8b43.812ff905.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3024],{4739:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>j,frontMatter:()=>n,metadata:()=>r,toc:()=>h});var d=l(5250),s=l(2459);const n={},i="Module: cli/ts",r={id:"typedoc/modules/cli_ts",title:"cli_ts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / cli/ts",source:"@site/versioned_docs/version-v1.x/typedoc/modules/cli_ts.md",sourceDirName:"typedoc/modules",slug:"/typedoc/modules/cli_ts",permalink:"/docs/typedoc/modules/cli_ts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/modules/cli_ts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.VoteOptionTreeLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf"},next:{title:"core_ts",permalink:"/docs/typedoc/modules/core_ts"}},c={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Interfaces",id:"interfaces",level:3},{value:"Functions",id:"functions",level:3},{value:"Functions",id:"functions-1",level:2},{value:"airdrop",id:"airdrop",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"checkVerifyingKeys",id:"checkverifyingkeys",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"deploy",id:"deploy",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"deployPoll",id:"deploypoll",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"deployVkRegistryContract",id:"deployvkregistrycontract",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"fundWallet",id:"fundwallet",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"genKeyPair",id:"genkeypair",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"genMaciPubKey",id:"genmacipubkey",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"genProofs",id:"genproofs",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"mergeMessages",id:"mergemessages",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"mergeSignups",id:"mergesignups",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"proveOnChain",id:"proveonchain",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"publish",id:"publish",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"setVerifyingKeys",id:"setverifyingkeys",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"signup",id:"signup",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"timeTravel",id:"timetravel",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"topup",id:"topup",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"verify",id:"verify",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-17",level:4}];function x(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / cli/ts"]}),"\n",(0,d.jsx)(t.h1,{id:"module-clits",children:"Module: cli/ts"}),"\n",(0,d.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(t.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,d.jsxs)(t.ul,{children:["\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts",children:"DeployedContracts"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts",children:"PollContracts"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData",children:"TallyData"})}),"\n"]}),"\n",(0,d.jsx)(t.h3,{id:"functions",children:"Functions"}),"\n",(0,d.jsxs)(t.ul,{children:["\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#airdrop",children:"airdrop"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#checkverifyingkeys",children:"checkVerifyingKeys"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#deploy",children:"deploy"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#deploypoll",children:"deployPoll"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#deployvkregistrycontract",children:"deployVkRegistryContract"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#fundwallet",children:"fundWallet"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#genkeypair",children:"genKeyPair"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#genmacipubkey",children:"genMaciPubKey"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#genproofs",children:"genProofs"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#mergemessages",children:"mergeMessages"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#mergesignups",children:"mergeSignups"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#proveonchain",children:"proveOnChain"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#publish",children:"publish"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#setverifyingkeys",children:"setVerifyingKeys"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#signup",children:"signup"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#timetravel",children:"timeTravel"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#topup",children:"topup"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#verify",children:"verify"})}),"\n"]}),"\n",(0,d.jsx)(t.h2,{id:"functions-1",children:"Functions"}),"\n",(0,d.jsx)(t.h3,{id:"airdrop",children:"airdrop"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"airdrop"}),"(",(0,d.jsx)(t.code,{children:"amount"}),", ",(0,d.jsx)(t.code,{children:"contractAddress?"}),", ",(0,d.jsx)(t.code,{children:"pollId?"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Utility that can be used to get\ntopup credits aidropped\nto the coordinator"}),"\n",(0,d.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"amount"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the amount of credits to airdrop"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"contractAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the ERC20 contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/airdrop.ts#L19",children:"cli/ts/commands/airdrop.ts:19"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"checkverifyingkeys",children:"checkVerifyingKeys"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"checkVerifyingKeys"}),"(",(0,d.jsx)(t.code,{children:"stateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"intStateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageBatchDepth"}),", ",(0,d.jsx)(t.code,{children:"processMessagesZkeyPath"}),", ",(0,d.jsx)(t.code,{children:"tallyVotesZkeyPath"}),", ",(0,d.jsx)(t.code,{children:"vkRegistry?"}),", ",(0,d.jsx)(t.code,{children:"subsidyZkeyPath?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"boolean"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Command to confirm that the verifying keys in the contract match the\nlocal ones"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"intStateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state subtree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the vote option tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageBatchDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message batch tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processMessagesZkeyPath"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process messages zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyVotesZkeyPath"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally votes zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"vkRegistry?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the VkRegistry contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyZkeyPath?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"-"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"boolean"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"whether the verifying keys match or not"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/checkVerifyingKeys.ts#L35",children:"cli/ts/commands/checkVerifyingKeys.ts:35"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"deploy",children:"deploy"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"deploy"}),"(",(0,d.jsx)(t.code,{children:"stateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"initialVoiceCredits?"}),", ",(0,d.jsx)(t.code,{children:"initialVoiceCreditsProxyAddress?"}),", ",(0,d.jsx)(t.code,{children:"signupGatekeeperAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts",children:(0,d.jsx)(t.code,{children:"DeployedContracts"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Deploy MACI and related contracts"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"initialVoiceCredits?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the initial voice credits to be minted"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"initialVoiceCreditsProxyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the initialVoiceCreditsProxy contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"signupGatekeeperAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the signupGatekeeper contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts",children:(0,d.jsx)(t.code,{children:"DeployedContracts"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the addresses of the deployed contracts"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/deploy.ts#L24",children:"cli/ts/commands/deploy.ts:24"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"deploypoll",children:"deployPoll"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"deployPoll"}),"(",(0,d.jsx)(t.code,{children:"pollDuration"}),", ",(0,d.jsx)(t.code,{children:"maxMessages"}),", ",(0,d.jsx)(t.code,{children:"maxVoteOptions"}),", ",(0,d.jsx)(t.code,{children:"intStateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageTreeSubDepth"}),", ",(0,d.jsx)(t.code,{children:"messageTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"coordinatorPubkey"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"vkRegistryAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts",children:(0,d.jsx)(t.code,{children:"PollContracts"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Deploy a new Poll for the set of MACI's contracts already deployed"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollDuration"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the duration of the poll in seconds"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maxMessages"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the maximum number of messages that can be submitted"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maxVoteOptions"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the maximum number of vote options"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"intStateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the intermediate state tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageTreeSubDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message tree sublevels"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the vote option tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"coordinatorPubkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the coordinator's public key"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the MACI contract address"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"vkRegistryAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the vkRegistry contract address"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output to the console"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-3",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts",children:(0,d.jsx)(t.code,{children:"PollContracts"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the addresses of the deployed contracts"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/deployPoll.ts#L34",children:"cli/ts/commands/deployPoll.ts:34"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"deployvkregistrycontract",children:"deployVkRegistryContract"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"deployVkRegistryContract"}),"(",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Deploy the vkRegistry contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to print the contract address"})]})})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-4",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/deployVkRegistry.ts#L14",children:"cli/ts/commands/deployVkRegistry.ts:14"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"fundwallet",children:"fundWallet"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"fundWallet"}),"(",(0,d.jsx)(t.code,{children:"amount"}),", ",(0,d.jsx)(t.code,{children:"address"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Fund a new wallet with Ether"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"amount"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the amount of Ether to send"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"address"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the wallet to fund"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-5",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/fundWallet.ts#L11",children:"cli/ts/commands/fundWallet.ts:11"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"genkeypair",children:"genKeyPair"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"genKeyPair"}),"(",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Object"})]}),"\n",(0,d.jsx)(t.p,{children:"Generate a new Maci Key Pair\nand print it to the screen"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-6",children:"Returns"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.code,{children:"Object"})}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"privateKey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"publicKey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/genKeyPair.ts#L11",children:"cli/ts/commands/genKeyPair.ts:11"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"genmacipubkey",children:"genMaciPubKey"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"genMaciPubKey"}),"(",(0,d.jsx)(t.code,{children:"privkey"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"string"})]}),"\n",(0,d.jsx)(t.p,{children:"Generate a new Maci Public key from a private key"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"privkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"-"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-7",children:"Returns"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.code,{children:"string"})}),"\n",(0,d.jsx)(t.p,{children:"the public key serialized"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/genPubKey.ts#L13",children:"cli/ts/commands/genPubKey.ts:13"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"genproofs",children:"genProofs"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"genProofs"}),"(",(0,d.jsx)(t.code,{children:"outputDir"}),", ",(0,d.jsx)(t.code,{children:"tallyFile"}),", ",(0,d.jsx)(t.code,{children:"tallyZkey"}),", ",(0,d.jsx)(t.code,{children:"processZkey"}),", ",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"subsidyFile?"}),", ",(0,d.jsx)(t.code,{children:"subsidyZkey?"}),", ",(0,d.jsx)(t.code,{children:"rapidsnark?"}),", ",(0,d.jsx)(t.code,{children:"processWitgen?"}),", ",(0,d.jsx)(t.code,{children:"tallyWitgen?"}),", ",(0,d.jsx)(t.code,{children:"subsidyWitgen?"}),", ",(0,d.jsx)(t.code,{children:"coordinatorPrivKey?"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"transactionHash?"}),", ",(0,d.jsx)(t.code,{children:"processWasm?"}),", ",(0,d.jsx)(t.code,{children:"tallyWasm?"}),", ",(0,d.jsx)(t.code,{children:"subsidyWasm?"}),", ",(0,d.jsx)(t.code,{children:"useWasm?"}),", ",(0,d.jsx)(t.code,{children:"stateFile?"}),", ",(0,d.jsx)(t.code,{children:"startBlock?"}),", ",(0,d.jsx)(t.code,{children:"blocksPerBatch?"}),", ",(0,d.jsx)(t.code,{children:"endBlock?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData",children:(0,d.jsx)(t.code,{children:"TallyData"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Generate proofs for the message processing, tally and subsidy calculations"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"outputDir"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the directory to store the proofs"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyFile"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the file to store the tally proof"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyZkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally zkey file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processZkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process zkey file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyFile?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the file to store the subsidy proof"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyZkey?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy zkey file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"rapidsnark?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the rapidsnark binary"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processWitgen?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process witnessgen binary"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyWitgen?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally witnessgen binary"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyWitgen?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy witnessgen binary"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"coordinatorPrivKey?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the coordinator's private key"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"transactionHash?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the transaction hash of the first transaction"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processWasm?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process wasm file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyWasm?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally wasm file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyWasm?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy wasm file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"useWasm?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to use wasm or rapidsnark"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateFile?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the file with the serialized maci state"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"startBlock?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the block number to start fetching logs from"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"blocksPerBatch?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the number of blocks to fetch logs from"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"endBlock?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the block number to stop fetching logs from"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-8",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData",children:(0,d.jsx)(t.code,{children:"TallyData"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the tally data"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/genProofs.ts#L63",children:"cli/ts/commands/genProofs.ts:63"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"mergemessages",children:"mergeMessages"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"mergeMessages"}),"(",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"maciContractAddress?"}),", ",(0,d.jsx)(t.code,{children:"numQueueOps?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Merge the message queue on chain"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciContractAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"numQueueOps?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the number of queue operations to merge"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-9",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/mergeMessages.ts#L24",children:"cli/ts/commands/mergeMessages.ts:24"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"mergesignups",children:"mergeSignups"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"mergeSignups"}),"(",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"maciContractAddress?"}),", ",(0,d.jsx)(t.code,{children:"numQueueOps?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Command to merge the signups of a MACI contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciContractAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"numQueueOps?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the number of queue operations to perform"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-10",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/mergeSignups.ts#L24",children:"cli/ts/commands/mergeSignups.ts:24"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"proveonchain",children:"proveOnChain"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"proveOnChain"}),"(",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"proofDir"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"messageProcessorAddress?"}),", ",(0,d.jsx)(t.code,{children:"tallyAddress?"}),", ",(0,d.jsx)(t.code,{children:"subsidyAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Command to prove the result of a poll on-chain"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"proofDir"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the directory containing the proofs"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageProcessorAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MessageProcessor contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the Tally contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the Subsidy contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-11",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/proveOnChain.ts#L48",children:"cli/ts/commands/proveOnChain.ts:48"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"publish",children:"publish"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"publish"}),"(",(0,d.jsx)(t.code,{children:"pubkey"}),", ",(0,d.jsx)(t.code,{children:"stateIndex"}),", ",(0,d.jsx)(t.code,{children:"voteOptionIndex"}),", ",(0,d.jsx)(t.code,{children:"nonce"}),", ",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"newVoteWeight"}),", ",(0,d.jsx)(t.code,{children:"maciContractAddress?"}),", ",(0,d.jsx)(t.code,{children:"salt?"}),", ",(0,d.jsx)(t.code,{children:"privateKey?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Publish a new message to a MACI Poll contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pubkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the public key of the user"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateIndex"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the index of the state leaf"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"voteOptionIndex"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the index of the vote option"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"nonce"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the nonce of the message"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"newVoteWeight"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the new vote weight"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciContractAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"salt?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the salt of the message"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"privateKey?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the private key of the user"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-12",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the ephemeral private key used to encrypt the message"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/publish.ts#L27",children:"cli/ts/commands/publish.ts:27"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"setverifyingkeys",children:"setVerifyingKeys"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"setVerifyingKeys"}),"(",(0,d.jsx)(t.code,{children:"stateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"intStateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageBatchDepth"}),", ",(0,d.jsx)(t.code,{children:"processMessagesZkeyPath"}),", ",(0,d.jsx)(t.code,{children:"tallyVotesZkeyPath"}),", ",(0,d.jsx)(t.code,{children:"vkRegistry?"}),", ",(0,d.jsx)(t.code,{children:"subsidyZkeyPath?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Function that sets the verifying keys in the VkRegistry contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"intStateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state subtree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the vote option tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageBatchDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message batch tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processMessagesZkeyPath"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process messages zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyVotesZkeyPath"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally votes zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"vkRegistry?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the vkRegistry contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyZkeyPath?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-13",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/setVerifyingKeys.ts#L28",children:"cli/ts/commands/setVerifyingKeys.ts:28"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"signup",children:"signup"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"signup"}),"(",(0,d.jsx)(t.code,{children:"maciPubKey"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"sgDataArg?"}),", ",(0,d.jsx)(t.code,{children:"ivcpDataArg?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Signup a user to the MACI contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciPubKey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the public key of the user"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"sgDataArg?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the signup gateway data"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"ivcpDataArg?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the initial voice credit proxy data"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-14",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the state index of the user"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/signup.ts#L20",children:"cli/ts/commands/signup.ts:20"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"timetravel",children:"timeTravel"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"timeTravel"}),"(",(0,d.jsx)(t.code,{children:"seconds"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Utility to travel in time when using a local blockchain"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"seconds"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the number of seconds to travel in time"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-15",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/timeTravel.ts#L13",children:"cli/ts/commands/timeTravel.ts:13"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"topup",children:"topup"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"topup"}),"(",(0,d.jsx)(t.code,{children:"amount"}),", ",(0,d.jsx)(t.code,{children:"stateIndex"}),", ",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Publish a topup message"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"amount"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the amount to topup"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateIndex"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the state index of the user"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the poll ID"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-16",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/topup.ts#L17",children:"cli/ts/commands/topup.ts:17"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"verify",children:"verify"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"verify"}),"(",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"tallyFile?"}),", ",(0,d.jsx)(t.code,{children:"tallyData?"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"tallyAddress?"}),", ",(0,d.jsx)(t.code,{children:"subsidyAddress?"}),", ",(0,d.jsx)(t.code,{children:"subsidyFile?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Verify the results of a poll and optionally the subsidy results"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyFile?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyData?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData",children:(0,d.jsx)(t.code,{children:"TallyData"})})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"-"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the Tally contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the Subsidy contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyFile?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-17",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/cli/ts/commands/verify.ts#L22",children:"cli/ts/commands/verify.ts:22"})})]})}function j(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,d.jsx)(t,{...e,children:(0,d.jsx)(x,{...e})}):x(e)}},2459:(e,t,l)=>{l.d(t,{Z:()=>r,a:()=>i});var d=l(79);const s={},n=d.createContext(s);function i(e){const t=d.useContext(n);return d.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),d.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3024],{4739:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>j,frontMatter:()=>n,metadata:()=>r,toc:()=>h});var d=l(5250),s=l(2459);const n={},i="Module: cli/ts",r={id:"typedoc/modules/cli_ts",title:"cli_ts",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / cli/ts",source:"@site/versioned_docs/version-v1.x/typedoc/modules/cli_ts.md",sourceDirName:"typedoc/modules",slug:"/typedoc/modules/cli_ts",permalink:"/docs/typedoc/modules/cli_ts",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/modules/cli_ts.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"domainobjs_ts.VoteOptionTreeLeaf",permalink:"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf"},next:{title:"core_ts",permalink:"/docs/typedoc/modules/core_ts"}},c={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Interfaces",id:"interfaces",level:3},{value:"Functions",id:"functions",level:3},{value:"Functions",id:"functions-1",level:2},{value:"airdrop",id:"airdrop",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"checkVerifyingKeys",id:"checkverifyingkeys",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"deploy",id:"deploy",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"deployPoll",id:"deploypoll",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"deployVkRegistryContract",id:"deployvkregistrycontract",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"fundWallet",id:"fundwallet",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"genKeyPair",id:"genkeypair",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"genMaciPubKey",id:"genmacipubkey",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"genProofs",id:"genproofs",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"mergeMessages",id:"mergemessages",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"mergeSignups",id:"mergesignups",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"proveOnChain",id:"proveonchain",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"publish",id:"publish",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"setVerifyingKeys",id:"setverifyingkeys",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"signup",id:"signup",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"timeTravel",id:"timetravel",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"topup",id:"topup",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"verify",id:"verify",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-17",level:4}];function x(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,d.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / cli/ts"]}),"\n",(0,d.jsx)(t.h1,{id:"module-clits",children:"Module: cli/ts"}),"\n",(0,d.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,d.jsx)(t.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,d.jsxs)(t.ul,{children:["\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts",children:"DeployedContracts"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts",children:"PollContracts"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData",children:"TallyData"})}),"\n"]}),"\n",(0,d.jsx)(t.h3,{id:"functions",children:"Functions"}),"\n",(0,d.jsxs)(t.ul,{children:["\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#airdrop",children:"airdrop"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#checkverifyingkeys",children:"checkVerifyingKeys"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#deploy",children:"deploy"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#deploypoll",children:"deployPoll"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#deployvkregistrycontract",children:"deployVkRegistryContract"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#fundwallet",children:"fundWallet"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#genkeypair",children:"genKeyPair"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#genmacipubkey",children:"genMaciPubKey"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#genproofs",children:"genProofs"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#mergemessages",children:"mergeMessages"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#mergesignups",children:"mergeSignups"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#proveonchain",children:"proveOnChain"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#publish",children:"publish"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#setverifyingkeys",children:"setVerifyingKeys"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#signup",children:"signup"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#timetravel",children:"timeTravel"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#topup",children:"topup"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.a,{href:"/docs/typedoc/modules/cli_ts#verify",children:"verify"})}),"\n"]}),"\n",(0,d.jsx)(t.h2,{id:"functions-1",children:"Functions"}),"\n",(0,d.jsx)(t.h3,{id:"airdrop",children:"airdrop"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"airdrop"}),"(",(0,d.jsx)(t.code,{children:"amount"}),", ",(0,d.jsx)(t.code,{children:"contractAddress?"}),", ",(0,d.jsx)(t.code,{children:"pollId?"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Utility that can be used to get\ntopup credits aidropped\nto the coordinator"}),"\n",(0,d.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"amount"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the amount of credits to airdrop"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"contractAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the ERC20 contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/airdrop.ts#L19",children:"cli/ts/commands/airdrop.ts:19"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"checkverifyingkeys",children:"checkVerifyingKeys"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"checkVerifyingKeys"}),"(",(0,d.jsx)(t.code,{children:"stateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"intStateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageBatchDepth"}),", ",(0,d.jsx)(t.code,{children:"processMessagesZkeyPath"}),", ",(0,d.jsx)(t.code,{children:"tallyVotesZkeyPath"}),", ",(0,d.jsx)(t.code,{children:"vkRegistry?"}),", ",(0,d.jsx)(t.code,{children:"subsidyZkeyPath?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"boolean"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Command to confirm that the verifying keys in the contract match the\nlocal ones"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"intStateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state subtree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the vote option tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageBatchDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message batch tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processMessagesZkeyPath"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process messages zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyVotesZkeyPath"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally votes zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"vkRegistry?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the VkRegistry contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyZkeyPath?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"-"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"boolean"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"whether the verifying keys match or not"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/checkVerifyingKeys.ts#L35",children:"cli/ts/commands/checkVerifyingKeys.ts:35"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"deploy",children:"deploy"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"deploy"}),"(",(0,d.jsx)(t.code,{children:"stateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"initialVoiceCredits?"}),", ",(0,d.jsx)(t.code,{children:"initialVoiceCreditsProxyAddress?"}),", ",(0,d.jsx)(t.code,{children:"signupGatekeeperAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts",children:(0,d.jsx)(t.code,{children:"DeployedContracts"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Deploy MACI and related contracts"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"initialVoiceCredits?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the initial voice credits to be minted"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"initialVoiceCreditsProxyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the initialVoiceCreditsProxy contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"signupGatekeeperAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the signupGatekeeper contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-2",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.DeployedContracts",children:(0,d.jsx)(t.code,{children:"DeployedContracts"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the addresses of the deployed contracts"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/deploy.ts#L24",children:"cli/ts/commands/deploy.ts:24"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"deploypoll",children:"deployPoll"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"deployPoll"}),"(",(0,d.jsx)(t.code,{children:"pollDuration"}),", ",(0,d.jsx)(t.code,{children:"maxMessages"}),", ",(0,d.jsx)(t.code,{children:"maxVoteOptions"}),", ",(0,d.jsx)(t.code,{children:"intStateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageTreeSubDepth"}),", ",(0,d.jsx)(t.code,{children:"messageTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"coordinatorPubkey"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"vkRegistryAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts",children:(0,d.jsx)(t.code,{children:"PollContracts"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Deploy a new Poll for the set of MACI's contracts already deployed"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollDuration"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the duration of the poll in seconds"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maxMessages"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the maximum number of messages that can be submitted"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maxVoteOptions"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the maximum number of vote options"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"intStateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the intermediate state tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageTreeSubDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message tree sublevels"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the vote option tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"coordinatorPubkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the coordinator's public key"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the MACI contract address"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"vkRegistryAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the vkRegistry contract address"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output to the console"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-3",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.PollContracts",children:(0,d.jsx)(t.code,{children:"PollContracts"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the addresses of the deployed contracts"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/deployPoll.ts#L34",children:"cli/ts/commands/deployPoll.ts:34"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"deployvkregistrycontract",children:"deployVkRegistryContract"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"deployVkRegistryContract"}),"(",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Deploy the vkRegistry contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to print the contract address"})]})})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-4",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-4",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/deployVkRegistry.ts#L14",children:"cli/ts/commands/deployVkRegistry.ts:14"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"fundwallet",children:"fundWallet"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"fundWallet"}),"(",(0,d.jsx)(t.code,{children:"amount"}),", ",(0,d.jsx)(t.code,{children:"address"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Fund a new wallet with Ether"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"amount"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the amount of Ether to send"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"address"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the wallet to fund"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-5",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-5",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/fundWallet.ts#L11",children:"cli/ts/commands/fundWallet.ts:11"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"genkeypair",children:"genKeyPair"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"genKeyPair"}),"(",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Object"})]}),"\n",(0,d.jsx)(t.p,{children:"Generate a new Maci Key Pair\nand print it to the screen"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-6",children:"Returns"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.code,{children:"Object"})}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"privateKey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"publicKey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-6",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/genKeyPair.ts#L11",children:"cli/ts/commands/genKeyPair.ts:11"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"genmacipubkey",children:"genMaciPubKey"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"genMaciPubKey"}),"(",(0,d.jsx)(t.code,{children:"privkey"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"string"})]}),"\n",(0,d.jsx)(t.p,{children:"Generate a new Maci Public key from a private key"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"privkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"-"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-7",children:"Returns"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.code,{children:"string"})}),"\n",(0,d.jsx)(t.p,{children:"the public key serialized"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-7",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/genPubKey.ts#L13",children:"cli/ts/commands/genPubKey.ts:13"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"genproofs",children:"genProofs"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"genProofs"}),"(",(0,d.jsx)(t.code,{children:"outputDir"}),", ",(0,d.jsx)(t.code,{children:"tallyFile"}),", ",(0,d.jsx)(t.code,{children:"tallyZkey"}),", ",(0,d.jsx)(t.code,{children:"processZkey"}),", ",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"subsidyFile?"}),", ",(0,d.jsx)(t.code,{children:"subsidyZkey?"}),", ",(0,d.jsx)(t.code,{children:"rapidsnark?"}),", ",(0,d.jsx)(t.code,{children:"processWitgen?"}),", ",(0,d.jsx)(t.code,{children:"tallyWitgen?"}),", ",(0,d.jsx)(t.code,{children:"subsidyWitgen?"}),", ",(0,d.jsx)(t.code,{children:"coordinatorPrivKey?"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"transactionHash?"}),", ",(0,d.jsx)(t.code,{children:"processWasm?"}),", ",(0,d.jsx)(t.code,{children:"tallyWasm?"}),", ",(0,d.jsx)(t.code,{children:"subsidyWasm?"}),", ",(0,d.jsx)(t.code,{children:"useWasm?"}),", ",(0,d.jsx)(t.code,{children:"stateFile?"}),", ",(0,d.jsx)(t.code,{children:"startBlock?"}),", ",(0,d.jsx)(t.code,{children:"blocksPerBatch?"}),", ",(0,d.jsx)(t.code,{children:"endBlock?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData",children:(0,d.jsx)(t.code,{children:"TallyData"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Generate proofs for the message processing, tally and subsidy calculations"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"outputDir"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the directory to store the proofs"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyFile"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the file to store the tally proof"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyZkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally zkey file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processZkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process zkey file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyFile?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the file to store the subsidy proof"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyZkey?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy zkey file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"rapidsnark?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the rapidsnark binary"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processWitgen?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process witnessgen binary"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyWitgen?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally witnessgen binary"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyWitgen?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy witnessgen binary"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"coordinatorPrivKey?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the coordinator's private key"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"transactionHash?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the transaction hash of the first transaction"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processWasm?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process wasm file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyWasm?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally wasm file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyWasm?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy wasm file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"useWasm?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to use wasm or rapidsnark"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateFile?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the file with the serialized maci state"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"startBlock?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the block number to start fetching logs from"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"blocksPerBatch?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the number of blocks to fetch logs from"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"endBlock?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the block number to stop fetching logs from"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-8",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData",children:(0,d.jsx)(t.code,{children:"TallyData"})}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the tally data"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-8",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/genProofs.ts#L63",children:"cli/ts/commands/genProofs.ts:63"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"mergemessages",children:"mergeMessages"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"mergeMessages"}),"(",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"maciContractAddress?"}),", ",(0,d.jsx)(t.code,{children:"numQueueOps?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Merge the message queue on chain"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciContractAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"numQueueOps?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the number of queue operations to merge"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-9",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-9",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/mergeMessages.ts#L24",children:"cli/ts/commands/mergeMessages.ts:24"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"mergesignups",children:"mergeSignups"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"mergeSignups"}),"(",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"maciContractAddress?"}),", ",(0,d.jsx)(t.code,{children:"numQueueOps?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Command to merge the signups of a MACI contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciContractAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"numQueueOps?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the number of queue operations to perform"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-10",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-10",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/mergeSignups.ts#L24",children:"cli/ts/commands/mergeSignups.ts:24"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"proveonchain",children:"proveOnChain"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"proveOnChain"}),"(",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"proofDir"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"messageProcessorAddress?"}),", ",(0,d.jsx)(t.code,{children:"tallyAddress?"}),", ",(0,d.jsx)(t.code,{children:"subsidyAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Command to prove the result of a poll on-chain"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"proofDir"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the directory containing the proofs"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageProcessorAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MessageProcessor contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the Tally contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the Subsidy contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-11",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-11",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/proveOnChain.ts#L48",children:"cli/ts/commands/proveOnChain.ts:48"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"publish",children:"publish"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"publish"}),"(",(0,d.jsx)(t.code,{children:"pubkey"}),", ",(0,d.jsx)(t.code,{children:"stateIndex"}),", ",(0,d.jsx)(t.code,{children:"voteOptionIndex"}),", ",(0,d.jsx)(t.code,{children:"nonce"}),", ",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"newVoteWeight"}),", ",(0,d.jsx)(t.code,{children:"maciContractAddress?"}),", ",(0,d.jsx)(t.code,{children:"salt?"}),", ",(0,d.jsx)(t.code,{children:"privateKey?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Publish a new message to a MACI Poll contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pubkey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the public key of the user"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateIndex"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the index of the state leaf"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"voteOptionIndex"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the index of the vote option"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"nonce"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the nonce of the message"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"newVoteWeight"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the new vote weight"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciContractAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"salt?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the salt of the message"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"privateKey?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the private key of the user"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-12",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the ephemeral private key used to encrypt the message"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-12",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/publish.ts#L27",children:"cli/ts/commands/publish.ts:27"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"setverifyingkeys",children:"setVerifyingKeys"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"setVerifyingKeys"}),"(",(0,d.jsx)(t.code,{children:"stateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"intStateTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"}),", ",(0,d.jsx)(t.code,{children:"messageBatchDepth"}),", ",(0,d.jsx)(t.code,{children:"processMessagesZkeyPath"}),", ",(0,d.jsx)(t.code,{children:"tallyVotesZkeyPath"}),", ",(0,d.jsx)(t.code,{children:"vkRegistry?"}),", ",(0,d.jsx)(t.code,{children:"subsidyZkeyPath?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Function that sets the verifying keys in the VkRegistry contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"intStateTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the state subtree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"voteOptionTreeDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the vote option tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"messageBatchDepth"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the depth of the message batch tree"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"processMessagesZkeyPath"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the process messages zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyVotesZkeyPath"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally votes zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"vkRegistry?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the vkRegistry contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyZkeyPath?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy zkey"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-13",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-13",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/setVerifyingKeys.ts#L28",children:"cli/ts/commands/setVerifyingKeys.ts:28"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"signup",children:"signup"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"signup"}),"(",(0,d.jsx)(t.code,{children:"maciPubKey"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"sgDataArg?"}),", ",(0,d.jsx)(t.code,{children:"ivcpDataArg?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Signup a user to the MACI contract"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciPubKey"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the public key of the user"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"sgDataArg?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the signup gateway data"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"ivcpDataArg?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the initial voice credit proxy data"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-14",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"string"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"the state index of the user"}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-14",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/signup.ts#L20",children:"cli/ts/commands/signup.ts:20"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"timetravel",children:"timeTravel"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"timeTravel"}),"(",(0,d.jsx)(t.code,{children:"seconds"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Utility to travel in time when using a local blockchain"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"seconds"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the number of seconds to travel in time"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-15",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-15",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/timeTravel.ts#L13",children:"cli/ts/commands/timeTravel.ts:13"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"topup",children:"topup"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"topup"}),"(",(0,d.jsx)(t.code,{children:"amount"}),", ",(0,d.jsx)(t.code,{children:"stateIndex"}),", ",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Publish a topup message"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"amount"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the amount to topup"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"stateIndex"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the state index of the user"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"number"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the poll ID"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-16",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-16",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/topup.ts#L17",children:"cli/ts/commands/topup.ts:17"})}),"\n",(0,d.jsx)(t.hr,{}),"\n",(0,d.jsx)(t.h3,{id:"verify",children:"verify"}),"\n",(0,d.jsxs)(t.p,{children:["\u25b8 ",(0,d.jsx)(t.strong,{children:"verify"}),"(",(0,d.jsx)(t.code,{children:"pollId"}),", ",(0,d.jsx)(t.code,{children:"tallyFile?"}),", ",(0,d.jsx)(t.code,{children:"tallyData?"}),", ",(0,d.jsx)(t.code,{children:"maciAddress?"}),", ",(0,d.jsx)(t.code,{children:"tallyAddress?"}),", ",(0,d.jsx)(t.code,{children:"subsidyAddress?"}),", ",(0,d.jsx)(t.code,{children:"subsidyFile?"}),", ",(0,d.jsx)(t.code,{children:"quiet?"}),"): ",(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.p,{children:"Verify the results of a poll and optionally the subsidy results"}),"\n",(0,d.jsx)(t.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,d.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"pollId"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the id of the poll"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyFile?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the tally file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyData?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.a,{href:"/docs/typedoc/interfaces/cli_ts.TallyData",children:(0,d.jsx)(t.code,{children:"TallyData"})})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"-"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"maciAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the MACI contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"tallyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the Tally contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyAddress?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the address of the Subsidy contract"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"subsidyFile?"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"string"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"undefined"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"the path to the subsidy file"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"quiet"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"boolean"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:(0,d.jsx)(t.code,{children:"true"})}),(0,d.jsx)(t.td,{style:{textAlign:"left"},children:"whether to log the output"})]})]})]}),"\n",(0,d.jsx)(t.h4,{id:"returns-17",children:"Returns"}),"\n",(0,d.jsxs)(t.p,{children:[(0,d.jsx)(t.code,{children:"Promise"}),"<",(0,d.jsx)(t.code,{children:"void"}),">"]}),"\n",(0,d.jsx)(t.h4,{id:"defined-in-17",children:"Defined in"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/cli/ts/commands/verify.ts#L22",children:"cli/ts/commands/verify.ts:22"})})]})}function j(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,d.jsx)(t,{...e,children:(0,d.jsx)(x,{...e})}):x(e)}},2459:(e,t,l)=>{l.d(t,{Z:()=>r,a:()=>i});var d=l(79);const s={},n=d.createContext(s);function i(e){const t=d.useContext(n);return d.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),d.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f35d154d.de14a80f.js b/assets/js/f35d154d.ea28f59c.js similarity index 95% rename from assets/js/f35d154d.de14a80f.js rename to assets/js/f35d154d.ea28f59c.js index 34e2b0ba3b..44f9da8729 100644 --- a/assets/js/f35d154d.de14a80f.js +++ b/assets/js/f35d154d.ea28f59c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9895],{443:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>h});var r=s(5250),n=s(2459);const i={},c="Interface: TreeDepths",d={id:"typedoc/interfaces/core_ts.TreeDepths",title:"core_ts.TreeDepths",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / TreeDepths",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.TreeDepths.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.TreeDepths",permalink:"/docs/typedoc/interfaces/core_ts.TreeDepths",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.TreeDepths.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.MaxValues",permalink:"/docs/typedoc/interfaces/core_ts.MaxValues"},next:{title:"crypto_ts.Keypair",permalink:"/docs/typedoc/interfaces/crypto_ts.Keypair"}},o={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"intStateTreeDepth",id:"intstatetreedepth",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"messageTreeDepth",id:"messagetreedepth",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"messageTreeSubDepth",id:"messagetreesubdepth",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"voteOptionTreeDepth",id:"voteoptiontreedepth",level:3},{value:"Defined in",id:"defined-in-3",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,r.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / TreeDepths"]}),"\n",(0,r.jsx)(t.h1,{id:"interface-treedepths",children:"Interface: TreeDepths"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".TreeDepths"]}),"\n",(0,r.jsx)(t.p,{children:"This interface defines the tree depths."}),"\n",(0,r.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,r.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths#intstatetreedepth",children:"intStateTreeDepth"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths#messagetreedepth",children:"messageTreeDepth"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths#messagetreesubdepth",children:"messageTreeSubDepth"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths#voteoptiontreedepth",children:"voteOptionTreeDepth"})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,r.jsx)(t.h3,{id:"intstatetreedepth",children:"intStateTreeDepth"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"intStateTreeDepth"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n",(0,r.jsx)(t.p,{children:"The depth of the intermediate state tree."}),"\n",(0,r.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L32",children:"core/ts/utils/types.ts:32"})}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"messagetreedepth",children:"messageTreeDepth"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"messageTreeDepth"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n",(0,r.jsx)(t.p,{children:"The depth of the message tree."}),"\n",(0,r.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L33",children:"core/ts/utils/types.ts:33"})}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"messagetreesubdepth",children:"messageTreeSubDepth"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"messageTreeSubDepth"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n",(0,r.jsx)(t.p,{children:"The depth of the message tree sub."}),"\n",(0,r.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L34",children:"core/ts/utils/types.ts:34"})}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"voteoptiontreedepth",children:"voteOptionTreeDepth"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"voteOptionTreeDepth"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n",(0,r.jsx)(t.p,{children:"The depth of the vote option tree."}),"\n",(0,r.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/d0ee79a/core/ts/utils/types.ts#L35",children:"core/ts/utils/types.ts:35"})})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>d,a:()=>c});var r=s(79);const n={},i=r.createContext(n);function c(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9895],{443:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>h});var r=s(5250),n=s(2459);const i={},c="Interface: TreeDepths",d={id:"typedoc/interfaces/core_ts.TreeDepths",title:"core_ts.TreeDepths",description:"Minimal Anti Collusion Infrastructure (MACI) / Modules / core/ts / TreeDepths",source:"@site/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.TreeDepths.md",sourceDirName:"typedoc/interfaces",slug:"/typedoc/interfaces/core_ts.TreeDepths",permalink:"/docs/typedoc/interfaces/core_ts.TreeDepths",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/typedoc/interfaces/core_ts.TreeDepths.md",tags:[],version:"v1.x",frontMatter:{},sidebar:"version-1.x/mySidebar",previous:{title:"core_ts.MaxValues",permalink:"/docs/typedoc/interfaces/core_ts.MaxValues"},next:{title:"crypto_ts.Keypair",permalink:"/docs/typedoc/interfaces/crypto_ts.Keypair"}},o={},h=[{value:"Table of contents",id:"table-of-contents",level:2},{value:"Properties",id:"properties",level:3},{value:"Properties",id:"properties-1",level:2},{value:"intStateTreeDepth",id:"intstatetreedepth",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"messageTreeDepth",id:"messagetreedepth",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"messageTreeSubDepth",id:"messagetreesubdepth",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"voteOptionTreeDepth",id:"voteoptiontreedepth",level:3},{value:"Defined in",id:"defined-in-3",level:4}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/docs/introduction",children:"Minimal Anti Collusion Infrastructure (MACI)"})," / ",(0,r.jsx)(t.a,{href:"/docs/typedoc/",children:"Modules"})," / ",(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"})," / TreeDepths"]}),"\n",(0,r.jsx)(t.h1,{id:"interface-treedepths",children:"Interface: TreeDepths"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/docs/typedoc/modules/core_ts",children:"core/ts"}),".TreeDepths"]}),"\n",(0,r.jsx)(t.p,{children:"This interface defines the tree depths."}),"\n",(0,r.jsx)(t.h2,{id:"table-of-contents",children:"Table of contents"}),"\n",(0,r.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths#intstatetreedepth",children:"intStateTreeDepth"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths#messagetreedepth",children:"messageTreeDepth"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths#messagetreesubdepth",children:"messageTreeSubDepth"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/typedoc/interfaces/core_ts.TreeDepths#voteoptiontreedepth",children:"voteOptionTreeDepth"})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"properties-1",children:"Properties"}),"\n",(0,r.jsx)(t.h3,{id:"intstatetreedepth",children:"intStateTreeDepth"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"intStateTreeDepth"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n",(0,r.jsx)(t.p,{children:"The depth of the intermediate state tree."}),"\n",(0,r.jsx)(t.h4,{id:"defined-in",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L32",children:"core/ts/utils/types.ts:32"})}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"messagetreedepth",children:"messageTreeDepth"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"messageTreeDepth"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n",(0,r.jsx)(t.p,{children:"The depth of the message tree."}),"\n",(0,r.jsx)(t.h4,{id:"defined-in-1",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L33",children:"core/ts/utils/types.ts:33"})}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"messagetreesubdepth",children:"messageTreeSubDepth"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"messageTreeSubDepth"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n",(0,r.jsx)(t.p,{children:"The depth of the message tree sub."}),"\n",(0,r.jsx)(t.h4,{id:"defined-in-2",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L34",children:"core/ts/utils/types.ts:34"})}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"voteoptiontreedepth",children:"voteOptionTreeDepth"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"voteOptionTreeDepth"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n",(0,r.jsx)(t.p,{children:"The depth of the vote option tree."}),"\n",(0,r.jsx)(t.h4,{id:"defined-in-3",children:"Defined in"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dcca295/core/ts/utils/types.ts#L35",children:"core/ts/utils/types.ts:35"})})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},2459:(e,t,s)=>{s.d(t,{Z:()=>d,a:()=>c});var r=s(79);const n={},i=r.createContext(n);function c(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f37e9f88.c78e61a2.js b/assets/js/f37e9f88.283c1e26.js similarity index 53% rename from assets/js/f37e9f88.c78e61a2.js rename to assets/js/f37e9f88.283c1e26.js index d2e8fbd36e..80eec98838 100644 --- a/assets/js/f37e9f88.c78e61a2.js +++ b/assets/js/f37e9f88.283c1e26.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6057],{6196:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>a,toc:()=>l});var i=s(5250),r=s(2459);const c={title:"MACI versioning and release process",description:"How MACI's versioning and release process works",sidebar_label:"MACI versioning",sidebar_position:18},o="MACI versioning and release process",a={id:"versioning",title:"MACI versioning and release process",description:"How MACI's versioning and release process works",source:"@site/versioned_docs/version-v1.x/versioning.md",sourceDirName:".",slug:"/versioning",permalink:"/docs/versioning",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/versioning.md",tags:[],version:"v1.x",sidebarPosition:18,frontMatter:{title:"MACI versioning and release process",description:"How MACI's versioning and release process works",sidebar_label:"MACI versioning",sidebar_position:18},sidebar:"version-1.x/mySidebar",previous:{title:"Troubleshooting",permalink:"/docs/troubleshooting"},next:{title:"MACI",permalink:"/docs/solidity-docs/MACI"}},t={},l=[{value:"MACI code",id:"maci-code",level:2},{value:"MACI versioning",id:"maci-versioning",level:2},{value:"MACI Release Process",id:"maci-release-process",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"maci-versioning-and-release-process",children:"MACI versioning and release process"}),"\n",(0,i.jsx)(n.p,{children:"This document outlines the approach to versioning and releasing the MACI project. The primary goal here is to set clear expectations and provide a consistent user experience for developers integrating MACI and its packages."}),"\n",(0,i.jsx)(n.h2,{id:"maci-code",children:"MACI code"}),"\n",(0,i.jsxs)(n.p,{children:["MACI code consists 3 core parts: Circom circuits, Solidity contracts and JS (TS) libraries, from which we release a total of 7 NPM packages. See the ",(0,i.jsx)(n.a,{href:"/docs/overview",children:"codebase overview"})," for more details."]}),"\n",(0,i.jsx)(n.h2,{id:"maci-versioning",children:"MACI versioning"}),"\n",(0,i.jsxs)(n.p,{children:["MACI follows the ",(0,i.jsx)(n.a,{href:"https://semver.org/",children:"Semantic Versioning Specification (SemVer)"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"All MACI packages are organized in our monorepo and follow a global release approach, meaning that all packages have the same version."}),"\n",(0,i.jsxs)(n.p,{children:["Currently, MACI core team manually decides when to release and what the version should be. Packages are released ",(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dev/.github/workflows/release.yml",children:"automatically via CI"})," when a new tag is created in GitHub. ",(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/releases",children:"You can view our releases and tags in GitHub"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"maci-release-process",children:"MACI Release Process"}),"\n",(0,i.jsx)(n.p,{children:"To release a new version of MACI, follow these steps:"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"Version number '1.2.3' is used here as an example. You should replace the version number '1.2.3' with the version number you are planning to release"})}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Verify that tests have passed on GitHub Actions"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Clone maci:"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"git clone https://github.com/privacy-scaling-explorations/maci\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"3",children:["\n",(0,i.jsxs)(n.li,{children:["Switch to the ",(0,i.jsx)(n.code,{children:"master"})," branch:"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"git checkout master\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"4",children:["\n",(0,i.jsx)(n.li,{children:"Install required dependencies:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"pnpm install\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"5",children:["\n",(0,i.jsxs)(n.li,{children:["Run ",(0,i.jsx)(n.code,{children:"lerna version"})," to update CHANGELOG and version numbers of sub-packages:"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"pnpm exec lerna version --no-push --no-git-tag-version --conventional-commits 1.2.3\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"6",children:["\n",(0,i.jsx)(n.li,{children:"Commit changes:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:'git commit --message "chore(release): publish 1.2.3"\n'})}),"\n",(0,i.jsxs)(n.ol,{start:"7",children:["\n",(0,i.jsx)(n.li,{children:"Push changes and create a pull request"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"After the pull request has been merged:"}),"\n",(0,i.jsxs)(n.ol,{start:"8",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Retrieve merged commit"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Add a tag:"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"git tag --sign v1.2.3 --message v1.2.3\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"10",children:["\n",(0,i.jsx)(n.li,{children:"Publish tag:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"git push v1.2.3\n"})}),"\n",(0,i.jsx)(n.p,{children:"Once the tag is pushed, GitHub Actions will automatically publish the packages to npm.js and create a release on GitHub."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"The following packages will be published on NPM:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-circuits",children:(0,i.jsx)(n.code,{children:"@maci-circuits"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-contracts",children:(0,i.jsx)(n.code,{children:"@maci-contracts"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-cli",children:(0,i.jsx)(n.code,{children:"@maci-cli"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-core",children:(0,i.jsx)(n.code,{children:"@maci-core"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-crypto",children:(0,i.jsx)(n.code,{children:"@maci-crypto"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-domainobjs",children:(0,i.jsx)(n.code,{children:"@maci-domainobjs"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-integrationtests",children:(0,i.jsx)(n.code,{children:"@maci-integrationtests"})})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>o});var i=s(79);const r={},c=i.createContext(r);function o(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6057],{6196:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>a,toc:()=>l});var i=s(5250),r=s(2459);const c={title:"MACI versioning and release process",description:"How MACI's versioning and release process works",sidebar_label:"MACI versioning",sidebar_position:18},o="MACI versioning and release process",a={id:"versioning",title:"MACI versioning and release process",description:"How MACI's versioning and release process works",source:"@site/versioned_docs/version-v1.x/versioning.md",sourceDirName:".",slug:"/versioning",permalink:"/docs/versioning",draft:!1,unlisted:!1,editUrl:"https://github.com/privacy-scaling-explorations/maci/edit/dev/website/versioned_docs/version-v1.x/versioning.md",tags:[],version:"v1.x",sidebarPosition:18,frontMatter:{title:"MACI versioning and release process",description:"How MACI's versioning and release process works",sidebar_label:"MACI versioning",sidebar_position:18},sidebar:"version-1.x/mySidebar",previous:{title:"Troubleshooting",permalink:"/docs/troubleshooting"},next:{title:"MACI",permalink:"/docs/solidity-docs/MACI"}},t={},l=[{value:"MACI code",id:"maci-code",level:2},{value:"MACI versioning",id:"maci-versioning",level:2},{value:"MACI Release Process",id:"maci-release-process",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"maci-versioning-and-release-process",children:"MACI versioning and release process"}),"\n",(0,i.jsx)(n.p,{children:"This document outlines the approach to versioning and releasing the MACI project. The primary goal here is to set clear expectations and provide a consistent user experience for developers integrating MACI and its packages."}),"\n",(0,i.jsx)(n.h2,{id:"maci-code",children:"MACI code"}),"\n",(0,i.jsxs)(n.p,{children:["MACI code consists 3 core parts: Circom circuits, Solidity contracts and JS (TS) libraries, from which we release a total of 7 NPM packages. See the ",(0,i.jsx)(n.a,{href:"/docs/overview",children:"codebase overview"})," for more details."]}),"\n",(0,i.jsx)(n.h2,{id:"maci-versioning",children:"MACI versioning"}),"\n",(0,i.jsxs)(n.p,{children:["MACI follows the ",(0,i.jsx)(n.a,{href:"https://semver.org/",children:"Semantic Versioning Specification (SemVer)"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"All MACI packages are organized in our monorepo and follow a global release approach, meaning that all packages have the same version."}),"\n",(0,i.jsxs)(n.p,{children:["Currently, MACI core team manually decides when to release and what the version should be. Packages are released ",(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/blob/dev/.github/workflows/release.yml",children:"automatically via CI"})," when a new tag is created in GitHub. ",(0,i.jsx)(n.a,{href:"https://github.com/privacy-scaling-explorations/maci/releases",children:"You can view our releases and tags in GitHub"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"maci-release-process",children:"MACI Release Process"}),"\n",(0,i.jsx)(n.p,{children:"To release a new version of MACI, follow these steps:"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"Version number '1.2.3' is used here as an example. You should replace the version number '1.2.3' with the version number you are planning to release"})}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Verify that tests have passed on GitHub Actions"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Clone maci:"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"git clone https://github.com/privacy-scaling-explorations/maci\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"3",children:["\n",(0,i.jsxs)(n.li,{children:["Switch to the ",(0,i.jsx)(n.code,{children:"dev"})," branch:"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"git checkout dev\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"4",children:["\n",(0,i.jsx)(n.li,{children:"Install required dependencies:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"pnpm install\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"5",children:["\n",(0,i.jsxs)(n.li,{children:["Run ",(0,i.jsx)(n.code,{children:"lerna version"})," to update CHANGELOG and version numbers of sub-packages:"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"pnpm exec lerna version --no-push --no-git-tag-version --conventional-commits 1.2.3\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"6",children:["\n",(0,i.jsx)(n.li,{children:"Commit changes:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:'git commit --message "chore(release): publish 1.2.3"\n'})}),"\n",(0,i.jsxs)(n.ol,{start:"7",children:["\n",(0,i.jsx)(n.li,{children:"Push changes and create a pull request"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"After the pull request has been merged:"}),"\n",(0,i.jsxs)(n.ol,{start:"8",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Retrieve merged commit"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Add a tag:"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"git tag --sign v1.2.3 --message v1.2.3\n"})}),"\n",(0,i.jsxs)(n.ol,{start:"10",children:["\n",(0,i.jsx)(n.li,{children:"Publish tag:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"git push v1.2.3\n"})}),"\n",(0,i.jsx)(n.p,{children:"Once the tag is pushed, GitHub Actions will automatically publish the packages to npm.js and create a release on GitHub."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.p,{children:"The following packages will be published on NPM:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-circuits",children:(0,i.jsx)(n.code,{children:"@maci-circuits"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-contracts",children:(0,i.jsx)(n.code,{children:"@maci-contracts"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-cli",children:(0,i.jsx)(n.code,{children:"@maci-cli"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-core",children:(0,i.jsx)(n.code,{children:"@maci-core"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-crypto",children:(0,i.jsx)(n.code,{children:"@maci-crypto"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-domainobjs",children:(0,i.jsx)(n.code,{children:"@maci-domainobjs"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/maci-integrationtests",children:(0,i.jsx)(n.code,{children:"@maci-integrationtests"})})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},2459:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>o});var i=s(79);const r={},c=i.createContext(r);function o(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.565b6a6e.js b/assets/js/runtime~main.8ed6a9a6.js similarity index 60% rename from assets/js/runtime~main.565b6a6e.js rename to assets/js/runtime~main.8ed6a9a6.js index c8ee29460d..1f3996766f 100644 --- a/assets/js/runtime~main.565b6a6e.js +++ b/assets/js/runtime~main.8ed6a9a6.js @@ -1 +1 @@ -(()=>{"use strict";var e,d,a,f,c,b={},t={};function r(e){var d=t[e];if(void 0!==d)return d.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(d,a,f,c)=>{if(!a){var b=1/0;for(i=0;i=c)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[a,f,c]},r.n=e=>{var d=e&&e.__esModule?()=>e.default:()=>e;return r.d(d,{a:d}),d},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};d=d||[null,a({}),a([]),a(a)];for(var t=2&f&&e;"object"==typeof t&&!~d.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((d=>b[d]=()=>e[d]));return b.default=()=>e,r.d(c,b),c},r.d=(e,d)=>{for(var a in d)r.o(d,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:d[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((d,a)=>(r.f[a](e,d),d)),[])),r.u=e=>"assets/js/"+({9:"a8da0011",131:"02148629",143:"1cf10581",176:"6da41793",205:"83d480e9",214:"e34d4f16",301:"63f14097",318:"111de665",458:"5dc47dd8",469:"04f3873c",515:"d24400bc",533:"b2b675dd",535:"6d6942ad",591:"53a09d36",643:"c1a395df",737:"272cdf68",795:"87e06d37",942:"ffccb0e4",960:"4d428b12",1300:"c7dcdb3c",1319:"470b3110",1404:"3a939081",1429:"4fbf1579",1477:"b2f554cd",1713:"a7023ddc",1757:"3c9c62de",1825:"370e263e",1934:"96b24319",2076:"a424efa6",2088:"5a23aeb8",2118:"721ed18f",2159:"55eaec70",2195:"3fb22010",2257:"01dcd456",2264:"10ba36f1",2283:"e7abde84",2300:"b4e94af8",2332:"fa5019b0",2369:"3b4d9c28",2473:"25d1e97e",2494:"46ef0ee1",2528:"0efba11d",2535:"814f3328",2775:"3d556288",2800:"31a0126b",2910:"87daddc6",2995:"081d3e7e",3024:"f0ff8b43",3085:"1f391b9e",3089:"a6aa9e1f",3090:"339e0110",3141:"18dd49ee",3151:"8a1be1e1",3162:"20412771",3237:"1df93b7f",3608:"9e4087bc",3624:"cf7f3f4b",3768:"1b8f6f59",3800:"e1f12d8d",3809:"84eacfbc",3818:"03b7976e",4013:"01a85c17",4039:"2677c63a",4052:"bc482da4",4139:"40c5a965",4166:"5344211b",4168:"5f9f245e",4306:"50c61094",4368:"a94703ab",4531:"f9fd426c",4563:"dc07928d",4586:"31175f06",4691:"f3bc811b",4788:"00ec8f7c",4911:"0711cc14",4945:"45653208",4946:"d4b0ab9b",5054:"160e2b17",5123:"e764cb2a",5191:"0ee605f6",5363:"7119e90a",5587:"c3534551",5627:"65ab645f",5635:"dc016e2d",5639:"85dea18a",5659:"ba037aae",5687:"b743e5d8",5844:"25d9f253",5858:"42a07265",5921:"682aa18e",6032:"26ec2223",6044:"3377a1cb",6053:"2a192962",6057:"f37e9f88",6071:"1d73c7d4",6099:"7ee4b9d1",6103:"ccc49370",6121:"90195086",6201:"56d79ce0",6246:"b45a731b",6305:"42a5c817",6316:"60d13d09",6401:"2d2d931e",6431:"9a5874bb",6485:"bdd34786",6490:"f1100240",6531:"ff86084d",6561:"7b62c97d",6598:"83c63353",6647:"d5efa611",6742:"14979399",6855:"783cb624",6911:"27c93bf5",6969:"48cf140c",7017:"b1da67ef",7019:"e05f6340",7041:"0be5d121",7106:"10bc69e3",7117:"61642d2e",7198:"ec5a8f94",7252:"493af89b",7263:"fff7d461",7417:"996bd433",7425:"f75f6724",7434:"0992f5ce",7438:"9c021584",7495:"293d64f3",7599:"7242abcf",7626:"cfc3748e",7631:"9226f6dc",7635:"a948f6fc",7891:"3815cb0f",7918:"17896441",7920:"1a4e3797",7971:"57c61222",7994:"d1ba0a34",8022:"e190c47e",8047:"aa55d2bd",8271:"b2667cb0",8282:"b677b33a",8381:"5ad7b897",8423:"7dd10b00",8483:"3493c0e0",8518:"a7bd4aaa",8555:"c29b3dc9",8572:"5d795b8f",8610:"6875c492",8673:"dffd1378",8789:"5d00a810",8957:"efda7701",9015:"a667161a",9049:"a42530b9",9142:"5d8fc00d",9270:"68eaf952",9278:"e6ea1a33",9437:"236dfc74",9543:"ed544eab",9661:"5e95c892",9877:"78c8ac18",9895:"f35d154d",9906:"65a27bb9",9944:"d8945762"}[e]||e)+"."+{9:"47faddf5",21:"1b74174a",131:"c0d02dff",143:"eb210e85",176:"5fcf08f9",205:"a70f80a4",214:"cd65c662",301:"be81a563",318:"e754636a",458:"e8fcfa4f",469:"db17966e",515:"cc1b7ed3",533:"d1f564f8",535:"ead8d5f9",591:"a23176bd",643:"b20ae12e",737:"32c414e1",795:"37dbea39",942:"bc0721cd",960:"a5a8d08c",1300:"7b3a35c4",1319:"08919469",1404:"46a98e11",1429:"a796ad6a",1477:"74181b4f",1713:"5e3e2776",1757:"bb967a89",1825:"cb5b9d98",1934:"4a5992bd",2076:"ece2c9d0",2088:"539bc301",2118:"0dea355e",2159:"c41ab570",2195:"b86f2e67",2257:"dd12d8ad",2264:"fb84ca27",2283:"5341ec18",2293:"5845cdb3",2300:"8805307c",2332:"d701dee4",2369:"33114d75",2473:"54cc240c",2494:"2a51352d",2528:"63b2221a",2535:"e11eaa72",2775:"9bf5907d",2800:"b839968f",2910:"4849154b",2995:"11809b04",3024:"d6e4fa5d",3085:"dce4d941",3089:"9fad1892",3090:"cb4dad2d",3141:"fc5b31b0",3151:"8062cacd",3162:"1f42147f",3237:"234eb52f",3608:"952a3de7",3624:"c42faf1e",3715:"123c1a64",3724:"c86dc5c0",3768:"227e6a11",3800:"3b74c07c",3809:"fbc23141",3818:"74b1a5c8",4013:"f8117d1d",4039:"7a69af72",4052:"8f95a51d",4139:"777939e8",4166:"4c5ae3a6",4168:"5d4d3818",4306:"27f66dd9",4368:"5337f827",4531:"94eddc57",4563:"13a98ed6",4586:"965a837a",4691:"4fca3351",4788:"d9fba6cc",4911:"264c03c7",4945:"eee4511e",4946:"2b1c4c33",5054:"cd062bb1",5123:"b860e7db",5191:"d608b737",5363:"66401241",5587:"ea43f16a",5627:"315ea445",5635:"adc83c73",5639:"51dd7be6",5659:"59537301",5687:"44328638",5844:"49623522",5858:"9b6096ca",5921:"d6c067a4",6032:"0a8fd1a0",6044:"f90cfbf1",6053:"e092079c",6057:"c78e61a2",6071:"5218a4e9",6099:"1552969c",6103:"6aad8bb5",6121:"a7444475",6201:"7cb7a073",6246:"43d156d1",6305:"58017159",6316:"7e2f4361",6401:"9206c4e9",6431:"dbb21a5d",6485:"026009cb",6490:"bb21d2ff",6531:"ff0b8a5e",6561:"625c2257",6598:"e575bffb",6647:"e9721608",6742:"7bc1128c",6855:"2b470acc",6901:"bb50bf39",6911:"ad97cad1",6969:"bbb02d2c",7017:"f6bc3b9c",7019:"9acaca20",7041:"50f23472",7106:"6f909334",7117:"5ada684a",7198:"486658ec",7252:"9a47fea7",7263:"c31386cb",7417:"dade8a8f",7425:"7d15b2db",7434:"c6405d30",7438:"f214718f",7495:"b9734a2e",7599:"c5c50616",7626:"f5351bc5",7631:"7b37196e",7635:"f90e4195",7891:"7369980b",7918:"3a05015b",7920:"2c45bc1e",7971:"28f700a6",7994:"b7753954",8022:"495f07d5",8047:"3a56da5f",8271:"d25d8eaf",8282:"d216fa5a",8381:"593f98f1",8423:"41ae2aac",8483:"2bb45e29",8518:"f00417e4",8555:"2044d98f",8572:"62620881",8610:"d9702e62",8673:"f6f015ee",8789:"f04ac287",8957:"f9f74ebd",9015:"db294d28",9049:"88624f9f",9142:"bf83e9cb",9270:"56d4c2da",9278:"6c44a436",9437:"afdb62d8",9543:"53e86e92",9661:"17f6732b",9877:"44a1c364",9895:"de14a80f",9906:"0be97e0a",9944:"b57bc294"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,d)=>Object.prototype.hasOwnProperty.call(e,d),f={},c="website:",r.l=(e,d,a,b)=>{if(f[e])f[e].push(d);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(a))),d)return d(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={14979399:"6742",17896441:"7918",20412771:"3162",45653208:"4945",90195086:"6121",a8da0011:"9","02148629":"131","1cf10581":"143","6da41793":"176","83d480e9":"205",e34d4f16:"214","63f14097":"301","111de665":"318","5dc47dd8":"458","04f3873c":"469",d24400bc:"515",b2b675dd:"533","6d6942ad":"535","53a09d36":"591",c1a395df:"643","272cdf68":"737","87e06d37":"795",ffccb0e4:"942","4d428b12":"960",c7dcdb3c:"1300","470b3110":"1319","3a939081":"1404","4fbf1579":"1429",b2f554cd:"1477",a7023ddc:"1713","3c9c62de":"1757","370e263e":"1825","96b24319":"1934",a424efa6:"2076","5a23aeb8":"2088","721ed18f":"2118","55eaec70":"2159","3fb22010":"2195","01dcd456":"2257","10ba36f1":"2264",e7abde84:"2283",b4e94af8:"2300",fa5019b0:"2332","3b4d9c28":"2369","25d1e97e":"2473","46ef0ee1":"2494","0efba11d":"2528","814f3328":"2535","3d556288":"2775","31a0126b":"2800","87daddc6":"2910","081d3e7e":"2995",f0ff8b43:"3024","1f391b9e":"3085",a6aa9e1f:"3089","339e0110":"3090","18dd49ee":"3141","8a1be1e1":"3151","1df93b7f":"3237","9e4087bc":"3608",cf7f3f4b:"3624","1b8f6f59":"3768",e1f12d8d:"3800","84eacfbc":"3809","03b7976e":"3818","01a85c17":"4013","2677c63a":"4039",bc482da4:"4052","40c5a965":"4139","5344211b":"4166","5f9f245e":"4168","50c61094":"4306",a94703ab:"4368",f9fd426c:"4531",dc07928d:"4563","31175f06":"4586",f3bc811b:"4691","00ec8f7c":"4788","0711cc14":"4911",d4b0ab9b:"4946","160e2b17":"5054",e764cb2a:"5123","0ee605f6":"5191","7119e90a":"5363",c3534551:"5587","65ab645f":"5627",dc016e2d:"5635","85dea18a":"5639",ba037aae:"5659",b743e5d8:"5687","25d9f253":"5844","42a07265":"5858","682aa18e":"5921","26ec2223":"6032","3377a1cb":"6044","2a192962":"6053",f37e9f88:"6057","1d73c7d4":"6071","7ee4b9d1":"6099",ccc49370:"6103","56d79ce0":"6201",b45a731b:"6246","42a5c817":"6305","60d13d09":"6316","2d2d931e":"6401","9a5874bb":"6431",bdd34786:"6485",f1100240:"6490",ff86084d:"6531","7b62c97d":"6561","83c63353":"6598",d5efa611:"6647","783cb624":"6855","27c93bf5":"6911","48cf140c":"6969",b1da67ef:"7017",e05f6340:"7019","0be5d121":"7041","10bc69e3":"7106","61642d2e":"7117",ec5a8f94:"7198","493af89b":"7252",fff7d461:"7263","996bd433":"7417",f75f6724:"7425","0992f5ce":"7434","9c021584":"7438","293d64f3":"7495","7242abcf":"7599",cfc3748e:"7626","9226f6dc":"7631",a948f6fc:"7635","3815cb0f":"7891","1a4e3797":"7920","57c61222":"7971",d1ba0a34:"7994",e190c47e:"8022",aa55d2bd:"8047",b2667cb0:"8271",b677b33a:"8282","5ad7b897":"8381","7dd10b00":"8423","3493c0e0":"8483",a7bd4aaa:"8518",c29b3dc9:"8555","5d795b8f":"8572","6875c492":"8610",dffd1378:"8673","5d00a810":"8789",efda7701:"8957",a667161a:"9015",a42530b9:"9049","5d8fc00d":"9142","68eaf952":"9270",e6ea1a33:"9278","236dfc74":"9437",ed544eab:"9543","5e95c892":"9661","78c8ac18":"9877",f35d154d:"9895","65a27bb9":"9906",d8945762:"9944"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(d,a)=>{var f=r.o(e,d)?e[d]:void 0;if(0!==f)if(f)a.push(f[2]);else if(/^(1303|532)$/.test(d))e[d]=0;else{var c=new Promise(((a,c)=>f=e[d]=[a,c]));a.push(f[2]=c);var b=r.p+r.u(d),t=new Error;r.l(b,(a=>{if(r.o(e,d)&&(0!==(f=e[d])&&(e[d]=void 0),f)){var c=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+d+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,f[1](t)}}),"chunk-"+d,d)}},r.O.j=d=>0===e[d];var d=(d,a)=>{var f,c,b=a[0],t=a[1],o=a[2],n=0;if(b.some((d=>0!==e[d]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(d&&d(a);n{"use strict";var e,a,d,f,b,c={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return c[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=c,r.c=t,e=[],r.O=(a,d,f,b)=>{if(!d){var c=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[d,f,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var c={};a=a||[null,d({}),d([]),d(d)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((a=>c[a]=()=>e[a]));return c.default=()=>e,r.d(b,c),b},r.d=(e,a)=>{for(var d in a)r.o(a,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,d)=>(r.f[d](e,a),a)),[])),r.u=e=>"assets/js/"+({9:"a8da0011",131:"02148629",143:"1cf10581",176:"6da41793",205:"83d480e9",214:"e34d4f16",301:"63f14097",318:"111de665",458:"5dc47dd8",469:"04f3873c",515:"d24400bc",533:"b2b675dd",535:"6d6942ad",591:"53a09d36",643:"c1a395df",737:"272cdf68",795:"87e06d37",942:"ffccb0e4",960:"4d428b12",1300:"c7dcdb3c",1319:"470b3110",1404:"3a939081",1429:"4fbf1579",1477:"b2f554cd",1713:"a7023ddc",1757:"3c9c62de",1825:"370e263e",1934:"96b24319",2076:"a424efa6",2088:"5a23aeb8",2118:"721ed18f",2159:"55eaec70",2195:"3fb22010",2257:"01dcd456",2264:"10ba36f1",2283:"e7abde84",2300:"b4e94af8",2332:"fa5019b0",2369:"3b4d9c28",2473:"25d1e97e",2494:"46ef0ee1",2528:"0efba11d",2535:"814f3328",2775:"3d556288",2800:"31a0126b",2910:"87daddc6",2995:"081d3e7e",3024:"f0ff8b43",3085:"1f391b9e",3089:"a6aa9e1f",3090:"339e0110",3141:"18dd49ee",3151:"8a1be1e1",3162:"20412771",3237:"1df93b7f",3608:"9e4087bc",3624:"cf7f3f4b",3768:"1b8f6f59",3800:"e1f12d8d",3809:"84eacfbc",3818:"03b7976e",4013:"01a85c17",4039:"2677c63a",4052:"bc482da4",4139:"40c5a965",4166:"5344211b",4168:"5f9f245e",4306:"50c61094",4368:"a94703ab",4531:"f9fd426c",4563:"dc07928d",4586:"31175f06",4691:"f3bc811b",4788:"00ec8f7c",4911:"0711cc14",4945:"45653208",4946:"d4b0ab9b",5054:"160e2b17",5123:"e764cb2a",5191:"0ee605f6",5363:"7119e90a",5587:"c3534551",5627:"65ab645f",5635:"dc016e2d",5639:"85dea18a",5659:"ba037aae",5687:"b743e5d8",5844:"25d9f253",5858:"42a07265",5921:"682aa18e",6032:"26ec2223",6044:"3377a1cb",6053:"2a192962",6057:"f37e9f88",6071:"1d73c7d4",6099:"7ee4b9d1",6103:"ccc49370",6121:"90195086",6201:"56d79ce0",6246:"b45a731b",6305:"42a5c817",6316:"60d13d09",6401:"2d2d931e",6431:"9a5874bb",6485:"bdd34786",6490:"f1100240",6531:"ff86084d",6561:"7b62c97d",6598:"83c63353",6647:"d5efa611",6742:"14979399",6855:"783cb624",6911:"27c93bf5",6969:"48cf140c",7017:"b1da67ef",7019:"e05f6340",7041:"0be5d121",7106:"10bc69e3",7117:"61642d2e",7198:"ec5a8f94",7252:"493af89b",7263:"fff7d461",7417:"996bd433",7425:"f75f6724",7434:"0992f5ce",7438:"9c021584",7495:"293d64f3",7599:"7242abcf",7626:"cfc3748e",7631:"9226f6dc",7635:"a948f6fc",7891:"3815cb0f",7918:"17896441",7920:"1a4e3797",7971:"57c61222",7994:"d1ba0a34",8022:"e190c47e",8047:"aa55d2bd",8271:"b2667cb0",8282:"b677b33a",8381:"5ad7b897",8423:"7dd10b00",8483:"3493c0e0",8518:"a7bd4aaa",8555:"c29b3dc9",8572:"5d795b8f",8610:"6875c492",8673:"dffd1378",8789:"5d00a810",8957:"efda7701",9015:"a667161a",9049:"a42530b9",9142:"5d8fc00d",9270:"68eaf952",9278:"e6ea1a33",9437:"236dfc74",9543:"ed544eab",9661:"5e95c892",9877:"78c8ac18",9895:"f35d154d",9906:"65a27bb9",9944:"d8945762"}[e]||e)+"."+{9:"47faddf5",21:"1b74174a",131:"c0d02dff",143:"355d00f9",176:"5fcf08f9",205:"a70f80a4",214:"cd65c662",301:"be81a563",318:"c0e8ed8e",458:"e8fcfa4f",469:"db17966e",515:"d22bb634",533:"d1f564f8",535:"0f34f272",591:"a23176bd",643:"b20ae12e",737:"32c414e1",795:"37dbea39",942:"bc0721cd",960:"a5a8d08c",1300:"4df8809f",1319:"62a38abe",1404:"ca632206",1429:"a796ad6a",1477:"ed375872",1713:"5e3e2776",1757:"bb967a89",1825:"cb5b9d98",1934:"cdcaa65c",2076:"98fd90ca",2088:"b357d7aa",2118:"e8dbea04",2159:"c41ab570",2195:"c1929ca2",2257:"7e60d97c",2264:"268a967e",2283:"5341ec18",2293:"5845cdb3",2300:"8805307c",2332:"d701dee4",2369:"889ef566",2473:"54cc240c",2494:"2a51352d",2528:"63b2221a",2535:"e11eaa72",2775:"11864f8b",2800:"b839968f",2910:"4849154b",2995:"11809b04",3024:"812ff905",3085:"dce4d941",3089:"9fad1892",3090:"cb4dad2d",3141:"577c90ca",3151:"8062cacd",3162:"1f42147f",3237:"234eb52f",3608:"952a3de7",3624:"146457e0",3715:"123c1a64",3724:"c86dc5c0",3768:"227e6a11",3800:"e5a38822",3809:"60188562",3818:"8a31146e",4013:"f8117d1d",4039:"7a69af72",4052:"8f95a51d",4139:"777939e8",4166:"4c5ae3a6",4168:"5d4d3818",4306:"27f66dd9",4368:"5337f827",4531:"94eddc57",4563:"13a98ed6",4586:"965a837a",4691:"4fca3351",4788:"d9fba6cc",4911:"264c03c7",4945:"4b7140c5",4946:"b3a1b242",5054:"cd062bb1",5123:"b860e7db",5191:"a3521756",5363:"06ca4cf3",5587:"50bca591",5627:"518b14af",5635:"cf77fa7d",5639:"51dd7be6",5659:"98b60388",5687:"44328638",5844:"49623522",5858:"9b6096ca",5921:"96de6faa",6032:"e3854fb3",6044:"f90cfbf1",6053:"e092079c",6057:"283c1e26",6071:"ff6ee522",6099:"cb552ccc",6103:"6aad8bb5",6121:"a7444475",6201:"fa430644",6246:"0b4be402",6305:"58017159",6316:"7e2f4361",6401:"cd1641c4",6431:"dbb21a5d",6485:"026009cb",6490:"bb21d2ff",6531:"ff0b8a5e",6561:"625c2257",6598:"62431b50",6647:"f85cb906",6742:"7bc1128c",6855:"2b470acc",6901:"bb50bf39",6911:"ad97cad1",6969:"bbb02d2c",7017:"f6bc3b9c",7019:"b350cbad",7041:"62b6f98c",7106:"6f909334",7117:"5ada684a",7198:"486658ec",7252:"9a47fea7",7263:"c31386cb",7417:"dade8a8f",7425:"7d15b2db",7434:"a39ea4e5",7438:"f214718f",7495:"b9734a2e",7599:"73daa837",7626:"f5351bc5",7631:"7b37196e",7635:"68c6579b",7891:"7369980b",7918:"3a05015b",7920:"2c45bc1e",7971:"28f700a6",7994:"5227dee7",8022:"495f07d5",8047:"3a56da5f",8271:"d25d8eaf",8282:"d216fa5a",8381:"593f98f1",8423:"6bc5acac",8483:"2bb45e29",8518:"f00417e4",8555:"2044d98f",8572:"62620881",8610:"d9702e62",8673:"f6f015ee",8789:"f04ac287",8957:"4b285b0f",9015:"db294d28",9049:"88624f9f",9142:"bf83e9cb",9270:"56d4c2da",9278:"92f76f2f",9437:"daedc97e",9543:"53e86e92",9661:"17f6732b",9877:"44a1c364",9895:"ea28f59c",9906:"0be97e0a",9944:"a7c00033"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},b="website:",r.l=(e,a,d,c)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==d)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(d))),a)return a(d)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={14979399:"6742",17896441:"7918",20412771:"3162",45653208:"4945",90195086:"6121",a8da0011:"9","02148629":"131","1cf10581":"143","6da41793":"176","83d480e9":"205",e34d4f16:"214","63f14097":"301","111de665":"318","5dc47dd8":"458","04f3873c":"469",d24400bc:"515",b2b675dd:"533","6d6942ad":"535","53a09d36":"591",c1a395df:"643","272cdf68":"737","87e06d37":"795",ffccb0e4:"942","4d428b12":"960",c7dcdb3c:"1300","470b3110":"1319","3a939081":"1404","4fbf1579":"1429",b2f554cd:"1477",a7023ddc:"1713","3c9c62de":"1757","370e263e":"1825","96b24319":"1934",a424efa6:"2076","5a23aeb8":"2088","721ed18f":"2118","55eaec70":"2159","3fb22010":"2195","01dcd456":"2257","10ba36f1":"2264",e7abde84:"2283",b4e94af8:"2300",fa5019b0:"2332","3b4d9c28":"2369","25d1e97e":"2473","46ef0ee1":"2494","0efba11d":"2528","814f3328":"2535","3d556288":"2775","31a0126b":"2800","87daddc6":"2910","081d3e7e":"2995",f0ff8b43:"3024","1f391b9e":"3085",a6aa9e1f:"3089","339e0110":"3090","18dd49ee":"3141","8a1be1e1":"3151","1df93b7f":"3237","9e4087bc":"3608",cf7f3f4b:"3624","1b8f6f59":"3768",e1f12d8d:"3800","84eacfbc":"3809","03b7976e":"3818","01a85c17":"4013","2677c63a":"4039",bc482da4:"4052","40c5a965":"4139","5344211b":"4166","5f9f245e":"4168","50c61094":"4306",a94703ab:"4368",f9fd426c:"4531",dc07928d:"4563","31175f06":"4586",f3bc811b:"4691","00ec8f7c":"4788","0711cc14":"4911",d4b0ab9b:"4946","160e2b17":"5054",e764cb2a:"5123","0ee605f6":"5191","7119e90a":"5363",c3534551:"5587","65ab645f":"5627",dc016e2d:"5635","85dea18a":"5639",ba037aae:"5659",b743e5d8:"5687","25d9f253":"5844","42a07265":"5858","682aa18e":"5921","26ec2223":"6032","3377a1cb":"6044","2a192962":"6053",f37e9f88:"6057","1d73c7d4":"6071","7ee4b9d1":"6099",ccc49370:"6103","56d79ce0":"6201",b45a731b:"6246","42a5c817":"6305","60d13d09":"6316","2d2d931e":"6401","9a5874bb":"6431",bdd34786:"6485",f1100240:"6490",ff86084d:"6531","7b62c97d":"6561","83c63353":"6598",d5efa611:"6647","783cb624":"6855","27c93bf5":"6911","48cf140c":"6969",b1da67ef:"7017",e05f6340:"7019","0be5d121":"7041","10bc69e3":"7106","61642d2e":"7117",ec5a8f94:"7198","493af89b":"7252",fff7d461:"7263","996bd433":"7417",f75f6724:"7425","0992f5ce":"7434","9c021584":"7438","293d64f3":"7495","7242abcf":"7599",cfc3748e:"7626","9226f6dc":"7631",a948f6fc:"7635","3815cb0f":"7891","1a4e3797":"7920","57c61222":"7971",d1ba0a34:"7994",e190c47e:"8022",aa55d2bd:"8047",b2667cb0:"8271",b677b33a:"8282","5ad7b897":"8381","7dd10b00":"8423","3493c0e0":"8483",a7bd4aaa:"8518",c29b3dc9:"8555","5d795b8f":"8572","6875c492":"8610",dffd1378:"8673","5d00a810":"8789",efda7701:"8957",a667161a:"9015",a42530b9:"9049","5d8fc00d":"9142","68eaf952":"9270",e6ea1a33:"9278","236dfc74":"9437",ed544eab:"9543","5e95c892":"9661","78c8ac18":"9877",f35d154d:"9895","65a27bb9":"9906",d8945762:"9944"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,d)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)d.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var b=new Promise(((d,b)=>f=e[a]=[d,b]));d.push(f[2]=b);var c=r.p+r.u(a),t=new Error;r.l(c,(d=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=d&&("load"===d.type?"missing":d.type),c=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+c+")",t.name="ChunkLoadError",t.type=b,t.request=c,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,d)=>{var f,b,c=d[0],t=d[1],o=d[2],n=0;if(c.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(d);n - + diff --git a/blog/atom.xml b/blog/atom.xml index 0a05af856d..91ba926bfd 100644 --- a/blog/atom.xml +++ b/blog/atom.xml @@ -2,7 +2,7 @@ https://maci.pse.dev/blog MACI Blog - 2024-01-11T21:21:30.000Z + 2024-01-11T22:31:24.000Z https://github.com/jpmonette/feed MACI Blog @@ -11,7 +11,7 @@ <![CDATA[Welcome to MACI]]> https://maci.pse.dev/blog/welcome - 2024-01-11T21:21:30.000Z + 2024-01-11T22:31:24.000Z Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.

]]>
diff --git a/blog/index.html b/blog/index.html index a5299ae63e..2cafcd90a4 100644 --- a/blog/index.html +++ b/blog/index.html @@ -10,11 +10,11 @@ - + -

· 7 min read

We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.

+

· 7 min read

We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.

This new release brings a more secure product, new features, and a much needed documentation refresh. Before we dive into the updates, let's refresh your memory on what MACI is and what it was created to achieve.

Background

MACI is an application that provides collusion resistance for on-chain voting processes. It was originally created after Vitalik's post, and has since been revisited and improved.

diff --git a/blog/maci-1-0-release/index.html b/blog/maci-1-0-release/index.html index a38c778b0b..ea661977c6 100644 --- a/blog/maci-1-0-release/index.html +++ b/blog/maci-1-0-release/index.html @@ -10,7 +10,7 @@ - + diff --git a/blog/maci-1-0-technical-introduction/index.html b/blog/maci-1-0-technical-introduction/index.html index c422d5a664..f3488918b6 100644 --- a/blog/maci-1-0-technical-introduction/index.html +++ b/blog/maci-1-0-technical-introduction/index.html @@ -10,7 +10,7 @@ - + diff --git a/blog/maci-v1-1-1-release/index.html b/blog/maci-v1-1-1-release/index.html index 9a872e2c2d..5d19ae10c8 100644 --- a/blog/maci-v1-1-1-release/index.html +++ b/blog/maci-v1-1-1-release/index.html @@ -10,7 +10,7 @@ - + diff --git a/blog/rss.xml b/blog/rss.xml index 1987bb49e6..3b8269b666 100644 --- a/blog/rss.xml +++ b/blog/rss.xml @@ -4,7 +4,7 @@ MACI Blog https://maci.pse.dev/blog MACI Blog - Thu, 11 Jan 2024 21:21:30 GMT + Thu, 11 Jan 2024 22:31:24 GMT https://validator.w3.org/feed/docs/rss2.html https://github.com/jpmonette/feed en @@ -12,7 +12,7 @@ <![CDATA[Welcome to MACI]]> https://maci.pse.dev/blog/welcome https://maci.pse.dev/blog/welcome - Thu, 11 Jan 2024 21:21:30 GMT + Thu, 11 Jan 2024 22:31:24 GMT Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.

]]>
maci diff --git a/blog/tags/ef/index.html b/blog/tags/ef/index.html index dc53631179..0c60f1258b 100644 --- a/blog/tags/ef/index.html +++ b/blog/tags/ef/index.html @@ -10,10 +10,10 @@ - + -

One post tagged with "ef"

View All Tags
+

One post tagged with "ef"

View All Tags
\ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html index fc4733ec7b..2458f01083 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -10,7 +10,7 @@ - + diff --git a/blog/tags/maci/index.html b/blog/tags/maci/index.html index f58d79e62a..2a4f369b96 100644 --- a/blog/tags/maci/index.html +++ b/blog/tags/maci/index.html @@ -10,11 +10,11 @@ - + -

4 posts tagged with "maci"

View All Tags

· 7 min read

We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.

+

4 posts tagged with "maci"

View All Tags

· 7 min read

We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.

This new release brings a more secure product, new features, and a much needed documentation refresh. Before we dive into the updates, let's refresh your memory on what MACI is and what it was created to achieve.

Background

MACI is an application that provides collusion resistance for on-chain voting processes. It was originally created after Vitalik's post, and has since been revisited and improved.

diff --git a/blog/tags/privacy/index.html b/blog/tags/privacy/index.html index 07c3ebb566..44955f7de0 100644 --- a/blog/tags/privacy/index.html +++ b/blog/tags/privacy/index.html @@ -10,10 +10,10 @@ - + -

One post tagged with "privacy"

View All Tags
+

One post tagged with "privacy"

View All Tags
\ No newline at end of file diff --git a/blog/tags/pse/index.html b/blog/tags/pse/index.html index c7dec9076b..246c855a99 100644 --- a/blog/tags/pse/index.html +++ b/blog/tags/pse/index.html @@ -10,10 +10,10 @@ - + -

One post tagged with "pse"

View All Tags
+

One post tagged with "pse"

View All Tags
\ No newline at end of file diff --git a/blog/tags/release/index.html b/blog/tags/release/index.html index 9b5954eb21..5ca7cbf5e1 100644 --- a/blog/tags/release/index.html +++ b/blog/tags/release/index.html @@ -10,7 +10,7 @@ - + diff --git a/blog/tags/security/index.html b/blog/tags/security/index.html index 535cf2c267..21cee76613 100644 --- a/blog/tags/security/index.html +++ b/blog/tags/security/index.html @@ -10,7 +10,7 @@ - + diff --git a/blog/tags/voting/index.html b/blog/tags/voting/index.html index e399e612ce..75decbbf97 100644 --- a/blog/tags/voting/index.html +++ b/blog/tags/voting/index.html @@ -10,11 +10,11 @@ - + -

4 posts tagged with "voting"

View All Tags

· 7 min read

We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.

+

4 posts tagged with "voting"

View All Tags

· 7 min read

We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.

This new release brings a more secure product, new features, and a much needed documentation refresh. Before we dive into the updates, let's refresh your memory on what MACI is and what it was created to achieve.

Background

MACI is an application that provides collusion resistance for on-chain voting processes. It was originally created after Vitalik's post, and has since been revisited and improved.

diff --git a/blog/tags/zk/index.html b/blog/tags/zk/index.html index c42585bf04..14170d58a0 100644 --- a/blog/tags/zk/index.html +++ b/blog/tags/zk/index.html @@ -10,11 +10,11 @@ - + -

4 posts tagged with "zk"

View All Tags

· 7 min read

We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.

+

4 posts tagged with "zk"

View All Tags

· 7 min read

We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1.

This new release brings a more secure product, new features, and a much needed documentation refresh. Before we dive into the updates, let's refresh your memory on what MACI is and what it was created to achieve.

Background

MACI is an application that provides collusion resistance for on-chain voting processes. It was originally created after Vitalik's post, and has since been revisited and improved.

diff --git a/blog/welcome/index.html b/blog/welcome/index.html index 5573c1e021..639d7bacc4 100644 --- a/blog/welcome/index.html +++ b/blog/welcome/index.html @@ -3,17 +3,17 @@ -Welcome to MACI | MACI +Welcome to MACI | MACI - + -
+
\ No newline at end of file diff --git a/docs/audit/index.html b/docs/audit/index.html index 3a3dc26362..668289858e 100644 --- a/docs/audit/index.html +++ b/docs/audit/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/ci-pipeline/index.html b/docs/ci-pipeline/index.html index a184ff8491..cf398eeb9c 100644 --- a/docs/ci-pipeline/index.html +++ b/docs/ci-pipeline/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/circuits/index.html b/docs/circuits/index.html index 281fcebf3b..3347610021 100644 --- a/docs/circuits/index.html +++ b/docs/circuits/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/cli/index.html b/docs/cli/index.html index 09f894fcf3..c3e0b8ed17 100644 --- a/docs/cli/index.html +++ b/docs/cli/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/contracts/index.html b/docs/contracts/index.html index ae07314f0b..2e8d4811aa 100644 --- a/docs/contracts/index.html +++ b/docs/contracts/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/coordinator-processing/index.html b/docs/coordinator-processing/index.html index 2c5b2481d4..b9669502d4 100644 --- a/docs/coordinator-processing/index.html +++ b/docs/coordinator-processing/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/installation/index.html b/docs/installation/index.html index 18901a5e81..844f01140d 100644 --- a/docs/installation/index.html +++ b/docs/installation/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/integrating/index.html b/docs/integrating/index.html index e2728bef86..1d6cf1dfeb 100644 --- a/docs/integrating/index.html +++ b/docs/integrating/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/introduction/index.html b/docs/introduction/index.html index 29d7275be5..94a3aeab6f 100644 --- a/docs/introduction/index.html +++ b/docs/introduction/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/key-change/index.html b/docs/key-change/index.html index 59cef18771..eb28f0983f 100644 --- a/docs/key-change/index.html +++ b/docs/key-change/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/overview/index.html b/docs/overview/index.html index 358c12e3eb..ecad97f0c4 100644 --- a/docs/overview/index.html +++ b/docs/overview/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/primitives/index.html b/docs/primitives/index.html index 6055ee0db7..4e1477a3f6 100644 --- a/docs/primitives/index.html +++ b/docs/primitives/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/MACI/index.html b/docs/solidity-docs/MACI/index.html index 2f49ff0a5d..99e3b6ab22 100644 --- a/docs/solidity-docs/MACI/index.html +++ b/docs/solidity-docs/MACI/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/MessageProcessor/index.html b/docs/solidity-docs/MessageProcessor/index.html index 40287c2c3d..83b293d36a 100644 --- a/docs/solidity-docs/MessageProcessor/index.html +++ b/docs/solidity-docs/MessageProcessor/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/Poll/index.html b/docs/solidity-docs/Poll/index.html index 77c8a743fb..afb94c0163 100644 --- a/docs/solidity-docs/Poll/index.html +++ b/docs/solidity-docs/Poll/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/PollFactory/index.html b/docs/solidity-docs/PollFactory/index.html index 25cb0e9743..42756b073a 100644 --- a/docs/solidity-docs/PollFactory/index.html +++ b/docs/solidity-docs/PollFactory/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/SignUpToken/index.html b/docs/solidity-docs/SignUpToken/index.html index acfb2934e6..9af99cf433 100644 --- a/docs/solidity-docs/SignUpToken/index.html +++ b/docs/solidity-docs/SignUpToken/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/Subsidy/index.html b/docs/solidity-docs/Subsidy/index.html index 62f14a03a4..5ffe50b4f5 100644 --- a/docs/solidity-docs/Subsidy/index.html +++ b/docs/solidity-docs/Subsidy/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/Tally/index.html b/docs/solidity-docs/Tally/index.html index 6605aeced7..cfe24f5184 100644 --- a/docs/solidity-docs/Tally/index.html +++ b/docs/solidity-docs/Tally/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/TopupCredit/index.html b/docs/solidity-docs/TopupCredit/index.html index 15d254448e..be87eefbfd 100644 --- a/docs/solidity-docs/TopupCredit/index.html +++ b/docs/solidity-docs/TopupCredit/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/VkRegistry/index.html b/docs/solidity-docs/VkRegistry/index.html index c63faeabdb..7fa8a38af1 100644 --- a/docs/solidity-docs/VkRegistry/index.html +++ b/docs/solidity-docs/VkRegistry/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/benchmarks/HasherBenchmarks/index.html b/docs/solidity-docs/benchmarks/HasherBenchmarks/index.html index f98714d9e5..7dc76a1a93 100644 --- a/docs/solidity-docs/benchmarks/HasherBenchmarks/index.html +++ b/docs/solidity-docs/benchmarks/HasherBenchmarks/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/Hasher/index.html b/docs/solidity-docs/crypto/Hasher/index.html index 4864a66cb6..2c5f9799f5 100644 --- a/docs/solidity-docs/crypto/Hasher/index.html +++ b/docs/solidity-docs/crypto/Hasher/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/IVerifier/index.html b/docs/solidity-docs/crypto/IVerifier/index.html index d34aa90415..4cc466dcdf 100644 --- a/docs/solidity-docs/crypto/IVerifier/index.html +++ b/docs/solidity-docs/crypto/IVerifier/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/MockVerifier/index.html b/docs/solidity-docs/crypto/MockVerifier/index.html index 3ae210bf32..b4aad69f28 100644 --- a/docs/solidity-docs/crypto/MockVerifier/index.html +++ b/docs/solidity-docs/crypto/MockVerifier/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/Pairing/index.html b/docs/solidity-docs/crypto/Pairing/index.html index 31d6ba0ea5..db354b2879 100644 --- a/docs/solidity-docs/crypto/Pairing/index.html +++ b/docs/solidity-docs/crypto/Pairing/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/PoseidonT3/index.html b/docs/solidity-docs/crypto/PoseidonT3/index.html index d8e4f67a21..679e4ad684 100644 --- a/docs/solidity-docs/crypto/PoseidonT3/index.html +++ b/docs/solidity-docs/crypto/PoseidonT3/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/PoseidonT4/index.html b/docs/solidity-docs/crypto/PoseidonT4/index.html index cd6d7feb86..ed6de9a3be 100644 --- a/docs/solidity-docs/crypto/PoseidonT4/index.html +++ b/docs/solidity-docs/crypto/PoseidonT4/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/PoseidonT5/index.html b/docs/solidity-docs/crypto/PoseidonT5/index.html index 6a064fc00d..a79651e58a 100644 --- a/docs/solidity-docs/crypto/PoseidonT5/index.html +++ b/docs/solidity-docs/crypto/PoseidonT5/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/PoseidonT6/index.html b/docs/solidity-docs/crypto/PoseidonT6/index.html index c833f8fa4b..ffedeebd60 100644 --- a/docs/solidity-docs/crypto/PoseidonT6/index.html +++ b/docs/solidity-docs/crypto/PoseidonT6/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/SnarkCommon/index.html b/docs/solidity-docs/crypto/SnarkCommon/index.html index 192cbcb304..9c3bf9548f 100644 --- a/docs/solidity-docs/crypto/SnarkCommon/index.html +++ b/docs/solidity-docs/crypto/SnarkCommon/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/SnarkConstants/index.html b/docs/solidity-docs/crypto/SnarkConstants/index.html index 5c8885cbd1..3aa95e8a63 100644 --- a/docs/solidity-docs/crypto/SnarkConstants/index.html +++ b/docs/solidity-docs/crypto/SnarkConstants/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/crypto/Verifier/index.html b/docs/solidity-docs/crypto/Verifier/index.html index 1f0a3c2c8f..4b0fe98846 100644 --- a/docs/solidity-docs/crypto/Verifier/index.html +++ b/docs/solidity-docs/crypto/Verifier/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper/index.html b/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper/index.html index b9a3eeddb0..f9aefbc387 100644 --- a/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper/index.html +++ b/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/gatekeepers/SignUpGatekeeper/index.html b/docs/solidity-docs/gatekeepers/SignUpGatekeeper/index.html index e4f6d225a3..83c64d203e 100644 --- a/docs/solidity-docs/gatekeepers/SignUpGatekeeper/index.html +++ b/docs/solidity-docs/gatekeepers/SignUpGatekeeper/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper/index.html b/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper/index.html index d49fdf19e0..0d4c5e8d52 100644 --- a/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper/index.html +++ b/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy/index.html b/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy/index.html index 56dea46927..5b0d8a30f3 100644 --- a/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy/index.html +++ b/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/initialVoiceCreditProxy/index.html b/docs/solidity-docs/initialVoiceCreditProxy/index.html index 9f2ae1c963..4362b2c877 100644 --- a/docs/solidity-docs/initialVoiceCreditProxy/index.html +++ b/docs/solidity-docs/initialVoiceCreditProxy/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/interfaces/IMACI/index.html b/docs/solidity-docs/interfaces/IMACI/index.html index 4df5606008..b5db06923d 100644 --- a/docs/solidity-docs/interfaces/IMACI/index.html +++ b/docs/solidity-docs/interfaces/IMACI/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/trees/AccQueue/index.html b/docs/solidity-docs/trees/AccQueue/index.html index 8058b46616..439f1f7bb8 100644 --- a/docs/solidity-docs/trees/AccQueue/index.html +++ b/docs/solidity-docs/trees/AccQueue/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/trees/AccQueueBinary/index.html b/docs/solidity-docs/trees/AccQueueBinary/index.html index 146487025f..696989ebac 100644 --- a/docs/solidity-docs/trees/AccQueueBinary/index.html +++ b/docs/solidity-docs/trees/AccQueueBinary/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/trees/AccQueueBinary0/index.html b/docs/solidity-docs/trees/AccQueueBinary0/index.html index 1422c875dd..87ae60af2f 100644 --- a/docs/solidity-docs/trees/AccQueueBinary0/index.html +++ b/docs/solidity-docs/trees/AccQueueBinary0/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/trees/AccQueueBinaryMaci/index.html b/docs/solidity-docs/trees/AccQueueBinaryMaci/index.html index 9d7a2c43a8..00f0610b01 100644 --- a/docs/solidity-docs/trees/AccQueueBinaryMaci/index.html +++ b/docs/solidity-docs/trees/AccQueueBinaryMaci/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/trees/AccQueueQuinary/index.html b/docs/solidity-docs/trees/AccQueueQuinary/index.html index 6692b47256..d94dd2164c 100644 --- a/docs/solidity-docs/trees/AccQueueQuinary/index.html +++ b/docs/solidity-docs/trees/AccQueueQuinary/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/trees/AccQueueQuinary0/index.html b/docs/solidity-docs/trees/AccQueueQuinary0/index.html index 231eaca16b..cbfca1bae7 100644 --- a/docs/solidity-docs/trees/AccQueueQuinary0/index.html +++ b/docs/solidity-docs/trees/AccQueueQuinary0/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/trees/AccQueueQuinaryBlankSl/index.html b/docs/solidity-docs/trees/AccQueueQuinaryBlankSl/index.html index 27a37eaaac..e4c2dcf232 100644 --- a/docs/solidity-docs/trees/AccQueueQuinaryBlankSl/index.html +++ b/docs/solidity-docs/trees/AccQueueQuinaryBlankSl/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/trees/AccQueueQuinaryMaci/index.html b/docs/solidity-docs/trees/AccQueueQuinaryMaci/index.html index 2e07cc75e0..b4b0bb4505 100644 --- a/docs/solidity-docs/trees/AccQueueQuinaryMaci/index.html +++ b/docs/solidity-docs/trees/AccQueueQuinaryMaci/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/trees/EmptyBallotRoots/index.html b/docs/solidity-docs/trees/EmptyBallotRoots/index.html index 4c97961be7..a83294a1c0 100644 --- a/docs/solidity-docs/trees/EmptyBallotRoots/index.html +++ b/docs/solidity-docs/trees/EmptyBallotRoots/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/utilities/CommonUtilities/index.html b/docs/solidity-docs/utilities/CommonUtilities/index.html index 13b2afc9d3..772d29d1ee 100644 --- a/docs/solidity-docs/utilities/CommonUtilities/index.html +++ b/docs/solidity-docs/utilities/CommonUtilities/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/utilities/DomainObjs/index.html b/docs/solidity-docs/utilities/DomainObjs/index.html index b00d327780..3279b1102f 100644 --- a/docs/solidity-docs/utilities/DomainObjs/index.html +++ b/docs/solidity-docs/utilities/DomainObjs/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/utilities/Params/index.html b/docs/solidity-docs/utilities/Params/index.html index c879c72fd4..82a130c1d7 100644 --- a/docs/solidity-docs/utilities/Params/index.html +++ b/docs/solidity-docs/utilities/Params/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/solidity-docs/utilities/index.html b/docs/solidity-docs/utilities/index.html index 698403dc2a..5a3410e1a0 100644 --- a/docs/solidity-docs/utilities/index.html +++ b/docs/solidity-docs/utilities/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/spec/index.html b/docs/spec/index.html index a600e070ee..8ad094da9b 100644 --- a/docs/spec/index.html +++ b/docs/spec/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/testing-in-details/index.html b/docs/testing-in-details/index.html index f8bb55ab01..4978747bf9 100644 --- a/docs/testing-in-details/index.html +++ b/docs/testing-in-details/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/testing/index.html b/docs/testing/index.html index 6436f864d6..d63359cc3d 100644 --- a/docs/testing/index.html +++ b/docs/testing/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/troubleshooting/index.html b/docs/troubleshooting/index.html index 47c3d3ebee..076f73c0e3 100644 --- a/docs/troubleshooting/index.html +++ b/docs/troubleshooting/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/trusted-setup/index.html b/docs/trusted-setup/index.html index 8d90d4db2c..360fed5c5a 100644 --- a/docs/trusted-setup/index.html +++ b/docs/trusted-setup/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/typedoc/classes/core_ts.MaciState/index.html b/docs/typedoc/classes/core_ts.MaciState/index.html index 355a4af8c4..a73fd65e4a 100644 --- a/docs/typedoc/classes/core_ts.MaciState/index.html +++ b/docs/typedoc/classes/core_ts.MaciState/index.html @@ -10,7 +10,7 @@ - + @@ -56,42 +56,42 @@

ParametersReturns

MaciState

Defined in

-

core/ts/MaciState.ts:36

+

core/ts/MaciState.ts:36

Properties

currentPollBeingProcessed

Optional currentPollBeingProcessed: number

Defined in

-

core/ts/MaciState.ts:30

+

core/ts/MaciState.ts:30


numSignUps

numSignUps: number = 0

Defined in

-

core/ts/MaciState.ts:25

+

core/ts/MaciState.ts:25


pollBeingProcessed

Optional pollBeingProcessed: boolean

Defined in

-

core/ts/MaciState.ts:28

+

core/ts/MaciState.ts:28


polls

polls: Poll[] = []

Defined in

-

core/ts/MaciState.ts:14

+

core/ts/MaciState.ts:14


stateLeaves

stateLeaves: StateLeaf[] = []

Defined in

-

core/ts/MaciState.ts:20

+

core/ts/MaciState.ts:20


stateTree

stateTree: IncrementalQuinTree

Defined in

-

core/ts/MaciState.ts:17

+

core/ts/MaciState.ts:17


stateTreeDepth

stateTreeDepth: number

Defined in

-

core/ts/MaciState.ts:23

+

core/ts/MaciState.ts:23

Methods

copy

copy(): MaciState

@@ -102,7 +102,7 @@

ReturnsImplementation of

IMaciState.copy

Defined in

-

core/ts/MaciState.ts:108

+

core/ts/MaciState.ts:108


deployNullPoll

deployNullPoll(): void

@@ -112,7 +112,7 @@

ReturnsImplementation of

IMaciState.deployNullPoll

Defined in

-

core/ts/MaciState.ts:100

+

core/ts/MaciState.ts:100


deployPoll

deployPoll(pollEndTimestamp, maxValues, treeDepths, messageBatchSize, coordinatorKeypair): number

@@ -125,7 +125,7 @@

ReturnsImplementation of

IMaciState.deployPoll

Defined in

-

core/ts/MaciState.ts:73

+

core/ts/MaciState.ts:73


equals

equals(m): boolean

@@ -138,7 +138,7 @@

ReturnsImplementation of

IMaciState.equals

Defined in

-

core/ts/MaciState.ts:122

+

core/ts/MaciState.ts:122


signUp

signUp(pubKey, initialVoiceCreditBalance, timestamp): number

@@ -151,7 +151,7 @@

ReturnsImplementation of

IMaciState.signUp

Defined in

-

core/ts/MaciState.ts:55

+

core/ts/MaciState.ts:55


toJSON

toJSON(): IJsonMaciState

@@ -162,7 +162,7 @@

ReturnsImplementation of

IMaciState.toJSON

Defined in

-

core/ts/MaciState.ts:150

+

core/ts/MaciState.ts:150


fromJSON

fromJSON(json): MaciState

@@ -173,6 +173,6 @@

ReturnsMaciState

A new instance of the MaciState object with the properties from the JSON object.

Defined in

-

core/ts/MaciState.ts:166

+

core/ts/MaciState.ts:166

\ No newline at end of file diff --git a/docs/typedoc/classes/core_ts.Poll/index.html b/docs/typedoc/classes/core_ts.Poll/index.html index 847e839086..c49f99eb0f 100644 --- a/docs/typedoc/classes/core_ts.Poll/index.html +++ b/docs/typedoc/classes/core_ts.Poll/index.html @@ -10,7 +10,7 @@ - + @@ -100,182 +100,182 @@

ParametersReturns

Poll

Defined in

-

core/ts/Poll.ts:142

+

core/ts/Poll.ts:142

Properties

MM

MM: number = 50

Defined in

-

core/ts/Poll.ts:123

+

core/ts/Poll.ts:123


WW

WW: number = 4

Defined in

-

core/ts/Poll.ts:125

+

core/ts/Poll.ts:125


ballotTree

Optional ballotTree: IncrementalQuinTree

Defined in

-

core/ts/Poll.ts:72

+

core/ts/Poll.ts:72


ballots

ballots: Ballot[] = []

Defined in

-

core/ts/Poll.ts:70

+

core/ts/Poll.ts:70


batchSizes

batchSizes: BatchSizes

Defined in

-

core/ts/Poll.ts:61

+

core/ts/Poll.ts:61


cbi

cbi: number = 0

Defined in

-

core/ts/Poll.ts:121

+

core/ts/Poll.ts:121


commands

commands: ICommand[] = []

Defined in

-

core/ts/Poll.ts:78

+

core/ts/Poll.ts:78


coordinatorKeypair

coordinatorKeypair: Keypair

Defined in

-

core/ts/Poll.ts:57

+

core/ts/Poll.ts:57


currentMessageBatchIndex

Optional currentMessageBatchIndex: number

Defined in

-

core/ts/Poll.ts:91

+

core/ts/Poll.ts:91


emptyBallot

emptyBallot: Ballot

Defined in

-

core/ts/Poll.ts:129

+

core/ts/Poll.ts:129


emptyBallotHash

Optional emptyBallotHash: bigint

Defined in

-

core/ts/Poll.ts:131

+

core/ts/Poll.ts:131


encPubKeys

encPubKeys: PubKey[] = []

Defined in

-

core/ts/Poll.ts:80

+

core/ts/Poll.ts:80


maciStateRef

maciStateRef: MaciState

Defined in

-

core/ts/Poll.ts:93

+

core/ts/Poll.ts:93


maxValues

maxValues: MaxValues

Defined in

-

core/ts/Poll.ts:63

+

core/ts/Poll.ts:63


messageTree

messageTree: IncrementalQuinTree

Defined in

-

core/ts/Poll.ts:76

+

core/ts/Poll.ts:76


messages

messages: Message[] = []

Defined in

-

core/ts/Poll.ts:74

+

core/ts/Poll.ts:74


numBatchesProcessed

numBatchesProcessed: number = 0

Defined in

-

core/ts/Poll.ts:89

+

core/ts/Poll.ts:89


numBatchesTallied

numBatchesTallied: number = 0

Defined in

-

core/ts/Poll.ts:110

+

core/ts/Poll.ts:110


perVOSpentVoiceCredits

perVOSpentVoiceCredits: bigint[] = []

Defined in

-

core/ts/Poll.ts:108

+

core/ts/Poll.ts:108


pollEndTimestamp

pollEndTimestamp: bigint

Defined in

-

core/ts/Poll.ts:68

+

core/ts/Poll.ts:68


pollId

pollId: number

Defined in

-

core/ts/Poll.ts:95

+

core/ts/Poll.ts:95


preVOSpentVoiceCreditsRootSalts

preVOSpentVoiceCreditsRootSalts: Record<string | number, bigint> = {}

Defined in

-

core/ts/Poll.ts:101

+

core/ts/Poll.ts:101


rbi

rbi: number = 0

Defined in

-

core/ts/Poll.ts:119

+

core/ts/Poll.ts:119


resultRootSalts

resultRootSalts: Record<string | number, bigint> = {}

Defined in

-

core/ts/Poll.ts:99

+

core/ts/Poll.ts:99


sbSalts

sbSalts: Record<string | number, bigint> = {}

Defined in

-

core/ts/Poll.ts:97

+

core/ts/Poll.ts:97


spentVoiceCreditSubtotalSalts

spentVoiceCreditSubtotalSalts: Record<string | number, bigint> = {}

Defined in

-

core/ts/Poll.ts:103

+

core/ts/Poll.ts:103


stateCopied

stateCopied: boolean = false

Defined in

-

core/ts/Poll.ts:82

+

core/ts/Poll.ts:82


stateLeaves

stateLeaves: StateLeaf[]

Defined in

-

core/ts/Poll.ts:84

+

core/ts/Poll.ts:84


stateTree

Optional stateTree: IncrementalQuinTree

Defined in

-

core/ts/Poll.ts:86

+

core/ts/Poll.ts:86


stateTreeDepth

stateTreeDepth: number

Defined in

-

core/ts/Poll.ts:66

+

core/ts/Poll.ts:66


subsidy

subsidy: bigint[] = []

Defined in

-

core/ts/Poll.ts:115

+

core/ts/Poll.ts:115


subsidySalts

subsidySalts: Record<string | number, bigint> = {}

Defined in

-

core/ts/Poll.ts:117

+

core/ts/Poll.ts:117


tallyResult

tallyResult: bigint[] = []

Defined in

-

core/ts/Poll.ts:106

+

core/ts/Poll.ts:106


totalSpentVoiceCredits

totalSpentVoiceCredits: bigint

Defined in

-

core/ts/Poll.ts:112

+

core/ts/Poll.ts:112


treeDepths

treeDepths: TreeDepths

Defined in

-

core/ts/Poll.ts:59

+

core/ts/Poll.ts:59

Methods

coefficientCalculation

coefficientCalculation(rowBallot, colBallot): bigint

@@ -286,7 +286,7 @@

ReturnsDefined in

-

core/ts/Poll.ts:902

+

core/ts/Poll.ts:902


copy

copy(): Poll

@@ -297,7 +297,7 @@

ReturnsImplementation of

IPoll.copy

Defined in

-

core/ts/Poll.ts:1176

+

core/ts/Poll.ts:1176


copyStateFromMaci

copyStateFromMaci(): void

@@ -305,7 +305,7 @@

copyStateF

Returns

void

Defined in

-

core/ts/Poll.ts:178

+

core/ts/Poll.ts:178


equals

equals(p): boolean

@@ -318,7 +318,7 @@

ReturnsImplementation of

IPoll.equals

Defined in

-

core/ts/Poll.ts:1259

+

core/ts/Poll.ts:1259


genPerVOSpentVoiceCreditsCommitment

genPerVOSpentVoiceCreditsCommitment(salt, numBallotsToCount): bigint

@@ -330,7 +330,7 @@

ReturnsDefined in

-

core/ts/Poll.ts:1154

+

core/ts/Poll.ts:1154


genProcessMessagesCircuitInputsPartial

genProcessMessagesCircuitInputsPartial(index): CircuitInputs

@@ -341,7 +341,7 @@

ReturnsCircuitInputs

stringified partial circuit inputs

Defined in

-

core/ts/Poll.ts:665

+

core/ts/Poll.ts:665


genSpentVoiceCreditSubtotalCommitment

genSpentVoiceCreditSubtotalCommitment(salt, numBallotsToCount): bigint

@@ -353,7 +353,7 @@

ReturnsDefined in

-

core/ts/Poll.ts:1130

+

core/ts/Poll.ts:1130


hasUnfinishedSubsidyCalculation

hasUnfinishedSubsidyCalculation(): boolean

@@ -367,7 +367,7 @@

ReturnsImplementation of

IPoll.hasUnfinishedSubsidyCalculation

Defined in

-

core/ts/Poll.ts:783

+

core/ts/Poll.ts:783


hasUnprocessedMessages

hasUnprocessedMessages(): boolean

@@ -379,7 +379,7 @@

ReturnsImplementation of

IPoll.hasUnprocessedMessages

Defined in

-

core/ts/Poll.ts:388

+

core/ts/Poll.ts:388


hasUntalliedBallots

hasUntalliedBallots(): boolean

@@ -390,7 +390,7 @@

ReturnsImplementation of

IPoll.hasUntalliedBallots

Defined in

-

core/ts/Poll.ts:774

+

core/ts/Poll.ts:774


increaseSubsidyIndex

increaseSubsidyIndex(): void

@@ -398,7 +398,7 @@

increas

Returns

void

Defined in

-

core/ts/Poll.ts:857

+

core/ts/Poll.ts:857


previousSubsidyIndexToString

previousSubsidyIndexToString(): string

@@ -409,7 +409,7 @@

ReturnsDefined in

-

core/ts/Poll.ts:874

+

core/ts/Poll.ts:874


processAllMessages

processAllMessages(): Object

@@ -423,7 +423,7 @@

ReturnsImplementation of

IPoll.processAllMessages

Defined in

-

core/ts/Poll.ts:758

+

core/ts/Poll.ts:758


processMessage

processMessage(message, encPubKey): IProcessMessagesOutput

@@ -434,7 +434,7 @@

ReturnsDefined in

-

core/ts/Poll.ts:205

+

core/ts/Poll.ts:205


processMessages

processMessages(pollId): IProcessMessagesCircuitInputs

@@ -454,7 +454,7 @@

ReturnsImplementation of

IPoll.processMessages

Defined in

-

core/ts/Poll.ts:413

+

core/ts/Poll.ts:413


publishMessage

publishMessage(message, encPubKey): void

@@ -467,7 +467,7 @@

ReturnsImplementation of

IPoll.publishMessage

Defined in

-

core/ts/Poll.ts:349

+

core/ts/Poll.ts:349


setCoordinatorKeypair

setCoordinatorKeypair(serializedPrivateKey): void

@@ -479,7 +479,7 @@

ReturnsImplementation of

IPoll.setCoordinatorKeypair

Defined in

-

core/ts/Poll.ts:1366

+

core/ts/Poll.ts:1366


subsidyCalculation

subsidyCalculation(rowStartIndex, colStartIndex): Ballot[][]

@@ -490,7 +490,7 @@

ReturnsDefined in

-

core/ts/Poll.ts:917

+

core/ts/Poll.ts:917


subsidyPerBatch

subsidyPerBatch(): ISubsidyCircuitInputs

@@ -501,7 +501,7 @@

ReturnsImplementation of

IPoll.subsidyPerBatch

Defined in

-

core/ts/Poll.ts:792

+

core/ts/Poll.ts:792


tallyVotes

tallyVotes(): ITallyCircuitInputs

@@ -512,7 +512,7 @@

ReturnsImplementation of

IPoll.tallyVotes

Defined in

-

core/ts/Poll.ts:956

+

core/ts/Poll.ts:956


toJSON

toJSON(): IJsonPoll

@@ -523,7 +523,7 @@

ReturnsImplementation of

IPoll.toJSON

Defined in

-

core/ts/Poll.ts:1294

+

core/ts/Poll.ts:1294


topupMessage

topupMessage(message): void

@@ -535,7 +535,7 @@

ReturnsImplementation of

IPoll.topupMessage

Defined in

-

core/ts/Poll.ts:319

+

core/ts/Poll.ts:319


fromJSON

fromJSON(json, maciState): Poll

@@ -546,6 +546,6 @@

ReturnsPoll

a new Poll instance

Defined in

-

core/ts/Poll.ts:1317

+

core/ts/Poll.ts:1317

\ No newline at end of file diff --git a/docs/typedoc/classes/crypto_ts.AccQueue/index.html b/docs/typedoc/classes/crypto_ts.AccQueue/index.html index 7f9889c37a..9bdd39d5a2 100644 --- a/docs/typedoc/classes/crypto_ts.AccQueue/index.html +++ b/docs/typedoc/classes/crypto_ts.AccQueue/index.html @@ -10,7 +10,7 @@ - + @@ -73,17 +73,17 @@

ParametersReturns

AccQueue

Defined in

-

crypto/ts/AccQueue.ts:77

+

crypto/ts/AccQueue.ts:77

Properties

MAX_DEPTH

Private MAX_DEPTH: number = 32

Defined in

-

crypto/ts/AccQueue.ts:18

+

crypto/ts/AccQueue.ts:18


currentSubtreeIndex

currentSubtreeIndex: number = 0

Defined in

-

crypto/ts/AccQueue.ts:31

+

crypto/ts/AccQueue.ts:31


hashFunc

hashFunc: (leaves: bigint[]) => bigint

@@ -94,42 +94,42 @@
ParametersReturns

bigint

Defined in

-

crypto/ts/AccQueue.ts:37

+

crypto/ts/AccQueue.ts:37


hashLength

hashLength: number

Defined in

-

crypto/ts/AccQueue.ts:24

+

crypto/ts/AccQueue.ts:24


leafQueue

leafQueue: Queue

Defined in

-

crypto/ts/AccQueue.ts:43

+

crypto/ts/AccQueue.ts:43


mainRoots

mainRoots: bigint[] = []

Defined in

-

crypto/ts/AccQueue.ts:62

+

crypto/ts/AccQueue.ts:62


nextSRindexToQueue

nextSRindexToQueue: number = 0

Defined in

-

crypto/ts/AccQueue.ts:49

+

crypto/ts/AccQueue.ts:49


numLeaves

numLeaves: number = 0

Defined in

-

crypto/ts/AccQueue.ts:40

+

crypto/ts/AccQueue.ts:40


smallSRTroot

smallSRTroot: bigint

Defined in

-

crypto/ts/AccQueue.ts:51

+

crypto/ts/AccQueue.ts:51


subDepth

subDepth: number

Defined in

-

crypto/ts/AccQueue.ts:21

+

crypto/ts/AccQueue.ts:21


subHashFunc

subHashFunc: (leaves: bigint[]) => bigint

@@ -140,32 +140,32 @@
ParametersReturns

bigint

Defined in

-

crypto/ts/AccQueue.ts:34

+

crypto/ts/AccQueue.ts:34


subRootQueue

subRootQueue: Queue

Defined in

-

crypto/ts/AccQueue.ts:53

+

crypto/ts/AccQueue.ts:53


subRoots

subRoots: bigint[] = []

Defined in

-

crypto/ts/AccQueue.ts:59

+

crypto/ts/AccQueue.ts:59


subTreesMerged

subTreesMerged: boolean = false

Defined in

-

crypto/ts/AccQueue.ts:69

+

crypto/ts/AccQueue.ts:69


zeroValue

zeroValue: bigint

Defined in

-

crypto/ts/AccQueue.ts:27

+

crypto/ts/AccQueue.ts:27


zeros

zeros: bigint[] = []

Defined in

-

crypto/ts/AccQueue.ts:66

+

crypto/ts/AccQueue.ts:66

Methods

calcSRTdepth

calcSRTdepth(): number

@@ -174,7 +174,7 @@

ReturnsDefined in

-

crypto/ts/AccQueue.ts:283

+

crypto/ts/AccQueue.ts:283


copy

copy(): AccQueue

@@ -184,7 +184,7 @@

ReturnsDefined in

-

crypto/ts/AccQueue.ts:512

+

crypto/ts/AccQueue.ts:512


enqueue

enqueue(leaf): number

@@ -195,7 +195,7 @@

ReturnsDefined in

-

crypto/ts/AccQueue.ts:133

+

crypto/ts/AccQueue.ts:133


enqueueOp

enqueueOp(leaf, level): void

@@ -205,7 +205,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/AccQueue.ts:172

+

crypto/ts/AccQueue.ts:172


fill

fill(): void

@@ -214,7 +214,7 @@

fillReturns

void

Defined in

-

crypto/ts/AccQueue.ts:210

+

crypto/ts/AccQueue.ts:210


fillOp

fillOp(level): void

@@ -224,7 +224,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/AccQueue.ts:249

+

crypto/ts/AccQueue.ts:249


getRoot

getRoot(depth): undefined | null | bigint

@@ -235,7 +235,7 @@

ReturnsDefined in

-

crypto/ts/AccQueue.ts:494

+

crypto/ts/AccQueue.ts:494


getSubRoot

getSubRoot(index): bigint

@@ -246,7 +246,7 @@

ReturnsDefined in

-

crypto/ts/AccQueue.ts:124

+

crypto/ts/AccQueue.ts:124


hasRoot

hasRoot(depth): boolean

@@ -257,7 +257,7 @@

ReturnsDefined in

-

crypto/ts/AccQueue.ts:503

+

crypto/ts/AccQueue.ts:503


hash

hash(leaves): bigint

@@ -268,7 +268,7 @@

ReturnsDefined in

-

crypto/ts/AccQueue.ts:539

+

crypto/ts/AccQueue.ts:539


insertSubTree

insertSubTree(subRoot): void

@@ -279,7 +279,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/AccQueue.ts:299

+

crypto/ts/AccQueue.ts:299


merge

merge(depth): void

@@ -290,7 +290,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/AccQueue.ts:321

+

crypto/ts/AccQueue.ts:321


mergeDirect

mergeDirect(depth): void

@@ -302,7 +302,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/AccQueue.ts:355

+

crypto/ts/AccQueue.ts:355


mergeSubRoots

mergeSubRoots(numSrQueueOps?): void

@@ -314,7 +314,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/AccQueue.ts:402

+

crypto/ts/AccQueue.ts:402


queueSubRoot

queueSubRoot(leaf, level, maxDepth): void

@@ -324,6 +324,6 @@

ParametersReturns

void

Defined in

-

crypto/ts/AccQueue.ts:463

+

crypto/ts/AccQueue.ts:463

\ No newline at end of file diff --git a/docs/typedoc/classes/crypto_ts.G1Point/index.html b/docs/typedoc/classes/crypto_ts.G1Point/index.html index 2ea30f9b0b..7ed8f30bb9 100644 --- a/docs/typedoc/classes/crypto_ts.G1Point/index.html +++ b/docs/typedoc/classes/crypto_ts.G1Point/index.html @@ -10,7 +10,7 @@ - + @@ -44,17 +44,17 @@

ParametersReturns

G1Point

Defined in

-

crypto/ts/babyjub.ts:22

+

crypto/ts/babyjub.ts:22

Properties

x

x: bigint

Defined in

-

crypto/ts/babyjub.ts:13

+

crypto/ts/babyjub.ts:13


y

y: bigint

Defined in

-

crypto/ts/babyjub.ts:15

+

crypto/ts/babyjub.ts:15

Methods

asContractParam

asContractParam(): Object

@@ -64,7 +64,7 @@

ReturnsNameTypexstringystring

Defined in

-

crypto/ts/babyjub.ts:42

+

crypto/ts/babyjub.ts:42


equals

equals(pt): boolean

@@ -75,6 +75,6 @@

ReturnsDefined in

-

crypto/ts/babyjub.ts:34

+

crypto/ts/babyjub.ts:34

\ No newline at end of file diff --git a/docs/typedoc/classes/crypto_ts.G2Point/index.html b/docs/typedoc/classes/crypto_ts.G2Point/index.html index 6591e66478..fb1171beed 100644 --- a/docs/typedoc/classes/crypto_ts.G2Point/index.html +++ b/docs/typedoc/classes/crypto_ts.G2Point/index.html @@ -10,7 +10,7 @@ - + @@ -46,17 +46,17 @@

ParametersReturns

G2Point

Defined in

-

crypto/ts/babyjub.ts:65

+

crypto/ts/babyjub.ts:65

Properties

x

x: bigint[]

Defined in

-

crypto/ts/babyjub.ts:56

+

crypto/ts/babyjub.ts:56


y

y: bigint[]

Defined in

-

crypto/ts/babyjub.ts:58

+

crypto/ts/babyjub.ts:58

Methods

asContractParam

asContractParam(): Object

@@ -66,7 +66,7 @@

ReturnsNameTypexstring[]ystring[]

Defined in

-

crypto/ts/babyjub.ts:86

+

crypto/ts/babyjub.ts:86


checkPointsRange

checkPointsRange(x, type): void

@@ -76,7 +76,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/babyjub.ts:98

+

crypto/ts/babyjub.ts:98


equals

equals(pt): boolean

@@ -87,6 +87,6 @@

ReturnsDefined in

-

crypto/ts/babyjub.ts:78

+

crypto/ts/babyjub.ts:78

\ No newline at end of file diff --git a/docs/typedoc/classes/crypto_ts.IncrementalQuinTree/index.html b/docs/typedoc/classes/crypto_ts.IncrementalQuinTree/index.html index 871928fa1f..8263ce8088 100644 --- a/docs/typedoc/classes/crypto_ts.IncrementalQuinTree/index.html +++ b/docs/typedoc/classes/crypto_ts.IncrementalQuinTree/index.html @@ -10,7 +10,7 @@ - + @@ -62,17 +62,17 @@

ParametersReturns

IncrementalQuinTree

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:134

+

crypto/ts/@types/optimisedmt.d.ts:134

Properties

capacity

capacity: number

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:132

+

crypto/ts/@types/optimisedmt.d.ts:132


depth

depth: number

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:114

+

crypto/ts/@types/optimisedmt.d.ts:114


equals

equals: (o: IncrementalQuinTree) => boolean

@@ -83,17 +83,17 @@
ParametersReturns

boolean

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:167

+

crypto/ts/@types/optimisedmt.d.ts:167


getChildIndices

Private getChildIndices: any

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:155

+

crypto/ts/@types/optimisedmt.d.ts:155


getParentIndices

Private getParentIndices: any

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:159

+

crypto/ts/@types/optimisedmt.d.ts:159


hashFunc

hashFunc: (leaves: bigint[]) => bigint

@@ -104,32 +104,32 @@
ParametersReturns

bigint

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:120

+

crypto/ts/@types/optimisedmt.d.ts:120


leavesPerNode

leavesPerNode: number

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:118

+

crypto/ts/@types/optimisedmt.d.ts:118


nextIndex

nextIndex: number

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:122

+

crypto/ts/@types/optimisedmt.d.ts:122


nodes

nodes: MTNode

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:128

+

crypto/ts/@types/optimisedmt.d.ts:128


numNodes

numNodes: number

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:130

+

crypto/ts/@types/optimisedmt.d.ts:130


root

root: bigint

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:126

+

crypto/ts/@types/optimisedmt.d.ts:126


serialize

serialize: () => string

@@ -138,17 +138,17 @@

Type decl

Returns

string

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:165

+

crypto/ts/@types/optimisedmt.d.ts:165


zeroValue

zeroValue: bigint

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:116

+

crypto/ts/@types/optimisedmt.d.ts:116


zeros

zeros: bigint[]

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:124

+

crypto/ts/@types/optimisedmt.d.ts:124


unserialize

Static unserialize: (s: string) => IncrementalQuinTree

@@ -159,7 +159,7 @@
ParametersReturns

IncrementalQuinTree

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:169

+

crypto/ts/@types/optimisedmt.d.ts:169


verifyMerklePath

Static verifyMerklePath: (proof: MerkleProof, hashFunc: (leaves: bigint[]) => bigint) => boolean

@@ -170,14 +170,14 @@
ParametersReturns

boolean

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:147

+

crypto/ts/@types/optimisedmt.d.ts:147

Methods

copy

copy(): IncrementalQuinTree

Returns

IncrementalQuinTree

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:163

+

crypto/ts/@types/optimisedmt.d.ts:163


genMerklePath

genMerklePath(index): MerkleProof

@@ -186,7 +186,7 @@

ParametersReturns

MerkleProof

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:140

+

crypto/ts/@types/optimisedmt.d.ts:140


genMerkleSubrootPath

genMerkleSubrootPath(startIndex, endIndex): MerkleProof

@@ -195,7 +195,7 @@

ParametersReturns

MerkleProof

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:142

+

crypto/ts/@types/optimisedmt.d.ts:142


getLeaf

getLeaf(index): bigint

@@ -204,7 +204,7 @@

ParametersReturns

bigint

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:149

+

crypto/ts/@types/optimisedmt.d.ts:149


getNode

getNode(index): bigint

@@ -213,7 +213,7 @@

ParametersReturns

bigint

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:151

+

crypto/ts/@types/optimisedmt.d.ts:151


insert

insert(value): void

@@ -222,7 +222,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:136

+

crypto/ts/@types/optimisedmt.d.ts:136


setNode

setNode(index, value): void

@@ -231,7 +231,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:153

+

crypto/ts/@types/optimisedmt.d.ts:153


update

update(index, value): void

@@ -240,7 +240,7 @@

ParametersReturns

void

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:138

+

crypto/ts/@types/optimisedmt.d.ts:138


calcChildIndices

calcChildIndices(index, leavesPerNode, depth): number[]

@@ -249,7 +249,7 @@

ParametersReturns

number[]

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:157

+

crypto/ts/@types/optimisedmt.d.ts:157


calcParentIndices

calcParentIndices(index, leavesPerNode, depth): number[]

@@ -258,6 +258,6 @@

ParametersReturns

number[]

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:161

+

crypto/ts/@types/optimisedmt.d.ts:161

\ No newline at end of file diff --git a/docs/typedoc/classes/domainobjs_ts.Ballot/index.html b/docs/typedoc/classes/domainobjs_ts.Ballot/index.html index d14825a9c7..08c9f5942d 100644 --- a/docs/typedoc/classes/domainobjs_ts.Ballot/index.html +++ b/docs/typedoc/classes/domainobjs_ts.Ballot/index.html @@ -10,7 +10,7 @@ - + @@ -51,22 +51,22 @@

ParametersReturns

Ballot

Defined in

-

domainobjs/ts/ballot.ts:23

+

domainobjs/ts/ballot.ts:23

Properties

nonce

nonce: bigint

Defined in

-

domainobjs/ts/ballot.ts:14

+

domainobjs/ts/ballot.ts:14


voteOptionTreeDepth

voteOptionTreeDepth: number

Defined in

-

domainobjs/ts/ballot.ts:16

+

domainobjs/ts/ballot.ts:16


votes

votes: bigint[] = []

Defined in

-

domainobjs/ts/ballot.ts:12

+

domainobjs/ts/ballot.ts:12

Methods

asArray

asArray(): bigint[]

@@ -77,7 +77,7 @@

ReturnsDefined in

-

domainobjs/ts/ballot.ts:52

+

domainobjs/ts/ballot.ts:52


asCircuitInputs

asCircuitInputs(): bigint[]

@@ -86,7 +86,7 @@

ReturnsDefined in

-

domainobjs/ts/ballot.ts:45

+

domainobjs/ts/ballot.ts:45


copy

copy(): Ballot

@@ -95,7 +95,7 @@

ReturnsBallot

a copy of the ballot

Defined in

-

domainobjs/ts/ballot.ts:68

+

domainobjs/ts/ballot.ts:68


equals

equals(b): boolean

@@ -106,7 +106,7 @@

ReturnsDefined in

-

domainobjs/ts/ballot.ts:81

+

domainobjs/ts/ballot.ts:81


hash

hash(): bigint

@@ -115,7 +115,7 @@

ReturnsDefined in

-

domainobjs/ts/ballot.ts:36

+

domainobjs/ts/ballot.ts:36


toJSON

toJSON(): IJsonBallot

@@ -123,7 +123,7 @@

toJSONReturns

IJsonBallot

Defined in

-

domainobjs/ts/ballot.ts:112

+

domainobjs/ts/ballot.ts:112


fromJSON

fromJSON(json): Ballot

@@ -134,7 +134,7 @@

ReturnsBallot

the deserialized object as a Ballot instance

Defined in

-

domainobjs/ts/ballot.ts:125

+

domainobjs/ts/ballot.ts:125


genBlankBallot

genBlankBallot(numVoteOptions, voteOptionTreeDepth): Ballot

@@ -145,7 +145,7 @@

ReturnsBallot

a Blank Ballot object

Defined in

-

domainobjs/ts/ballot.ts:104

+

domainobjs/ts/ballot.ts:104


genRandomBallot

genRandomBallot(numVoteOptions, voteOptionTreeDepth): Ballot

@@ -156,6 +156,6 @@

ReturnsBallot

a random Ballot

Defined in

-

domainobjs/ts/ballot.ts:92

+

domainobjs/ts/ballot.ts:92

\ No newline at end of file diff --git a/docs/typedoc/classes/domainobjs_ts.Keypair/index.html b/docs/typedoc/classes/domainobjs_ts.Keypair/index.html index 3dce27f41f..76a2edbe31 100644 --- a/docs/typedoc/classes/domainobjs_ts.Keypair/index.html +++ b/docs/typedoc/classes/domainobjs_ts.Keypair/index.html @@ -10,7 +10,7 @@ - + @@ -51,17 +51,17 @@

ReturnsDefined in

-

domainobjs/ts/keyPair.ts:26

+

domainobjs/ts/keyPair.ts:26

Properties

privKey

privKey: PrivKey

Defined in

-

domainobjs/ts/keyPair.ts:17

+

domainobjs/ts/keyPair.ts:17


pubKey

pubKey: PubKey

Defined in

-

domainobjs/ts/keyPair.ts:19

+

domainobjs/ts/keyPair.ts:19

Methods

copy

copy(): Keypair

@@ -70,7 +70,7 @@

ReturnsKeypair

a copy of the Keypair

Defined in

-

domainobjs/ts/keyPair.ts:41

+

domainobjs/ts/keyPair.ts:41


equals

equals(keypair): boolean

@@ -81,7 +81,7 @@

ReturnsDefined in

-

domainobjs/ts/keyPair.ts:58

+

domainobjs/ts/keyPair.ts:58


toJSON

toJSON(): IJsonKeyPair

@@ -89,7 +89,7 @@

toJSONReturns

IJsonKeyPair

Defined in

-

domainobjs/ts/keyPair.ts:75

+

domainobjs/ts/keyPair.ts:75


fromJSON

fromJSON(json): Keypair

@@ -100,7 +100,7 @@

ReturnsKeypair

a keypair instance

Defined in

-

domainobjs/ts/keyPair.ts:87

+

domainobjs/ts/keyPair.ts:87


genEcdhSharedKey

genEcdhSharedKey(privKey, pubKey): EcdhSharedKey

@@ -110,6 +110,6 @@

ParametersReturns

EcdhSharedKey

Defined in

-

domainobjs/ts/keyPair.ts:49

+

domainobjs/ts/keyPair.ts:49

\ No newline at end of file diff --git a/docs/typedoc/classes/domainobjs_ts.Message/index.html b/docs/typedoc/classes/domainobjs_ts.Message/index.html index a282801b66..1d72428ab6 100644 --- a/docs/typedoc/classes/domainobjs_ts.Message/index.html +++ b/docs/typedoc/classes/domainobjs_ts.Message/index.html @@ -10,7 +10,7 @@ - + @@ -50,22 +50,22 @@

ParametersReturns

Message

Defined in

-

domainobjs/ts/message.ts:23

+

domainobjs/ts/message.ts:23

Properties

data

data: bigint[]

Defined in

-

domainobjs/ts/message.ts:14

+

domainobjs/ts/message.ts:14


msgType

msgType: bigint

Defined in

-

domainobjs/ts/message.ts:12

+

domainobjs/ts/message.ts:12


DATA_LENGTH

Static DATA_LENGTH: number = 10

Defined in

-

domainobjs/ts/message.ts:16

+

domainobjs/ts/message.ts:16

Methods

asArray

asArray(): bigint[]

@@ -74,7 +74,7 @@

ReturnsDefined in

-

domainobjs/ts/message.ts:33

+

domainobjs/ts/message.ts:33


asCircuitInputs

asCircuitInputs(): bigint[]

@@ -83,7 +83,7 @@

ReturnsDefined in

-

domainobjs/ts/message.ts:48

+

domainobjs/ts/message.ts:48


asContractParam

asContractParam(): IMessageContractParams

@@ -92,7 +92,7 @@

ReturnsIMessageContractParams

the message as a contract param

Defined in

-

domainobjs/ts/message.ts:39

+

domainobjs/ts/message.ts:39


copy

copy(): Message

@@ -101,7 +101,7 @@

ReturnsMessage

a copy of the message

Defined in

-

domainobjs/ts/message.ts:61

+

domainobjs/ts/message.ts:61


equals

equals(m): boolean

@@ -112,7 +112,7 @@

ReturnsDefined in

-

domainobjs/ts/message.ts:72

+

domainobjs/ts/message.ts:72


hash

hash(encPubKey): bigint

@@ -123,7 +123,7 @@

ReturnsDefined in

-

domainobjs/ts/message.ts:55

+

domainobjs/ts/message.ts:55


toJSON

toJSON(): IMessageContractParams

@@ -131,7 +131,7 @@

toJSONReturns

IMessageContractParams

Defined in

-

domainobjs/ts/message.ts:86

+

domainobjs/ts/message.ts:86


fromJSON

fromJSON(json): Message

@@ -142,6 +142,6 @@

ReturnsMessage

the deserialized object as a Message instance

Defined in

-

domainobjs/ts/message.ts:95

+

domainobjs/ts/message.ts:95

\ No newline at end of file diff --git a/docs/typedoc/classes/domainobjs_ts.PCommand/index.html b/docs/typedoc/classes/domainobjs_ts.PCommand/index.html index 9ef4e42657..a6b44cf23a 100644 --- a/docs/typedoc/classes/domainobjs_ts.PCommand/index.html +++ b/docs/typedoc/classes/domainobjs_ts.PCommand/index.html @@ -10,7 +10,7 @@ - + @@ -63,49 +63,49 @@

ParametersReturns

PCommand

Defined in

-

domainobjs/ts/commands/PCommand.ts:58

+

domainobjs/ts/commands/PCommand.ts:58

Properties

cmdType

cmdType: bigint

Implementation of

ICommand.cmdType

Defined in

-

domainobjs/ts/commands/PCommand.ts:32

+

domainobjs/ts/commands/PCommand.ts:32


newPubKey

newPubKey: PubKey

Defined in

-

domainobjs/ts/commands/PCommand.ts:36

+

domainobjs/ts/commands/PCommand.ts:36


newVoteWeight

newVoteWeight: bigint

Defined in

-

domainobjs/ts/commands/PCommand.ts:40

+

domainobjs/ts/commands/PCommand.ts:40


nonce

nonce: bigint

Defined in

-

domainobjs/ts/commands/PCommand.ts:42

+

domainobjs/ts/commands/PCommand.ts:42


pollId

pollId: bigint

Defined in

-

domainobjs/ts/commands/PCommand.ts:44

+

domainobjs/ts/commands/PCommand.ts:44


salt

salt: bigint

Defined in

-

domainobjs/ts/commands/PCommand.ts:46

+

domainobjs/ts/commands/PCommand.ts:46


stateIndex

stateIndex: bigint

Defined in

-

domainobjs/ts/commands/PCommand.ts:34

+

domainobjs/ts/commands/PCommand.ts:34


voteOptionIndex

voteOptionIndex: bigint

Defined in

-

domainobjs/ts/commands/PCommand.ts:38

+

domainobjs/ts/commands/PCommand.ts:38

Methods

asArray

asArray(): bigint[]

@@ -117,14 +117,14 @@

ReturnsDefined in

-

domainobjs/ts/commands/PCommand.ts:106

+

domainobjs/ts/commands/PCommand.ts:106


asCircuitInputs

asCircuitInputs(): bigint[]

Returns

bigint[]

Defined in

-

domainobjs/ts/commands/PCommand.ts:122

+

domainobjs/ts/commands/PCommand.ts:122


copy

copy<T>(): T

@@ -137,7 +137,7 @@

ReturnsImplementation of

ICommand.copy

Defined in

-

domainobjs/ts/commands/PCommand.ts:89

+

domainobjs/ts/commands/PCommand.ts:89


encrypt

encrypt(signature, sharedKey): Message

@@ -155,7 +155,7 @@

ReturnsDefined in

-

domainobjs/ts/commands/PCommand.ts:161

+

domainobjs/ts/commands/PCommand.ts:161


equals

equals(command): boolean

@@ -166,14 +166,14 @@

ReturnsImplementation of

ICommand.equals

Defined in

-

domainobjs/ts/commands/PCommand.ts:127

+

domainobjs/ts/commands/PCommand.ts:127


hash

hash(): bigint

Returns

bigint

Defined in

-

domainobjs/ts/commands/PCommand.ts:136

+

domainobjs/ts/commands/PCommand.ts:136


sign

sign(privKey): Signature<SnarkBigNumber>

@@ -184,7 +184,7 @@

ReturnsDefined in

-

domainobjs/ts/commands/PCommand.ts:141

+

domainobjs/ts/commands/PCommand.ts:141


toJSON

toJSON(): IJsonPCommand

@@ -194,7 +194,7 @@

ReturnsImplementation of

ICommand.toJSON

Defined in

-

domainobjs/ts/commands/PCommand.ts:220

+

domainobjs/ts/commands/PCommand.ts:220


verifySignature

verifySignature(signature, pubKey): boolean

@@ -207,7 +207,7 @@

ReturnsDefined in

-

domainobjs/ts/commands/PCommand.ts:148

+

domainobjs/ts/commands/PCommand.ts:148


decrypt

decrypt(message, sharedKey): IDecryptMessage

@@ -217,7 +217,7 @@

ParametersReturns

IDecryptMessage

Defined in

-

domainobjs/ts/commands/PCommand.ts:178

+

domainobjs/ts/commands/PCommand.ts:178


fromJSON

fromJSON(json): PCommand

@@ -228,6 +228,6 @@

ReturnsPCommand

a PComamnd instance

Defined in

-

domainobjs/ts/commands/PCommand.ts:238

+

domainobjs/ts/commands/PCommand.ts:238

\ No newline at end of file diff --git a/docs/typedoc/classes/domainobjs_ts.PrivKey/index.html b/docs/typedoc/classes/domainobjs_ts.PrivKey/index.html index 610fd9fefe..545854211b 100644 --- a/docs/typedoc/classes/domainobjs_ts.PrivKey/index.html +++ b/docs/typedoc/classes/domainobjs_ts.PrivKey/index.html @@ -10,7 +10,7 @@ - + @@ -51,12 +51,12 @@

ParametersReturns

PrivKey

Defined in

-

domainobjs/ts/privateKey.ts:21

+

domainobjs/ts/privateKey.ts:21

Properties

rawPrivKey

rawPrivKey: SnarkBigNumber

Defined in

-

domainobjs/ts/privateKey.ts:15

+

domainobjs/ts/privateKey.ts:15

Methods

asCircuitInputs

asCircuitInputs(): string

@@ -65,7 +65,7 @@

ReturnsDefined in

-

domainobjs/ts/privateKey.ts:35

+

domainobjs/ts/privateKey.ts:35


copy

copy(): PrivKey

@@ -74,7 +74,7 @@

ReturnsPrivKey

a copy of the Private key

Defined in

-

domainobjs/ts/privateKey.ts:29

+

domainobjs/ts/privateKey.ts:29


serialize

serialize(): string

@@ -83,7 +83,7 @@

ReturnsDefined in

-

domainobjs/ts/privateKey.ts:41

+

domainobjs/ts/privateKey.ts:41


toJSON

toJSON(): IJsonPrivateKey

@@ -91,7 +91,7 @@

toJSONReturns

IJsonPrivateKey

Defined in

-

domainobjs/ts/privateKey.ts:80

+

domainobjs/ts/privateKey.ts:80


deserialize

deserialize(s): PrivKey

@@ -102,7 +102,7 @@

ReturnsPrivKey

the deserialized private key

Defined in

-

domainobjs/ts/privateKey.ts:55

+

domainobjs/ts/privateKey.ts:55


fromJSON

fromJSON(json): PrivKey

@@ -113,7 +113,7 @@

ReturnsPrivKey

the deserialized object as a PrivKey instance

Defined in

-

domainobjs/ts/privateKey.ts:91

+

domainobjs/ts/privateKey.ts:91


isValidSerializedPrivKey

isValidSerializedPrivKey(s): boolean

@@ -124,6 +124,6 @@

ReturnsDefined in

-

domainobjs/ts/privateKey.ts:65

+

domainobjs/ts/privateKey.ts:65

\ No newline at end of file diff --git a/docs/typedoc/classes/domainobjs_ts.PubKey/index.html b/docs/typedoc/classes/domainobjs_ts.PubKey/index.html index f337d3b919..f2ccdd441e 100644 --- a/docs/typedoc/classes/domainobjs_ts.PubKey/index.html +++ b/docs/typedoc/classes/domainobjs_ts.PubKey/index.html @@ -10,7 +10,7 @@ - + @@ -56,12 +56,12 @@

ParametersReturns

PubKey

Defined in

-

domainobjs/ts/publicKey.ts:23

+

domainobjs/ts/publicKey.ts:23

Properties

rawPubKey

rawPubKey: PubKey

Defined in

-

domainobjs/ts/publicKey.ts:17

+

domainobjs/ts/publicKey.ts:17

Methods

asArray

asArray(): bigint[]

@@ -70,7 +70,7 @@

ReturnsDefined in

-

domainobjs/ts/publicKey.ts:58

+

domainobjs/ts/publicKey.ts:58


asCircuitInputs

asCircuitInputs(): string[]

@@ -79,7 +79,7 @@

ReturnsDefined in

-

domainobjs/ts/publicKey.ts:52

+

domainobjs/ts/publicKey.ts:52


asContractParam

asContractParam(): IG1ContractParams

@@ -88,7 +88,7 @@

ReturnsIG1ContractParams

the public key as smart contract parameters

Defined in

-

domainobjs/ts/publicKey.ts:39

+

domainobjs/ts/publicKey.ts:39


copy

copy(): PubKey

@@ -97,7 +97,7 @@

ReturnsPubKey

a copy of the public key

Defined in

-

domainobjs/ts/publicKey.ts:33

+

domainobjs/ts/publicKey.ts:33


equals

equals(p): boolean

@@ -108,7 +108,7 @@

ReturnsDefined in

-

domainobjs/ts/publicKey.ts:91

+

domainobjs/ts/publicKey.ts:91


hash

hash(): bigint

@@ -117,7 +117,7 @@

ReturnsDefined in

-

domainobjs/ts/publicKey.ts:84

+

domainobjs/ts/publicKey.ts:84


serialize

serialize(): string

@@ -126,7 +126,7 @@

ReturnsDefined in

-

domainobjs/ts/publicKey.ts:64

+

domainobjs/ts/publicKey.ts:64


toJSON

toJSON(): IJsonPublicKey

@@ -134,7 +134,7 @@

toJSONReturns

IJsonPublicKey

Defined in

-

domainobjs/ts/publicKey.ts:127

+

domainobjs/ts/publicKey.ts:127


deserialize

deserialize(s): PubKey

@@ -145,7 +145,7 @@

ReturnsPubKey

the deserialized public key

Defined in

-

domainobjs/ts/publicKey.ts:98

+

domainobjs/ts/publicKey.ts:98


fromJSON

fromJSON(json): PubKey

@@ -156,7 +156,7 @@

ReturnsPubKey

PubKey

Defined in

-

domainobjs/ts/publicKey.ts:138

+

domainobjs/ts/publicKey.ts:138


isValidSerializedPubKey

isValidSerializedPubKey(s): boolean

@@ -167,6 +167,6 @@

ReturnsDefined in

-

domainobjs/ts/publicKey.ts:113

+

domainobjs/ts/publicKey.ts:113

\ No newline at end of file diff --git a/docs/typedoc/classes/domainobjs_ts.StateLeaf/index.html b/docs/typedoc/classes/domainobjs_ts.StateLeaf/index.html index 2a56b43919..c62f45e987 100644 --- a/docs/typedoc/classes/domainobjs_ts.StateLeaf/index.html +++ b/docs/typedoc/classes/domainobjs_ts.StateLeaf/index.html @@ -10,7 +10,7 @@ - + @@ -59,26 +59,26 @@

ParametersReturns

StateLeaf

Defined in

-

domainobjs/ts/stateLeaf.ts:25

+

domainobjs/ts/stateLeaf.ts:25

Properties

pubKey

pubKey: PubKey

Implementation of

IStateLeaf.pubKey

Defined in

-

domainobjs/ts/stateLeaf.ts:13

+

domainobjs/ts/stateLeaf.ts:13


timestamp

timestamp: bigint

Defined in

-

domainobjs/ts/stateLeaf.ts:17

+

domainobjs/ts/stateLeaf.ts:17


voiceCreditBalance

voiceCreditBalance: bigint

Implementation of

IStateLeaf.voiceCreditBalance

Defined in

-

domainobjs/ts/stateLeaf.ts:15

+

domainobjs/ts/stateLeaf.ts:15

Methods

asArray

asArray(): bigint[]

@@ -87,7 +87,7 @@

ReturnsDefined in

-

domainobjs/ts/stateLeaf.ts:79

+

domainobjs/ts/stateLeaf.ts:79


asCircuitInputs

asCircuitInputs(): bigint[]

@@ -96,7 +96,7 @@

ReturnsDefined in

-

domainobjs/ts/stateLeaf.ts:85

+

domainobjs/ts/stateLeaf.ts:85


asContractParam

asContractParam(): IStateLeafContractParams

@@ -105,7 +105,7 @@

ReturnsIStateLeafContractParams

the state leaf as a contract param (object)

Defined in

-

domainobjs/ts/stateLeaf.ts:97

+

domainobjs/ts/stateLeaf.ts:97


copy

copy(): StateLeaf

@@ -114,7 +114,7 @@

ReturnsStateLeaf

a copy of the state leaf

Defined in

-

domainobjs/ts/stateLeaf.ts:35

+

domainobjs/ts/stateLeaf.ts:35


equals

equals(s): boolean

@@ -125,7 +125,7 @@

ReturnsDefined in

-

domainobjs/ts/stateLeaf.ts:110

+

domainobjs/ts/stateLeaf.ts:110


hash

hash(): bigint

@@ -134,7 +134,7 @@

ReturnsDefined in

-

domainobjs/ts/stateLeaf.ts:91

+

domainobjs/ts/stateLeaf.ts:91


serialize

serialize(): string

@@ -146,7 +146,7 @@

ReturnsDefined in

-

domainobjs/ts/stateLeaf.ts:122

+

domainobjs/ts/stateLeaf.ts:122


toJSON

toJSON(): IJsonStateLeaf

@@ -154,7 +154,7 @@

toJSONReturns

IJsonStateLeaf

Defined in

-

domainobjs/ts/stateLeaf.ts:143

+

domainobjs/ts/stateLeaf.ts:143


deserialize

deserialize(serialized): StateLeaf

@@ -165,7 +165,7 @@

ReturnsStateLeaf

a deserialized state leaf

Defined in

-

domainobjs/ts/stateLeaf.ts:133

+

domainobjs/ts/stateLeaf.ts:133


fromJSON

fromJSON(json): StateLeaf

@@ -176,7 +176,7 @@

ReturnsStateLeaf

the deserialized object as a StateLeaf instance

Defined in

-

domainobjs/ts/stateLeaf.ts:156

+

domainobjs/ts/stateLeaf.ts:156


genBlankLeaf

genBlankLeaf(): StateLeaf

@@ -185,7 +185,7 @@

ReturnsStateLeaf

a blank state leaf

Defined in

-

domainobjs/ts/stateLeaf.ts:47

+

domainobjs/ts/stateLeaf.ts:47


genRandomLeaf

genRandomLeaf(): StateLeaf

@@ -194,6 +194,6 @@

ReturnsStateLeaf

a random state leaf

Defined in

-

domainobjs/ts/stateLeaf.ts:70

+

domainobjs/ts/stateLeaf.ts:70

\ No newline at end of file diff --git a/docs/typedoc/classes/domainobjs_ts.TCommand/index.html b/docs/typedoc/classes/domainobjs_ts.TCommand/index.html index 6d91181f4f..8039715472 100644 --- a/docs/typedoc/classes/domainobjs_ts.TCommand/index.html +++ b/docs/typedoc/classes/domainobjs_ts.TCommand/index.html @@ -10,7 +10,7 @@ - + @@ -51,29 +51,29 @@

ParametersReturns

TCommand

Defined in

-

domainobjs/ts/commands/TCommand.ts:21

+

domainobjs/ts/commands/TCommand.ts:21

Properties

amount

amount: bigint

Defined in

-

domainobjs/ts/commands/TCommand.ts:11

+

domainobjs/ts/commands/TCommand.ts:11


cmdType

cmdType: bigint

Implementation of

ICommand.cmdType

Defined in

-

domainobjs/ts/commands/TCommand.ts:7

+

domainobjs/ts/commands/TCommand.ts:7


pollId

pollId: bigint

Defined in

-

domainobjs/ts/commands/TCommand.ts:13

+

domainobjs/ts/commands/TCommand.ts:13


stateIndex

stateIndex: bigint

Defined in

-

domainobjs/ts/commands/TCommand.ts:9

+

domainobjs/ts/commands/TCommand.ts:9

Methods

copy

copy<T>(): T

@@ -86,7 +86,7 @@

ReturnsImplementation of

ICommand.copy

Defined in

-

domainobjs/ts/commands/TCommand.ts:32

+

domainobjs/ts/commands/TCommand.ts:32


equals

equals(command): boolean

@@ -99,7 +99,7 @@

ReturnsImplementation of

ICommand.equals

Defined in

-

domainobjs/ts/commands/TCommand.ts:39

+

domainobjs/ts/commands/TCommand.ts:39


toJSON

toJSON(): IJsonTCommand

@@ -109,7 +109,7 @@

ReturnsImplementation of

ICommand.toJSON

Defined in

-

domainobjs/ts/commands/TCommand.ts:48

+

domainobjs/ts/commands/TCommand.ts:48


fromJSON

fromJSON(json): TCommand

@@ -120,6 +120,6 @@

ReturnsTCommand

the TCommand instance

Defined in

-

domainobjs/ts/commands/TCommand.ts:62

+

domainobjs/ts/commands/TCommand.ts:62

\ No newline at end of file diff --git a/docs/typedoc/classes/domainobjs_ts.VerifyingKey/index.html b/docs/typedoc/classes/domainobjs_ts.VerifyingKey/index.html index 092f589ff0..e724a5327f 100644 --- a/docs/typedoc/classes/domainobjs_ts.VerifyingKey/index.html +++ b/docs/typedoc/classes/domainobjs_ts.VerifyingKey/index.html @@ -10,7 +10,7 @@ - + @@ -50,32 +50,32 @@

ParametersReturns

VerifyingKey

Defined in

-

domainobjs/ts/verifyingKey.ts:27

+

domainobjs/ts/verifyingKey.ts:27

Properties

alpha1

alpha1: G1Point

Defined in

-

domainobjs/ts/verifyingKey.ts:9

+

domainobjs/ts/verifyingKey.ts:9


beta2

beta2: G2Point

Defined in

-

domainobjs/ts/verifyingKey.ts:11

+

domainobjs/ts/verifyingKey.ts:11


delta2

delta2: G2Point

Defined in

-

domainobjs/ts/verifyingKey.ts:15

+

domainobjs/ts/verifyingKey.ts:15


gamma2

gamma2: G2Point

Defined in

-

domainobjs/ts/verifyingKey.ts:13

+

domainobjs/ts/verifyingKey.ts:13


ic

ic: G1Point[]

Defined in

-

domainobjs/ts/verifyingKey.ts:17

+

domainobjs/ts/verifyingKey.ts:17

Methods

asContractParam

asContractParam(): IVkContractParams

@@ -85,7 +85,7 @@

ReturnsIVkContractParams

the object representation of this

Defined in

-

domainobjs/ts/verifyingKey.ts:40

+

domainobjs/ts/verifyingKey.ts:40


copy

copy(): VerifyingKey

@@ -94,7 +94,7 @@

ReturnsVerifyingKey

the copy

Defined in

-

domainobjs/ts/verifyingKey.ts:94

+

domainobjs/ts/verifyingKey.ts:94


equals

equals(vk): boolean

@@ -105,7 +105,7 @@

ReturnsDefined in

-

domainobjs/ts/verifyingKey.ts:73

+

domainobjs/ts/verifyingKey.ts:73


fromContract

fromContract(data): VerifyingKey

@@ -116,7 +116,7 @@

ReturnsVerifyingKey

a new VerifyingKey

Defined in

-

domainobjs/ts/verifyingKey.ts:55

+

domainobjs/ts/verifyingKey.ts:55


fromJSON

fromJSON(json): VerifyingKey

@@ -127,7 +127,7 @@

ReturnsVerifyingKey

the VerifyingKey

Defined in

-

domainobjs/ts/verifyingKey.ts:115

+

domainobjs/ts/verifyingKey.ts:115


fromObj

fromObj(data): VerifyingKey

@@ -138,6 +138,6 @@

ReturnsVerifyingKey

the VerifyingKey

Defined in

-

domainobjs/ts/verifyingKey.ts:125

+

domainobjs/ts/verifyingKey.ts:125

\ No newline at end of file diff --git a/docs/typedoc/index.html b/docs/typedoc/index.html index 8860b16b95..18347af455 100644 --- a/docs/typedoc/index.html +++ b/docs/typedoc/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/typedoc/interfaces/cli_ts.DeployedContracts/index.html b/docs/typedoc/interfaces/cli_ts.DeployedContracts/index.html index 73541cb982..7648f0d7d6 100644 --- a/docs/typedoc/interfaces/cli_ts.DeployedContracts/index.html +++ b/docs/typedoc/interfaces/cli_ts.DeployedContracts/index.html @@ -10,7 +10,7 @@ - + @@ -36,56 +36,56 @@

PropertiesinitialVoiceCreditProxyAddress

initialVoiceCreditProxyAddress: string

Defined in

-

cli/ts/utils/interfaces.ts:14

+

cli/ts/utils/interfaces.ts:14


maciAddress

maciAddress: string

Defined in

-

cli/ts/utils/interfaces.ts:6

+

cli/ts/utils/interfaces.ts:6


pollFactoryAddress

pollFactoryAddress: string

Defined in

-

cli/ts/utils/interfaces.ts:8

+

cli/ts/utils/interfaces.ts:8


poseidonT3Address

poseidonT3Address: string

Defined in

-

cli/ts/utils/interfaces.ts:10

+

cli/ts/utils/interfaces.ts:10


poseidonT4Address

poseidonT4Address: string

Defined in

-

cli/ts/utils/interfaces.ts:11

+

cli/ts/utils/interfaces.ts:11


poseidonT5Address

poseidonT5Address: string

Defined in

-

cli/ts/utils/interfaces.ts:12

+

cli/ts/utils/interfaces.ts:12


poseidonT6Address

poseidonT6Address: string

Defined in

-

cli/ts/utils/interfaces.ts:13

+

cli/ts/utils/interfaces.ts:13


signUpGatekeeperAddress

signUpGatekeeperAddress: string

Defined in

-

cli/ts/utils/interfaces.ts:15

+

cli/ts/utils/interfaces.ts:15


stateAqAddress

stateAqAddress: string

Defined in

-

cli/ts/utils/interfaces.ts:7

+

cli/ts/utils/interfaces.ts:7


topupCreditAddress

topupCreditAddress: string

Defined in

-

cli/ts/utils/interfaces.ts:9

+

cli/ts/utils/interfaces.ts:9


verifierAddress

verifierAddress: string

Defined in

-

cli/ts/utils/interfaces.ts:16

+

cli/ts/utils/interfaces.ts:16

\ No newline at end of file diff --git a/docs/typedoc/interfaces/cli_ts.PollContracts/index.html b/docs/typedoc/interfaces/cli_ts.PollContracts/index.html index 9e1f72637c..75910168da 100644 --- a/docs/typedoc/interfaces/cli_ts.PollContracts/index.html +++ b/docs/typedoc/interfaces/cli_ts.PollContracts/index.html @@ -10,7 +10,7 @@ - + @@ -29,21 +29,21 @@

PropertiesmessageProcessor

messageProcessor: string

Defined in

-

cli/ts/utils/interfaces.ts:20

+

cli/ts/utils/interfaces.ts:20


poll

poll: string

Defined in

-

cli/ts/utils/interfaces.ts:23

+

cli/ts/utils/interfaces.ts:23


subsidy

subsidy: string

Defined in

-

cli/ts/utils/interfaces.ts:22

+

cli/ts/utils/interfaces.ts:22


tally

tally: string

Defined in

-

cli/ts/utils/interfaces.ts:21

+

cli/ts/utils/interfaces.ts:21

\ No newline at end of file diff --git a/docs/typedoc/interfaces/cli_ts.TallyData/index.html b/docs/typedoc/interfaces/cli_ts.TallyData/index.html index 9204922fca..c53e238030 100644 --- a/docs/typedoc/interfaces/cli_ts.TallyData/index.html +++ b/docs/typedoc/interfaces/cli_ts.TallyData/index.html @@ -10,7 +10,7 @@ - + @@ -33,13 +33,13 @@

macimaci: string

The MACI address.

Defined in

-

cli/ts/utils/interfaces.ts:33

+

cli/ts/utils/interfaces.ts:33


newTallyCommitment

newTallyCommitment: string

The new tally commitment.

Defined in

-

cli/ts/utils/interfaces.ts:43

+

cli/ts/utils/interfaces.ts:43


perVOSpentVoiceCredits

perVOSpentVoiceCredits: Object

@@ -47,13 +47,13 @@

perVO

Type declaration

NameTypeDescription
commitmentstringThe commitment of the per VO spent voice credits.
saltstringThe salt of the per VO spent voice credits.
tallystring[]The tally of the per VO spent voice credits.

Defined in

-

cli/ts/utils/interfaces.ts:88

+

cli/ts/utils/interfaces.ts:88


pollId

pollId: number

The ID of the poll.

Defined in

-

cli/ts/utils/interfaces.ts:38

+

cli/ts/utils/interfaces.ts:38


results

results: Object

@@ -61,7 +61,7 @@

resultsType declaration

NameTypeDescription
commitmentstringThe commitment of the results.
saltstringThe salt of the results.
tallystring[]The tally of the results.

Defined in

-

cli/ts/utils/interfaces.ts:48

+

cli/ts/utils/interfaces.ts:48


totalSpentVoiceCredits

totalSpentVoiceCredits: Object

@@ -69,6 +69,6 @@

total

Type declaration

NameTypeDescription
commitmentstringThe commitment of the spent voice credits.
saltstringThe salt of the spent voice credits.
spentstringThe spent voice credits.

Defined in

-

cli/ts/utils/interfaces.ts:68

+

cli/ts/utils/interfaces.ts:68

\ No newline at end of file diff --git a/docs/typedoc/interfaces/core_ts.BatchSizes/index.html b/docs/typedoc/interfaces/core_ts.BatchSizes/index.html index 24ff21e1db..6bf9ada473 100644 --- a/docs/typedoc/interfaces/core_ts.BatchSizes/index.html +++ b/docs/typedoc/interfaces/core_ts.BatchSizes/index.html @@ -10,7 +10,7 @@ - + @@ -30,18 +30,18 @@

messageBatc

messageBatchSize: number

The size of the message batch.

Defined in

-

core/ts/utils/types.ts:46

+

core/ts/utils/types.ts:46


subsidyBatchSize

subsidyBatchSize: number

The size of the subsidy batch.

Defined in

-

core/ts/utils/types.ts:47

+

core/ts/utils/types.ts:47


tallyBatchSize

tallyBatchSize: number

The size of the tally batch.

Defined in

-

core/ts/utils/types.ts:45

+

core/ts/utils/types.ts:45

\ No newline at end of file diff --git a/docs/typedoc/interfaces/core_ts.IJsonMaciState/index.html b/docs/typedoc/interfaces/core_ts.IJsonMaciState/index.html index 8ed8f443dd..06461a9e8c 100644 --- a/docs/typedoc/interfaces/core_ts.IJsonMaciState/index.html +++ b/docs/typedoc/interfaces/core_ts.IJsonMaciState/index.html @@ -10,7 +10,7 @@ - + @@ -32,31 +32,31 @@

PropertiescurrentPollBeingProcessed

currentPollBeingProcessed: string

Defined in

-

core/ts/utils/types.ts:129

+

core/ts/utils/types.ts:129


numSignUps

numSignUps: number

Defined in

-

core/ts/utils/types.ts:130

+

core/ts/utils/types.ts:130


pollBeingProcessed

pollBeingProcessed: boolean

Defined in

-

core/ts/utils/types.ts:128

+

core/ts/utils/types.ts:128


polls

polls: IJsonPoll[]

Defined in

-

core/ts/utils/types.ts:126

+

core/ts/utils/types.ts:126


stateLeaves

stateLeaves: IJsonStateLeaf[]

Defined in

-

core/ts/utils/types.ts:127

+

core/ts/utils/types.ts:127


stateTreeDepth

stateTreeDepth: number

Defined in

-

core/ts/utils/types.ts:125

+

core/ts/utils/types.ts:125

\ No newline at end of file diff --git a/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs/index.html b/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs/index.html index e8161ffab3..00d5bcb3eb 100644 --- a/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs/index.html +++ b/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs/index.html @@ -10,7 +10,7 @@ - + @@ -47,106 +47,106 @@

PropertiescoordPrivKey

coordPrivKey: string

Defined in

-

core/ts/utils/types.ts:158

+

core/ts/utils/types.ts:158


coordPubKey

coordPubKey: string

Defined in

-

core/ts/utils/types.ts:159

+

core/ts/utils/types.ts:159


currentBallotRoot

currentBallotRoot: string

Defined in

-

core/ts/utils/types.ts:162

+

core/ts/utils/types.ts:162


currentBallots

currentBallots: string[]

Defined in

-

core/ts/utils/types.ts:167

+

core/ts/utils/types.ts:167


currentBallotsPathElements

currentBallotsPathElements: string[][]

Defined in

-

core/ts/utils/types.ts:168

+

core/ts/utils/types.ts:168


currentSbCommitment

currentSbCommitment: string

Defined in

-

core/ts/utils/types.ts:163

+

core/ts/utils/types.ts:163


currentSbSalt

currentSbSalt: string

Defined in

-

core/ts/utils/types.ts:164

+

core/ts/utils/types.ts:164


currentStateLeaves

currentStateLeaves: string[]

Defined in

-

core/ts/utils/types.ts:165

+

core/ts/utils/types.ts:165


currentStateLeavesPathElements

currentStateLeavesPathElements: string[][]

Defined in

-

core/ts/utils/types.ts:166

+

core/ts/utils/types.ts:166


currentStateRoot

currentStateRoot: string

Defined in

-

core/ts/utils/types.ts:161

+

core/ts/utils/types.ts:161


currentVoteWeights

currentVoteWeights: string[]

Defined in

-

core/ts/utils/types.ts:169

+

core/ts/utils/types.ts:169


currentVoteWeightsPathElements

currentVoteWeightsPathElements: string[][]

Defined in

-

core/ts/utils/types.ts:170

+

core/ts/utils/types.ts:170


encPubKeys

encPubKeys: string[]

Defined in

-

core/ts/utils/types.ts:160

+

core/ts/utils/types.ts:160


inputHash

inputHash: string

Defined in

-

core/ts/utils/types.ts:171

+

core/ts/utils/types.ts:171


msgRoot

msgRoot: string

Defined in

-

core/ts/utils/types.ts:155

+

core/ts/utils/types.ts:155


msgSubrootPathElements

msgSubrootPathElements: string[][]

Defined in

-

core/ts/utils/types.ts:157

+

core/ts/utils/types.ts:157


msgs

msgs: string[]

Defined in

-

core/ts/utils/types.ts:156

+

core/ts/utils/types.ts:156


newSbCommitment

newSbCommitment: string

Defined in

-

core/ts/utils/types.ts:173

+

core/ts/utils/types.ts:173


newSbSalt

newSbSalt: string

Defined in

-

core/ts/utils/types.ts:172

+

core/ts/utils/types.ts:172


packedVals

packedVals: string

Defined in

-

core/ts/utils/types.ts:154

+

core/ts/utils/types.ts:154


pollEndTimestamp

pollEndTimestamp: string

Defined in

-

core/ts/utils/types.ts:153

+

core/ts/utils/types.ts:153

\ No newline at end of file diff --git a/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs/index.html b/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs/index.html index dcbc5d9b56..c5f884cc17 100644 --- a/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs/index.html +++ b/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs/index.html @@ -10,7 +10,7 @@ - + @@ -43,86 +43,86 @@

PropertiesballotPathElements1

ballotPathElements1: string[]

Defined in

-

core/ts/utils/types.ts:221

+

core/ts/utils/types.ts:221


ballotPathElements2

ballotPathElements2: string[]

Defined in

-

core/ts/utils/types.ts:222

+

core/ts/utils/types.ts:222


ballotRoot

ballotRoot: string

Defined in

-

core/ts/utils/types.ts:207

+

core/ts/utils/types.ts:207


ballots1

ballots1: string[]

Defined in

-

core/ts/utils/types.ts:217

+

core/ts/utils/types.ts:217


ballots2

ballots2: string[]

Defined in

-

core/ts/utils/types.ts:218

+

core/ts/utils/types.ts:218


currentSubsidy

currentSubsidy: string[]

Defined in

-

core/ts/utils/types.ts:214

+

core/ts/utils/types.ts:214


currentSubsidyCommitment

currentSubsidyCommitment: string

Defined in

-

core/ts/utils/types.ts:212

+

core/ts/utils/types.ts:212


currentSubsidySalt

currentSubsidySalt: string

Defined in

-

core/ts/utils/types.ts:209

+

core/ts/utils/types.ts:209


inputHash

inputHash: string

Defined in

-

core/ts/utils/types.ts:216

+

core/ts/utils/types.ts:216


newSubsidyCommitment

newSubsidyCommitment: string

Defined in

-

core/ts/utils/types.ts:213

+

core/ts/utils/types.ts:213


newSubsidySalt

newSubsidySalt: string

Defined in

-

core/ts/utils/types.ts:210

+

core/ts/utils/types.ts:210


packedVals

packedVals: string

Defined in

-

core/ts/utils/types.ts:215

+

core/ts/utils/types.ts:215


sbCommitment

sbCommitment: string

Defined in

-

core/ts/utils/types.ts:211

+

core/ts/utils/types.ts:211


sbSalt

sbSalt: string

Defined in

-

core/ts/utils/types.ts:208

+

core/ts/utils/types.ts:208


stateRoot

stateRoot: string

Defined in

-

core/ts/utils/types.ts:206

+

core/ts/utils/types.ts:206


votes1

votes1: number[]

Defined in

-

core/ts/utils/types.ts:219

+

core/ts/utils/types.ts:219


votes2

votes2: number[]

Defined in

-

core/ts/utils/types.ts:220

+

core/ts/utils/types.ts:220

\ No newline at end of file diff --git a/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs/index.html b/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs/index.html index c18c6f89f8..3093577905 100644 --- a/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs/index.html +++ b/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs/index.html @@ -10,7 +10,7 @@ - + @@ -46,101 +46,101 @@

PropertiesballotPathElements

ballotPathElements: PathElements

Defined in

-

core/ts/utils/types.ts:189

+

core/ts/utils/types.ts:189


ballotRoot

ballotRoot: string

Defined in

-

core/ts/utils/types.ts:181

+

core/ts/utils/types.ts:181


ballots

ballots: string[]

Defined in

-

core/ts/utils/types.ts:188

+

core/ts/utils/types.ts:188


currentPerVOSpentVoiceCredits

currentPerVOSpentVoiceCredits: string[]

Defined in

-

core/ts/utils/types.ts:195

+

core/ts/utils/types.ts:195


currentPerVOSpentVoiceCreditsRootSalt

currentPerVOSpentVoiceCreditsRootSalt: string

Defined in

-

core/ts/utils/types.ts:196

+

core/ts/utils/types.ts:196


currentResults

currentResults: string[]

Defined in

-

core/ts/utils/types.ts:191

+

core/ts/utils/types.ts:191


currentResultsRootSalt

currentResultsRootSalt: string

Defined in

-

core/ts/utils/types.ts:192

+

core/ts/utils/types.ts:192


currentSpentVoiceCreditSubtotal

currentSpentVoiceCreditSubtotal: string

Defined in

-

core/ts/utils/types.ts:193

+

core/ts/utils/types.ts:193


currentSpentVoiceCreditSubtotalSalt

currentSpentVoiceCreditSubtotalSalt: string

Defined in

-

core/ts/utils/types.ts:194

+

core/ts/utils/types.ts:194


currentTallyCommitment

currentTallyCommitment: string

Defined in

-

core/ts/utils/types.ts:184

+

core/ts/utils/types.ts:184


inputHash

inputHash: string

Defined in

-

core/ts/utils/types.ts:187

+

core/ts/utils/types.ts:187


newPerVOSpentVoiceCreditsRootSalt

newPerVOSpentVoiceCreditsRootSalt: string

Defined in

-

core/ts/utils/types.ts:198

+

core/ts/utils/types.ts:198


newResultsRootSalt

newResultsRootSalt: string

Defined in

-

core/ts/utils/types.ts:197

+

core/ts/utils/types.ts:197


newSpentVoiceCreditSubtotalSalt

newSpentVoiceCreditSubtotalSalt: string

Defined in

-

core/ts/utils/types.ts:199

+

core/ts/utils/types.ts:199


newTallyCommitment

newTallyCommitment: string

Defined in

-

core/ts/utils/types.ts:185

+

core/ts/utils/types.ts:185


packedVals

packedVals: string

Defined in

-

core/ts/utils/types.ts:186

+

core/ts/utils/types.ts:186


sbCommitment

sbCommitment: string

Defined in

-

core/ts/utils/types.ts:183

+

core/ts/utils/types.ts:183


sbSalt

sbSalt: string

Defined in

-

core/ts/utils/types.ts:182

+

core/ts/utils/types.ts:182


stateRoot

stateRoot: string

Defined in

-

core/ts/utils/types.ts:180

+

core/ts/utils/types.ts:180


votes

votes: string[][]

Defined in

-

core/ts/utils/types.ts:190

+

core/ts/utils/types.ts:190

\ No newline at end of file diff --git a/docs/typedoc/interfaces/core_ts.MaxValues/index.html b/docs/typedoc/interfaces/core_ts.MaxValues/index.html index d2e6a3d461..c6b15019f8 100644 --- a/docs/typedoc/interfaces/core_ts.MaxValues/index.html +++ b/docs/typedoc/interfaces/core_ts.MaxValues/index.html @@ -10,7 +10,7 @@ - + @@ -29,12 +29,12 @@

maxMessagesmaxMessages: number

The maximum number of messages.

Defined in

-

core/ts/utils/types.ts:56

+

core/ts/utils/types.ts:56


maxVoteOptions

maxVoteOptions: number

The maximum number of vote options.

Defined in

-

core/ts/utils/types.ts:57

+

core/ts/utils/types.ts:57

\ No newline at end of file diff --git a/docs/typedoc/interfaces/core_ts.TreeDepths/index.html b/docs/typedoc/interfaces/core_ts.TreeDepths/index.html index 137b41eaae..24f805741c 100644 --- a/docs/typedoc/interfaces/core_ts.TreeDepths/index.html +++ b/docs/typedoc/interfaces/core_ts.TreeDepths/index.html @@ -10,7 +10,7 @@ - + @@ -31,24 +31,24 @@

intStateTr

intStateTreeDepth: number

The depth of the intermediate state tree.

Defined in

-

core/ts/utils/types.ts:32

+

core/ts/utils/types.ts:32


messageTreeDepth

messageTreeDepth: number

The depth of the message tree.

Defined in

-

core/ts/utils/types.ts:33

+

core/ts/utils/types.ts:33


messageTreeSubDepth

messageTreeSubDepth: number

The depth of the message tree sub.

Defined in

-

core/ts/utils/types.ts:34

+

core/ts/utils/types.ts:34


voteOptionTreeDepth

voteOptionTreeDepth: number

The depth of the vote option tree.

Defined in

-

core/ts/utils/types.ts:35

+

core/ts/utils/types.ts:35

\ No newline at end of file diff --git a/docs/typedoc/interfaces/crypto_ts.Keypair/index.html b/docs/typedoc/interfaces/crypto_ts.Keypair/index.html index d6e2fb2c87..58fc361e0d 100644 --- a/docs/typedoc/interfaces/crypto_ts.Keypair/index.html +++ b/docs/typedoc/interfaces/crypto_ts.Keypair/index.html @@ -10,7 +10,7 @@ - + @@ -28,11 +28,11 @@

PropertiesprivKey

privKey: SnarkBigNumber

Defined in

-

crypto/ts/types.ts:35

+

crypto/ts/types.ts:35


pubKey

pubKey: PubKey<bigint>

Defined in

-

crypto/ts/types.ts:36

+

crypto/ts/types.ts:36

\ No newline at end of file diff --git a/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs/index.html b/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs/index.html index e1288b6227..69e047d854 100644 --- a/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs/index.html +++ b/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs/index.html @@ -10,7 +10,7 @@ - + @@ -38,7 +38,7 @@
ParametersReturns

bigint

Defined in

-

crypto/ts/types.ts:54

+

crypto/ts/types.ts:54


3

3: (inputs: bigint[]) => bigint

@@ -49,7 +49,7 @@
ParametersReturns

bigint

Defined in

-

crypto/ts/types.ts:55

+

crypto/ts/types.ts:55


4

4: (inputs: bigint[]) => bigint

@@ -60,7 +60,7 @@
ParametersReturns

bigint

Defined in

-

crypto/ts/types.ts:56

+

crypto/ts/types.ts:56


5

5: (inputs: bigint[]) => bigint

@@ -71,6 +71,6 @@
ParametersReturns

bigint

Defined in

-

crypto/ts/types.ts:57

+

crypto/ts/types.ts:57

\ No newline at end of file diff --git a/docs/typedoc/interfaces/crypto_ts.Queue/index.html b/docs/typedoc/interfaces/crypto_ts.Queue/index.html index 9046844c6d..8830003f4e 100644 --- a/docs/typedoc/interfaces/crypto_ts.Queue/index.html +++ b/docs/typedoc/interfaces/crypto_ts.Queue/index.html @@ -10,7 +10,7 @@ - + @@ -28,11 +28,11 @@

Propertiesindices

indices: number[]

Defined in

-

crypto/ts/types.ts:28

+

crypto/ts/types.ts:28


levels

levels: bigint[][]

Defined in

-

crypto/ts/types.ts:27

+

crypto/ts/types.ts:27

\ No newline at end of file diff --git a/docs/typedoc/interfaces/crypto_ts.Signature/index.html b/docs/typedoc/interfaces/crypto_ts.Signature/index.html index 7d17b0afb9..e10aa7241f 100644 --- a/docs/typedoc/interfaces/crypto_ts.Signature/index.html +++ b/docs/typedoc/interfaces/crypto_ts.Signature/index.html @@ -10,7 +10,7 @@ - + @@ -29,11 +29,11 @@

PropertiesR8

R8: Point<N>

Defined in

-

crypto/ts/types.ts:45

+

crypto/ts/types.ts:45


S

S: N

Defined in

-

crypto/ts/types.ts:46

+

crypto/ts/types.ts:46

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.ICommand/index.html b/docs/typedoc/interfaces/domainobjs_ts.ICommand/index.html index 1cf4b72b11..0a788fdece 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.ICommand/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.ICommand/index.html @@ -10,7 +10,7 @@ - + @@ -36,7 +36,7 @@

PropertiescmdType

cmdType: bigint

Defined in

-

domainobjs/ts/commands/types.ts:5

+

domainobjs/ts/commands/types.ts:5


copy

copy: <T>() => T

@@ -47,7 +47,7 @@
Type paramet
Returns

T

Defined in

-

domainobjs/ts/commands/types.ts:6

+

domainobjs/ts/commands/types.ts:6


equals

equals: <T>(command: T) => boolean

@@ -60,7 +60,7 @@
ParametersReturns

boolean

Defined in

-

domainobjs/ts/commands/types.ts:7

+

domainobjs/ts/commands/types.ts:7


toJSON

toJSON: () => unknown

@@ -69,6 +69,6 @@

Type decl

Returns

unknown

Defined in

-

domainobjs/ts/commands/types.ts:8

+

domainobjs/ts/commands/types.ts:8

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams/index.html b/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams/index.html index f67dfde219..e79e1b86a3 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams/index.html @@ -10,7 +10,7 @@ - + @@ -27,11 +27,11 @@

Propertiesx

x: BigNumberish

Defined in

-

domainobjs/ts/types.ts:46

+

domainobjs/ts/types.ts:46


y

y: BigNumberish

Defined in

-

domainobjs/ts/types.ts:47

+

domainobjs/ts/types.ts:47

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams/index.html b/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams/index.html index 3a0e048cdf..97117f2a4d 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams/index.html @@ -10,7 +10,7 @@ - + @@ -27,11 +27,11 @@

Propertiesx

x: BigNumberish[]

Defined in

-

domainobjs/ts/types.ts:51

+

domainobjs/ts/types.ts:51


y

y: BigNumberish[]

Defined in

-

domainobjs/ts/types.ts:52

+

domainobjs/ts/types.ts:52

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot/index.html b/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot/index.html index 2f247e31a6..631e228d3c 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot/index.html @@ -10,7 +10,7 @@ - + @@ -28,16 +28,16 @@

Propertiesnonce

nonce: BigNumberish

Defined in

-

domainobjs/ts/types.ts:88

+

domainobjs/ts/types.ts:88


voteOptionTreeDepth

voteOptionTreeDepth: BigNumberish

Defined in

-

domainobjs/ts/types.ts:89

+

domainobjs/ts/types.ts:89


votes

votes: BigNumberish[]

Defined in

-

domainobjs/ts/types.ts:87

+

domainobjs/ts/types.ts:87

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand/index.html b/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand/index.html index cb984a08f9..31c310afdc 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand/index.html @@ -10,7 +10,7 @@ - + @@ -36,6 +36,6 @@

PropertiescmdType

cmdType: string

Defined in

-

domainobjs/ts/commands/types.ts:15

+

domainobjs/ts/commands/types.ts:15

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair/index.html b/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair/index.html index d477ff22c8..7ea0dbde24 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair/index.html @@ -10,7 +10,7 @@ - + @@ -27,11 +27,11 @@

PropertiesprivKey

privKey: string

Defined in

-

domainobjs/ts/types.ts:29

+

domainobjs/ts/types.ts:29


pubKey

pubKey: string

Defined in

-

domainobjs/ts/types.ts:30

+

domainobjs/ts/types.ts:30

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand/index.html b/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand/index.html index a8e5c32bf3..d8e7a16f35 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand/index.html @@ -10,7 +10,7 @@ - + @@ -44,41 +44,41 @@

cmdTypeInherited from

IJsonCommand.cmdType

Defined in

-

domainobjs/ts/commands/types.ts:15

+

domainobjs/ts/commands/types.ts:15


newPubKey

newPubKey: string

Defined in

-

domainobjs/ts/commands/types.ts:32

+

domainobjs/ts/commands/types.ts:32


newVoteWeight

newVoteWeight: string

Defined in

-

domainobjs/ts/commands/types.ts:34

+

domainobjs/ts/commands/types.ts:34


nonce

nonce: string

Defined in

-

domainobjs/ts/commands/types.ts:35

+

domainobjs/ts/commands/types.ts:35


pollId

pollId: string

Defined in

-

domainobjs/ts/commands/types.ts:36

+

domainobjs/ts/commands/types.ts:36


salt

salt: string

Defined in

-

domainobjs/ts/commands/types.ts:37

+

domainobjs/ts/commands/types.ts:37


stateIndex

stateIndex: string

Defined in

-

domainobjs/ts/commands/types.ts:31

+

domainobjs/ts/commands/types.ts:31


voteOptionIndex

voteOptionIndex: string

Defined in

-

domainobjs/ts/commands/types.ts:33

+

domainobjs/ts/commands/types.ts:33

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf/index.html b/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf/index.html index a002068e1c..6ab05ca278 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf/index.html @@ -10,7 +10,7 @@ - + @@ -28,16 +28,16 @@

PropertiespubKey

pubKey: string

Defined in

-

domainobjs/ts/types.ts:38

+

domainobjs/ts/types.ts:38


timestamp

timestamp: string

Defined in

-

domainobjs/ts/types.ts:40

+

domainobjs/ts/types.ts:40


voiceCreditBalance

voiceCreditBalance: string

Defined in

-

domainobjs/ts/types.ts:39

+

domainobjs/ts/types.ts:39

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand/index.html b/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand/index.html index e438359573..accbc6196b 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand/index.html @@ -10,7 +10,7 @@ - + @@ -38,23 +38,23 @@

Propertiesamount

amount: string

Defined in

-

domainobjs/ts/commands/types.ts:23

+

domainobjs/ts/commands/types.ts:23


cmdType

cmdType: string

Inherited from

IJsonCommand.cmdType

Defined in

-

domainobjs/ts/commands/types.ts:15

+

domainobjs/ts/commands/types.ts:15


pollId

pollId: string

Defined in

-

domainobjs/ts/commands/types.ts:24

+

domainobjs/ts/commands/types.ts:24


stateIndex

stateIndex: string

Defined in

-

domainobjs/ts/commands/types.ts:22

+

domainobjs/ts/commands/types.ts:22

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams/index.html b/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams/index.html index 6459168537..c61227bede 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams/index.html @@ -10,7 +10,7 @@ - + @@ -27,11 +27,11 @@

Propertiesdata

data: BigNumberish[]

Defined in

-

domainobjs/ts/types.ts:83

+

domainobjs/ts/types.ts:83


msgType

msgType: string

Defined in

-

domainobjs/ts/types.ts:82

+

domainobjs/ts/types.ts:82

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf/index.html b/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf/index.html index 25a7287b9b..adbdbdbc58 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf/index.html @@ -10,7 +10,7 @@ - + @@ -33,11 +33,11 @@

PropertiespubKey

pubKey: PubKey

Defined in

-

domainobjs/ts/types.ts:17

+

domainobjs/ts/types.ts:17


voiceCreditBalance

voiceCreditBalance: bigint

Defined in

-

domainobjs/ts/types.ts:18

+

domainobjs/ts/types.ts:18

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams/index.html b/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams/index.html index 968dd0e4c7..d04a52a6b7 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams/index.html @@ -10,7 +10,7 @@ - + @@ -28,16 +28,16 @@

PropertiespubKey

pubKey: IG1ContractParams

Defined in

-

domainobjs/ts/types.ts:76

+

domainobjs/ts/types.ts:76


timestamp

timestamp: BigNumberish

Defined in

-

domainobjs/ts/types.ts:78

+

domainobjs/ts/types.ts:78


voiceCreditBalance

voiceCreditBalance: BigNumberish

Defined in

-

domainobjs/ts/types.ts:77

+

domainobjs/ts/types.ts:77

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams/index.html b/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams/index.html index bf3cbc72e4..21a9579ad1 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams/index.html @@ -10,7 +10,7 @@ - + @@ -30,26 +30,26 @@

Propertiesalpha1

alpha1: IG1ContractParams

Defined in

-

domainobjs/ts/types.ts:56

+

domainobjs/ts/types.ts:56


beta2

beta2: IG2ContractParams

Defined in

-

domainobjs/ts/types.ts:57

+

domainobjs/ts/types.ts:57


delta2

delta2: IG2ContractParams

Defined in

-

domainobjs/ts/types.ts:59

+

domainobjs/ts/types.ts:59


gamma2

gamma2: IG2ContractParams

Defined in

-

domainobjs/ts/types.ts:58

+

domainobjs/ts/types.ts:58


ic

ic: IG1ContractParams[]

Defined in

-

domainobjs/ts/types.ts:60

+

domainobjs/ts/types.ts:60

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams/index.html b/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams/index.html index b4de9c587e..e2e6f75906 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams/index.html @@ -10,7 +10,7 @@ - + @@ -34,46 +34,46 @@

PropertiesIC

IC: BigNumberish[][]

Defined in

-

domainobjs/ts/types.ts:72

+

domainobjs/ts/types.ts:72


curve

curve: BigNumberish

Defined in

-

domainobjs/ts/types.ts:65

+

domainobjs/ts/types.ts:65


nPublic

nPublic: BigNumberish

Defined in

-

domainobjs/ts/types.ts:66

+

domainobjs/ts/types.ts:66


protocol

protocol: BigNumberish

Defined in

-

domainobjs/ts/types.ts:64

+

domainobjs/ts/types.ts:64


vk_alpha_1

vk_alpha_1: BigNumberish[]

Defined in

-

domainobjs/ts/types.ts:67

+

domainobjs/ts/types.ts:67


vk_alphabeta_12

vk_alphabeta_12: BigNumberish[][][]

Defined in

-

domainobjs/ts/types.ts:71

+

domainobjs/ts/types.ts:71


vk_beta_2

vk_beta_2: BigNumberish[][]

Defined in

-

domainobjs/ts/types.ts:68

+

domainobjs/ts/types.ts:68


vk_delta_2

vk_delta_2: BigNumberish[][]

Defined in

-

domainobjs/ts/types.ts:70

+

domainobjs/ts/types.ts:70


vk_gamma_2

vk_gamma_2: BigNumberish[][]

Defined in

-

domainobjs/ts/types.ts:69

+

domainobjs/ts/types.ts:69

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.Proof/index.html b/docs/typedoc/interfaces/domainobjs_ts.Proof/index.html index c79b82ac5f..ebb0ca48b5 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.Proof/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.Proof/index.html @@ -10,7 +10,7 @@ - + @@ -30,16 +30,16 @@

Propertiesa

a: G1Point

Defined in

-

domainobjs/ts/types.ts:8

+

domainobjs/ts/types.ts:8


b

b: G2Point

Defined in

-

domainobjs/ts/types.ts:9

+

domainobjs/ts/types.ts:9


c

c: G1Point

Defined in

-

domainobjs/ts/types.ts:10

+

domainobjs/ts/types.ts:10

\ No newline at end of file diff --git a/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf/index.html b/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf/index.html index 5d4d2ddef4..d9cf6a0626 100644 --- a/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf/index.html +++ b/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf/index.html @@ -10,7 +10,7 @@ - + @@ -28,6 +28,6 @@

Propertiesvotes

votes: bigint

Defined in

-

domainobjs/ts/types.ts:25

+

domainobjs/ts/types.ts:25

\ No newline at end of file diff --git a/docs/typedoc/modules/cli_ts/index.html b/docs/typedoc/modules/cli_ts/index.html index 3faf899ddd..9598bbf48a 100644 --- a/docs/typedoc/modules/cli_ts/index.html +++ b/docs/typedoc/modules/cli_ts/index.html @@ -10,7 +10,7 @@ - + @@ -55,7 +55,7 @@

ParametersReturns

Promise<void>

Defined in

-

cli/ts/commands/airdrop.ts:19

+

cli/ts/commands/airdrop.ts:19


checkVerifyingKeys

checkVerifyingKeys(stateTreeDepth, intStateTreeDepth, messageTreeDepth, voteOptionTreeDepth, messageBatchDepth, processMessagesZkeyPath, tallyVotesZkeyPath, vkRegistry?, subsidyZkeyPath?, quiet?): Promise<boolean>

@@ -67,7 +67,7 @@

ReturnsDefined in

-

cli/ts/commands/checkVerifyingKeys.ts:35

+

cli/ts/commands/checkVerifyingKeys.ts:35


deploy

deploy(stateTreeDepth, initialVoiceCredits?, initialVoiceCreditsProxyAddress?, signupGatekeeperAddress?, quiet?): Promise<DeployedContracts>

@@ -78,7 +78,7 @@

ReturnsDeployedContracts>

the addresses of the deployed contracts

Defined in

-

cli/ts/commands/deploy.ts:24

+

cli/ts/commands/deploy.ts:24


deployPoll

deployPoll(pollDuration, maxMessages, maxVoteOptions, intStateTreeDepth, messageTreeSubDepth, messageTreeDepth, voteOptionTreeDepth, coordinatorPubkey, maciAddress?, vkRegistryAddress?, quiet?): Promise<PollContracts>

@@ -89,7 +89,7 @@

ReturnsPollContracts>

the addresses of the deployed contracts

Defined in

-

cli/ts/commands/deployPoll.ts:34

+

cli/ts/commands/deployPoll.ts:34


deployVkRegistryContract

deployVkRegistryContract(quiet?): Promise<string>

@@ -99,7 +99,7 @@

ParametersReturns

Promise<string>

Defined in

-

cli/ts/commands/deployVkRegistry.ts:14

+

cli/ts/commands/deployVkRegistry.ts:14


fundWallet

fundWallet(amount, address, quiet?): Promise<void>

@@ -109,7 +109,7 @@

ParametersReturns

Promise<void>

Defined in

-

cli/ts/commands/fundWallet.ts:11

+

cli/ts/commands/fundWallet.ts:11


genKeyPair

genKeyPair(quiet?): Object

@@ -121,7 +121,7 @@

ReturnsNameTypeprivateKeystringpublicKeystring

Defined in

-

cli/ts/commands/genKeyPair.ts:11

+

cli/ts/commands/genKeyPair.ts:11


genMaciPubKey

genMaciPubKey(privkey, quiet?): string

@@ -132,7 +132,7 @@

ReturnsDefined in

-

cli/ts/commands/genPubKey.ts:13

+

cli/ts/commands/genPubKey.ts:13


genProofs

genProofs(outputDir, tallyFile, tallyZkey, processZkey, pollId, subsidyFile?, subsidyZkey?, rapidsnark?, processWitgen?, tallyWitgen?, subsidyWitgen?, coordinatorPrivKey?, maciAddress?, transactionHash?, processWasm?, tallyWasm?, subsidyWasm?, useWasm?, stateFile?, startBlock?, blocksPerBatch?, endBlock?, quiet?): Promise<TallyData>

@@ -143,7 +143,7 @@

ReturnsTallyData>

the tally data

Defined in

-

cli/ts/commands/genProofs.ts:63

+

cli/ts/commands/genProofs.ts:63


mergeMessages

mergeMessages(pollId, maciContractAddress?, numQueueOps?, quiet?): Promise<void>

@@ -153,7 +153,7 @@

ParametersReturns

Promise<void>

Defined in

-

cli/ts/commands/mergeMessages.ts:24

+

cli/ts/commands/mergeMessages.ts:24


mergeSignups

mergeSignups(pollId, maciContractAddress?, numQueueOps?, quiet?): Promise<void>

@@ -163,7 +163,7 @@

ParametersReturns

Promise<void>

Defined in

-

cli/ts/commands/mergeSignups.ts:24

+

cli/ts/commands/mergeSignups.ts:24


proveOnChain

proveOnChain(pollId, proofDir, maciAddress?, messageProcessorAddress?, tallyAddress?, subsidyAddress?, quiet?): Promise<void>

@@ -173,7 +173,7 @@

ParametersReturns

Promise<void>

Defined in

-

cli/ts/commands/proveOnChain.ts:48

+

cli/ts/commands/proveOnChain.ts:48


publish

publish(pubkey, stateIndex, voteOptionIndex, nonce, pollId, newVoteWeight, maciContractAddress?, salt?, privateKey?, quiet?): Promise<string>

@@ -184,7 +184,7 @@

ReturnsDefined in

-

cli/ts/commands/publish.ts:27

+

cli/ts/commands/publish.ts:27


setVerifyingKeys

setVerifyingKeys(stateTreeDepth, intStateTreeDepth, messageTreeDepth, voteOptionTreeDepth, messageBatchDepth, processMessagesZkeyPath, tallyVotesZkeyPath, vkRegistry?, subsidyZkeyPath?, quiet?): Promise<void>

@@ -194,7 +194,7 @@

ParametersReturns

Promise<void>

Defined in

-

cli/ts/commands/setVerifyingKeys.ts:28

+

cli/ts/commands/setVerifyingKeys.ts:28


signup

signup(maciPubKey, maciAddress?, sgDataArg?, ivcpDataArg?, quiet?): Promise<string>

@@ -205,7 +205,7 @@

ReturnsDefined in

-

cli/ts/commands/signup.ts:20

+

cli/ts/commands/signup.ts:20


timeTravel

timeTravel(seconds, quiet?): Promise<void>

@@ -215,7 +215,7 @@

ParametersReturns

Promise<void>

Defined in

-

cli/ts/commands/timeTravel.ts:13

+

cli/ts/commands/timeTravel.ts:13


topup

topup(amount, stateIndex, pollId, maciAddress?, quiet?): Promise<void>

@@ -225,7 +225,7 @@

ParametersReturns

Promise<void>

Defined in

-

cli/ts/commands/topup.ts:17

+

cli/ts/commands/topup.ts:17


verify

verify(pollId, tallyFile?, tallyData?, maciAddress?, tallyAddress?, subsidyAddress?, subsidyFile?, quiet?): Promise<void>

@@ -235,6 +235,6 @@

ParametersReturns

Promise<void>

Defined in

-

cli/ts/commands/verify.ts:22

+

cli/ts/commands/verify.ts:22

\ No newline at end of file diff --git a/docs/typedoc/modules/core_ts/index.html b/docs/typedoc/modules/core_ts/index.html index 566fc5740f..82e1ec73ab 100644 --- a/docs/typedoc/modules/core_ts/index.html +++ b/docs/typedoc/modules/core_ts/index.html @@ -10,7 +10,7 @@ - + @@ -56,12 +56,12 @@

CircuitInputs<

Ƭ CircuitInputs: Record<string, string | bigint | bigint[] | bigint[][] | string[] | bigint[][][]>

A circuit inputs for the circom circuit

Defined in

-

core/ts/utils/types.ts:22

+

core/ts/utils/types.ts:22

Variables

STATE_TREE_ARITY

Const STATE_TREE_ARITY: 5

Defined in

-

core/ts/utils/constants.ts:2

+

core/ts/utils/constants.ts:2

Functions

genProcessVkSig

genProcessVkSig(stateTreeDepth, messageTreeDepth, voteOptionTreeDepth, batchSize): bigint

@@ -74,7 +74,7 @@

ReturnsDefined in

-

core/ts/utils/utils.ts:14

+

core/ts/utils/utils.ts:14


genSubsidyVkSig

genSubsidyVkSig(_stateTreeDepth, _intStateTreeDepth, _voteOptionTreeDepth): bigint

@@ -88,7 +88,7 @@

ReturnsDefined in

-

core/ts/utils/utils.ts:51

+

core/ts/utils/utils.ts:51


genTallyVkSig

genTallyVkSig(_stateTreeDepth, _intStateTreeDepth, _voteOptionTreeDepth): bigint

@@ -102,7 +102,7 @@

ReturnsDefined in

-

core/ts/utils/utils.ts:35

+

core/ts/utils/utils.ts:35


packProcessMessageSmallVals

packProcessMessageSmallVals(maxVoteOptions, numUsers, batchStartIndex, batchEndIndex): bigint

@@ -113,7 +113,7 @@

ReturnsDefined in

-

core/ts/utils/utils.ts:65

+

core/ts/utils/utils.ts:65


packSubsidySmallVals

packSubsidySmallVals(row, col, numSignUps): bigint

@@ -124,7 +124,7 @@

ReturnsDefined in

-

core/ts/utils/utils.ts:150

+

core/ts/utils/utils.ts:150


packTallyVotesSmallVals

packTallyVotesSmallVals(batchStartIndex, batchSize, numSignUps): bigint

@@ -135,7 +135,7 @@

ReturnsDefined in

-

core/ts/utils/utils.ts:119

+

core/ts/utils/utils.ts:119


unpackProcessMessageSmallVals

unpackProcessMessageSmallVals(packedVals): Object

@@ -147,7 +147,7 @@

ReturnsNameTypebatchEndIndexbigintbatchStartIndexbigintmaxVoteOptionsbigintnumUsersbigint

Defined in

-

core/ts/utils/utils.ts:86

+

core/ts/utils/utils.ts:86


unpackTallyVotesSmallVals

unpackTallyVotesSmallVals(packedVals): Object

@@ -159,6 +159,6 @@

ReturnsNameTypebatchStartIndexbigintnumSignUpsbigint

Defined in

-

core/ts/utils/utils.ts:131

+

core/ts/utils/utils.ts:131

\ No newline at end of file diff --git a/docs/typedoc/modules/crypto_ts/index.html b/docs/typedoc/modules/crypto_ts/index.html index 2c7468faf6..c5f19730ee 100644 --- a/docs/typedoc/modules/crypto_ts/index.html +++ b/docs/typedoc/modules/crypto_ts/index.html @@ -10,7 +10,7 @@ - + @@ -85,60 +85,60 @@

CiphertextType parameters

NameType
Nbigint

Defined in

-

crypto/ts/types.ts:21

+

crypto/ts/types.ts:21


EcdhSharedKey

Ƭ EcdhSharedKey<N>: [N, N]

Type parameters

NameType
Nbigint

Defined in

-

crypto/ts/types.ts:12

+

crypto/ts/types.ts:12


Leaf

Ƭ Leaf: bigint

Defined in

-

crypto/ts/types.ts:61

+

crypto/ts/types.ts:61


PathElements

Ƭ PathElements: bigint[][]

Defined in

-

crypto/ts/@types/optimisedmt.d.ts:3

+

crypto/ts/@types/optimisedmt.d.ts:3


Plaintext

Ƭ Plaintext<N>: N[]

Type parameters

NameType
Nbigint

Defined in

-

crypto/ts/types.ts:18

+

crypto/ts/types.ts:18


Point

Ƭ Point<N>: [N, N]

Type parameters

NameType
NSnarkBigNumber

Defined in

-

crypto/ts/types.ts:15

+

crypto/ts/types.ts:15


PrivKey

Ƭ PrivKey: SnarkBigNumber

Defined in

-

crypto/ts/types.ts:6

+

crypto/ts/types.ts:6


PubKey

Ƭ PubKey<N>: [N, N]

Type parameters

NameType
Nbigint

Defined in

-

crypto/ts/types.ts:9

+

crypto/ts/types.ts:9

Variables

NOTHING_UP_MY_SLEEVE

Const NOTHING_UP_MY_SLEEVE: bigint

Defined in

-

crypto/ts/constants.ts:10

+

crypto/ts/constants.ts:10


SNARK_FIELD_SIZE

Const SNARK_FIELD_SIZE: bigint = r

Defined in

-

crypto/ts/constants.ts:6

+

crypto/ts/constants.ts:6

Functions

bigInt2Buffer

bigInt2Buffer(i): Buffer

@@ -149,7 +149,7 @@

ReturnsDefined in

-

crypto/ts/bigIntUtils.ts:127

+

crypto/ts/bigIntUtils.ts:127


calcDepthFromNumLeaves

calcDepthFromNumLeaves(hashLength, numLeaves): number

@@ -160,7 +160,7 @@

ReturnsDefined in

-

crypto/ts/utils.ts:11

+

crypto/ts/utils.ts:11


deepCopyBigIntArray

deepCopyBigIntArray(arr): bigint[]

@@ -171,7 +171,7 @@

ReturnsDefined in

-

crypto/ts/bigIntUtils.ts:110

+

crypto/ts/bigIntUtils.ts:110


formatPrivKeyForBabyJub

formatPrivKeyForBabyJub(privKey): bigint

@@ -184,7 +184,7 @@

ReturnsDefined in

-

crypto/ts/keys.ts:29

+

crypto/ts/keys.ts:29


genEcdhSharedKey

genEcdhSharedKey(privKey, pubKey): EcdhSharedKey

@@ -196,7 +196,7 @@

ReturnsEcdhSharedKey

The ECDH shared key.

Defined in

-

crypto/ts/keys.ts:80

+

crypto/ts/keys.ts:80


genKeypair

genKeypair(): Keypair

@@ -205,7 +205,7 @@

ReturnsKeypair

a keypair

Defined in

-

crypto/ts/keys.ts:64

+

crypto/ts/keys.ts:64


genPrivKey

genPrivKey(): bigint

@@ -214,7 +214,7 @@

ReturnsDefined in

-

crypto/ts/keys.ts:14

+

crypto/ts/keys.ts:14


genPubKey

genPubKey(privKey): PubKey

@@ -224,7 +224,7 @@

ReturnsPubKey

A public key associated with the private key

Defined in

-

crypto/ts/keys.ts:52

+

crypto/ts/keys.ts:52


genRandomBabyJubValue

genRandomBabyJubValue(): bigint

@@ -238,7 +238,7 @@

ReturnsDefined in

-

crypto/ts/babyjub.ts:115

+

crypto/ts/babyjub.ts:115


genRandomSalt

genRandomSalt(): bigint

@@ -247,7 +247,7 @@

ReturnsDefined in

-

crypto/ts/keys.ts:20

+

crypto/ts/keys.ts:20


genTreeCommitment

genTreeCommitment(leaves, salt, depth): bigint

@@ -259,7 +259,7 @@

ReturnsDefined in

-

crypto/ts/utils.ts:31

+

crypto/ts/utils.ts:31


genTreeProof

genTreeProof(index, leaves, depth): bigint[][]

@@ -270,7 +270,7 @@

ReturnsDefined in

-

crypto/ts/utils.ts:48

+

crypto/ts/utils.ts:48


hash13

hash13(elements): bigint

@@ -282,7 +282,7 @@

ReturnsDefined in

-

crypto/ts/hashing.ts:130

+

crypto/ts/hashing.ts:130


hash2

hash2(elements): bigint

@@ -291,7 +291,7 @@

ParametersReturns

bigint

Defined in

-

crypto/ts/hashing.ts:119

+

crypto/ts/hashing.ts:119


hash3

hash3(elements): bigint

@@ -300,7 +300,7 @@

ParametersReturns

bigint

Defined in

-

crypto/ts/hashing.ts:120

+

crypto/ts/hashing.ts:120


hash4

hash4(elements): bigint

@@ -309,7 +309,7 @@

ParametersReturns

bigint

Defined in

-

crypto/ts/hashing.ts:121

+

crypto/ts/hashing.ts:121


hash5

hash5(elements): bigint

@@ -318,7 +318,7 @@

ParametersReturns

bigint

Defined in

-

crypto/ts/hashing.ts:122

+

crypto/ts/hashing.ts:122


hashLeftRight

hashLeftRight(left, right): bigint

@@ -329,7 +329,7 @@

ReturnsDefined in

-

crypto/ts/hashing.ts:85

+

crypto/ts/hashing.ts:85


hashN

hashN(numElements, elements): bigint

@@ -340,7 +340,7 @@

ReturnsDefined in

-

crypto/ts/hashing.ts:101

+

crypto/ts/hashing.ts:101


hashOne

hashOne(preImage): bigint

@@ -351,7 +351,7 @@

ReturnsDefined in

-

crypto/ts/hashing.ts:160

+

crypto/ts/hashing.ts:160


packPubKey

packPubKey(pubKey): bigint

@@ -362,7 +362,7 @@

ReturnsDefined in

-

crypto/ts/keys.ts:36

+

crypto/ts/keys.ts:36


poseidonDecrypt

poseidonDecrypt(ciphertext, key, nonce, length): PlainText<bigint>

@@ -395,7 +395,7 @@

ReturnsDefined in

-

crypto/ts/hashing.ts:15

+

crypto/ts/hashing.ts:15


sign

sign(privateKey, message): Signature<string>

@@ -418,7 +418,7 @@

ReturnsDefined in

-

crypto/ts/bigIntUtils.ts:78

+

crypto/ts/bigIntUtils.ts:78


unpackPubKey

unpackPubKey(packed): PubKey

@@ -429,7 +429,7 @@

ReturnsPubKey

The unpacked public key

Defined in

-

crypto/ts/keys.ts:43

+

crypto/ts/keys.ts:43


unstringifyBigInts

unstringifyBigInts(input): BigIntVariants

@@ -441,7 +441,7 @@

ReturnsDefined in

-

crypto/ts/bigIntUtils.ts:9

+

crypto/ts/bigIntUtils.ts:9


verifySignature

verifySignature(message, signature, publicKey): boolean

diff --git a/docs/typedoc/modules/domainobjs_ts/index.html b/docs/typedoc/modules/domainobjs_ts/index.html index 26d9ebda65..5a0b0590bf 100644 --- a/docs/typedoc/modules/domainobjs_ts/index.html +++ b/docs/typedoc/modules/domainobjs_ts/index.html @@ -10,7 +10,7 @@ - + @@ -64,31 +64,31 @@

Type Aliases<

IJsonPrivateKey

Ƭ IJsonPrivateKey: Pick<IJsonKeyPair, "privKey">

Defined in

-

domainobjs/ts/types.ts:33

+

domainobjs/ts/types.ts:33


IJsonPublicKey

Ƭ IJsonPublicKey: Pick<IJsonKeyPair, "pubKey">

Defined in

-

domainobjs/ts/types.ts:35

+

domainobjs/ts/types.ts:35

Variables

SERIALIZED_PRIV_KEY_PREFIX

Const SERIALIZED_PRIV_KEY_PREFIX: "macisk."

Defined in

-

domainobjs/ts/privateKey.ts:5

+

domainobjs/ts/privateKey.ts:5


SERIALIZED_PUB_KEY_PREFIX

Const SERIALIZED_PUB_KEY_PREFIX: "macipk."

Defined in

-

domainobjs/ts/publicKey.ts:7

+

domainobjs/ts/publicKey.ts:7


blankStateLeaf

Const blankStateLeaf: StateLeaf

Defined in

-

domainobjs/ts/constants.ts:3

+

domainobjs/ts/constants.ts:3


blankStateLeafHash

Const blankStateLeafHash: bigint

Defined in

-

domainobjs/ts/constants.ts:4

+

domainobjs/ts/constants.ts:4

\ No newline at end of file diff --git a/docs/v0.x/circuits/index.html b/docs/v0.x/circuits/index.html index 67ab2b6774..a95509871e 100644 --- a/docs/v0.x/circuits/index.html +++ b/docs/v0.x/circuits/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/v0.x/contract/index.html b/docs/v0.x/contract/index.html index 537e0ad633..9fab3cb393 100644 --- a/docs/v0.x/contract/index.html +++ b/docs/v0.x/contract/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/v0.x/faq/index.html b/docs/v0.x/faq/index.html index d87fe0bf62..30f4c11594 100644 --- a/docs/v0.x/faq/index.html +++ b/docs/v0.x/faq/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/v0.x/introduction/index.html b/docs/v0.x/introduction/index.html index 71d8a3a886..f39f9b413a 100644 --- a/docs/v0.x/introduction/index.html +++ b/docs/v0.x/introduction/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/v0.x/quadratic-vote-tallying-circuit/index.html b/docs/v0.x/quadratic-vote-tallying-circuit/index.html index 4e7bccbd88..6b42ddc338 100644 --- a/docs/v0.x/quadratic-vote-tallying-circuit/index.html +++ b/docs/v0.x/quadratic-vote-tallying-circuit/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/v0.x/search-index.json b/docs/v0.x/search-index.json index 0cc6aabfdb..262e532924 100644 --- a/docs/v0.x/search-index.json +++ b/docs/v0.x/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":2542,"t":"","u":"/blog/archive","b":["Blog"]},{"i":2543,"t":"Maci v1.1.1 Release","u":"/blog/maci-v1-1-1-release","b":["Blog"]},{"i":2567,"t":"MACI 1.0 Release","u":"/blog/maci-1-0-release","b":["Blog"]},{"i":2589,"t":"A Technical Introduction to MACI 1.0","u":"/blog/maci-1-0-technical-introduction","b":["Blog"]},{"i":2614,"t":"Welcome to MACI","u":"/blog/welcome","b":["Blog"]},{"i":2616,"t":"MACI Product Roadmap","u":"/roadmap","b":[]},{"i":2618,"t":"Typedoc | MACI","u":"/typedoc","b":[]},{"i":2619,"t":"Circuits","u":"/docs/v0.x/circuits","b":[]},{"i":2621,"t":"Contract","u":"/docs/v0.x/contract","b":[]},{"i":2647,"t":"FAQ","u":"/docs/v0.x/faq","b":[]},{"i":2669,"t":"The quadratic vote tallying circuit","u":"/docs/v0.x/quadratic-vote-tallying-circuit","b":[]},{"i":2677,"t":"Minimum Anti-Collusion Infrastructure","u":"/docs/v0.x/introduction","b":[]},{"i":2694,"t":"The state root transition proof circuit","u":"/docs/v0.x/state-root-transition-circuit","b":[]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2542",[]],["t/2543",[0,0.724,1,2.107,2,1.625]],["t/2567",[0,0.724,2,1.625,3,1.625]],["t/2589",[0,0.631,3,1.416,4,1.836,5,1.836]],["t/2614",[0,0.849,6,2.471]],["t/2616",[0,0.724,7,2.107,8,2.107]],["t/2618",[0,0.724,9,2.107,10,2.107]],["t/2619",[11,1.855]],["t/2621",[12,2.989]],["t/2647",[13,2.989]],["t/2669",[11,1.14,14,1.836,15,1.836,16,1.836]],["t/2677",[17,1.836,18,1.836,19,1.836,20,1.836]],["t/2694",[11,1.01,21,1.627,22,1.627,23,1.627,24,1.627]]],"invertedIndex":[["",{"_index":10,"t":{"2618":{"position":[[8,1]]}}}],["1.0",{"_index":3,"t":{"2567":{"position":[[5,3]]},"2589":{"position":[[33,3]]}}}],["anti",{"_index":18,"t":{"2677":{"position":[[8,4]]}}}],["circuit",{"_index":11,"t":{"2619":{"position":[[0,8]]},"2669":{"position":[[28,7]]},"2694":{"position":[[32,7]]}}}],["collus",{"_index":19,"t":{"2677":{"position":[[13,9]]}}}],["contract",{"_index":12,"t":{"2621":{"position":[[0,8]]}}}],["faq",{"_index":13,"t":{"2647":{"position":[[0,3]]}}}],["infrastructur",{"_index":20,"t":{"2677":{"position":[[23,14]]}}}],["introduct",{"_index":5,"t":{"2589":{"position":[[12,12]]}}}],["maci",{"_index":0,"t":{"2543":{"position":[[0,4]]},"2567":{"position":[[0,4]]},"2589":{"position":[[28,4]]},"2614":{"position":[[11,4]]},"2616":{"position":[[0,4]]},"2618":{"position":[[10,4]]}}}],["minimum",{"_index":17,"t":{"2677":{"position":[[0,7]]}}}],["product",{"_index":7,"t":{"2616":{"position":[[5,7]]}}}],["proof",{"_index":24,"t":{"2694":{"position":[[26,5]]}}}],["quadrat",{"_index":14,"t":{"2669":{"position":[[4,9]]}}}],["releas",{"_index":2,"t":{"2543":{"position":[[12,7]]},"2567":{"position":[[9,7]]}}}],["roadmap",{"_index":8,"t":{"2616":{"position":[[13,7]]}}}],["root",{"_index":22,"t":{"2694":{"position":[[10,4]]}}}],["state",{"_index":21,"t":{"2694":{"position":[[4,5]]}}}],["talli",{"_index":16,"t":{"2669":{"position":[[19,8]]}}}],["technic",{"_index":4,"t":{"2589":{"position":[[2,9]]}}}],["transit",{"_index":23,"t":{"2694":{"position":[[15,10]]}}}],["typedoc",{"_index":9,"t":{"2618":{"position":[[0,7]]}}}],["v1.1.1",{"_index":1,"t":{"2543":{"position":[[5,6]]}}}],["vote",{"_index":15,"t":{"2669":{"position":[[14,4]]}}}],["welcom",{"_index":6,"t":{"2614":{"position":[[0,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2545,"t":"Background","u":"/blog/maci-v1-1-1-release","h":"#background","p":2543},{"i":2547,"t":"Security Audit","u":"/blog/maci-v1-1-1-release","h":"#security-audit","p":2543},{"i":2549,"t":"New Features","u":"/blog/maci-v1-1-1-release","h":"#new-features","p":2543},{"i":2551,"t":"Top Up Credit","u":"/blog/maci-v1-1-1-release","h":"#top-up-credit","p":2543},{"i":2553,"t":"Pairwise Subsidy","u":"/blog/maci-v1-1-1-release","h":"#pairwise-subsidy","p":2543},{"i":2555,"t":"Coordinator Service","u":"/blog/maci-v1-1-1-release","h":"#coordinator-service","p":2543},{"i":2557,"t":"How to use MACI","u":"/blog/maci-v1-1-1-release","h":"#how-to-use-maci","p":2543},{"i":2559,"t":"MACI 0.x","u":"/blog/maci-v1-1-1-release","h":"#maci-0x","p":2543},{"i":2561,"t":"How to get involved","u":"/blog/maci-v1-1-1-release","h":"#how-to-get-involved","p":2543},{"i":2563,"t":"References","u":"/blog/maci-v1-1-1-release","h":"#references","p":2543},{"i":2565,"t":"Release","u":"/blog/maci-v1-1-1-release","h":"#release","p":2543},{"i":2569,"t":"About MACI","u":"/blog/maci-1-0-release","h":"#about-maci","p":2567},{"i":2571,"t":"MACI’s history","u":"/blog/maci-1-0-release","h":"#macis-history","p":2567},{"i":2573,"t":"Why is MACI important?","u":"/blog/maci-1-0-release","h":"#why-is-maci-important","p":2567},{"i":2575,"t":"What’s new?","u":"/blog/maci-1-0-release","h":"#whats-new","p":2567},{"i":2577,"t":"Further work","u":"/blog/maci-1-0-release","h":"#further-work","p":2567},{"i":2579,"t":"Negative voting","u":"/blog/maci-1-0-release","h":"#negative-voting","p":2567},{"i":2581,"t":"Anonymisation","u":"/blog/maci-1-0-release","h":"#anonymisation","p":2567},{"i":2583,"t":"Coordinator tooling","u":"/blog/maci-1-0-release","h":"#coordinator-tooling","p":2567},{"i":2585,"t":"Trusted setup","u":"/blog/maci-1-0-release","h":"#trusted-setup","p":2567},{"i":2587,"t":"Conclusion","u":"/blog/maci-1-0-release","h":"#conclusion","p":2567},{"i":2591,"t":"Introduction","u":"/blog/maci-1-0-technical-introduction","h":"#introduction","p":2589},{"i":2593,"t":"Background","u":"/blog/maci-1-0-technical-introduction","h":"#background","p":2589},{"i":2595,"t":"System Overview","u":"/blog/maci-1-0-technical-introduction","h":"#system-overview","p":2589},{"i":2596,"t":"Roles","u":"/blog/maci-1-0-technical-introduction","h":"#roles","p":2589},{"i":2598,"t":"Vote Overriding and Public Key Switching","u":"/blog/maci-1-0-technical-introduction","h":"#vote-overriding-and-public-key-switching","p":2589},{"i":2600,"t":"zk-SNARKs","u":"/blog/maci-1-0-technical-introduction","h":"#zk-snarks","p":2589},{"i":2602,"t":"Workflow","u":"/blog/maci-1-0-technical-introduction","h":"#workflow","p":2589},{"i":2604,"t":"Sign Up","u":"/blog/maci-1-0-technical-introduction","h":"#sign-up","p":2589},{"i":2606,"t":"Publish Message","u":"/blog/maci-1-0-technical-introduction","h":"#publish-message","p":2589},{"i":2608,"t":"Process Messages","u":"/blog/maci-1-0-technical-introduction","h":"#process-messages","p":2589},{"i":2610,"t":"Tally Votes","u":"/blog/maci-1-0-technical-introduction","h":"#tally-votes","p":2589},{"i":2612,"t":"Conclusion","u":"/blog/maci-1-0-technical-introduction","h":"#conclusion","p":2589},{"i":2623,"t":"Merkle trees in storage","u":"/docs/v0.x/contract","h":"#merkle-trees-in-storage","p":2621},{"i":2625,"t":"Vote option trees","u":"/docs/v0.x/contract","h":"#vote-option-trees","p":2621},{"i":2627,"t":"signUp(PubKey _userPubKey, bytes memory _signUpGatekeeperData, bytes memory _initialVoiceCreditProxyData)","u":"/docs/v0.x/contract","h":"#signuppubkey-_userpubkey-bytes-memory-_signupgatekeeperdata-bytes-memory-_initialvoicecreditproxydata","p":2621},{"i":2629,"t":"publishMessage(uint256 _msg, PubKey _encPubKey)","u":"/docs/v0.x/contract","h":"#publishmessageuint256-_msg-pubkey-_encpubkey","p":2621},{"i":2631,"t":"batchProcessMessage(...)","u":"/docs/v0.x/contract","h":"#batchprocessmessage","p":2621},{"i":2633,"t":"proveVoteTallyBatch()","u":"/docs/v0.x/contract","h":"#provevotetallybatch","p":2621},{"i":2635,"t":"State leaves","u":"/docs/v0.x/contract","h":"#state-leaves","p":2621},{"i":2637,"t":"Schema","u":"/docs/v0.x/contract","h":"#schema","p":2621},{"i":2639,"t":"Commands","u":"/docs/v0.x/contract","h":"#commands","p":2621},{"i":2641,"t":"Schema","u":"/docs/v0.x/contract","h":"#schema-1","p":2621},{"i":2643,"t":"About nonces","u":"/docs/v0.x/contract","h":"#about-nonces","p":2621},{"i":2645,"t":"Message verification","u":"/docs/v0.x/contract","h":"#message-verification","p":2621},{"i":2648,"t":"I: Attacks and mitigations","u":"/docs/v0.x/faq","h":"#i-attacks-and-mitigations","p":2647},{"i":2649,"t":"If the coordinator censors messages","u":"/docs/v0.x/faq","h":"#if-the-coordinator-censors-messages","p":2647},{"i":2651,"t":"If a user submits a message with an invalid signature","u":"/docs/v0.x/faq","h":"#if-a-user-submits-a-message-with-an-invalid-signature","p":2647},{"i":2653,"t":"If an adversarial miner bribes a user and controls the randomLeaf value passed into the state transition snark","u":"/docs/v0.x/faq","h":"#if-an-adversarial-miner-bribes-a-user-and-controls-the-randomleaf-value-passed-into-the-state-transition-snark","p":2647},{"i":2655,"t":"User creates a command that the snark cannot process","u":"/docs/v0.x/faq","h":"#user-creates-a-command-that-the-snark-cannot-process","p":2647},{"i":2657,"t":"If a briber locks the user's key in trusted hardware","u":"/docs/v0.x/faq","h":"#if-a-briber-locks-the-users-key-in-trusted-hardware","p":2647},{"i":2659,"t":"Deposit my public key and I will pay you","u":"/docs/v0.x/faq","h":"#deposit-my-public-key-and-i-will-pay-you","p":2647},{"i":2661,"t":"If an attacker fills up the message tree with such a large number of commands that the coordinator cannot afford to generate enough proofs to process them all","u":"/docs/v0.x/faq","h":"#if-an-attacker-fills-up-the-message-tree-with-such-a-large-number-of-commands-that-the-coordinator-cannot-afford-to-generate-enough-proofs-to-process-them-all","p":2647},{"i":2663,"t":"II: Claims / required invariants","u":"/docs/v0.x/faq","h":"#ii-claims--required-invariants","p":2647},{"i":2665,"t":"III: Desired features not described in this specification","u":"/docs/v0.x/faq","h":"#iii-desired-features-not-described-in-this-specification","p":2647},{"i":2667,"t":"IV: Quadratic and sybil-resistant million-dollar-homepages","u":"/docs/v0.x/faq","h":"#iv-quadratic-and-sybil-resistant-million-dollar-homepages","p":2647},{"i":2671,"t":"Inputs","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#inputs","p":2669},{"i":2673,"t":"Circuit pseudocode","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#circuit-pseudocode","p":2669},{"i":2675,"t":"Circuit failure modes","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#circuit-failure-modes","p":2669},{"i":2679,"t":"Introduction","u":"/docs/v0.x/introduction","h":"#introduction","p":2677},{"i":2681,"t":"High-level process","u":"/docs/v0.x/introduction","h":"#high-level-process","p":2677},{"i":2683,"t":"Technical process","u":"/docs/v0.x/introduction","h":"#technical-process","p":2677},{"i":2685,"t":"Availability and visibility of messages","u":"/docs/v0.x/introduction","h":"#availability-and-visibility-of-messages","p":2677},{"i":2687,"t":"System components","u":"/docs/v0.x/introduction","h":"#system-components","p":2677},{"i":2688,"t":"Roles","u":"/docs/v0.x/introduction","h":"#roles","p":2677},{"i":2690,"t":"Cryptographic operations","u":"/docs/v0.x/introduction","h":"#cryptographic-operations","p":2677},{"i":2692,"t":"Glossary","u":"/docs/v0.x/introduction","h":"#glossary","p":2677},{"i":2696,"t":"Public Inputs","u":"/docs/v0.x/state-root-transition-circuit","h":"#public-inputs","p":2694},{"i":2698,"t":"Private Inputs","u":"/docs/v0.x/state-root-transition-circuit","h":"#private-inputs","p":2694},{"i":2700,"t":"Check 1: That the message has been encrypted with the correct key","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-1-that-the-message-has-been-encrypted-with-the-correct-key","p":2694},{"i":2702,"t":"Check 2: that the message is part of the message tree","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-2-that-the-message-is-part-of-the-message-tree","p":2694},{"i":2704,"t":"Check 3: that the new state root transition is the correct result of executing the given command — or — that the command is invalid and the no-op flag is set to true.","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-3-that-the-new-state-root-transition-is-the-correct-result-of-executing-the-given-command--or--that-the-command-is-invalid-and-the-no-op-flag-is-set-to-true","p":2694},{"i":2705,"t":"Circuit logic","u":"/docs/v0.x/state-root-transition-circuit","h":"#circuit-logic","p":2694},{"i":2707,"t":"Circuit failure modes","u":"/docs/v0.x/state-root-transition-circuit","h":"#circuit-failure-modes","p":2694}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2545",[0,4.648]],["t/2547",[1,4.484,2,4.484]],["t/2549",[3,3.513,4,3.898]],["t/2551",[5,3.861,6,3.024,7,3.861]],["t/2553",[8,4.484,9,4.484]],["t/2555",[10,3.224,11,4.484]],["t/2557",[12,4.484,13,3.224]],["t/2559",[13,3.224,14,4.484]],["t/2561",[15,5.346]],["t/2563",[16,5.346]],["t/2565",[17,5.346]],["t/2569",[13,3.845]],["t/2571",[18,4.484,19,4.484]],["t/2573",[13,3.224,20,4.484]],["t/2575",[3,3.513,21,4.484]],["t/2577",[22,4.484,23,4.484]],["t/2579",[24,4.484,25,3.224]],["t/2581",[26,5.346]],["t/2583",[10,3.224,27,4.484]],["t/2585",[28,3.898,29,4.484]],["t/2587",[30,4.648]],["t/2591",[31,4.648]],["t/2593",[0,4.648]],["t/2595",[32,3.898,33,4.484]],["t/2596",[34,4.648]],["t/2598",[25,2.173,35,3.021,36,2.367,37,2.173,38,3.021]],["t/2600",[39,4.484,40,3.513]],["t/2602",[41,5.346]],["t/2604",[6,3.513,42,4.484]],["t/2606",[43,4.484,44,2.368]],["t/2608",[44,2.368,45,2.994]],["t/2610",[25,3.224,46,4.484]],["t/2612",[30,4.648]],["t/2623",[47,3.861,48,2.776,49,3.861]],["t/2625",[25,2.776,48,2.776,50,3.861]],["t/2627",[51,2.278,52,2.278,53,3.602,54,3.602,55,2.278,56,2.278]],["t/2629",[57,3.39,58,3.39,59,3.39,60,3.39]],["t/2631",[61,5.346]],["t/2633",[62,5.346]],["t/2635",[63,3.513,64,4.484]],["t/2637",[65,4.648]],["t/2639",[66,3.845]],["t/2641",[65,4.648]],["t/2643",[67,5.346]],["t/2645",[44,2.368,68,4.484]],["t/2648",[69,3.898,70,4.484]],["t/2649",[10,2.776,44,2.039,71,3.861]],["t/2651",[44,1.596,72,2.367,73,3.021,74,2.627,75,3.021]],["t/2653",[40,1.432,63,1.432,72,1.432,76,1.828,77,1.828,78,1.828,79,1.828,80,1.828,81,1.828,82,1.828,83,1.59]],["t/2655",[40,2.367,45,2.018,66,2.173,72,2.367,84,3.021]],["t/2657",[28,2.369,37,1.96,85,2.725,86,2.725,87,2.725,88,2.725]],["t/2659",[36,2.655,37,2.438,89,3.39,90,3.39]],["t/2661",[6,1.134,10,1.041,44,0.764,45,0.967,48,1.041,66,1.041,69,1.258,91,1.447,92,1.447,93,1.447,94,1.447,95,1.447,96,1.447,97,1.447,98,1.447]],["t/2663",[99,3.021,100,3.021,101,2.627,102,3.021,103,3.021]],["t/2665",[4,2.627,104,3.021,105,3.021,106,3.021,107,3.021]],["t/2667",[108,2.481,109,2.481,110,2.481,111,2.481,112,2.481,113,2.481,114,2.481]],["t/2671",[115,4.188]],["t/2673",[116,3.224,117,4.484]],["t/2675",[116,2.776,118,3.356,119,3.356]],["t/2679",[31,4.648]],["t/2681",[45,2.578,120,3.861,121,3.861]],["t/2683",[45,2.994,122,4.484]],["t/2685",[44,2.039,123,3.861,124,3.861]],["t/2687",[32,3.898,125,4.484]],["t/2688",[34,4.648]],["t/2690",[126,4.484,127,4.484]],["t/2692",[128,5.346]],["t/2696",[36,3.513,115,3.513]],["t/2698",[115,3.513,129,4.484]],["t/2700",[37,1.96,44,1.439,130,2.135,131,2.725,132,2.725,133,2.369]],["t/2702",[44,2.186,48,1.96,130,2.135,134,2.725,135,2.725]],["t/2704",[3,0.938,63,0.938,66,1.512,74,1.041,83,1.041,101,1.828,130,0.938,133,1.041,136,1.198,137,1.198,138,1.198,139,1.198,140,1.198,141,1.198,142,1.198,143,1.198,144,1.198]],["t/2705",[116,3.224,145,4.484]],["t/2707",[116,2.776,118,3.356,119,3.356]]],"invertedIndex":[["",{"_index":101,"t":{"2663":{"position":[[11,1]]},"2704":{"position":[[97,1],[102,1]]}}}],["0.x",{"_index":14,"t":{"2559":{"position":[[5,3]]}}}],["1",{"_index":131,"t":{"2700":{"position":[[6,2]]}}}],["2",{"_index":134,"t":{"2702":{"position":[[6,2]]}}}],["3",{"_index":136,"t":{"2704":{"position":[[6,2]]}}}],["_encpubkey",{"_index":60,"t":{"2629":{"position":[[36,11]]}}}],["_initialvoicecreditproxydata",{"_index":56,"t":{"2627":{"position":[[76,29]]}}}],["_msg",{"_index":58,"t":{"2629":{"position":[[23,5]]}}}],["_signupgatekeeperdata",{"_index":55,"t":{"2627":{"position":[[40,22]]}}}],["_userpubkey",{"_index":52,"t":{"2627":{"position":[[14,12]]}}}],["adversari",{"_index":76,"t":{"2653":{"position":[[6,11]]}}}],["afford",{"_index":95,"t":{"2661":{"position":[[106,6]]}}}],["anonymis",{"_index":26,"t":{"2581":{"position":[[0,13]]}}}],["attack",{"_index":69,"t":{"2648":{"position":[[3,7]]},"2661":{"position":[[6,8]]}}}],["audit",{"_index":2,"t":{"2547":{"position":[[9,5]]}}}],["avail",{"_index":123,"t":{"2685":{"position":[[0,12]]}}}],["background",{"_index":0,"t":{"2545":{"position":[[0,10]]},"2593":{"position":[[0,10]]}}}],["batchprocessmessag",{"_index":61,"t":{"2631":{"position":[[0,24]]}}}],["bribe",{"_index":78,"t":{"2653":{"position":[[24,6]]}}}],["briber",{"_index":85,"t":{"2657":{"position":[[5,6]]}}}],["byte",{"_index":53,"t":{"2627":{"position":[[27,5],[63,5]]}}}],["censor",{"_index":71,"t":{"2649":{"position":[[19,7]]}}}],["check",{"_index":130,"t":{"2700":{"position":[[0,5]]},"2702":{"position":[[0,5]]},"2704":{"position":[[0,5]]}}}],["circuit",{"_index":116,"t":{"2673":{"position":[[0,7]]},"2675":{"position":[[0,7]]},"2705":{"position":[[0,7]]},"2707":{"position":[[0,7]]}}}],["claim",{"_index":100,"t":{"2663":{"position":[[4,6]]}}}],["command",{"_index":66,"t":{"2639":{"position":[[0,8]]},"2655":{"position":[[15,7]]},"2661":{"position":[[69,8]]},"2704":{"position":[[89,7],[113,7]]}}}],["compon",{"_index":125,"t":{"2687":{"position":[[7,10]]}}}],["conclus",{"_index":30,"t":{"2587":{"position":[[0,10]]},"2612":{"position":[[0,10]]}}}],["control",{"_index":79,"t":{"2653":{"position":[[42,8]]}}}],["coordin",{"_index":10,"t":{"2555":{"position":[[0,11]]},"2583":{"position":[[0,11]]},"2649":{"position":[[7,11]]},"2661":{"position":[[87,11]]}}}],["correct",{"_index":133,"t":{"2700":{"position":[[54,7]]},"2704":{"position":[[51,7]]}}}],["creat",{"_index":84,"t":{"2655":{"position":[[5,7]]}}}],["credit",{"_index":7,"t":{"2551":{"position":[[7,6]]}}}],["cryptograph",{"_index":126,"t":{"2690":{"position":[[0,13]]}}}],["deposit",{"_index":89,"t":{"2659":{"position":[[0,7]]}}}],["describ",{"_index":106,"t":{"2665":{"position":[[26,9]]}}}],["desir",{"_index":105,"t":{"2665":{"position":[[5,7]]}}}],["dollar",{"_index":113,"t":{"2667":{"position":[[42,6]]}}}],["encrypt",{"_index":132,"t":{"2700":{"position":[[35,9]]}}}],["enough",{"_index":97,"t":{"2661":{"position":[[125,6]]}}}],["execut",{"_index":139,"t":{"2704":{"position":[[69,9]]}}}],["failur",{"_index":118,"t":{"2675":{"position":[[8,7]]},"2707":{"position":[[8,7]]}}}],["featur",{"_index":4,"t":{"2549":{"position":[[4,8]]},"2665":{"position":[[13,8]]}}}],["fill",{"_index":91,"t":{"2661":{"position":[[15,5]]}}}],["flag",{"_index":142,"t":{"2704":{"position":[[146,4]]}}}],["further",{"_index":22,"t":{"2577":{"position":[[0,7]]}}}],["gener",{"_index":96,"t":{"2661":{"position":[[116,8]]}}}],["given",{"_index":140,"t":{"2704":{"position":[[83,5]]}}}],["glossari",{"_index":128,"t":{"2692":{"position":[[0,8]]}}}],["hardwar",{"_index":88,"t":{"2657":{"position":[[44,8]]}}}],["high",{"_index":120,"t":{"2681":{"position":[[0,4]]}}}],["histori",{"_index":19,"t":{"2571":{"position":[[7,7]]}}}],["homepag",{"_index":114,"t":{"2667":{"position":[[49,9]]}}}],["ii",{"_index":99,"t":{"2663":{"position":[[0,3]]}}}],["iii",{"_index":104,"t":{"2665":{"position":[[0,4]]}}}],["import",{"_index":20,"t":{"2573":{"position":[[12,10]]}}}],["input",{"_index":115,"t":{"2671":{"position":[[0,6]]},"2696":{"position":[[7,6]]},"2698":{"position":[[8,6]]}}}],["introduct",{"_index":31,"t":{"2591":{"position":[[0,12]]},"2679":{"position":[[0,12]]}}}],["invalid",{"_index":74,"t":{"2651":{"position":[[36,7]]},"2704":{"position":[[124,7]]}}}],["invari",{"_index":103,"t":{"2663":{"position":[[22,10]]}}}],["involv",{"_index":15,"t":{"2561":{"position":[[11,8]]}}}],["iv",{"_index":108,"t":{"2667":{"position":[[0,3]]}}}],["key",{"_index":37,"t":{"2598":{"position":[[27,3]]},"2657":{"position":[[29,3]]},"2659":{"position":[[18,3]]},"2700":{"position":[[62,3]]}}}],["larg",{"_index":93,"t":{"2661":{"position":[[53,5]]}}}],["leav",{"_index":64,"t":{"2635":{"position":[[6,6]]}}}],["level",{"_index":121,"t":{"2681":{"position":[[5,5]]}}}],["lock",{"_index":86,"t":{"2657":{"position":[[12,5]]}}}],["logic",{"_index":145,"t":{"2705":{"position":[[8,5]]}}}],["maci",{"_index":13,"t":{"2557":{"position":[[11,4]]},"2559":{"position":[[0,4]]},"2569":{"position":[[6,4]]},"2573":{"position":[[7,4]]}}}],["maci’",{"_index":18,"t":{"2571":{"position":[[0,6]]}}}],["memori",{"_index":54,"t":{"2627":{"position":[[33,6],[69,6]]}}}],["merkl",{"_index":47,"t":{"2623":{"position":[[0,6]]}}}],["messag",{"_index":44,"t":{"2606":{"position":[[8,7]]},"2608":{"position":[[8,8]]},"2645":{"position":[[0,7]]},"2649":{"position":[[27,8]]},"2651":{"position":[[20,7]]},"2661":{"position":[[28,7]]},"2685":{"position":[[31,8]]},"2700":{"position":[[18,7]]},"2702":{"position":[[18,7],[41,7]]}}}],["million",{"_index":112,"t":{"2667":{"position":[[34,7]]}}}],["miner",{"_index":77,"t":{"2653":{"position":[[18,5]]}}}],["mitig",{"_index":70,"t":{"2648":{"position":[[15,11]]}}}],["mode",{"_index":119,"t":{"2675":{"position":[[16,5]]},"2707":{"position":[[16,5]]}}}],["neg",{"_index":24,"t":{"2579":{"position":[[0,8]]}}}],["new",{"_index":3,"t":{"2549":{"position":[[0,3]]},"2575":{"position":[[7,4]]},"2704":{"position":[[18,3]]}}}],["nonc",{"_index":67,"t":{"2643":{"position":[[6,6]]}}}],["number",{"_index":94,"t":{"2661":{"position":[[59,6]]}}}],["op",{"_index":141,"t":{"2704":{"position":[[143,2]]}}}],["oper",{"_index":127,"t":{"2690":{"position":[[14,10]]}}}],["option",{"_index":50,"t":{"2625":{"position":[[5,6]]}}}],["overrid",{"_index":35,"t":{"2598":{"position":[[5,10]]}}}],["overview",{"_index":33,"t":{"2595":{"position":[[7,8]]}}}],["pairwis",{"_index":8,"t":{"2553":{"position":[[0,8]]}}}],["part",{"_index":135,"t":{"2702":{"position":[[29,4]]}}}],["pass",{"_index":82,"t":{"2653":{"position":[[72,6]]}}}],["pay",{"_index":90,"t":{"2659":{"position":[[33,3]]}}}],["privat",{"_index":129,"t":{"2698":{"position":[[0,7]]}}}],["process",{"_index":45,"t":{"2608":{"position":[[0,7]]},"2655":{"position":[[45,7]]},"2661":{"position":[[142,7]]},"2681":{"position":[[11,7]]},"2683":{"position":[[10,7]]}}}],["proof",{"_index":98,"t":{"2661":{"position":[[132,6]]}}}],["provevotetallybatch",{"_index":62,"t":{"2633":{"position":[[0,21]]}}}],["pseudocod",{"_index":117,"t":{"2673":{"position":[[8,10]]}}}],["pubkey",{"_index":59,"t":{"2629":{"position":[[29,6]]}}}],["public",{"_index":36,"t":{"2598":{"position":[[20,6]]},"2659":{"position":[[11,6]]},"2696":{"position":[[0,6]]}}}],["publish",{"_index":43,"t":{"2606":{"position":[[0,7]]}}}],["publishmessage(uint256",{"_index":57,"t":{"2629":{"position":[[0,22]]}}}],["quadrat",{"_index":109,"t":{"2667":{"position":[[4,9]]}}}],["randomleaf",{"_index":80,"t":{"2653":{"position":[[55,10]]}}}],["refer",{"_index":16,"t":{"2563":{"position":[[0,10]]}}}],["releas",{"_index":17,"t":{"2565":{"position":[[0,7]]}}}],["requir",{"_index":102,"t":{"2663":{"position":[[13,8]]}}}],["resist",{"_index":111,"t":{"2667":{"position":[[24,9]]}}}],["result",{"_index":138,"t":{"2704":{"position":[[59,6]]}}}],["role",{"_index":34,"t":{"2596":{"position":[[0,5]]},"2688":{"position":[[0,5]]}}}],["root",{"_index":137,"t":{"2704":{"position":[[28,4]]}}}],["schema",{"_index":65,"t":{"2637":{"position":[[0,6]]},"2641":{"position":[[0,6]]}}}],["secur",{"_index":1,"t":{"2547":{"position":[[0,8]]}}}],["servic",{"_index":11,"t":{"2555":{"position":[[12,7]]}}}],["set",{"_index":143,"t":{"2704":{"position":[[154,3]]}}}],["setup",{"_index":29,"t":{"2585":{"position":[[8,5]]}}}],["sign",{"_index":42,"t":{"2604":{"position":[[0,4]]}}}],["signatur",{"_index":75,"t":{"2651":{"position":[[44,9]]}}}],["signup(pubkey",{"_index":51,"t":{"2627":{"position":[[0,13]]}}}],["snark",{"_index":40,"t":{"2600":{"position":[[3,6]]},"2653":{"position":[[105,5]]},"2655":{"position":[[32,5]]}}}],["specif",{"_index":107,"t":{"2665":{"position":[[44,13]]}}}],["state",{"_index":63,"t":{"2635":{"position":[[0,5]]},"2653":{"position":[[88,5]]},"2704":{"position":[[22,5]]}}}],["storag",{"_index":49,"t":{"2623":{"position":[[16,7]]}}}],["submit",{"_index":73,"t":{"2651":{"position":[[10,7]]}}}],["subsidi",{"_index":9,"t":{"2553":{"position":[[9,7]]}}}],["such",{"_index":92,"t":{"2661":{"position":[[46,4]]}}}],["switch",{"_index":38,"t":{"2598":{"position":[[31,9]]}}}],["sybil",{"_index":110,"t":{"2667":{"position":[[18,5]]}}}],["system",{"_index":32,"t":{"2595":{"position":[[0,6]]},"2687":{"position":[[0,6]]}}}],["talli",{"_index":46,"t":{"2610":{"position":[[0,5]]}}}],["technic",{"_index":122,"t":{"2683":{"position":[[0,9]]}}}],["tool",{"_index":27,"t":{"2583":{"position":[[12,7]]}}}],["top",{"_index":5,"t":{"2551":{"position":[[0,3]]}}}],["transit",{"_index":83,"t":{"2653":{"position":[[94,10]]},"2704":{"position":[[33,10]]}}}],["tree",{"_index":48,"t":{"2623":{"position":[[7,5]]},"2625":{"position":[[12,5]]},"2661":{"position":[[36,4]]},"2702":{"position":[[49,4]]}}}],["true",{"_index":144,"t":{"2704":{"position":[[161,5]]}}}],["trust",{"_index":28,"t":{"2585":{"position":[[0,7]]},"2657":{"position":[[36,7]]}}}],["up",{"_index":6,"t":{"2551":{"position":[[4,2]]},"2604":{"position":[[5,2]]},"2661":{"position":[[21,2]]}}}],["us",{"_index":12,"t":{"2557":{"position":[[7,3]]}}}],["user",{"_index":72,"t":{"2651":{"position":[[5,4]]},"2653":{"position":[[33,4]]},"2655":{"position":[[0,4]]}}}],["user'",{"_index":87,"t":{"2657":{"position":[[22,6]]}}}],["valu",{"_index":81,"t":{"2653":{"position":[[66,5]]}}}],["verif",{"_index":68,"t":{"2645":{"position":[[8,12]]}}}],["visibl",{"_index":124,"t":{"2685":{"position":[[17,10]]}}}],["vote",{"_index":25,"t":{"2579":{"position":[[9,6]]},"2598":{"position":[[0,4]]},"2610":{"position":[[6,5]]},"2625":{"position":[[0,4]]}}}],["what’",{"_index":21,"t":{"2575":{"position":[[0,6]]}}}],["work",{"_index":23,"t":{"2577":{"position":[[8,4]]}}}],["workflow",{"_index":41,"t":{"2602":{"position":[[0,8]]}}}],["zk",{"_index":39,"t":{"2600":{"position":[[0,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2544,"t":"We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1. This new release brings a more secure product, new features, and a much needed documentation refresh. Before we dive into the updates, let's refresh your memory on what MACI is and what it was created to achieve.","s":"Maci v1.1.1 Release","u":"/blog/maci-v1-1-1-release","h":"","p":2543},{"i":2546,"t":"MACI is an application that provides collusion resistance for on-chain voting processes. It was originally created after Vitalik's post, and has since been revisited and improved. MACI revolves around the need for a trusted coordinator. The coordinator is in charge of setting up the system, publishing its public key, and computing the tally of the votes. Below are the main properties of MACI: Property Description Collusion Resistance no-one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery. Receipt-freeness no-one can prove (besides to the coordinator) which way they voted. Privacy no-one except a trusted coordinator should be able to decrypt a vote. Uncensorability no-one — not even the trusted coordinator, should be able to censor a vote. Unforgeability only the owner of a user's private key may cast a vote tied to its corresponding public key. Non-repudiation no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. Correct execution no-one, not even the trusted coordinator, should be able to produce a false tally of votes. Since its inception, MACI has been adopted by different projects, most notably clr.fund and QFI. These projects prove how effective MACI can be, especially when integrated with applications that are otherwise prone to collusion, such as funding Public Goods. For a more detailed description of MACI, please refer to the v1 technical introduction article.","s":"Background","u":"/blog/maci-v1-1-1-release","h":"#background","p":2543},{"i":2548,"t":"MACI was audited by HashCloack in the summer of 2022. The audit team discovered certain high risk vulnerabilities, whose fixes were the focus of the MACI team in the past months. In more details, the audit revealed two high risk issues within the zk-SNARK circuits: Incomplete validation when processing messages Integer overflow which could have allowed users to affect a coordinator's effort of calculating the subsidy by either making it incorrect or by intercepting the calculation Another notable security issue was the lack of initialization of the AccQueue contract. This contract is used to store messages (votes or topups) for the different polls. Without inserting a zero value hash into the merkle tree contract as the first message during initialization, a malicious user could have performed a denial of service attack on a poll. This could have resulted in the poll results taking a very long time before being tallied by the coordinator. All of these issues have been successfully resolved, on top of fixing minor issues and general code optimizations. The updated product uses a more up to date and secure version of Solidity, and more thorough test cases to verify the correctness of the solution.","s":"Security Audit","u":"/blog/maci-v1-1-1-release","h":"#security-audit","p":2543},{"i":2550,"t":"Feature Description Top Up Credit Users can now top up credits rather than having to sign up with a different MACI key Pairwise Subsidy Enhanced protection against collusion in quadratic funding Coordinator Service Sample coordinator server for easier MACI use","s":"New Features","u":"/blog/maci-v1-1-1-release","h":"#new-features","p":2543},{"i":2552,"t":"Rather than requring a user to sign up multiple times, it is now possible to top up voice credits by sending a top up message on the Poll contract. Withdrawals are not enabled as this would allow a malicious user to bribe others offline to transfer their keys. Now, the Poll contract will hold all the funds deposited from users for the current poll. At the end of a poll, the coordinator can transfer the funds to a hardcoded address which can be used to fund public goods. When a user deposits tokens by calling topup, they will also need to specify the stateTree index. The topup function will insert a topup message into the message queue for them. When the voting period ends, any call of topup function will be rejected. Both voting and topup messages have the same ending time, which ensures there is a well-defined ending state for each poll. Please note that in this approach, the initial credit is still shared across multiple polls, and the actual credit an user can spend in a given poll is the following: totalCredit=initialCredit+topupCredit where the topupCredit is the voice credit amount deposited by the user during the voting period of the given pollID. For a detailed description, please refer to this document.","s":"Top Up Credit","u":"/blog/maci-v1-1-1-release","h":"#top-up-credit","p":2543},{"i":2554,"t":"Pairwise subsidy is a new way to reduce collusion in quadratic funding applications. If two contributors collude with each other, they can extract most of the public funding pool if they have enough funds. In this post, Vitalik introduced this kind of collusion and also proposed a protocol to penalize this behavior. As a generalized solution, the more correlation between contributions, the smaller subsidy should be allocated to this project, as this reduces the risk of collusion between contributors. It should be noted that this solution assumes that an identity system is in place to prevent the same entity from registering with two different identities. Please refer to this post for a more detailed explaination of the implementation. Finally, please note that currently it is not possible to generate the zkeys for the subsidy circuit with with the vote options parameter larger than $5^2$. This issue is documented here and the team will focus on finding a solution to be able to support larger vote options.","s":"Pairwise Subsidy","u":"/blog/maci-v1-1-1-release","h":"#pairwise-subsidy","p":2543},{"i":2556,"t":"MACI now includes a sample coordinator service. There are two roles in the cordinator service: admin (i.e. MACI coordinator) and user (i.e. a voter). The admin's responsibility is to ensure that the code remains updated and that the backend services are live. The user can then simply send HTTP requests to the backend server to interact with MACI, for instance, by signing up and publishing a message on chain. The coordinator service has been wrapped into two docker instances: one for the backend server to accept user requests; one for the Mongodb service to store all necessary information on the current state such as smart contract addresses, zero knowledge proof keys and so on. For further reading on coordinator services, please refer to this doc.","s":"Coordinator Service","u":"/blog/maci-v1-1-1-release","h":"#coordinator-service","p":2543},{"i":2558,"t":"MACI can be used as a standalone application to carry out on-chain polls, or be implemented into new projects that can then benefit from its properties. For use as a standalone application, a cli package is provided which allows coordinators and voters to use MACI. Please refer to this doc for details on how to use it. To implement MACI into a project, the documentation can be used a reference, as well as reviewing how clr.fund and qf use MACI in their code.","s":"How to use MACI","u":"/blog/maci-v1-1-1-release","h":"#how-to-use-maci","p":2543},{"i":2560,"t":"MACI version 0.x will be discontinued. MACI 1.x has feature parity, more robust code and newest features. Users are encouraged to use the latest version. Starting February 7, 2023, the team will focus solely on resolving issues for MACI 1.x, and will cease to provide support for version 0.x.","s":"MACI 0.x","u":"/blog/maci-v1-1-1-release","h":"#maci-0x","p":2543},{"i":2562,"t":"Should you wish to get involved with MACI or simply report a bug, feel free to visit the repository and open an issue, or comment under an open issue to notify the team of your intention to work on it. For any other enquiry, please reach out to us via the Privacy and Scaling Explorations (PSE) Discord.","s":"How to get involved","u":"/blog/maci-v1-1-1-release","h":"#how-to-get-involved","p":2543},{"i":2564,"t":"MACI GitHub repository A technical introduction to MACI 1.0 - Kyle Charbonnet Minimal anti-collusion infrastructure - Vitalik Pairwise Subsidy Security Audit","s":"References","u":"/blog/maci-v1-1-1-release","h":"#references","p":2543},{"i":2566,"t":"Here is a link to the new release code in GitHub - v1.1.1 Release.","s":"Release","u":"/blog/maci-v1-1-1-release","h":"#release","p":2543},{"i":2568,"t":"The Privacy & Scaling Explorations team is proud to release version 1.0 of Minimal Anti-Collusion Infrastructure (MACI). MACI enables collusion resistance for decentralised applications, particularly voting and quadratic funding systems. This release is a major upgrade to the project and provides better developer experience and gas savings for users. The code is in the v1 branch of the appliedzkp/macirepository and will be merged soon. MACI 1.0 was audited by Hashcloak. All vulnerabilities found have been fixed. The audit report can be found here. We would like to thank our highly professional and responsive auditors for surfacing these issues and providing clear feedback for addressing them.","s":"MACI 1.0 Release","u":"/blog/maci-1-0-release","h":"","p":2567},{"i":2570,"t":"MACI is a set of smart contracts and zero-knowledge circuits upon which which developers can build collusion-resistant applications, such as voting systems or quadratic funding platforms. MACI per se is not a user-facing application. Rather, developers may build applications on top of it. In turn, such applications can benefit from the following properties: Collusion resistance: no-one, except a trusted coordinator, can be convinced of the validity of a vote, reducing the effectiveness of bribery. Receipt-freeness: a voter cannot prove, besides to the coordinator, which way they voted. Privacy: no-one, except a trusted coordinator, should be able to decrypt a vote. Uncensorability: no-one, not even the trusted coordinator, should be able to censor a vote. Unforgeability: only the owner of a user’s private key may cast a vote tied to its corresponding public key. Non-repudiation: no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. Correct execution: no-one, not even the trusted coordinator, should be able to produce a false tally of votes. Practically speaking, MACI provides a set of Typescript packages, Ethereum smart contracts and zero-knowledge circuits. It inherits security and uncensorability from the underlying Ethereum blockchain, ensures unforgeability via asymmetric encryption, and achieves collusion resistance, privacy, and correct execution via zk-SNARKs. Please note that MACI does not and will not have a token. In other words, it does not represent an investment opportunity.","s":"About MACI","u":"/blog/maci-1-0-release","h":"#about-maci","p":2567},{"i":2572,"t":"MACI stems from an ethresear.ch post by Vitalik Buterin. Subsequently, the initial codebase was written in late 2019 and early 2020 by grantees with the Ethereum Foundation, namely Kendrick Tan, Koh Wei Jie, and Chih-Cheng Liang. MACI then saw developer adoption at ETHDenver in February 2020, where Auryn Macmillan and others started work on clr.fund, a protocol for the Ethereum community to allocate funds for Ethereum-based public goods. After the event, we continued to work with clr.fund to improve MACI and integrate it with their application. clr.fund has completed seven rounds of public goods funding, the last of which saw more than US$6000 worth of contributions. At the time of writing, it is currently running an eighth round with more than US$20k in contributions. Work on version 1.0 started in late 2020 with the goal of reducing the gas and computational requirements, as well as to improve its flexibility and usability, without compromising any of its anti-collusion, security, and trust guarantees. We also took this opportunity to keep up with new techniques, ideas, and tooling from the rapidly advancing Ethereum and zero-knowledge ecosystem. Finally, in early 2021 we were very fortunate to bring on Cory Dickson to the team. His work on writing documentation, revamping MACI’s integration test suites, working with our auditors to fix bugs, and collaborating with external teams has been invaluable to the project.","s":"MACI’s history","u":"/blog/maci-1-0-release","h":"#macis-history","p":2567},{"i":2574,"t":"It is very difficult for naive voting systems, particularly those which are integrated into smart contract platforms, to prevent collusion. For instance, if a simple Ethereum transaction represents a vote, a briber can easily examine its calldata, tell how its sender voted, and reward or punish them accordingly. More broadly, collusion resistance is particulary important for cryptoeconomic systems. Vitalik Buterin describes the motivations behind MACI in On Collusion. He argues that systems that use cryptoeconomic incentive mechanisms to align participants’ behaviour can be vulnerable to collusion attacks, such as bribery. In another post, he elaborates: if you can prove how you voted, selling your vote becomes very easy. Provability of votes would also enable forms of coercion where the coercer demands to see some kind of proof of voting for their preferred candidate. To illustrate this point, consider an alleged example of collusion that occurred in round 6 of Gitcoin grants (a platform for quadratic funding software projects which contribute to public goods). In How to Attack and Defend Quadratic Funding, an author from Gitcoin highlights a tweet by a potential grant beneficiary appeared to offer 0.01 ETH in exchange for matching funds: They explain the nature of this scheme: While creating fake accounts to attract matching funds can be prevented by sybil resistant design, colluders can easily up their game by coordinating a group of real accounts to “mine Gitcoin matching funds” and split the “interest” among the group. Finally, MACI is important because as crypto communities are increasingly adopting Decentralised Autonomous Organisations (DAOs) which govern through token voting. The threat of bribery attacks and other forms of collusion will only increase if left unchecked, since such attacks target a fundamental vulnerability of such systems.","s":"Why is MACI important?","u":"/blog/maci-1-0-release","h":"#why-is-maci-important","p":2567},{"i":2576,"t":"In this release, we rearchitected MACI’s smart contracts to allow for greater flexiblity and separation of concerns. In particular, we support multiple polls within a single instance of MACI. This allows the coordinator to run and tally many elections either subsequently or concurrently. We’ve kept the ability for developers to provide their own set of logic to gate-keep signups. For instance, application developers can write custom logic that only allows addresses which own a certain token to sign up once to MACI in order to participate in polls. An additional upgrade we have implemented is greater capacity for signups, votes, and vote options. With MACI 1.0, a coordinator can run a round that supports more users, votes, and choices than before, even with the same hardware. We adopted iden3’s tools for faster proof generation. Furthermore, we rewrote our zk-SNARK circuits using the latest versions of snarkjs, circom, and circomlib. We also developed additional developer tooling such as circom-helper and zkey-manager. Finally, we significantly reduced gas costs borne by users by replacing our incremental Merkle tree contracts with a modified deposit queue mechanism. While this new mechanism achieves the same outcome, it shifts some gas costs from users to the coordinator. A comparison of approximate gas costs for user-executed operations is as follows: Finally, we are looking forward to collaborating with other projects and supporting their development of client applications and new use cases. For instance, clr.fund team has indicated that they would like to upgrade their stack to MACI v1.0, and other projects have expressed interest in adopting MACI. We hope that through collaboration, the Ethereum community can benefit from our work, and vice versa.","s":"What’s new?","u":"/blog/maci-1-0-release","h":"#whats-new","p":2567},{"i":2578,"t":"There is plenty of space for MACI to grow and we welcome new ideas. We are keen to work with developers who wish to do interesting and impactful work, especially folks who would like to learn how to build applications with zk-SNARKs and Ethereum.","s":"Further work","u":"/blog/maci-1-0-release","h":"#further-work","p":2567},{"i":2580,"t":"We thank Samuel Gosling for completing a grant for work on negative voting. This allows voters to use their voice credits to not only signal approval of a vote option, but also disapproval. Please note that the negative voting branch, while complete, is currently unaudited and therefore not yet merged into the main MACI codebase.","s":"Negative voting","u":"/blog/maci-1-0-release","h":"#negative-voting","p":2567},{"i":2582,"t":"A suggested upgrade to MACI is to use ElGamal re-randomisation for anonymity of voters. While all votes are encrypted, currently the coordinator is able to decrypt and read them. With re-randomisation, the coordinator would not be able to tell which user took which action.","s":"Anonymisation","u":"/blog/maci-1-0-release","h":"#anonymisation","p":2567},{"i":2584,"t":"We are working on tooling that makes it easier for coordinators to interface with deployed contracts and manage tallies for multiple polls. This will allow users to generate proofs and query inputs and outputs from existing circuits through an easy-to-use API. We hope that this will drive more adoption of MACI and offload the need for bespoke infrastructure.","s":"Coordinator tooling","u":"/blog/maci-1-0-release","h":"#coordinator-tooling","p":2567},{"i":2586,"t":"Unlike other ZKP projects, MACI does not have an official trusted setup. Instead, we hope to assist teams implementing MACI in their applications to run their own trusted setup. For instance, clr.fund recently completed a trusted setup (on a previous version of MACI) for a specific set of circuit parameters. Other teams may wish to use a different set of parameters on MACI 1.0, which calls for a different trusted setup.","s":"Trusted setup","u":"/blog/maci-1-0-release","h":"#trusted-setup","p":2567},{"i":2588,"t":"This release marks a step towards the hard problem of preventing collusion in decentralised voting and quadratic funding systems. We are excited to share our work and please get in touch if you are a developer and are interested in getting involved in any way.","s":"Conclusion","u":"/blog/maci-1-0-release","h":"#conclusion","p":2567},{"i":2590,"t":"Introduction​ MACI, which stands for Minimal Anti-Collusion Infrastructure, is an application that allows users to have an on-chain voting process with greatly increased collusion resistance. A common problem among today’s on-chain voting processes is how easy it is to bribe voters into voting for a particular option. Oftentimes this bribery takes the form of “join our pool (vote our way) and we will give you a cut of the rewards (the bribe)”. Since all transactions on the blockchain are public, without MACI, voters can easily prove to the briber which option they voted for and therefore receive the bribe rewards. MACI counters this by using zk-SNARKs to essentially hide how each person voted while still revealing the final vote result. User’s cannot prove which option they voted for, and therefore bribers cannot reliably trust that a user voted for their preferred option. For example, a voter can tell a briber that they are voting for option A, but in reality they voted for option B. There is no reliable way to prove which option the voter actually voted for, so the briber does not have the incentive to pay voters to vote their way.","s":"A Technical Introduction to MACI 1.0","u":"/blog/maci-1-0-technical-introduction","h":"","p":2589},{"i":2592,"t":"MACI, which stands for Minimal Anti-Collusion Infrastructure, is an application that allows users to have an on-chain voting process with greatly increased collusion resistance. A common problem among today’s on-chain voting processes is how easy it is to bribe voters into voting for a particular option. Oftentimes this bribery takes the form of “join our pool (vote our way) and we will give you a cut of the rewards (the bribe)”. Since all transactions on the blockchain are public, without MACI, voters can easily prove to the briber which option they voted for and therefore receive the bribe rewards. MACI counters this by using zk-SNARKs to essentially hide how each person voted while still revealing the final vote result. User’s cannot prove which option they voted for, and therefore bribers cannot reliably trust that a user voted for their preferred option. For example, a voter can tell a briber that they are voting for option A, but in reality they voted for option B. There is no reliable way to prove which option the voter actually voted for, so the briber does not have the incentive to pay voters to vote their way.","s":"Introduction","u":"/blog/maci-1-0-technical-introduction","h":"#introduction","p":2589},{"i":2594,"t":"For a general overview, the history and the importance of MACI, see Release Announcement: MACI 1.0 by Wei Jie, one of the creators. He also created a very helpful youtube video on the overview of MACI. To see the origin of the idea of MACI, see Vitalik’s research post on Minimal Anti-Collusion Infrastructure. Lastly, it is recommended to understand the basic idea behind zk-SNARKs, as these are a core component of MACI. The following articles are great resources: Introduction to zk-SNARKs — Consensys What are zk-SNARKs — Zcash An approximate introduction to how zk-SNARKs are possible — Vitalik zkSNARKs in a nutshell — Ethereum.org This article will go over the general workflow of MACI and how it is capable of providing the following tenets (taken word for word from Wei Jie’s article): Collusion Resistance: No one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery Receipt-freeness: No voter may prove (besides to the coordinator) which way they voted Privacy: No one except a trusted coordinator should be able to decrypt a vote Uncensorability: No one (not even the trusted coordinator) should be able to censor a vote Unforgeability: Only the owner of a user’s private key may cast a vote tied to its corresponding public key Non-repudiation: No one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it Correct execution: No one (not even the trusted coordinator) should be able to produce a false tally of votes","s":"Background","u":"/blog/maci-1-0-technical-introduction","h":"#background","p":2589},{"i":2597,"t":"In the MACI workflow, there are two different roles: users (voters) and a single trusted coordinator. The users vote on the blockchain via MACI smart contracts, and the coordinator tallies up the votes and releases the final results. The coordinators must use zk-SNARKs to prove that their final tally result is valid without releasing the vote of every individual. Therefore, even if a coordinator is corrupt, they are unable to change a user’s vote or add extra votes themselves. A corrupt coordinator can stop a vote by never publishing the results, but they can’t publish false results. Before sending their vote on the blockchain, users encrypt their vote using a shared key that only the user and coordinator can know. This key scheme is designed so that every individual user shares a distinct key with the coordinator. This prevents any bribers from simply reading the transaction data to see which option a user voted for. The encrypted vote is now considered a “message” and the user sends this message to a MACI smart contract to be stored on-chain. A very simplified illustration of this encryption can be seen below:","s":"Roles","u":"/blog/maci-1-0-technical-introduction","h":"#roles","p":2589},{"i":2599,"t":"Before a user can cast a vote, they must sign up by sending the public key they wish to use to vote to a MACI smart contract. This public key acts as their identity when voting. They can vote from any address, but their message must contain a signature from that public key. When casting an actual vote after signing up, a user will bundle a few variables — including a public key, their vote option, their vote amount, and a few others — into what is called a “command”. Then, the user signs the command with the public key they originally used to sign up. After that, the user encrypts the signature and command together so that it is now considered a message. This more complex description of how a message is constructed is illustrated below: Users are able to override their previous vote as long as they sign their command with the previous public key. If the command is properly signed by the user’s previous public key, then the message is considered valid and the coordinator will count this as the correct vote. So, when a user provides a public key in their vote that is different than their previous public key, they may now submit a new vote signed by this new public key to override their previous vote. If the signature is not from the previous public key, the message will be marked as invalid and not counted toward the tally. Therefore, the public key can be thought of as the user’s voting username, and the signature is the voting password. If they provide the correct signature, they can submit a vote or change their public key — or both. This feature, which I refer to as public key switching, is designed to counter the bribery attack where a user simply shows the briber their message, and then decrypts it for the briber to see which way the user voted. Public key switching allows users to change their public key and create invalid messages in favor of the bribers. The bribers have no way of telling if the user switched their public keys before sending in the vote shown to the bribers. This can be quite confusing so here is an example: Bob signs up with public key 1 Bob then creates a command that contains — a vote for option A and public key 2 Bob signs this command with public key 1, the key he used to sign up Bob encrypts this command into a message and submits it to the MACI smart contracts The coordinator decrypts this message, and checks to ensure that the command is signed by Bob’s previous key — public key 1. This message is valid. The coordinator then records Bob’s vote for option A and updates his public key to public key 2 At this point, Bob has successfully voted for option A, and in order to override this vote must send in a new vote with a signature from public key 2. At this point, a briber now tries to get Bob to vote for option B: Bob creates a command that contains — a vote for option B and public key 1 Bob signs this command with public key 1, encrypts the message and submits it to the MACI smart contracts Bob shows the briber the decrypted message as proof of his vote for option B The coordinator decrypts Bob’s message and sees that the signature does not match up with public key 2 — Bob’s previous key added in his previous message. Therefore this message is invalid and this vote is not counted in the final tally. The briber has no way of knowing whether the vote was valid or invalid, and so is not incentivized to offer bribes to other users. In order to get a good idea of how MACI works, it’s important to know how the zk-SNARKs are able to prove that the coordinator decrypted each message and tallied the votes properly. The next section gives a quick and much oversimplified overview of zk-SNARKs, although the readings listed in the introduction are much more helpful.","s":"Vote Overriding and Public Key Switching","u":"/blog/maci-1-0-technical-introduction","h":"#vote-overriding-and-public-key-switching","p":2589},{"i":2601,"t":"Essentially, zk-SNARKs allow users to prove they know an answer to a specific mathematical equation, without revealing what that answer is. Take the following equation for example, X + Y = 15 I can prove that I know 2 values, X and Y that satisfy the equation without revealing what those two values are. When I create a zk-SNARK for my answer, anyone can use the SNARK (a group of numbers) and validate it against the equation above to prove that I do know a solution to that equation. The user is unable to use the SNARK to find out my answers for X and Y. For MACI, the equation is much more complicated but can be summarized as the following equations: encrypt(command1) = message1 encrypt(command2) = message2 encrypt(command3) = message3 … Command1 from user1 + command2 from user2 + command3 from user3 + … = total tally result Here, everyone is able to see the messages on the blockchain and the total tally result. Only the coordinator knows what the individual commands/votes are by decrypting the messages. So, the coordinator uses a zk-SNARK to prove they know all of the votes that: Encrypt to the messages present on the blockchain Sum to the tally result Users can then use the SNARK to prove that the tally result is correct, but cannot use it to prove any individual’s vote choices. Now that the core components of MACI have been covered, it is helpful to dive deeper into the MACI workflow and specific smart contracts.","s":"zk-SNARKs","u":"/blog/maci-1-0-technical-introduction","h":"#zk-snarks","p":2589},{"i":2603,"t":"The general workflow process can be broken down into 4 different phases: Sign Up Publish Message Process Messages Tally Results These phases make use of 3 main smart contracts — MACI, Poll and ​​PollProcessorAndTallyer. These contracts can be found on the MACI github page. The MACI contract is responsible for keeping track of all the user signups by recording the initial public key for each user. When a vote is going to take place, users can deploy a Poll smart contract via MACI.deployPoll(). The Poll smart contract is where users submit their messages. One MACI contract can be used for multiple polls. In other words, the users that signed up to the MACI contract can vote on multiple issues, with each issue represented by a distinct Poll contract. Finally, the PollProcessorAndTallyer contract is used by the coordinator to prove on-chain that they are correctly tallying each vote. This process is explained in more detail in the Process Messages and Tally Results sections below.","s":"Workflow","u":"/blog/maci-1-0-technical-introduction","h":"#workflow","p":2589},{"i":2605,"t":"The sign up process for MACI is handled via the MACI.sol smart contract. Users need to send three pieces of information when calling MACI.signUp(): Public Key Sign Up Gatekeeper Data Initial Voice Credit Proxy Data The public key is the original public key mentioned in above sections that the user will need to vote. As explained in earlier sections, they can change this public key later once voting starts. The user’s public key used to sign up is shared amongst every poll. MACI allows the contract creator/owner to set a “signUpGateKeeper”. The sign up gatekeeper is meant to be the address of another smart contract that determines the rules to sign up. So, when a user calls MACI.signUp(), the function will call the sign up gatekeeper to check if this user is valid to sign up. MACI also allows the contract creator/owner to set an “initialVoiceCreditProxy”. This represents the contract that determines how many votes a given user gets. So, when a user calls MACI.signUp(), the function will call the initial voice credit proxy to check how many votes they can spend. The user’s voice credit balance is reset to this number for every new poll. Once MACI has checked that the user is valid and retrieved how many voice credits they have, MACI stores the following user info into the Sign Up Merkle Tree: Public Key Voice Credits Timestamp","s":"Sign Up","u":"/blog/maci-1-0-technical-introduction","h":"#sign-up","p":2589},{"i":2607,"t":"Once it is time to vote, the MACI creator/owner will deploy a Poll smart contract. Then, users will call Poll.publishMessage() and send the following data: Message Encryption Key As explained in sections above, the coordinator will need to use the encryption key in order to derive a shared key. The coordinator can then use the shared key to decrypt the message into a command, which contains the vote. Once a user publishes their message, the Poll contract will store the message and encryption key into the Message Merkle Tree.","s":"Publish Message","u":"/blog/maci-1-0-technical-introduction","h":"#publish-message","p":2589},{"i":2609,"t":"Once the voting is done for a specific poll, the coordinator will use the PollProcessAndTallyer contract to first prove that they have correctly decrypted each message and applied them to correctly create an updated state tree. This state tree keeps an account of all the valid votes that should be counted. So, when processing the messages, the coordinator will not keep messages that are later overridden by a newer message inside the state tree. For example, if a user votes for option A, but then later sends a new message to vote for option B, the coordinator will only count the vote for option B. The coordinator must process messages in groups so that proving on chain does not exceed the data limit. The coordinator then creates a zk-SNARK proving their state tree correctly contains only the valid messages. Once the proof is ready, the coordinator calls PollProcessorAndTallyer.processMessages(), providing a hash of the state tree and the zk-SNARK proof as an input parameters. The PollProcessorAndTallyer contract will send the proof to a separate verifier contract. The verifier contract is specifically built to read MACI zk-SNARK proofs and tell if they are valid or not. So, if the verifier contract returns true, then everyone can see on-chain that the coordinator correctly processed that batch of messages. The coordinator repeats this process until all messages have been processed.","s":"Process Messages","u":"/blog/maci-1-0-technical-introduction","h":"#process-messages","p":2589},{"i":2611,"t":"Finally, once all messages have been processed, the coordinator tallies the votes of the valid messages. The coordinator creates a zk-SNARK proving that the valid messages in the state tree (proved in Process Messages step) contain votes that sum to the given tally result. Then, they call PollProcessorAndTallyer.tallyVotes() with a hash of the correct tally results and the zk-SNARK proof. Similarly to the processMessages function, the tallyVotes function will send the proof to a verifier contract to ensure that it is valid. The tallyVotes function is only successful if the verifier contract returns that the proof is valid. Therefore, once the tallyVotes function succeeds, users can trust that the coordinator has correctly tallied all of the valid votes. After this step, anyone can see the final tally results and the proof that these results are a correct result of the messages sent to the Poll contract. The users won’t be able to see how any individual voted, but will be able to trust that these votes were properly processed and counted.","s":"Tally Votes","u":"/blog/maci-1-0-technical-introduction","h":"#tally-votes","p":2589},{"i":2613,"t":"MACI is a huge step forward in preventing collusion for on-chain votes. While it doesn’t prevent all possibilities of collusion, it does make it much harder. MACI can already be seen to be in use by the clr.fund, which has users vote on which projects to receive funding. When the possible funding amount becomes very large, users and organizations have a large incentive to collude to receive parts of these funds. This is where MACI can truly make a difference, to protect the fairness of such important voting processes such as those at clr.fund.","s":"Conclusion","u":"/blog/maci-1-0-technical-introduction","h":"#conclusion","p":2589},{"i":2615,"t":"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.","s":"Welcome to MACI","u":"/blog/welcome","h":"","p":2614},{"i":2617,"t":"MACI Product Roadmap This document aims to outline the 2024 MACI team & product roadmap. This public roadmap is part of our core team's efforts to make our work more accessible and to foster more collaboration from our open source community. We plan to re-assess & iterate on our roadmap over time, and will update this document when we do. info Our roadmap is still under active discussion - please join the conversation in our GitHub discussion if you have feedback! Team description​ The MACI core team is a small collaborative engineering team building various projects within Privacy & Scaling Explorations (PSE). Our sustained focus is on MACI: an on-chain voting protocol that provides greatly increased collusion resistance & privacy. We also allocate a significant portion of our time to support the practical adoption of this technology by supporting community leaders to run democratic governance and public funding initiatives, like Quadratic Voting (QV) & Quadratic Funding (QF) grant rounds. MACI mission & vision​ MACI (Minimal Anti-Collusion Infrastructure) is a public good & a potential core piece of infrastructure for many Ethereum-based applications to support privacy-protecting on-chain governance. Using MACI, individual votes are private but final results are public, so no voter can reveal how they voted yet voting results are verifiable with cryptographic proofs to prevent censorship, bribery, collusion, and other forms of manipulation common in public polling processes. Long term, the MACI team’s vision is to build the most secure e-voting solution in the world. Short term, our vision is to empower developers to build with MACI to create collusion resistant & privacy-protecting voting applications, like quadratic funding platforms & DAO governance tools. Our goal is to provide an out-of-the-box solution for developers to quickly integrate into their applications & deploy. MACI aims to handle the voting infrastructure so you can focus on building the logic specific to your application. High-level MACI ecosystem goals​ 2021: MACI integrated by an ecosystem project (✅, clr.fund) 2023: MACI integrated by a PSE project (✅, QF) 2024: MACI integrated by an additional external project 2025: MACI used by multiple DAOs for governance applications & QF integrations 2028: MACI used in smaller municipal elections (counties, provinces, etc) 2030: MACI used in national elections High-level MACI development goals​ 2021: release MACI v1.0 (✅) 2023: build technical feasibility for 10K concurrent voters on the platform (✅) 2024 Q1: release MACI v1.2, with revamped documentation & educational resource 2026: build technical feasibility for 100K concurrent voters on the platform 2028: build technical feasibility for 1M concurrent voters on the platform 2024 workstreams To achieve our mission, we’re focused on 4 major workstreams that comprise our roadmap. 1) MACI Developer Experience (DX)​ ~50% of team’s total bandwidth We believe that MACI is only useful to the extent that people use MACI & build on MACI. Despite the power of MACI, not a single project has yet integrated MACI v1.x in a production environment. We view this as a failure, and we want to fix this. The goal of this workstream is to make MACI as easy to understand and easy to integrate as possible. Initiatives within this workstream:​ Implement & release a MACI v1.2 (#856) Refactor the codebase for improved quality, readability & modularity Add code comments (with TypeDoc & NatSpec) to improve productivity Improve tooling (e.g. cross-platform support) for ease of integration & performance Improve/create documentation for developer onboarding & education Revamp documentation stack (via Docusaurus) with versioning & additional resources Voter & coordinator guides to understand full poll lifecycle Build app templates & tutorials that can serve as reference implementations References MACI v1.2 Refactoring Plan MACI development team sprint board MACI v1.1.1 refactor milestone 2) MACI Community Engagement​ ~15% of team’s total bandwidth We want to proactively support adoption of MACI. We’ll create an open source community where integrations & contributions are actively encouraged! This workstream relates closely to improving DX but focuses on areas that will require active maintenance, support & engagement from our team vs. improving code, documentation & educational resources that will be available online 24/7/365. The hope here is that close interactions with integration developers & Ethereum community members will help us gather insightful user feedback so that we iterate faster to improve MACI as a product. We’ll be rolling out an agile scrum development workflow that should allow us to rapidly respond to input from the community to guide our roadmap & product direction. Initiatives within this workstream:​ Allocate team bandwidth to be available to respond to the community Support MACI integrations (starting with clr.fund v1.x integration) Revamp GitHub repo maintenance (MACI GH processes) Establish & respond to public channels (Discord, Twitter) Proactively engage with the ecosystem to identify collaboration opportunities (conference talks, hackathon bounties, social media) Update our development processes to quickly react to user needs & input 3) Quadratic Funding Experiments​ ~30% of team’s total bandwidth We’re building technical infrastructure, operational expertise & a network of communities to create a scalable way to enable community organizers to run QF rounds. The mission of our QF project has been to serve as a reference implementation on how to integrate MACI as well as support the practical adoption of this community-funding technology. Read more about our QF initiatives here. 2024 goal​ Help run 12 QF/QV rounds Initiatives within this workstream:​ Build an evaluation framework of QF rounds, to increase our sophistication around how we measure success Landscape analysis of QF & capital-allocation projects to better understand how our efforts fit in within the broader ecosystem Update & expand our QF website, with public launch to generate inbound interest Explore community collaboration opportunities (running QF rounds) Exploring project collaboration opportunities (supporting MACI/QF integrations) References GitHub Website Future R&D​ While not prioritized as an upcoming workstream, we think it’s worth calling out important areas of research & development that we’re excited to work on in the future: MACI Coordinator Service​ The primary responsibility of the Coordinator Service will be to: offload and automate the tasks performed by the human coordinator minimize proving time by parallelizing SNARK proof generation and making MACI easier to adopt GitHub repo QF stack​ To serve as a reference implementation on how to integrate MACI as well as support the practical adoption of this community-funding technology. Improvements Support QF (as of now only supports QV functionality) Make it easier for operators to run rounds Make it easier for end users to use GitHub repo MACI improvements​ Unconditional Voter Privacy (e.g. ElGamal Key Change Mechanism) Scaling explorations, like SNARK Folding Schemes (e.g. Nova integration) Different matching mechanisms (e.g. Group Wise Matching in Quadratic Funding) Gas-less MACI for voters Gas efficiency Feedback​ Questions? Concerns? Ideas? We’d love to hear from you! Feel free to create an issue on our GitHub or reach out to our team in the PSE Discord (#maci channel). Team description MACI mission & vision High-level MACI ecosystem goals High-level MACI development goals 1) MACI Developer Experience (DX) Initiatives within this workstream: 2) MACI Community Engagement Initiatives within this workstream: 3) Quadratic Funding Experiments 2024 goal Initiatives within this workstream: Future R&D MACI Coordinator Service QF stack MACI improvements Feedback","s":"MACI Product Roadmap","u":"/roadmap","h":"","p":2616},{"i":2620,"t":"There are two zk-SNARK circuits in MACI: one which allows the coordinator to prove the correctness of each state root transition, and the other which proves that they have correctly tallied all the votes. Note that the circuit pseudocode in this specification does not describe zk-SNARK outputs. The difference between inputs and outputs is only semantic. As such, we consider so-called outputs as values computed from inputs, and then verified via a public input designated as an output in the circom code. (Minimum Anti-Collusion Infrastructure, 2020, Koh Wei Jie: YouTube MACI Explainer) (Minimum Anti-Collusion Infrastructure, 2020, Koh Wei Jie: YouTube MACI Explainer) See: The state root transition proof circuit, and The quadratic vote tallying circuit","s":"Circuits","u":"/docs/v0.x/circuits","h":"","p":2619},{"i":2622,"t":"There is an Ethereum contract (MACI) which provides the following interface:","s":"Contract","u":"/docs/v0.x/contract","h":"","p":2621},{"i":2624,"t":"We maintain two Merkle roots in the MACI contract: Tree root Represents messageTree Messages ⁠— both valid and invalid ⁠— submitted by users. stateTree The current mapping between public keys and votes. Leaf 0 is reserved for a random value. The zero value (for empty leaves) for each tree is a nothing-up-my-sleeve value: the Keccak256 hash of the string 'Maci': uint256 SNARK_SCALAR_FIELD = 21888242871839275222246405745257275088548364400416034343698204186575808495617; uint ZERO_VALUE = uint256(keccak256(abi.encodePacked('Maci'))) % SNARK_SCALAR_FIELD; which is equal to: 5503045433092194285660061905880311622788666850989422096966288514930349325741","s":"Merkle trees in storage","u":"/docs/v0.x/contract","h":"#merkle-trees-in-storage","p":2621},{"i":2626,"t":"We use a Quinary Merkle tree (5 leaves per node) to store votes.","s":"Vote option trees","u":"/docs/v0.x/contract","h":"#vote-option-trees","p":2621},{"i":2628,"t":"Signups can only occur during the signup period. The signUp function passes the sender's address, along with the _signUpGatekeeperData to a SignUpGateway contract, which determines whether or not to allow the user to sign up. For instance, this contract can be a simple whitelist. The signUp function also passes _initialVoiceCreditProxyData to an InitialVoiceCreditProxy contract which determines how many voice credits the user should have initially. This can be a constant value for all users, or a different credits per user. Next, it adds a new leaf to the state tree, starting from index 1 (as index 0 is reserved for invalid leaves). This leaf is the hash of the public key, the user's voice credits, the nonce 0, and the root of an empty vote option tree. The sign-up period ends after a predefined deadline. A later version of MACI will allow ongoing sign-ups where state trees will be merged once per week.","s":"signUp(PubKey _userPubKey, bytes memory _signUpGatekeeperData, bytes memory _initialVoiceCreditProxyData)","u":"/docs/v0.x/contract","h":"#signuppubkey-_userpubkey-bytes-memory-_signupgatekeeperdata-bytes-memory-_initialvoicecreditproxydata","p":2621},{"i":2630,"t":"This function ensures that the current block time is past the signup period, increments the message counter, and then updates the message root. This function must be public and anyone should be able to call it.","s":"publishMessage(uint256 _msg, PubKey _encPubKey)","u":"/docs/v0.x/contract","h":"#publishmessageuint256-_msg-pubkey-_encpubkey","p":2621},{"i":2632,"t":"The parameters are: uint256 _newStateRoot, uint256[] memory _stateTreeRoots, PubKey[] memory _ecdhPubKeys, uint256[8] memory _proof This function accepts a batch update state root transition zk-SNARK proof (_proof) and public inputs to the zk-SNARK. It verifies the proof, updates the processed message counter, and updates the state root in storage with newStateRoot. If the proof is valid, this means that the coordinator has correctly updated the state tree root according to the commands in the given batch of messages. It also increments the message tree index by the number of commands whose processing is verified by the given zk-SNARK proof. This function should, however, only do so if the processed message counter indicates that all previous messages have already been processed. Although anyone may call this contract function, only the coordinator should know the ECDH shared keys used to encrypt the messages.","s":"batchProcessMessage(...)","u":"/docs/v0.x/contract","h":"#batchprocessmessage","p":2621},{"i":2634,"t":"The parameters are: uint256 _intermediateStateRoot, uint256 _newResultsCommitment, uint256[] memory _finalSaltedResults, uint256[8] memory _proof This allows the coordinator to prove the correctness of their vote tally (in _finalSaltedResults). They do this in batches of state leaves. Each batch of state leaves is accumulated into an intermediate state root, and the Merkle root of all the intermediate state roots is the full state root. The proof shows that the result of adding the votes in the current batch to the culmulative results is computed correctly, but hides the results by salting and hashing them. _finalSaltedResults can be any value but for the final batch, it must be the correct quadratic vote tally. It does not matter that the contract does or does not restrict access to this function as anyone who can produce a valid proof should be able to tally the votes, and it should not be possible for anyone to tamper with the results anyway.","s":"proveVoteTallyBatch()","u":"/docs/v0.x/contract","h":"#provevotetallybatch","p":2621},{"i":2636,"t":"Each state leaf contains a user's public key, the Merkle root of their unique vote option tree, the number of voice credits they have left, and the nonce. The nonce is either 0 or that of their most recent valid command. For instance, a user who has published 0 valid commands has a nonce of 0, and their first valid command should have the nonce 1. Each user's public key is associated with exactly one state leaf. This leaf is the single source of truth of their vote option tree. Additionally, since a user may vote for multiple options, and allocate different amounts of voice credits to each option, we represent their votes as a Merkle tree.","s":"State leaves","u":"/docs/v0.x/contract","h":"#state-leaves","p":2621},{"i":2638,"t":"Data Bits Comments publicKeyX 253 The public key's x-coordinate. publicKeyY 253 The public key's y-coordinate. voteOptionTreeRoot 253 The Merkle root of the tree which represents the options which this particular user voted for. voiceCreditBalance 32 The number of remaining voice credits that the user can spend. nonce 32 The nonce of the most recently inserted command for this user. The schema for leaves of the vote option tree, which we dub vote leaves, is as such: Data Bits Comments votes 32 In the quadratic voting use case, this is the square root of the voice credits spent for this option.","s":"Schema","u":"/docs/v0.x/contract","h":"#schema","p":2621},{"i":2640,"t":"Each command may convey a key-change request, a vote, or both. There is only one schema for all commands.","s":"Commands","u":"/docs/v0.x/contract","h":"#commands","p":2621},{"i":2642,"t":"Be careful not to confuse the following leaf schema for commands with the state leaf schema. Each user may submit multiple commands, but should only be associated with one state leaf. Data Bits Comments stateIndex State tree depth The index of the leaf in the state tree which contains the public key used to sign the message. This is used to point to the state leaf to update. encPublicKeyX 253 The x-coordinate of the ephemeral public key. Its associated private key is used to encrypt the message. encPublicKeyY 253 The y-coordinate of the ephemeral public key. (We may use 1 bit, depending on the implementation) newPublicKeyX 253 The new public key's x-coordinate. If no change is required, it should be that of the current key. newPublicKeyY 253 The new public key's y-coordinate. If no change is required, it should be that of the current key. (We may use 1 bit, depending on the implementation) voteOptionIndex Vote option tree depth The index of the leaf in the vote option tree to which this state leaf refers. newVoteWeight 32 In the quadratic voting use case, this is the square root of the number of voice credits a user wishes to spend on this vote. nonce 32 Prevents replay attacks. Starts from 0 and for each message. A message meant to fool a briber may contain any nonce necessary to do so. For more details, see the section on nonces below. A useful rule of thumb is that the coordinator -- not the user -- should provide information that they know if they possess it. As such, the command does not contain information such as the Merkle path to the root of the vote option tree, since the coordinator should have it.","s":"Schema","u":"/docs/v0.x/contract","h":"#schema-1","p":2621},{"i":2644,"t":"Messages are processed in reverse order of being published. This has important implications for the way that nonces should be set. The last valid message per user should have a nonce of 1. Each valid message that comes before it should have an increasing nonce. 0 and negative values are invalid nonces. For example, Alice publishes 5 messages, all of which vote for the same option: (a) Nonce: 2; vote weight: 10 (b) Nonce: 1; vote weight: 20 (c) Nonce: 3; vote weight: 10 (d) Nonce: 2; vote weight: 1 (e) Nonce: 1; vote weight: 0 Since messages are processed in reverse order, messages (e), (d), and (c) are valid, but (b) and (a) are not. As such, her option receives 11 votes. (b) is invalid because at the point at which it is processed, the latest nonce is 3, but (b) gives a nonce of (1). The same applies for (a), whose nonce has been seen before. Take another example, where Eve bribes Bob to vote for option 1, but Bob wants to vote for option 2 instead. (a) Nonce: 1; vote weight: 10; option: 1 (b) Nonce: 1; vote weight: 10; option: 2 Bob casts vote (a) and shows it to Eve. Later, he secretly casts (b). Since (b) is processed first, it makes (a) invalid, but Eve has no way to tell. If a user changes their mind, they may have to cast new votes to invalidate their old ones: (a) Nonce: 2; vote weight: 10; option: 1 (b) Nonce: 1; vote weight: 10; option: 2 (c) Nonce: 2; vote weight: 5; option: 1 (d) Nonce: 1; vote weight: 5; option: 1 In the above example, if a user changes their mind after casting vote (b), they have to start over.","s":"About nonces","u":"/docs/v0.x/contract","h":"#about-nonces","p":2621},{"i":2646,"t":"Given a command from a user Alice, we say that the state transition from an oldStateRoot to a newStateRoot is valid if and only if (not in order of processing): The nonce equals the total number of valid commands from Alice processed by the coordinator in order to produce oldStateRoot, minus one. See the section on nonces. The decrypted message is signed by Alice's current EdDSA private key. The signature is valid. The specified vote option is indeed a choice that the user may make in the system. The user has enough voice credits left. Inserting the newly produced state leaf into the current state tree with oldStateRoot results in a new state tree with a root equal to newStateRoot. The state leaf index is less or equal to than the maximum state leaf index (2 ** state tree depth) and is not equal to 0.","s":"Message verification","u":"/docs/v0.x/contract","h":"#message-verification","p":2621},{"i":2650,"t":"If the coordinator censors a message N by excluding it from the final vote tally, the logic in processMessage() will prevent them from processing message N+1 or any future message until they do so.","s":"If the coordinator censors messages","u":"/docs/v0.x/faq","h":"#if-the-coordinator-censors-messages","p":2647},{"i":2652,"t":"The coordinator should verify the message's signature off-chain and if it is invalid, set the no-op flag to true and pass it into the state transition proof circuit. If the coordinator does not do this, they will fail to generate a valid proof anyway.","s":"If a user submits a message with an invalid signature","u":"/docs/v0.x/faq","h":"#if-a-user-submits-a-message-with-an-invalid-signature","p":2647},{"i":2654,"t":"This adversary does not know the value of the other leaves of the state tree, so even if the coordinator updates leaf 0 with the adversary's entropy, the adversary cannot tell if the processed command is invalid.","s":"If an adversarial miner bribes a user and controls the randomLeaf value passed into the state transition snark","u":"/docs/v0.x/faq","h":"#if-an-adversarial-miner-bribes-a-user-and-controls-the-randomleaf-value-passed-into-the-state-transition-snark","p":2647},{"i":2656,"t":"The system must be designed and built in a way such that this cannot happen.","s":"User creates a command that the snark cannot process","u":"/docs/v0.x/faq","h":"#user-creates-a-command-that-the-snark-cannot-process","p":2647},{"i":2658,"t":"Assuming that the locked key is not the user's initial public key, the briber has no way to tell if the user has not already changed their key. This scenario is therefore the same as that in which the user gives a public key to a briber without trusted hardware. [name=kobi] I don't think the reasoning works, for example for a user with trusted hardware: User has trusted hardware that allows a single key change. The user has initial public key pkpkpk and public key pk2pk2pk2 User registers with pkpkpk User changes to pk2pk2pk2, with the trusted hardware attesting this is the second public key and no further key changes are allowed Briber gets sk2sk2sk2 and the attestation and then uses pk2pk2pk2 [name=barry] I think that the attack is where you lock the initial key in trusted hardware. The solution is to use https://www.vitalik.ca/general/2019/10/01/story.html","s":"If a briber locks the user's key in trusted hardware","u":"/docs/v0.x/faq","h":"#if-a-briber-locks-the-users-key-in-trusted-hardware","p":2647},{"i":2660,"t":"[name=barry] This is the most serious attack IMO. The deposit stake is weak prevention for this.","s":"Deposit my public key and I will pay you","u":"/docs/v0.x/faq","h":"#deposit-my-public-key-and-i-will-pay-you","p":2647},{"i":2662,"t":"Each user should be allowed to publish at no cost as many messages as there are vote options, plus a small number (e.g. 2). Each subsequent message should cost the user an increasing amount of ETH. When the coordinator processes the message, the contract should return the ETH to the user. As such, the majority of non-malicious users will not have to pay any more than the gas costs to vote, and spammers must put up capital to attack the coordinator. [barry] there is no way to enforce this limit without allowing for bribary. [name=wei jie] how does this have to do with bribery? i understand this to only be an anti-spam mechanism.","s":"If an attacker fills up the message tree with such a large number of commands that the coordinator cannot afford to generate enough proofs to process them all","u":"/docs/v0.x/faq","h":"#if-an-attacker-fills-up-the-message-tree-with-such-a-large-number-of-commands-that-the-coordinator-cannot-afford-to-generate-enough-proofs-to-process-them-all","p":2647},{"i":2664,"t":"It is impossible for a coordinator to find a collision in message decryptions. i.e. they cannot decrypt a message to a different command. It is impossible for a user to create a message that the coordinator is not able to process. It is impossible for a user to create a message such that the coordinator is unable to create a zk-SNARK proof of a state root transition. No-one but the coordinator can trustlessly bribe someone.","s":"II: Claims / required invariants","u":"/docs/v0.x/faq","h":"#ii-claims--required-invariants","p":2647},{"i":2666,"t":"A perpetual sign-up process Reuse the MACI contract for a new vote. This requires the operator to zero out each user's vote option tree. Mitigations for some of the attacks described above","s":"III: Desired features not described in this specification","u":"/docs/v0.x/faq","h":"#iii-desired-features-not-described-in-this-specification","p":2647},{"i":2668,"t":"Another use case for MACI is a million-dollar-homepage style bulletin board where users can post and quadratically vote on images. A user who owns a POAP token from a real-life event can sign up and receive 2 ^ 32 voting tokens per week. To add a picture to the board, they have to burn 1 ETH, which disincentivises spam. The visual prominence of size of each picture scales with the sum of square roots of the votes that it receives.","s":"IV: Quadratic and sybil-resistant million-dollar-homepages","u":"/docs/v0.x/faq","h":"#iv-quadratic-and-sybil-resistant-million-dollar-homepages","p":2647},{"i":2670,"t":"Quadratic voting is one of many types of vote tallying mechanisms. We chose it for the first version of MACI due to the high amount of interest that the community has shown for it. Quadratic voting allows users to express the strength of their preferences when they vote for options. Since users are allocated a limited number of voice credits, and the number of tallied votes per option is the square root of the number of voice credits spent on said option, quadratic voting over-privileges neither concentrated nor diffuse interests. For instance, if a user has 99 voice credits, they may spend them this way (each row represents a command): Option Voice credits spent A 1 A 9 B 25 C 64 The outcome is as such: Option Tallied votes A 3.16 B 5 C 8 Even though the user has a disproportionate preference for option C (64 voice credits), their impact on the tallied vote (8 votes) is merely the square root of the voice credits they have spent. This prevents them from having an outsized influence on the results simply by virtue of their willingness to spend as many voice credits on that option as they had. Additionally, we consider that votes are cumulative. This means that the user spent 10 voice credits on option A. The MACI contract's quadraticVoteTally() function should verify a proof created using this circuit to compute the results of tallying a set of state leaves. This also proves that these state leaves have an intermediate root A, as well that A is part of the tree with final state root R. This allows the coordinator to prove the final tally in batches. The function keeps track of the index of each intermediate root to ensure that they are processed consecutively.","s":"The quadratic vote tallying circuit","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"","p":2669},{"i":2672,"t":"Pseudocode name zk-SNARK input type Description Set by fullStateRoot Public The final Merkle root of the state tree Contract fullStateTreeDepth Hardcoded The depth of the state tree Contract intermediateStateTreeDepth Hardcoded The depth of the intermediate state tree Contract intermediateStateRoot Public The intermediate Merkle root generated by the given state leaves Contract intermediatePathElements[k] Private The Merkle path elements from intermediateStateRoot to stateRoot. Coordinator intermediatePathIndex Public The Merkle path index from intermediateStateRoot to stateRoot. Contract currentResults[n] Private The vote tally of all prior batches of state leaves Coordinator currentResultsSalt Private A random value to hash with the vote tally for state leaves up to the current batch Coordinator currentResultsCommitment Public The salted commitment of the values in currentResults Contract newResultsCommitment Public The salted commitment of the vote tally for this batch of leaves plus the vote tally from currentResults Contract salt Private A random value to hash with the culmulate vote tally for this batch of state leaves Coordinator stateLeaves[m][p] Private The batch of leaves of the state tree to tally. Coordinator voteLeaves[m][n] Private The vote leaves for each user in this batch of state leaves. Coordinator n is the number of options in voteOptionTree. m is the number of state leaves in this batch. k is fullStateTreeDepth - intermediateStateTreeDepth p is the message length A result commitment is the hash of a Merkle root of all the vote leaves, and a salt. For instance: root = genTree(results); hash(root, salt);","s":"Inputs","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#inputs","p":2669},{"i":2674,"t":"// Alice votes for party A with 16 credits // Bob votes for party A with 9 credits // Party A gets 7 tallied votes. NOT 5 votes. // Ensure via a constraint that the intermediate root is the // correct Merkle root of the stateLeaves passed into this // snark assert(intermediateStateRoot == genTree(stateLeaves)) // Ensure via a constraint that the intermediate root is part of the full state tree var x = generateMerkleRoot( intermediatePathElements, intermediatePathIndex, intermediateRoot ) assert(x == stateRoot) // This variable stores the sum of the square roots of each // user's voice credits per option. var computedResults = currentResults var start = 1 if intermediatePathIndex > 0: start = 0 // For each user for i as start to m: // we ignore leaf 0 on purpose // Ensure via a constraint that the voteLeaves for this // user is correct (such that when each vote leaf is // inserted into an MT, the Merkle root matches // the `voteOptionTreeRoot` field of the state leaf) var computedVoteOptionTreeRoot = genTree(voteLeaves[i]) assert(computedVoteOptionTreeRoot == stateLeaves[i].voteOptionTreeRoot) // Calculate the sum of votes for each option for j as 0 to n. // This adds to the subtotal from previous batches // of state leaves computedResults[j] += voteLeaves[i][j] // Ensure via a constraint that the commitment to the current results is // correct assert( hash(genTree(currentResults), currentResultsSalt) == currentResultsCommitment ) // Ensure via a constraint that the final result // is correct assert( hash(genTree(computedResults), salt) == newResultsCommitment ) where genTree is pseudocode for a circuit which computes a Merkle root from a list of leaves.","s":"Circuit pseudocode","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#circuit-pseudocode","p":2669},{"i":2676,"t":"Condition Outcome Invalid state leaves and/or intermediate state root No such proof can be generated Invalid vote option leaves No such proof can be generated Invalid Merkle path to the full state root from the intermediate state root for the batch of votes No such proof can be generated","s":"Circuit failure modes","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#circuit-failure-modes","p":2669},{"i":2678,"t":"Barry WhiteHat, Kendrick Tan, Kobi Gurkan, Chih-Cheng Liang, and Koh Wei Jie","s":"Minimum Anti-Collusion Infrastructure","u":"/docs/v0.x/introduction","h":"","p":2677},{"i":2680,"t":"This specification is for an implementation of Minimum Anti-Collusion Infrastructure (MACI). Originally proposed by Vitalik Buterin in this ethresear.ch post, systems built with MACI make collusion among participants difficult, while retaining the censorship resistance and correct-execution benefits of smart contracts. Although MACI can provide collusion resistance only if the coordinator is honest, a dishonest coordinator can neither censor nor tamper with its execution. Note that MACI presumes an identity system where each legitimate member controls a unique Ethereum private key.","s":"Introduction","u":"/docs/v0.x/introduction","h":"#introduction","p":2677},{"i":2682,"t":"Whitelisted voters named Alice, Bob, and Charlie register to vote by sending their public key to a smart contract. Additionally, there is a central coordinator Dave, whose public key is known to all. A later version of MACI will have to mitigate a vote-buying attack where a user may be bribed immediately when the voting period starts, such that their very first message is influenced by a briber. One solution to this is to have the contract to mandate that the first message that each participant sends is to change their key (see below). For the sake of simplicity, however, this specification will not address this issue. When Alice casts her vote, she signs her vote with her private key, encrypts her signature with Dave's public key, and submits the result to the smart contract. Each voter may change her keypair at any time. To do this, she creates and signs a key-change command, encrypts it, and sends it to the smart contract. This makes it impossible for a briber to ever be sure that their bribe has any effect on the bribee's vote. If Bob, for instance, bribes Alice to vote a certain way, she can simply use the first public key she had registered ⁠— which is now void ⁠— to cast a vote. Since said vote is encrypted, as was the key-changing message which Alice had previously sent to Dave, Bob has no way to tell if Alice had indeed voted the way he wanted her to. Even if Alice reveals the cleartext of her vote to Bob, she just needs to not show him the updated key command that she previously used to invalidate that key. In short, as long as she had submitted a single encrypted command before her vote, there is no way to tell if said vote is valid or not.","s":"High-level process","u":"/docs/v0.x/introduction","h":"#high-level-process","p":2677},{"i":2684,"t":"Refer to the Glossary for defintions of terms. The coordinator deploys the MACI contract to an Ethereum blockchain and starts the sign-up period. The same transaction that deploys the contract also stores the value of an empty vote option tree. To sign up, each user creates an EdDSA keypair and invokes the contract's signUp() function. Alternatively, there is a mechanism where some contract function checks if the user owns a particular ERC721 token and adds them to the whitelist. It in turn generates a new leaf to the state tree and updates the state tree root. The signup period ends after a fixed amount of time. From that point onwards, users may no longer invoke signUp() in this contract. Each user votes. To do this, they: Sign their command using the key which they had signed up with and then use a random (ephemeral) key as well as the coordinator's public key to generate a shared key (via ECDH) encrypt it. If they are bribed, the user should sign it using an old public key which has already been replaced with a new one. Otherwise, the user should use the most current public key they have registered. Submit the the message, as well as the epheremal public key in the clear to the contract using its publishMessage() function, which hashes the command and inserts it into the message tree. The coordinator processes all the commands after the voting period ends. For each batch of commands, they perform the following steps: Generate a new state root which is the result of: For each valid command, in reverse order, update the state leaf accordingly Ignore all invalid commands Update leaf 0 with a random leaf Generate a zk-SNARK proof that this state root transition is valid. (Note that \"state root\" refers to the root of the state tree in the contract, not the Ethereum state root as defined in the Yellow Paper.) An invalid message can one which is signed by a public key which a user had already replaced with another key, among other criteria. To allow a bribee to plausibly claim that they have voted correctly even if they use an old public key, we insert a random leaf at index 0 whether or not the message is valid. Figure 1: The relationship between each users, the coordinator, the contract functions, as well as the state tree and the message tree. When the voting period ends, the coordinator tallies all the votes. It then generates zk-SNARK proof that the computed result is valid without revealing the plaintext of the votes. While this specification specifically describes a quadratic voting use case, the circuit used to generate this proof should differ based on the particular nature of the voting system.","s":"Technical process","u":"/docs/v0.x/introduction","h":"#technical-process","p":2677},{"i":2686,"t":"The coordinator may decrypt all commands. Each participant may only decrypt their own messages, and should not be able to decrypt other users' messages or access their commands. No-one else should be able to decrypt any messages.","s":"Availability and visibility of messages","u":"/docs/v0.x/introduction","h":"#availability-and-visibility-of-messages","p":2677},{"i":2689,"t":"There are two roles: users and a coordinator.","s":"Roles","u":"/docs/v0.x/introduction","h":"#roles","p":2677},{"i":2691,"t":"Key generation​ Each user owns an EdDSA keypair, as does the coordinator. Every user should have a copy of the coordinator's public key, which is stored and available from the smart contract. Likewise, the coordinator should have a copy of each user's public key, which they publish on-chain to sign up. We define an EdDSA private key as a random value (initially 256 bits large) modulo the snark field size as described in EIP197. This results in a key size of roughly 253 bits and no more than 254 bits. Additionally, we use this efficient algorithm to prevent modulo bias. Command signing and encryption​ The following steps are needed to sign and encrypt a message: Hash the command Sign the hash with the user's EdDSA private key Generate an ECDH shared key using a random private key (the ephemeral key) and the coordinator's public key. Encrypt both the signature and the data included in the command with the shared key Note that when we call publishMessage, we pass in the encrypted data, the signing public key, and random public key.","s":"Cryptographic operations","u":"/docs/v0.x/introduction","h":"#cryptographic-operations","p":2677},{"i":2693,"t":"Some terms in this specification are similar to one another but should not be used interchangeably. This glossary should help to resolve such ambiguities. Term Meaning Command Unencrypted data whose fields include the user's public key, vote etc. Message An encrypted command and signature (Encrypt([Command, Signature], Key). State The mapping between each user's public key and the full set of information about which options they voted for and the weight per vote. Note that this does not refer to the Ethereum state as defined in the Yellow Paper. Vote The options which the user voted for Vote option One out of many possible choices which a user may vote for Vote option tree The unique tree of weights that each user assigns to vote options. This represents the full set of information about which options a user had voted for and how many voice credits they had spent per vote. Voice credit One unit which denotes the strength of a user's vote for a particular option. In a quadratic voting use case, users start out with a limited number of voice credits and spend them on votes.","s":"Glossary","u":"/docs/v0.x/introduction","h":"#glossary","p":2677},{"i":2695,"t":"This circuit proves the correctness of each state root transition.","s":"The state root transition proof circuit","u":"/docs/v0.x/state-root-transition-circuit","h":"","p":2694},{"i":2697,"t":"All public inputs are set by the contract. Pseudocode name Description coordinatorPubKey The coordinator's public key currentStateRoot The current state root msgTreeRoot The Merkle root of the message tree msgTreePathIndex The Merkle path index of the message in the message tree maxStateLeafIndex The maximum leaf index of the state tree userCurrentLeafPathIndex The Merkle path index from the user's latest valid state leaf to the current state root newStateRoot The new state root","s":"Public Inputs","u":"/docs/v0.x/state-root-transition-circuit","h":"#public-inputs","p":2694},{"i":2699,"t":"All private inputs are set by the coordinator. Pseudocode name Description userCurrentLeafPathElements The Merkle path elements from the user's latest valid state leaf to the current state root currentVoteOptionPathElements[n] The Merkle path needed to prove the existence of the current vote option leaf. Size is 253 * vote_option_tree_depth bits newVoteOptionPathElements[n] The Merkle path needed to update the vote option tree root in the state leaf. Size is 253 * vote_option_tree_depth bits currentVoteWeight In the quadratic voting use case, this is the square root of the number of voice credits a user wishes to spend on this vote. Size is 32 bits. message The message msgTreePathElements The Merkle path elements to the message tree root from the message leaf randomLeaf Random data newStateTreePathIndex The Merkle path index to the new state root from the new state leaf newStateTreePathElements The Merkle path elements to the new state root from the new state leaf newStateTreePathElementsToZero The Merkle path elements to the new state root from leaf 0, after the new state leaf has been updated userCurrentLeaf The user's latest valid state leaf command The command to process. Includes all the details in the leaf. noOp The no-op flag userPubKey The public key associated with the private key used to sign the command encPubKey The ephermeral public key used to generate the ECDH shared key which was used to encrypt the command. coordinatorPrivKey The coordinator's private key. For the sake of simplicity, in this specification, we assume that there is no batching of commands and we handle each command one at a time.","s":"Private Inputs","u":"/docs/v0.x/state-root-transition-circuit","h":"#private-inputs","p":2694},{"i":2701,"t":"// Derive the coordinator's public key from // their private key var derivedCoordinatorPubKey = eddsaDerivePubKey(coordinatorPrivKey); // Ensure via a constraint that it matches the // coordinator's public key given as an input assert(derivedCoordinatorPubKey == coordinatorPubKey); // Generate the ECDH key var ecdhSharedKey = genEcdhKey(coordinatorPrivKey, encPubKey); // Use the ECDH shared key to decrypt the message var decryptedCommand = decrypt(ecdhSharedKey, message); // Ensure via a constraint that the message has been correctly decrypted assert(decryptedCommand == command);","s":"Check 1: That the message has been encrypted with the correct key","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-1-that-the-message-has-been-encrypted-with-the-correct-key","p":2694},{"i":2703,"t":"var generatedMsgTreeRoot = generateMerkleRoot(msgTreePathElements, msgTreePathIndex, message); assert(generatedMsgTreeRoot, msgTreeRoot);","s":"Check 2: that the message is part of the message tree","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-2-that-the-message-is-part-of-the-message-tree","p":2694},{"i":2706,"t":"The message should already have been decrypted to decryptedCommand (see above). /*********************************** This function generates a state leaf ***********************************/ function generateStateLeaf( command, computedNewVoteOptionRoot, newVoiceCreditBalance ) => { return [ command.newPublicKeyX, command.newPublicKeyY, computedNewVoteOptionRoot, newVoiceCreditBalance, command.nonce + 1 ] } /************************* // The main circuit logic: **************************/ // Record in a variable that the new state leaf index is // valid (i.e. it is leq to the maximum allowed value) var validStateLeafIndex = newStateTreePathIndex <= maxStateLeafIndex && newStateTreePathIndex > 0 // Record in a variable if the signature is valid var validSignature = verifyEddsa(signature, decryptedCommand, userPubKey) // Record in a variable if the nonce is correct var correctNonce = decryptedCommand.nonce == userCurrentLeaf.nonce + 1 // Prove that the user's current leaf is part of the // Merkle tree. Note that this check is independent of // the noOp flag. As such, the coordinator cannot // create an invalid proof by tampering with the // Merkle proof and setting noOp to true; the Merkle proof // *must* be valid. var x = generateMerkleRoot( userCurrentLeafPathElements, userCurrentLeafPathIndex, userCurrentLeaf ) assert(x == currentStateRoot) // Prove that the the current vote option weight (leaf) // input is correct by checking that it exists in the // tree at the given index var y = generateMerkleRoot( decryptedCommand.currentVoteOptionPathElements, decryptedCommand.voteOptionIndex, decryptedCommand.currentVoteWeight ) assert(y == userCurrentLeaf.voteOptionTreeRoot) // Record in a variable if the user has enough // voice credits var newVoiceCreditBalance = userCurrentLeaf.voiceCreditBalance + (decryptedCommand.currentVoteWeight ^ 2) - (decryptedCommand.newVoteWeight ^ 2) var enoughVoiceCredits = newVoiceCreditBalance >= 0 // Record in a variable if the new leaf's vote option // tree root is the correct result of updating the // vote option leaf. var computedNewVoteOptionRoot = updateMerkleTree( command.voteOptionIndex, command.voteOptionPath, command.voteWeight, decryptedCommand.newVoteWeight ) assert(newStateLeaf.voteOptionRoot == computedNewVoteOptionRoot) newStateLeaf.voteOptionRoot == computedNewVoteOptionRoot // Record in a variable if the vote option index is // within a permissible range (0 to 2 ** vote option tree // depth, inclusive) where VOTE_OPTION_TREE_DEPTH is // not an input, but rather hardcoded during the trusted // setup. var validVoteOptionTreeIndex = command.voteOptionIndex < VOTE_OPTION_TREE_DEPTH var newStateLeaf = generateStateLeaf( command, computedNewVoteOptionRoot, newVoiceCreditBalance ) if (enoughVoiceCredits && correctNonce && validSignature && validStateLeafIndex && validVoteOptionTreeIndex ): // Use a constraint to ensure that the no-op flag // is set to false assert(noOp == false) // Generate the new state root. var s = merkleTreeUpdate( newStateTreePathIndex newStateLeaf, currentStateRoot, newStateTreePathElements ) // Update the leaf at index `0` to generate a new state // root, and ensure via a constraint that it is equal // to the new state root passed to the snark as an // input. var updatedStateRoot = merkleTreeUpdate( 0, randomLeaf, s, newStateTreePathElementsToZero ) assert(updatedStateRoot == newStateRoot) else: // Use a constraint to ensure that the no-op flag // is set to true assert(noOp == true)","s":"Circuit logic","u":"/docs/v0.x/state-root-transition-circuit","h":"#circuit-logic","p":2694},{"i":2708,"t":"Condition noOp flag Outcome Insufficient voice credits true Valid proof, but only leaf 0 is updated Invalid nonce true Valid proof, but only leaf 0 is updated Invalid signature true Valid proof, but only leaf 0 is updated Invalid new vote option root true Valid proof, but only leaf 0 is updated Invalid state leaf index true Valid proof, but only leaf 0 is updated Invalid vote option tree index true Valid proof, but only leaf 0 is updated Invalid Merkle path to the current state root N/A No such proof can be generated Invalid Merkle path to the current vote option root N/A No such proof can be generated","s":"Circuit failure modes","u":"/docs/v0.x/state-root-transition-circuit","h":"#circuit-failure-modes","p":2694}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2544",[0,2.662,1,4.743,2,3.608,3,2.679,4,2.662,5,1.086,6,3.245,7,2.662,8,2.089,9,2.786,10,4.284,11,2.233,12,4.743,13,2.17,14,3.44,15,4.284,16,3.668,17,3.941,18,2.786,19,3.44,20,6.716,21,3.245,22,4.743,23,5.439,24,4.284,25,2.346,26,3.941]],["t/2546",[0,1.62,5,1.113,8,2.174,13,1.32,18,1.695,25,1.427,27,2.252,28,1.487,29,2.582,30,1.551,31,0.93,32,1.101,33,2.232,34,3.31,35,1.871,36,3.31,37,2.607,38,3.31,39,2.886,40,3.228,41,1.19,42,3.31,43,1.487,44,1.14,45,1.695,46,1.778,47,1.386,48,1.482,49,1.974,50,1.779,51,2.093,52,2.398,53,3.786,54,2.717,55,2.548,56,3.786,57,2.232,58,1.027,59,2.093,60,3.483,61,1.778,62,2.607,63,2.607,64,1.716,65,2.607,66,1.372,67,2.093,68,1.487,69,2.607,70,1.271,71,2.582,72,2.232,73,2.607,74,2.607,75,1.62,76,1.551,77,3.579,78,2.607,79,2.607,80,2.398,81,2.607,82,2.398,83,2.607,84,2.093,85,0.46,86,1.695,87,2.607,88,1.487,89,2.232,90,2.232,91,2.232,92,3.31,93,2.093,94,1.372,95,2.352,96,2.886,97,1.974,98,3.31,99,2.886,100,2.398,101,2.886,102,3.31,103,1.14,104,1.62,105,2.093,106,1.871,107,1.695,108,2.886,109,2.607,110,2.232,111,2.886]],["t/2548",[3,1.414,4,1.735,5,0.817,13,2.347,14,3.194,15,2.792,21,2.115,31,0.438,32,1.179,41,0.594,44,1.221,50,1.313,57,2.391,58,1.1,85,0.703,86,1.816,88,1.593,94,1.47,96,3.091,106,2.004,112,4.633,113,3.545,114,3.545,115,3.545,116,2.713,117,3.545,118,3.978,119,4.404,120,2.792,121,2.391,122,3.405,123,2.569,124,3.091,125,3.545,126,2.115,127,2.004,128,3.623,129,2.569,130,1.362,131,1.179,132,1.593,133,3.545,134,1.44,135,3.545,136,3.545,137,1.221,138,3.545,139,2.242,140,3.091,141,4.404,142,2.569,143,1.905,144,3.545,145,3.545,146,3.545,147,2.713,148,3.545,149,1.54,150,1.009,151,1.905,152,3.091,153,2.879,154,1.905,155,2.242,156,2.242,157,1.661,158,1.905,159,1.362,160,1.027,161,2.242,162,2.569,163,2.792,164,2.792,165,3.545,166,2.569,167,1.905,168,1.94,169,2.242,170,2.115,171,2.569,172,1.905,173,3.091,174,3.091,175,2.792,176,2.569,177,3.545,178,1.414,179,2.004,180,3.545,181,3.545,182,3.545,183,3.545,184,3.091,185,2.004,186,2.004,187,2.242]],["t/2550",[5,1.086,8,2.089,16,3.668,41,1.126,44,2.51,48,1.424,54,3.074,85,0.757,94,2.255,104,2.662,142,3.941,150,1.087,166,3.941,176,4.866,188,2.784,189,3.074,190,4.743,191,2.17,192,4.284,193,5.439,194,4.284,195,4.743,196,2.17,197,4.743,198,4.743,199,4.284]],["t/2552",[0,2.486,18,1.83,19,2.26,31,0.729,41,0.599,44,2.035,47,0.875,48,0.936,54,2.02,85,0.983,104,2.892,105,2.26,106,2.02,107,1.83,134,1.575,137,1.231,147,1.92,149,1.33,150,0.714,152,5.927,153,3.555,155,2.26,162,2.59,163,2.815,172,2.729,176,3.68,188,2.667,189,2.87,191,1.425,200,3.574,201,3.03,202,2.132,203,2.19,204,1.92,205,3.574,206,2.59,207,2.02,208,2.815,209,3.574,210,5.079,211,3.574,212,4.654,213,1.323,214,4.662,215,2.815,216,2.02,217,2.26,218,2.379,219,3.116,220,3.116,221,1.674,222,2.486,223,3.116,224,3.425,225,3.574,226,2.41,227,2.26,228,1.83,229,2.26,230,2.59,231,1.035,232,0.936,233,1.83,234,3.574,235,2.59,236,1.83,237,2.59,238,2.132,239,2.87,240,1.749,241,3.574,242,3.574,243,2.132,244,3.574]],["t/2554",[0,2.717,8,2.43,11,1.35,13,2.214,19,2.567,27,1.902,31,0.685,35,3.137,45,2.079,47,0.994,59,3.511,66,1.683,94,1.683,95,1.987,104,3.096,106,2.294,107,2.079,116,2.181,119,3.54,123,2.941,127,3.137,128,2.294,132,1.823,142,4.584,178,2.214,187,4.001,192,3.197,196,1.619,202,2.422,213,1.503,227,2.567,232,1.063,233,2.843,245,5.551,246,3.197,247,4.059,248,3.197,249,3.197,250,2.567,251,4.059,252,3.54,253,3.54,254,3.197,255,4.059,256,4.059,257,4.059,258,3.743,259,2.941,260,3.54,261,2.737,262,3.197,263,4.372,264,3.54,265,1.987,266,4.059,267,2.941,268,2.567,269,2.422,270,1.619,271,3.54,272,1.608,273,2.737,274,5.551,275,4.059,276,2.567,277,3.197,278,2.941]],["t/2556",[0,2.101,3,1.712,5,1.053,30,2.011,41,1.167,44,1.479,46,2.306,48,1.124,55,2.134,85,0.906,103,1.479,107,2.199,127,3.258,134,1.051,149,1.124,151,2.306,156,2.715,166,5.416,179,2.426,189,2.426,191,1.712,197,3.743,198,5.027,204,2.306,213,1.589,216,2.426,228,2.199,231,1.244,279,2.715,280,3.381,281,4.293,282,4.293,283,4.541,284,2.101,285,4.293,286,3.111,287,3.743,288,6.51,289,4.293,290,2.715,291,4.293,292,5.027,293,3.743,294,3.098,295,4.293,296,4.293,297,3.743,298,4.293,299,3.743,300,3.111,301,1.928,302,3.381,303,1.589,304,3.743,305,2.715,306,3.743]],["t/2558",[0,2.51,5,1.205,11,1.705,19,3.243,27,3.033,28,2.303,30,2.402,41,0.86,53,4.039,95,3.168,97,3.059,106,2.898,107,3.316,137,1.766,150,1.568,153,2.51,179,2.898,229,3.243,269,3.862,284,2.51,306,4.471,307,6.473,308,5.128,309,3.243,310,3.716,311,5.128,312,4.471,313,5.128,314,4.471]],["t/2560",[4,3.546,5,1.172,13,2.144,16,4.495,28,2.414,85,0.748,116,2.887,123,3.894,128,3.037,150,1.074,175,4.233,179,3.037,278,3.894,315,6.666,316,5.374,317,6.666,318,5.374,319,5.374,320,5.374,321,4.686,322,3.624,323,2.63,324,4.686,325,4.686,326,4.686,327,5.374,328,5.374]],["t/2562",[0,2.695,5,0.89,67,3.482,116,2.958,128,3.824,290,3.482,309,3.482,329,3.482,330,4.801,331,4.801,332,4.801,333,4.801,334,4.801,335,5.506,336,4.801,337,5.9,338,3.99,339,4.801,340,5.506,341,5.506,342,2.82,343,5.506,344,4.801,345,2.695,346,3.99,347,4.337,348,4.801,349,4.801]],["t/2564",[5,1.146,6,3.546,7,2.909,8,2.283,9,3.045,14,3.759,109,4.682,110,4.008,112,4.682,142,4.307,192,4.682,250,3.759,336,5.183,350,4.307,351,3.759,352,5.945,353,5.945]],["t/2566",[2,3.965,10,5.014,11,2.117,179,3.598,276,4.026,350,4.613,354,6.367]],["t/2568",[2,3.222,4,2.229,5,1.084,6,2.717,7,2.229,8,2.304,9,2.333,27,2.134,28,2.694,29,2.447,31,0.562,45,2.333,67,2.88,70,1.75,85,0.634,95,2.229,104,2.229,108,3.971,112,4.723,116,2.447,120,3.587,122,3.071,128,2.574,179,2.574,196,1.817,206,3.3,216,2.574,276,2.88,286,3.3,331,3.971,346,3.3,347,3.587,351,3.792,355,4.555,356,3.587,357,3.971,358,3.587,359,3.587,360,3.971,361,2.717,362,3.971,363,3.071,364,4.555,365,3.971,366,4.555,367,3.587,368,4.555,369,4.555,370,5.229,371,3.971,372,4.555,373,4.555,374,3.971,375,4.555,376,3.971,377,3.971]],["t/2570",[0,1.585,5,0.994,8,2.147,14,2.048,26,2.346,27,2.88,28,1.454,29,3.003,31,0.91,40,3.008,41,1.096,43,2.125,45,1.658,47,0.793,48,1.239,50,1.199,53,2.55,55,2.421,56,3.726,58,1.004,59,2.048,60,2.346,61,1.74,62,2.55,63,2.55,64,1.156,65,2.55,66,1.342,67,2.992,68,1.454,69,3.726,71,2.542,72,2.183,73,3.726,74,2.55,76,1.517,77,3.535,78,2.55,79,2.55,80,2.346,81,2.55,82,2.346,83,2.55,84,2.048,85,0.658,86,1.658,87,2.55,88,2.125,89,3.19,90,2.183,91,2.183,103,1.629,104,1.585,130,1.244,131,1.077,132,2.125,149,1.239,156,2.992,176,2.346,196,1.292,217,2.048,228,1.658,233,1.658,240,1.585,284,1.585,301,2.125,302,3.726,310,2.346,312,2.823,345,2.315,361,2.822,378,3.238,379,3.726,380,2.55,381,1.83,382,3.238,383,3.238,384,2.823,385,3.238,386,1.932,387,2.823,388,3.238,389,3.238,390,2.423,391,3.238,392,3.238,393,2.048,394,3.238,395,1.454,396,2.55,397,1.74,398,3.238,399,2.55]],["t/2572",[4,1.608,5,0.911,7,1.608,8,1.262,11,1.092,12,2.865,13,1.907,14,2.078,19,2.078,27,1.539,35,1.857,37,3.766,40,1.608,44,1.132,47,1.171,49,1.96,59,2.078,93,2.078,95,1.608,97,3.362,100,3.464,104,2.34,105,3.024,116,2.569,122,2.215,147,1.765,154,1.765,156,2.078,170,1.96,172,1.765,184,2.865,208,2.588,213,1.216,229,2.078,250,2.078,254,2.588,259,3.464,261,2.215,270,1.31,302,2.588,323,2.34,324,2.865,332,2.865,342,3.369,351,2.078,361,1.96,363,2.215,374,2.865,390,3.17,399,2.588,400,3.286,401,2.865,402,2.588,403,2.588,404,2.588,405,3.286,406,4.781,407,3.286,408,4.781,409,4.914,410,3.286,411,3.286,412,2.215,413,2.865,414,2.865,415,2.588,416,2.381,417,2.215,418,2.865,419,2.865,420,2.865,421,4.781,422,3.286,423,3.286,424,3.286,425,2.215,426,2.588,427,2.865,428,3.286,429,2.588,430,3.286,431,3.464,432,2.865,433,3.286,434,2.865,435,4.169,436,2.381,437,3.286,438,3.286,439,2.865,440,2.381,441,2.865,442,3.286,443,3.286,444,3.286,445,2.865,446,2.215,447,3.286,448,2.215,449,2.381,450,2.865,451,3.286,452,2.865,453,2.865,454,3.286,455,3.286,456,3.286,457,2.865,458,2.865,459,3.286,460,2.588,461,2.865,462,3.286]],["t/2574",[5,0.705,8,2.521,13,1.158,25,1.252,29,2.344,31,0.865,35,1.64,41,0.487,44,1,45,2.985,47,0.711,61,2.344,64,1.036,86,1.487,93,1.835,95,1.42,100,2.103,103,1.805,104,3.057,105,1.835,120,3.436,149,0.76,150,0.58,167,3.131,170,2.602,196,1.74,206,2.103,217,1.835,246,2.286,250,1.835,252,2.531,259,2.103,265,2.135,268,1.835,270,1.158,294,1.559,301,1.304,303,1.074,356,2.286,357,2.531,380,3.436,390,1.487,397,1.559,402,2.286,425,1.957,431,2.103,463,2.531,464,2.902,465,2.286,466,2.531,467,1.957,468,1.64,469,3.436,470,2.902,471,2.902,472,1.487,473,2.902,474,2.286,475,2.902,476,2.531,477,2.902,478,2.902,479,2.759,480,4.362,481,1.957,482,2.902,483,2.531,484,2.902,485,2.103,486,1.835,487,2.902,488,1.957,489,2.902,490,2.902,491,2.902,492,2.531,493,1.957,494,2.902,495,3.161,496,2.902,497,2.902,498,2.902,499,1.36,500,2.103,501,2.902,502,2.286,503,1.957,504,1.957,505,2.902,506,1.64,507,2.531,508,2.902,509,5.241,510,3.436,511,2.902,512,2.902,513,2.902,514,2.902,515,2.902,516,2.531,517,2.902,518,2.902,519,2.531,520,2.902,521,2.286,522,2.902,523,3.534,524,2.531,525,2.286,526,2.902,527,3.804,528,2.902,529,2.902,530,1.957,531,2.902,532,3.161,533,2.531,534,2.902,535,2.902,536,1.835,537,2.902,538,2.902,539,2.902,540,2.902,541,2.531,542,2.531,543,2.286,544,2.902,545,1.835,546,2.286,547,2.902,548,2.902,549,2.902]],["t/2576",[2,1.59,4,1.449,5,1.019,11,1.472,13,1.181,21,1.766,26,2.145,27,2.074,28,1.33,31,0.655,41,0.889,43,1.33,44,1.02,50,1.096,57,1.996,59,1.872,71,1.59,82,2.145,85,0.819,89,1.996,93,2.8,95,2.166,97,1.766,103,1.02,116,1.59,129,2.145,130,1.137,131,0.984,132,1.33,137,1.827,149,1.159,150,0.885,153,2.166,159,1.137,160,0.858,178,1.181,185,1.673,191,1.181,201,1.766,212,2.331,216,1.673,217,1.872,223,2.581,227,2.8,240,1.449,269,1.766,270,1.766,271,2.581,272,0.858,278,3.842,294,2.849,301,1.33,303,1.096,310,2.145,322,1.996,342,1.516,351,1.872,359,3.486,361,3.758,363,3.576,390,1.516,403,2.331,425,1.996,431,2.145,435,2.581,436,3.208,441,2.581,446,1.996,449,3.208,458,2.581,460,3.486,486,2.8,488,1.996,536,1.872,543,2.331,550,2.96,551,4.427,552,2.581,553,2.581,554,1.872,555,1.872,556,1.766,557,2.581,558,2.581,559,2.96,560,2.96,561,2.96,562,3.208,563,2.96,564,2.985,565,2.96,566,1.872,567,1.872,568,3.86,569,2.96,570,2.145,571,2.581,572,2.96,573,2.581,574,2.96,575,2.96,576,2.96,577,3.86,578,2.96,579,2.96,580,2.581,581,2.96,582,4.624,583,2.96,584,2.581,585,2.331,586,2.145,587,2.96,588,2.96,589,2.581,590,2.331,591,2.96,592,2.581,593,2.96,594,2.581,595,2.581,596,2.581,597,2.581,598,2.145,599,2.96,600,2.96]],["t/2578",[5,0.936,11,1.926,27,2.713,99,5.049,130,2.224,131,1.926,329,3.662,342,3.574,361,3.454,379,4.561,390,2.966,448,3.905,536,3.662,601,5.791,602,5.791,603,5.791,604,5.049,605,5.791,606,5.049,607,5.791,608,5.791]],["t/2580",[0,2.678,5,0.885,31,0.902,52,3.965,137,1.885,150,1.094,188,2.269,203,2.36,213,2.026,233,2.803,272,1.586,284,2.678,342,2.803,365,4.772,367,4.31,371,4.772,404,4.31,429,5.309,510,4.31,609,5.473,610,5.473,611,5.878,612,5.473,613,5.473,614,5.473,615,5.473,616,3.265]],["t/2582",[5,0.936,31,0.715,41,1.17,68,2.601,85,0.806,150,1.157,213,2.144,284,2.834,305,3.662,359,4.561,395,2.601,445,5.049,472,2.966,617,5.791,618,5.049,619,6.084,620,6.977,621,5.791,622,5.791]],["t/2584",[5,0.869,9,2.753,13,2.144,18,2.753,41,0.901,50,1.989,85,0.748,93,3.399,132,2.414,137,1.851,143,2.887,149,1.407,150,1.074,153,2.63,178,2.144,199,4.233,201,3.206,303,1.989,342,2.753,449,3.894,493,3.624,543,4.233,580,4.686,598,3.894,623,4.686,624,3.624,625,5.374,626,2.753,627,4.686,628,4.233,629,5.374,630,5.374,631,4.686,632,5.374]],["t/2586",[4,2.51,5,1.205,27,2.402,40,3.646,43,2.908,94,2.684,95,2.51,97,3.059,116,3.478,132,2.303,150,1.025,218,2.402,269,3.059,273,4.365,294,2.755,329,3.243,351,3.243,429,4.039,436,3.716,598,3.716,633,5.128,634,5.128,635,5.128,636,6.497,637,4.471,638,5.128,639,4.039,640,3.716,641,2.626]],["t/2588",[0,2.816,2,3.091,8,2.21,31,0.71,45,2.947,66,2.385,104,2.816,196,2.295,236,2.947,265,2.816,330,5.017,342,2.947,356,4.532,361,3.432,536,3.639,642,5.017,643,3.88,644,5.017,645,5.754,646,4.532,647,5.017,648,5.754,649,4.169]],["t/2590",[5,0.981,6,2.239,7,1.837,8,2.02,9,1.922,27,1.758,29,2.017,30,2.463,31,0.982,32,1.748,40,1.837,47,0.919,61,2.017,64,2.167,66,2.516,85,0.732,110,2.531,126,2.239,130,1.442,131,1.248,137,1.293,150,0.75,154,2.017,168,1.442,169,2.374,207,3.43,232,0.983,235,2.72,237,2.72,248,2.956,270,1.497,272,2.135,284,3.388,386,2.239,393,2.374,467,2.531,468,3.716,469,2.956,472,1.922,474,4.141,485,2.72,493,2.531,495,2.72,500,2.72,506,2.121,545,2.374,554,2.374,616,3.137,646,2.956,650,3.273,651,2.956,652,2.956,653,3.273,654,3.273,655,2.956,656,2.531,657,3.273,658,2.531,659,2.531,660,2.956,661,2.956,662,3.273,663,4.585,664,3.273,665,2.374,666,2.956]],["t/2592",[5,0.983,6,2.248,7,1.845,8,2.026,9,1.93,27,1.766,29,2.025,30,2.47,31,0.983,32,1.753,40,1.845,47,0.923,61,2.025,64,2.171,66,2.522,85,0.734,126,2.248,130,1.448,131,1.253,137,1.298,150,0.753,154,2.025,168,1.448,169,2.384,207,3.438,232,0.987,235,2.731,237,2.731,248,2.969,270,1.503,272,2.137,284,3.393,386,2.248,393,2.384,467,2.541,468,3.723,469,2.969,472,1.93,474,4.153,485,2.731,493,2.541,495,2.731,500,2.731,506,2.13,545,2.384,554,2.384,616,3.146,646,2.969,650,3.287,651,2.969,652,2.969,653,3.287,654,3.287,655,2.969,656,2.541,657,3.287,658,2.541,659,2.541,660,2.969,661,2.969,662,3.287,663,4.598,664,3.287,665,2.384,666,2.969]],["t/2594",[1,2.744,2,1.691,5,1.093,6,1.877,7,1.54,8,1.78,9,1.612,25,1.357,28,1.414,29,1.691,31,0.885,33,2.122,35,1.779,40,2.968,41,1.084,47,0.771,48,1.213,50,1.165,55,2.503,56,3.649,57,2.122,58,0.976,59,1.99,60,2.28,61,1.691,62,2.479,63,2.479,64,1.123,65,2.479,66,1.305,67,1.99,68,1.414,69,2.479,70,2.329,71,2.489,72,2.122,73,2.479,74,2.479,76,1.474,77,3.477,78,2.479,79,2.479,80,2.28,81,2.479,82,2.28,83,2.479,84,1.99,85,0.438,86,1.612,87,2.479,88,1.414,89,2.122,90,2.122,91,2.122,110,3.124,111,4.794,130,2.329,131,2.016,170,1.877,178,1.848,202,1.877,240,2.267,250,1.99,284,1.54,351,1.99,386,1.877,396,3.649,416,3.357,417,2.122,448,3.124,479,1.99,483,2.744,499,2.576,589,2.744,667,4.039,668,3.147,669,3.147,670,2.122,671,2.744,672,3.147,673,3.147,674,2.744,675,3.147,676,3.147,677,2.479,678,3.147,679,2.479,680,2.744,681,3.147,682,2.744,683,3.147,684,3.147,685,3.147,686,3.147,687,3.147,688,2.744,689,2.28,690,2.122,691,3.147,692,3.147,693,3.147,694,3.147]],["t/2597",[2,2.784,5,0.97,21,2.193,30,1.722,31,0.951,40,1.799,41,1.228,44,1.266,46,2.784,48,1.571,50,1.918,51,2.325,58,1.14,64,1.312,71,1.975,85,1.019,91,2.479,94,1.524,127,2.078,130,1.412,131,1.222,134,1.269,149,1.357,150,1.036,151,1.975,154,1.975,168,2.503,170,2.193,189,2.078,204,2.784,236,2.654,265,1.799,270,2.067,272,1.065,280,2.896,284,1.799,290,2.325,301,2.328,305,2.325,345,1.799,386,2.193,393,3.277,395,2.696,467,2.479,468,2.078,499,1.722,502,2.896,504,2.479,525,2.896,530,2.479,555,2.325,616,2.193,690,2.479,695,3.755,696,5.182,697,2.896,698,1.975,699,2.325,700,3.676,701,3.676,702,3.676,703,3.676,704,3.676,705,2.325,706,3.206,707,1.975,708,3.676,709,2.896]],["t/2599",[3,0.694,5,0.706,11,1.243,13,1.159,16,1.174,17,2.105,21,1.733,25,1.613,28,1.305,31,0.947,33,1.174,41,0.814,44,1.806,47,1.869,48,2.025,50,1.384,51,1.101,54,0.984,58,1.16,61,0.935,64,0.621,66,1.55,68,2.18,70,2.137,77,1.837,84,1.101,85,0.893,88,1.305,94,0.722,105,1.101,107,0.892,110,1.174,130,1.116,131,0.966,134,1.716,137,0.6,149,0.979,150,0.747,167,0.935,171,1.261,174,1.518,189,2.113,191,2.619,204,2.009,207,0.984,208,1.371,216,0.984,218,0.816,226,1.174,228,0.892,232,0.456,237,1.261,243,1.038,263,1.371,270,0.694,272,1.612,276,1.101,279,1.101,290,1.101,301,1.68,303,0.644,305,1.101,329,1.101,342,0.892,386,1.733,395,1.68,448,1.174,468,3.295,472,0.892,479,1.101,499,1.361,502,1.371,503,1.959,504,1.959,506,0.984,519,1.518,523,1.174,530,1.174,567,1.837,616,1.733,640,4.388,642,1.518,644,1.518,656,1.174,659,1.174,665,2.365,667,1.518,670,1.174,698,1.561,705,1.837,710,1.741,711,2.365,712,3.144,713,1.741,714,2.905,715,1.371,716,2.291,717,1.741,718,1.741,719,1.741,720,3.739,721,2.533,722,2.945,723,2.761,724,2.136,725,1.741,726,1.741,727,1.741,728,3.739,729,2.105,730,1.741,731,1.518,732,1.741,733,1.518,734,4.388,735,2.375,736,2.467,737,1.261,738,4.365,739,1.371,740,1.741,741,1.518,742,1.371,743,1.741,744,1.518,745,1.518,746,1.101,747,1.741,748,1.741,749,1.518]],["t/2601",[5,0.898,13,1.278,17,2.321,22,2.793,25,1.381,31,0.579,41,0.787,50,2.264,58,0.994,64,2.429,68,1.439,70,2.911,85,0.773,88,1.439,126,2.8,127,1.81,130,2.134,131,2.262,134,1.36,137,1.103,149,0.839,150,1.301,154,2.522,157,2.199,168,2.349,169,2.026,187,2.026,189,1.81,195,2.793,240,2.297,276,2.026,277,2.523,301,1.439,309,2.026,393,2.968,395,1.439,465,2.523,499,1.501,506,1.81,532,2.321,570,2.321,641,2.404,660,2.523,670,2.16,679,2.523,680,2.793,690,2.16,695,2.321,697,2.523,705,4.117,736,1.81,750,6.116,751,3.203,752,7.029,753,3.745,754,4.025,755,2.793,756,3.203,757,2.16,758,1.501,759,2.026,760,3.203,761,3.203,762,3.203,763,3.203,764,3.203,765,3.203,766,3.203,767,3.203,768,3.203,769,3.203,770,3.203,771,3.203,772,3.203,773,3.203,774,3.696,775,2.793,776,3.203,777,3.203,778,2.321,779,3.203,780,3.203,781,3.203]],["t/2603",[5,1.123,13,1.51,30,1.773,31,0.753,32,2.195,41,0.635,44,1.822,46,2.034,47,0.927,48,0.991,50,2.257,51,2.394,52,2.743,55,1.401,64,1.351,70,1.454,85,0.966,94,1.569,106,2.139,128,2.989,134,1.616,143,2.034,147,2.034,149,2.004,150,1.218,153,3.398,168,2.032,169,2.394,178,1.51,191,2.11,201,3.155,232,1.596,264,3.3,268,2.394,270,1.51,286,2.743,301,2.738,345,1.852,350,2.743,370,3.3,396,2.981,397,2.034,446,2.552,564,2.552,624,2.552,688,3.3,690,2.552,706,3.3,723,2.394,739,2.981,746,2.394,782,3.785,783,3.785,784,3.3,785,5.289,786,2.981,787,4.612,788,3.785,789,3.3,790,3.785,791,2.139]],["t/2605",[5,1.053,11,1.065,18,2.404,31,0.755,32,1.065,33,2.16,43,2.108,44,2.483,47,1.666,48,1.781,58,1.456,85,1.003,86,1.641,137,1.617,147,2.522,149,1.705,150,0.64,151,1.721,153,2.297,159,1.23,160,0.928,188,2.699,191,2.875,203,2.808,204,1.721,216,1.81,218,3.05,222,2.297,236,1.641,238,1.911,239,1.81,240,1.568,268,2.026,300,2.321,301,2.108,323,1.568,345,1.568,386,2.8,397,1.721,556,3.314,566,2.968,649,2.321,698,1.721,707,2.522,737,4.025,746,2.968,758,1.501,759,2.026,792,2.523,793,3.203,794,3.203,795,2.793,796,5.555,797,5.555,798,4.693,799,3.203,800,3.203,801,2.16,802,3.203,803,4.092,804,3.203,805,2.793,806,4.092,807,2.793,808,2.793,809,3.203,810,3.203,811,3.203,812,2.793,813,3.203]],["t/2607",[5,0.784,18,2.484,31,0.771,41,1.047,46,2.606,48,1.978,68,2.179,85,0.869,134,1.849,149,1.636,150,1.249,151,2.606,153,3.057,159,1.863,160,1.405,172,2.606,204,2.606,218,2.272,236,3.2,240,2.374,268,3.067,301,2.179,395,3.104,566,3.951,567,3.067,624,3.271,707,2.606,711,3.067,716,1.732,746,3.067,759,3.067,803,4.229,814,4.851,815,4.229]],["t/2609",[3,1.376,5,0.558,11,1.147,25,2.136,28,1.55,30,2.32,31,0.828,32,2.23,41,1.233,58,1.797,64,2.068,68,1.55,85,0.48,130,2.226,131,1.927,134,1.834,149,1.756,150,0.689,153,1.688,158,1.854,160,1.943,161,2.182,186,3.275,204,2.661,218,1.616,231,1.943,232,0.903,272,1.679,273,2.326,303,2.344,305,2.182,446,3.34,472,1.767,499,1.616,506,1.95,527,3.008,532,2.5,552,3.008,566,3.132,626,1.767,641,2.537,665,3.132,707,1.854,711,2.182,722,3.901,775,3.008,787,3.008,791,3.579,801,3.34,816,3.45,817,3.45,818,3.008,819,3.45,820,3.45,821,3.45,822,3.45,823,2.5,824,3.45,825,3.45,826,2.717,827,2.5,828,2.5,829,1.854,830,3.45,831,3.008]],["t/2611",[25,1.72,31,0.874,32,2.084,40,2.683,41,1.051,50,2.619,58,2.195,64,1.957,85,0.763,88,2.463,130,2.106,131,1.823,134,1.733,149,1.641,153,1.951,158,2.142,160,1.155,168,2.718,186,3.099,204,2.142,218,1.868,222,3.303,228,2.042,231,1.155,239,2.253,270,2.187,303,2.499,499,2.569,566,3.468,616,2.378,643,3.697,695,2.889,711,2.522,721,3.477,722,3.14,757,2.689,778,2.889,791,2.253,827,2.889,832,3.987,833,3.987,834,3.477,835,6.267,836,3.477,837,3.987,838,3.477,839,3.987]],["t/2613",[5,1.117,8,2.4,17,3.515,30,2.272,31,0.853,32,1.613,85,0.869,94,2.011,95,2.374,97,3.727,103,2.152,104,3.382,143,3.357,150,0.969,170,2.893,194,3.82,202,3.727,243,2.893,246,3.82,265,3.057,465,3.82,479,3.067,485,3.515,492,4.229,592,4.229,643,3.271,658,4.213,709,3.82,840,4.851,841,4.851,842,4.851,843,3.271,844,5.448,845,4.229,846,3.271,847,4.851,848,4.851]],["t/2615",[2,3.326,3,2.469,5,1.001,11,2.562,16,4.174,35,3.499,95,3.03,279,3.915,604,5.398,849,6.191]],["t/2617",[0,0.442,2,1.207,3,0.896,4,0.442,5,1.208,6,0.976,7,0.442,8,1.06,9,1.413,10,0.711,13,0.896,14,0.571,15,2.817,18,0.462,19,2.262,25,1.19,26,0.654,27,1.498,28,0.735,29,0.879,30,0.767,31,0.518,32,0.747,37,3.51,39,0.787,41,0.536,47,0.957,48,0.236,54,0.925,61,0.485,64,0.322,66,0.374,67,2.022,70,2.728,76,0.423,85,0.312,93,2.022,94,0.374,95,2.055,97,0.976,100,4.115,104,2.055,105,0.571,107,1.638,109,2.173,116,2.394,118,2.173,122,0.609,123,1.186,126,0.538,128,0.51,129,3.042,131,0.544,137,0.311,140,1.427,143,1.718,147,2.256,150,0.781,153,0.801,164,1.289,166,1.627,168,0.629,171,0.654,172,1.207,178,0.653,179,0.925,186,0.51,187,1.035,189,0.51,194,1.289,196,1.427,199,1.769,201,0.538,202,0.538,206,0.654,214,0.654,218,0.423,222,0.442,229,1.035,235,0.654,254,0.711,259,0.654,260,0.787,261,1.514,265,0.442,269,1.646,270,0.36,276,1.035,278,3.682,284,1.912,286,0.654,293,0.787,303,0.606,305,0.571,309,1.745,314,4.579,321,0.787,323,0.442,326,1.427,333,0.787,334,0.787,337,1.427,338,0.654,339,0.787,342,0.838,344,0.787,345,0.442,346,1.186,347,2.173,348,1.958,349,1.427,350,2.592,358,0.711,360,0.787,361,3.032,362,2.406,363,1.104,377,2.406,379,3.855,380,2.518,387,1.958,390,0.838,399,1.769,404,0.711,425,3.541,426,0.711,431,2.592,434,0.787,436,2.317,439,3.661,440,0.654,448,0.609,449,1.186,450,0.787,452,2.788,453,1.427,457,1.958,460,2.518,461,0.787,479,0.571,486,1.035,493,1.104,495,0.654,510,0.711,516,0.787,523,1.104,525,0.711,532,0.654,536,0.571,541,1.427,542,2.406,545,1.035,553,0.787,555,0.571,556,0.538,557,1.427,558,1.958,562,0.654,568,1.427,573,0.787,590,1.289,595,1.958,596,0.787,598,0.654,618,0.787,619,0.787,624,0.609,626,0.838,631,0.787,641,0.462,647,0.787,651,0.711,652,0.711,655,0.711,670,1.104,674,0.787,677,1.769,679,1.769,682,1.958,689,0.654,690,0.609,695,0.654,698,0.485,699,0.571,735,0.801,736,0.925,744,0.787,755,0.787,774,1.769,784,0.787,786,1.289,792,0.711,795,0.787,812,0.787,836,0.787,845,0.787,846,0.609,850,3.907,851,1.637,852,0.903,853,3.577,854,0.903,855,0.711,856,0.903,857,1.427,858,1.637,859,0.903,860,1.637,861,2.246,862,1.637,863,0.903,864,0.787,865,0.903,866,0.903,867,0.903,868,0.903,869,0.903,870,2.246,871,0.903,872,0.903,873,1.637,874,2.759,875,2.759,876,0.903,877,0.787,878,0.903,879,1.289,880,2.759,881,0.787,882,0.903,883,0.787,884,0.903,885,0.903,886,1.637,887,2.759,888,0.903,889,1.637,890,0.903,891,0.903,892,0.903,893,0.787,894,0.903,895,0.903,896,2.246,897,0.903,898,0.903,899,2.246,900,2.246,901,0.903,902,0.903,903,0.903,904,4.895,905,2.246,906,1.637,907,0.903,908,2.246,909,0.903,910,2.759,911,0.903,912,0.903,913,0.903,914,0.903,915,0.903,916,1.637,917,0.903,918,0.903,919,0.903,920,1.427,921,0.903,922,2.246,923,0.903,924,0.903,925,0.903,926,0.903,927,0.903,928,2.406,929,0.903,930,0.903,931,0.903,932,0.903,933,0.903,934,1.637,935,0.609,936,0.903,937,0.903,938,0.903,939,0.903,940,2.246,941,0.903,942,0.787,943,0.903,944,2.759,945,1.637,946,1.637,947,0.903,948,1.637,949,1.637,950,1.637,951,0.903,952,1.427,953,0.903,954,0.903,955,0.787,956,0.903,957,0.903,958,0.903,959,0.903,960,0.903,961,2.246,962,0.903,963,2.246,964,0.903,965,0.903,966,1.637,967,0.903,968,0.903,969,0.903,970,0.903,971,0.903,972,0.903,973,0.903,974,0.903,975,0.903,976,0.903,977,0.903,978,0.903,979,0.903,980,0.903,981,0.903,982,0.903,983,0.903,984,0.903,985,0.903,986,0.903,987,0.903,988,0.787,989,0.903,990,0.903,991,0.903,992,1.637,993,0.903,994,0.903,995,0.903,996,1.958,997,1.637,998,0.903,999,0.903,1000,0.787,1001,0.903,1002,0.903,1003,0.903,1004,0.903,1005,0.903,1006,0.903,1007,0.903,1008,0.903,1009,0.903,1010,0.787,1011,0.787,1012,0.903,1013,0.903,1014,0.903,1015,0.903]],["t/2620",[5,1.047,7,2.803,8,2.2,9,2.934,31,0.707,41,0.713,47,1.041,49,2.536,50,2.121,55,1.574,64,2.045,88,1.91,94,1.763,103,1.465,127,2.403,130,2.2,131,1.905,132,3.114,137,1.465,157,1.992,179,2.403,186,2.403,196,1.696,218,1.992,231,1.66,232,1.113,233,2.178,258,2.867,268,3.623,303,1.574,345,2.081,409,4.995,415,4.512,416,4.151,417,3.863,481,2.867,499,1.992,504,2.867,530,2.867,577,3.708,626,3.318,627,6.044,641,2.178,671,4.995,791,2.403,1016,1.84,1017,3.417,1018,2.867,1019,4.252,1020,4.995]],["t/2622",[5,1.044,28,2.901,149,1.691,240,3.161,390,3.308,623,5.632]],["t/2624",[5,0.996,31,0.586,44,1.635,47,1.162,48,1.243,58,1.473,70,2.882,85,0.661,127,2.683,134,1.162,149,1.243,156,3.002,157,3.205,158,2.551,159,1.824,160,1.785,213,1.758,220,4.14,226,3.201,232,1.243,258,3.201,397,2.551,723,3.002,724,2.323,1016,1.979,1021,4.748,1022,4.748,1023,4.14,1024,2.224,1025,2.224,1026,4.14,1027,3.201,1028,3.739,1029,2.432,1030,4.748,1031,4.748,1032,4.748,1033,4.748,1034,3.739,1035,6.162,1036,4.748,1037,4.748,1038,4.748,1039,4.748,1040,3.739,1041,4.748]],["t/2626",[31,0.775,150,1.254,151,3.373,159,2.411,160,1.819,381,3.548,1029,3.215,1042,6.278,1043,4.549,1044,6.278]],["t/2628",[4,1.969,5,0.65,11,1.338,31,0.497,44,2.169,47,0.985,48,1.053,75,1.969,85,0.943,94,1.668,137,1.9,147,2.161,149,1.649,157,1.885,158,2.161,160,1.824,162,2.915,188,2.61,191,2.511,203,2.379,214,2.915,216,2.274,221,2.585,222,2.7,224,3.72,231,1.598,272,1.166,294,2.161,323,1.969,367,3.168,381,3.118,466,3.508,507,3.508,556,2.4,564,4.568,566,2.544,699,2.544,724,1.969,735,1.969,742,3.168,745,3.508,801,2.713,806,4.81,808,3.508,1016,1.292,1024,2.585,1025,2.585,1026,3.508,1028,3.168,1029,2.061,1045,3.72,1046,4.023,1047,4.023,1048,4.023,1049,4.023,1050,3.168,1051,4.023,1052,4.023,1053,2.274,1054,4.023,1055,4.023,1056,4.023,1057,3.508]],["t/2630",[3,2.371,47,1.456,124,5.183,134,1.735,172,3.194,213,2.201,218,2.785,222,3.469,224,4.008,228,3.045,564,4.008,585,4.682,659,4.008,757,4.008,1016,1.909,1058,5.945]],["t/2632",[3,2.718,24,4.994,32,2.266,41,0.934,47,0.999,48,1.068,58,1.265,84,2.579,121,2.75,130,2.436,131,2.108,134,1.803,149,1.068,150,0.815,160,1.613,186,3.147,218,1.91,221,1.91,222,3.103,231,1.837,236,2.089,239,3.147,273,2.75,297,3.556,303,2.522,395,1.832,585,3.212,594,3.556,626,2.089,640,2.955,659,3.755,705,2.579,716,1.988,757,2.75,758,1.91,791,2.305,829,2.992,843,2.75,1016,2.036,1017,2.433,1034,4.386,1059,4.078,1060,4.078,1061,4.078,1062,4.078,1063,3.556,1064,4.855,1065,4.078,1066,2.955,1067,3.212,1068,4.078,1069,2.75]],["t/2634",[24,4.541,31,0.859,41,0.72,49,2.561,50,2.41,58,1.332,64,1.533,88,2.59,90,2.895,137,1.479,149,1.124,157,2.011,158,2.306,159,1.649,168,2.673,196,1.712,202,2.561,213,1.589,222,2.101,231,2.103,232,1.124,270,1.712,273,2.895,303,2.134,661,3.381,729,3.111,741,3.743,757,3.888,791,2.426,829,3.739,855,3.381,935,2.895,1016,2.235,1029,2.953,1034,5.127,1063,3.743,1064,3.743,1070,4.293,1071,4.293,1072,6.51,1073,4.293,1074,3.888,1075,3.743,1076,3.381,1077,4.293,1078,4.293,1079,3.381,1080,3.743]],["t/2636",[31,0.873,46,2.398,47,1.449,48,1.55,55,1.652,58,2.059,75,2.896,85,0.823,94,1.85,159,2.273,160,1.923,161,2.823,188,2.453,201,2.663,203,2.552,231,1.715,232,1.738,243,2.663,261,3.01,272,2.048,294,2.398,397,2.398,546,3.516,555,2.823,639,3.516,711,2.823,716,2.37,735,2.185,758,2.091,857,3.892,1016,1.433,1024,3.11,1025,3.11,1053,3.995,1081,3.516,1082,3.516,1083,4.464,1084,4.464,1085,3.234]],["t/2638",[31,0.914,41,1.005,47,1.468,85,0.933,103,1.569,150,0.91,155,2.88,159,1.75,160,1.738,185,2.574,188,2.486,196,1.817,203,2.586,238,2.717,272,1.943,287,3.971,338,4.345,397,2.447,554,2.88,639,3.587,707,3.222,716,1.626,753,3.071,754,3.3,758,2.134,1016,1.926,1029,3.071,1053,3.389,1086,4.345,1087,4.555,1088,4.858,1089,5.229,1090,4.555,1091,3.971,1092,4.555,1093,4.858,1094,3.587,1095,4.555,1096,2.88,1097,3.587]],["t/2640",[31,0.77,48,1.632,55,2.308,226,4.203,232,1.632,292,5.436,698,3.349,716,2.602,1094,4.91,1098,6.234]],["t/2642",[3,1.209,11,1.498,13,1.209,28,1.361,31,0.786,41,1.118,47,1.558,48,1.746,51,1.916,55,1.122,76,1.419,85,0.748,103,1.552,106,1.712,107,1.552,134,1.458,150,1.38,159,1.164,160,1.844,167,1.628,185,1.712,188,1.256,191,1.209,196,1.209,201,1.807,203,1.307,213,1.668,221,2.11,231,1.932,232,1.18,238,1.807,240,1.483,265,1.483,269,2.687,272,1.558,299,2.642,300,3.264,323,1.483,329,1.916,338,2.195,395,1.361,440,3.264,468,1.712,499,1.419,503,2.043,698,2.42,705,1.916,707,1.628,711,3.4,716,1.92,723,1.916,733,2.642,735,2.204,746,1.916,753,3.037,754,3.264,758,1.419,805,2.642,807,2.642,1016,1.447,1024,3.235,1025,1.419,1053,3.039,1082,3.548,1086,3.896,1088,4.314,1089,3.928,1093,3.264,1094,3.548,1096,1.916,1099,3.03,1100,3.03,1101,3.264,1102,3.03,1103,3.548,1104,3.03,1105,4.505,1106,3.03,1107,3.03,1108,3.03,1109,3.03,1110,3.03,1111,3.03,1112,3.03,1113,3.03,1114,1.916]],["t/2644",[11,0.909,21,2.487,31,0.965,32,1.88,43,1.228,46,2.24,55,1.012,58,1.568,66,1.728,77,3.575,85,0.703,86,1.4,103,0.942,121,1.844,134,1.57,143,1.469,157,1.281,161,1.729,169,1.729,173,2.384,207,1.545,227,2.637,232,0.716,272,2.083,322,1.844,323,1.338,381,1.545,432,2.384,472,1.4,479,1.729,503,1.844,506,2.856,545,1.729,567,2.637,611,2.384,637,2.384,656,1.844,658,1.844,665,4.456,689,1.981,698,2.24,709,2.153,724,2.766,729,1.981,734,3.662,735,3.709,736,3.77,759,1.729,786,3.284,801,1.844,818,2.384,881,3.635,1025,1.953,1043,3.662,1053,4.417,1115,3.635,1116,2.734,1117,2.734,1118,1.981,1119,5.756,1120,5.592,1121,2.734,1122,4.406,1123,5.054,1124,2.734,1125,5.054,1126,2.734,1127,4.169,1128,2.384]],["t/2646",[11,1.381,31,0.513,32,1.875,41,0.696,45,2.127,48,1.088,55,1.538,58,1.986,68,1.866,70,1.595,76,1.946,85,0.891,90,3.802,134,1.017,143,2.232,155,2.627,160,1.855,168,1.595,188,1.722,191,1.657,203,1.791,213,2.087,219,3.622,221,2.641,231,2.194,239,2.347,249,3.271,272,1.203,499,1.946,546,3.271,567,3.566,570,3.01,712,2.347,716,2.013,736,2.347,746,2.627,758,1.946,774,3.271,1010,3.622,1016,1.334,1017,2.478,1024,2.999,1025,1.946,1040,5.407,1053,3.187,1066,4.086,1101,3.01,1118,4.086,1129,6.401,1130,4.154,1131,4.154,1132,3.271,1133,3.622,1134,4.154,1135,3.271]],["t/2650",[31,0.739,32,1.99,41,1.003,50,2.215,72,4.035,134,1.86,265,2.929,270,2.387,562,4.336,831,5.218,834,5.218,996,5.218,1136,4.713,1137,5.984,1138,5.984]],["t/2652",[30,2.73,41,1.174,43,2.618,58,1.808,132,2.618,178,2.325,186,3.294,231,1.689,303,2.593,712,3.294,724,2.852,828,4.223,1017,3.477,1045,3.93,1080,5.082,1139,5.829,1140,4.59,1141,4.223,1142,5.829]],["t/2654",[3,2.371,32,1.977,41,0.997,71,3.194,157,2.785,160,1.722,231,1.722,472,3.045,705,3.759,716,2.122,724,2.909,1024,2.785,1025,2.785,1029,3.045,1143,7.088,1144,5.945,1145,5.945]],["t/2656",[45,3.308,66,2.677,103,2.225,530,4.355,826,5.087,1146,6.459]],["t/2658",[40,3.518,47,1.76,48,2.07,66,1.73,75,2.042,85,1.055,137,1.948,147,3.447,150,1.13,154,2.242,167,2.242,187,2.639,227,2.639,262,3.287,267,3.024,304,3.639,342,2.137,468,3.626,472,2.137,506,2.358,555,2.639,571,6.269,616,2.489,649,3.024,656,2.814,698,3.696,843,2.814,1000,4.932,1147,5.656,1148,4.173,1149,4.173,1150,4.173,1151,4.173,1152,5.656,1153,6.417,1154,5.656,1155,4.173,1156,4.173,1157,3.639,1158,4.173]],["t/2660",[167,3.421,212,5.014,265,3.116,1157,5.552,1159,6.367,1160,6.367,1161,6.367,1162,6.367]],["t/2662",[7,2.287,13,1.864,31,0.753,32,1.554,41,1.022,44,1.61,46,2.511,61,2.511,66,1.937,80,3.386,85,1.001,103,1.61,134,1.662,137,2.101,149,1.224,154,2.511,163,3.681,167,2.511,232,1.597,243,2.788,272,1.354,358,3.681,363,3.151,403,3.681,417,3.151,486,2.955,521,4.803,545,2.955,556,2.788,582,5.92,666,3.681,677,3.681,736,2.641,758,2.189,823,3.386,827,3.386,864,4.075,928,4.075,988,4.075,1163,4.075,1164,4.673,1165,4.673,1166,4.075,1167,4.673,1168,4.673,1169,4.673,1170,4.075]],["t/2664",[25,3.109,32,1.766,41,1.265,55,1.966,68,2.972,85,0.921,94,2.201,103,1.829,130,2.04,131,1.766,134,1.847,207,3.001,231,1.539,277,4.182,283,4.182,303,1.966,697,4.182,716,1.896,1016,1.705,1017,3.168,1171,6.285,1172,5.31,1173,5.31,1174,5.31]],["t/2666",[5,0.936,11,1.926,31,0.861,32,1.926,44,1.995,75,2.834,149,1.516,156,3.662,160,1.678,167,3.111,191,2.31,232,1.516,272,1.678,309,3.662,440,4.196,481,3.905,590,4.561,759,3.662,1175,5.791,1176,5.791,1177,5.049]],["t/2668",[5,0.789,31,0.855,35,2.756,44,1.68,70,1.873,85,0.872,86,2.498,150,0.975,185,2.756,191,1.945,196,1.945,217,3.965,232,1.277,346,3.534,381,2.756,427,4.252,521,3.841,533,4.252,658,4.227,699,3.084,735,2.387,736,2.756,778,3.534,942,5.467,1016,1.566,1057,4.252,1093,3.534,1096,3.084,1170,4.252,1178,4.877,1179,4.877,1180,4.877,1181,4.877,1182,4.877,1183,4.877,1184,3.841,1185,4.877,1186,4.877,1187,6.27,1188,4.877,1189,4.877,1190,4.877,1191,4.877,1192,3.841]],["t/2670",[4,1.444,5,0.714,25,1.272,31,0.905,32,0.981,41,0.495,43,1.325,49,1.76,50,2.444,55,1.092,64,1.576,66,1.223,71,1.585,85,0.875,103,1.016,118,2.324,132,1.325,137,1.521,150,0.59,160,0.855,161,1.866,168,1.696,186,1.667,188,2.918,190,2.572,196,2.111,203,3.035,221,1.382,222,2.161,228,1.511,229,1.866,231,1.533,232,1.156,238,2.634,243,1.76,261,1.989,265,1.444,270,1.761,272,2.039,290,1.866,294,1.585,303,1.092,381,1.667,397,1.585,425,1.989,446,1.989,486,1.866,500,3.2,504,1.989,536,2.793,556,2.634,586,2.138,597,2.572,606,2.572,665,2.793,689,2.138,716,1.053,731,2.572,735,1.444,758,2.479,789,2.572,823,2.138,829,1.585,846,1.989,1016,2.02,1029,2.262,1043,2.138,1067,2.324,1074,2.978,1085,2.138,1096,2.793,1097,4.627,1120,2.572,1122,4.615,1193,2.572,1194,2.95,1195,2.95,1196,2.572,1197,2.95,1198,2.95,1199,2.95,1200,2.95,1201,2.95,1202,2.572,1203,2.95,1204,4.416,1205,2.95,1206,4.416,1207,2.95,1208,2.95,1209,2.95,1210,2.95,1211,2.572,1212,2.95,1213,2.95,1214,2.95,1215,2.572,1216,2.95,1217,2.95,1218,2.95]],["t/2672",[31,0.859,41,1.128,43,1.394,44,1.069,47,1.574,50,2.49,54,1.754,70,1.192,76,3.151,85,0.432,130,1.192,131,1.032,134,0.76,149,1.822,157,2.555,158,2.93,159,2.469,160,1.745,168,1.192,178,1.238,213,1.149,215,3.611,221,1.454,231,2.15,232,0.813,239,1.754,270,1.238,272,0.899,294,1.667,412,2.093,626,1.59,758,2.148,829,3.739,1016,1.934,1018,2.093,1027,3.092,1029,3.8,1074,3.092,1075,2.706,1076,5.061,1101,3.322,1114,2.9,1136,2.444,1163,2.706,1193,2.706,1219,3.103,1220,4.585,1221,4.585,1222,5.453,1223,3.103,1224,2.706,1225,3.998,1226,2.706,1227,3.103,1228,3.103,1229,2.706,1230,2.706,1231,4.755,1232,3.998,1233,2.706,1234,3.103,1235,3.103,1236,3.103,1237,2.706,1238,3.103,1239,3.103,1240,3.103,1241,3.103,1242,3.103]],["t/2674",[31,0.804,49,1.698,50,1.054,70,3.191,75,1.393,85,0.598,88,2.592,103,0.981,131,0.947,132,1.279,141,2.482,151,1.53,155,1.801,159,1.99,160,0.825,168,1.651,188,2.147,203,1.228,213,1.054,228,3.173,231,1.501,232,1.511,270,1.136,272,1.246,323,2.535,325,2.482,345,3.032,381,1.609,523,1.92,640,2.063,649,2.063,699,1.801,715,2.242,734,2.063,735,1.393,749,2.482,753,1.92,778,3.115,829,1.53,846,1.92,935,1.92,1016,2.092,1018,1.92,1024,2.427,1025,2.704,1029,2.202,1043,2.063,1045,1.92,1074,2.899,1076,2.242,1091,2.482,1096,1.801,1118,2.063,1136,2.242,1202,2.482,1225,2.482,1226,3.749,1229,2.482,1230,2.482,1231,2.482,1232,2.482,1233,2.482,1237,2.482,1243,5.18,1244,2.847,1245,4.88,1246,2.847,1247,2.847,1248,2.847,1249,4.182,1250,2.482,1251,2.847,1252,2.847,1253,2.482,1254,2.847,1255,2.482,1256,2.847,1257,2.847,1258,2.847,1259,2.242,1260,2.847,1261,2.847,1262,2.847,1263,2.847,1264,2.847,1265,2.847,1266,2.847,1267,2.847,1268,4.299,1269,2.847,1270,2.847,1271,2.847]],["t/2676",[31,0.826,103,2.503,159,2.077,178,2.898,231,2.2,272,1.566,303,2.69,586,3.918,724,3.556,829,2.905,935,3.646,1016,2.333,1029,3.427,1074,4.512,1114,3.419,1272,4.714,1273,5.407]],["t/2678",[413,5.398,414,5.398,415,4.876,416,4.486,417,4.174,418,5.398,419,5.398,420,5.398,1166,5.398,1274,6.191,1275,6.191,1276,6.191]],["t/2680",[5,1.178,7,2.361,8,2.648,9,2.471,28,2.167,29,3.345,33,3.253,35,2.727,41,1.044,45,3.189,48,1.263,72,3.253,76,2.26,84,3.051,88,2.167,89,4.198,143,2.592,149,1.263,232,1.263,233,2.471,250,3.051,253,4.207,263,3.8,269,2.878,301,2.167,310,3.496,390,2.471,401,4.207,402,3.8,463,4.207,488,3.253,641,2.471,826,3.8,877,4.207,955,4.207,1020,4.207,1079,3.8,1081,3.8,1277,4.824,1278,4.824,1279,4.824,1280,4.824,1281,4.824,1282,4.824]],["t/2682",[3,1.225,4,1.503,5,0.497,18,1.573,21,1.832,25,1.325,31,0.948,41,0.515,47,1.467,48,1.938,51,1.942,55,1.137,57,2.071,58,0.953,60,2.226,66,2.484,70,1.748,71,1.65,76,1.439,77,2.878,85,0.427,103,1.058,121,2.071,126,1.832,128,1.736,134,1.327,143,1.65,149,1.569,150,0.909,161,3.428,167,1.65,168,1.18,170,1.832,171,2.226,172,1.65,187,1.942,189,1.736,191,1.815,204,2.912,207,3.063,216,1.736,224,2.071,232,1.192,267,3.297,284,2.227,290,1.942,294,1.65,301,2.435,323,1.503,395,2.692,412,2.071,468,2.572,472,2.331,488,2.071,499,1.439,555,1.942,641,1.573,698,3.22,712,1.736,716,1.935,723,2.878,724,1.503,729,2.226,734,4.343,801,2.071,838,2.678,883,2.678,920,2.678,1050,2.419,1085,2.226,1118,4.856,1133,2.678,1171,2.678,1177,2.678,1211,2.678,1283,3.072,1284,3.072,1285,4.55,1286,3.072,1287,3.072,1288,3.072,1289,3.072,1290,2.678,1291,2.678,1292,3.072,1293,2.419,1294,3.072,1295,3.072,1296,3.072,1297,4.55,1298,3.072]],["t/2684",[3,1.79,5,0.367,11,1.492,25,0.979,31,0.822,32,0.755,41,0.857,44,1.546,45,1.163,47,1.454,48,1.786,49,1.354,50,0.84,55,1.335,58,1.586,71,1.22,85,0.899,86,1.163,94,0.941,101,1.979,107,1.847,122,1.531,126,1.354,130,1.386,131,1.199,132,1.02,134,1.366,137,0.782,139,1.436,149,1.63,150,1.291,151,1.22,154,1.22,155,2.281,157,1.063,158,1.22,160,1.804,164,1.788,168,1.386,172,1.22,178,2.369,185,1.283,191,2.369,196,0.905,207,2.039,213,0.84,214,3.252,217,1.436,221,1.063,222,2.502,224,3.447,227,1.436,229,2.838,230,1.645,231,1.929,232,1.461,233,1.163,236,1.163,240,1.111,243,1.354,258,1.531,267,1.645,272,0.658,303,1.661,323,1.111,345,1.111,376,1.979,384,1.979,390,1.847,393,1.436,395,1.02,426,1.788,467,1.531,476,1.979,481,1.531,486,1.436,503,1.531,524,1.979,554,2.281,564,3.026,567,1.436,584,3.145,624,2.432,641,1.847,643,1.531,699,1.436,716,2.12,723,1.436,724,1.765,735,1.111,737,1.645,742,1.788,791,1.283,829,1.22,843,2.432,879,1.788,1016,1.907,1017,1.354,1024,2.613,1025,1.69,1027,3.026,1028,1.788,1050,1.788,1069,1.531,1103,1.788,1115,1.979,1128,3.145,1132,1.788,1184,1.788,1215,1.979,1255,1.979,1293,1.788,1299,1.979,1300,2.27,1301,3.607,1302,2.27,1303,2.27,1304,2.27,1305,2.27,1306,2.27,1307,1.979,1308,1.979,1309,1.979,1310,2.27,1311,2.27,1312,2.27,1313,2.27,1314,2.27,1315,2.27]],["t/2686",[41,1.017,55,2.245,68,3.546,85,0.844,134,1.87,232,1.588,488,4.09,716,2.561,855,4.777]],["t/2689",[41,1.099,85,0.912,127,3.704,280,5.161]],["t/2691",[13,1.472,18,1.891,30,1.729,41,0.871,44,1.272,46,1.983,47,1.685,48,2.078,75,2.543,76,2.818,85,0.723,131,1.227,134,0.904,139,3.287,147,1.983,149,0.967,150,1.039,151,1.983,157,1.729,158,2.792,168,1.418,178,2.073,191,2.744,218,1.729,226,2.489,230,2.675,232,1.361,233,1.891,236,2.662,240,1.807,265,1.807,279,2.335,301,1.658,395,2.932,481,2.489,643,2.489,707,2.792,712,2.086,716,2.147,844,3.219,952,3.219,1011,3.219,1027,4.056,1045,2.489,1069,2.489,1085,2.675,1086,4.358,1088,2.675,1103,2.907,1132,4.737,1184,2.907,1192,4.093,1259,2.907,1293,2.907,1307,3.219,1316,5.197,1317,3.692,1318,3.692,1319,5.197,1320,3.692,1321,3.692,1322,3.692,1323,3.692,1324,3.692]],["t/2693",[31,0.984,43,2.308,47,1.258,48,1.561,55,2.207,75,2.917,85,0.951,86,1.86,103,1.251,107,1.86,121,2.449,134,0.889,150,1.027,160,1.489,175,2.86,185,2.052,188,2.471,196,1.449,202,2.166,203,2.571,230,2.631,231,1.489,232,1.345,233,1.86,238,2.166,258,2.449,272,2.115,279,2.297,300,3.722,309,3.249,323,1.777,381,2.903,390,1.86,395,1.631,397,1.951,554,2.297,556,3.065,570,2.631,641,1.86,670,2.449,707,1.951,712,2.903,716,1.834,758,1.701,823,2.631,879,4.046,893,3.167,935,3.464,1023,3.167,1067,2.86,1081,2.86,1097,2.86,1119,4.046,1196,3.167,1259,2.86,1299,3.167,1308,3.167,1309,3.167,1325,3.632,1326,3.632,1327,3.632,1328,3.632,1329,3.632,1330,3.632,1331,3.632,1332,3.632]],["t/2695",[64,2.289,88,2.88,132,2.88,231,1.858,232,1.679,1016,2.059,1017,3.825]],["t/2697",[11,1.639,43,2.215,47,1.546,48,1.291,54,2.787,58,1.53,75,2.413,134,1.705,139,3.118,149,1.291,159,2.675,160,2.018,213,2.337,221,3.263,231,2.2,322,3.325,412,3.325,626,2.525,1016,2.358,1018,3.325,1024,2.958,1066,3.573,1114,3.993,1135,3.883,1333,4.299,1334,4.299,1335,4.299,1336,4.299,1337,4.299,1338,4.299]],["t/2699",[3,1.788,11,2.212,18,2.296,31,0.733,32,1.001,41,0.505,43,1.352,47,1.097,48,1.661,54,1.701,55,1.114,58,1.39,64,1.074,70,1.722,75,2.193,76,2.509,85,0.419,106,1.701,134,1.453,139,1.903,150,1.186,159,2.647,160,1.299,172,1.617,178,1.2,185,1.701,188,1.248,191,1.2,196,1.2,203,1.298,213,1.659,221,1.41,231,2.134,232,0.788,236,1.541,238,1.795,262,2.37,272,1.299,279,1.903,322,3.022,329,1.903,395,1.352,412,2.029,626,1.541,628,2.37,641,1.541,707,1.617,716,2.375,758,1.41,792,2.37,829,1.617,1016,2.212,1018,2.029,1024,3.45,1025,1.41,1027,2.029,1069,2.029,1082,2.37,1086,3.881,1088,3.248,1093,2.181,1096,1.903,1114,4.357,1140,2.37,1141,2.181,1192,4.218,1224,5.174,1290,2.624,1291,2.624,1339,2.624,1340,3.01,1341,3.908,1342,3.01,1343,3.01,1344,3.01,1345,2.624,1346,2.624,1347,2.624,1348,2.624,1349,2.624,1350,2.37,1351,2.624,1352,2.624,1353,3.01,1354,3.01]],["t/2701",[47,1.504,48,1.961,68,2.758,70,3.146,76,2.212,134,1.671,139,3.883,150,0.944,178,1.884,228,3.145,236,2.419,239,2.669,345,3.005,523,3.184,626,2.419,716,1.686,791,2.669,815,4.118,1069,4.141,1245,4.836,1249,4.944,1333,4.118,1352,4.118,1355,4.723,1356,4.723,1357,4.723,1358,4.723,1359,4.723,1360,4.118,1361,4.723,1362,4.723]],["t/2703",[70,2.446,134,1.559,1249,4.613,1335,5.552,1336,5.552,1363,6.367,1364,6.367,1365,6.367]],["t/2706",[3,1.254,11,1.7,25,0.826,31,0.631,40,0.938,41,0.321,43,1.797,52,1.388,58,1.241,64,1.123,68,0.861,70,3.235,75,0.938,85,0.267,88,1.797,91,2.121,103,0.66,129,1.388,131,0.637,132,0.861,134,0.469,137,0.66,150,0.628,157,0.897,159,1.537,160,1.342,162,1.388,168,0.736,178,1.596,188,0.794,203,0.826,213,1.164,215,1.509,221,2.169,222,1.539,228,2.049,231,1.482,233,0.981,239,1.083,249,1.509,272,1.482,283,1.509,303,1.481,345,0.938,499,0.897,562,1.388,626,2.049,628,1.509,636,1.67,712,1.083,715,4.329,716,1.123,724,0.938,735,1.539,736,2.261,737,2.279,739,4.329,753,1.292,754,1.388,759,1.212,827,1.388,828,2.899,843,1.292,846,1.292,1016,1.487,1024,2.575,1025,2.396,1040,1.509,1045,1.292,1053,1.083,1066,1.388,1079,1.509,1101,1.388,1119,1.509,1135,1.509,1140,2.477,1141,2.899,1245,3.151,1249,4.897,1250,2.742,1253,1.67,1334,2.742,1337,1.67,1338,1.67,1339,1.67,1341,2.742,1345,1.67,1346,3.488,1347,1.67,1348,1.67,1349,1.67,1350,2.477,1351,1.67,1360,2.742,1366,3.145,1367,5.496,1368,5.114,1369,1.916,1370,1.916,1371,1.916,1372,1.916,1373,3.145,1374,3.145,1375,1.916,1376,3.145,1377,1.916,1378,1.916,1379,1.916,1380,1.916,1381,1.916,1382,3.145,1383,1.916,1384,1.916,1385,1.916,1386,3.145,1387,3.145,1388,1.916,1389,1.916,1390,3.145,1391,1.916,1392,1.916,1393,1.916,1394,1.916,1395,1.916,1396,1.916,1397,1.916,1398,3.145,1399,3.145,1400,3.145,1401,3.145,1402,3.145,1403,1.916,1404,1.916]],["t/2708",[3,2.957,11,1.388,31,0.792,58,2.3,103,1.948,159,2.173,160,1.209,178,2.256,188,1.73,203,1.8,213,2.094,221,2.65,231,1.639,272,1.859,303,2.855,586,3.024,712,2.358,724,3.71,828,5.371,1016,2.06,1024,3.552,1025,3.473,1053,2.358,1114,3.577,1141,3.024,1272,3.639,1350,3.287,1405,4.173,1406,5.656]]],"invertedIndex":[["",{"_index":70,"t":{"2546":{"position":[[744,1]]},"2568":{"position":[[12,1]]},"2594":{"position":[[493,1],[524,1],[590,1],[623,1]]},"2599":{"position":[[356,1],[437,1],[1550,1],[2140,1],[2441,1],[2830,1],[3155,1]]},"2601":{"position":[[183,1],[187,1],[675,1],[704,1],[733,1],[744,1],[766,1],[788,1],[810,1],[812,1],[814,1]]},"2603":{"position":[[176,1]]},"2617":{"position":[[70,1],[263,1],[589,1],[732,1],[967,1],[1019,1],[1091,1],[1693,1],[1768,1],[1902,1],[2106,3],[2159,3],[2284,1],[2473,3],[2553,3],[2613,1],[3030,1],[3353,1],[3438,1],[3483,1],[3588,1],[3656,1],[3728,1],[3757,1],[3832,1],[4159,1],[4315,1],[4376,1],[4509,1],[4785,1],[5040,1],[5283,1],[5419,1],[5947,1],[6057,1],[6423,1],[7532,1]]},"2624":{"position":[[93,2],[119,2],[391,1],[488,1],[535,1]]},"2646":{"position":[[769,2]]},"2668":{"position":[[209,1]]},"2672":{"position":[[1613,1]]},"2674":{"position":[[0,2],[43,2],[83,2],[129,2],[190,2],[249,2],[287,2],[312,2],[403,1],[491,1],[502,2],[516,2],[576,2],[632,1],[659,1],[688,1],[699,1],[703,2],[741,2],[772,2],[828,2],[881,2],[929,2],[1013,1],[1072,2],[1110,2],[1173,2],[1224,2],[1262,2],[1282,2],[1355,2],[1424,2],[1452,1],[1454,2],[1503,2],[1562,2],[1586,1]]},"2682":{"position":[[1165,2],[1186,2]]},"2699":{"position":[[318,1],[467,1]]},"2701":{"position":[[0,2],[44,2],[94,1],[135,2],[182,2],[260,2],[283,2],[326,1],[371,2],[442,1],[477,2],[574,2]]},"2703":{"position":[[25,1]]},"2706":{"position":[[80,36],[154,36],[277,1],[279,2],[282,1],[291,1],[403,1],[407,1],[409,1],[411,26],[438,2],[465,27],[493,2],[550,2],[629,1],[653,2],[674,2],[699,1],[703,2],[772,1],[827,2],[892,1],[917,2],[942,1],[946,2],[999,2],[1054,2],[1104,2],[1153,2],[1212,2],[1238,1],[1331,1],[1342,2],[1363,2],[1419,2],[1473,2],[1506,1],[1645,1],[1656,2],[1695,2],[1742,2],[1785,1],[1822,1],[1860,1],[1899,1],[1927,1],[1951,2],[1956,2],[2010,2],[2061,2],[2112,1],[2232,1],[2269,2],[2327,2],[2356,2],[2408,2],[2446,2],[2466,2],[2519,2],[2576,2],[2615,1],[2641,1],[2683,1],[2762,1],[2787,2],[2803,2],[2821,2],[2844,2],[2872,2],[2875,2],[2925,2],[2956,2],[2966,2],[3004,1],[3103,1],[3105,2],[3161,2],[3215,2],[3266,2],[3297,1],[3366,1],[3392,2],[3415,2],[3465,2],[3495,2]]}}}],["0",{"_index":1025,"t":{"2624":{"position":[[208,1]]},"2628":{"position":[[606,1],[718,2]]},"2636":{"position":[[175,1],[260,1],[292,2]]},"2642":{"position":[[1210,1]]},"2644":{"position":[[262,1],[530,1]]},"2646":{"position":[[810,2]]},"2654":{"position":[[118,1]]},"2674":{"position":[[690,2],[701,1],[759,1],[1165,1]]},"2684":{"position":[[1611,1],[2109,1]]},"2699":{"position":[[1067,2]]},"2706":{"position":[[701,1],[1954,1],[2438,2],[3133,3],[3317,2]]},"2708":{"position":[[87,1],[146,1],[209,1],[283,1],[353,1],[429,1]]}}}],["0.01",{"_index":520,"t":{"2574":{"position":[[1219,4]]}}}],["0.x",{"_index":315,"t":{"2560":{"position":[[13,3],[288,4]]}}}],["1",{"_index":735,"t":{"2599":{"position":[[2097,1],[2218,2],[2454,2],[2867,1],[2908,2]]},"2617":{"position":[[2893,2],[7607,2]]},"2628":{"position":[[594,1]]},"2636":{"position":[[347,2]]},"2642":{"position":[[577,1],[863,1]]},"2644":{"position":[[186,2],[425,2],[501,1],[514,2],[791,4],[918,2],[976,2],[1004,1],[1017,2],[1328,1],[1341,2],[1409,1],[1422,2],[1449,1]]},"2668":{"position":[[287,1]]},"2670":{"position":[[674,1]]},"2674":{"position":[[661,1]]},"2684":{"position":[[2155,2]]},"2706":{"position":[[405,1],[944,1]]}}}],["1.0",{"_index":351,"t":{"2564":{"position":[[56,3]]},"2568":{"position":[[68,3],[445,3]]},"2572":{"position":[[796,3]]},"2576":{"position":[[664,4]]},"2586":{"position":[[376,4]]},"2594":{"position":[[95,3]]}}}],["1.x",{"_index":317,"t":{"2560":{"position":[[44,3],[237,4]]}}}],["10",{"_index":1120,"t":{"2644":{"position":[[411,2],[471,2],[992,3],[1033,3],[1316,3],[1357,3]]},"2670":{"position":[[1194,2]]}}}],["100k",{"_index":902,"t":{"2617":{"position":[[2674,4]]}}}],["10k",{"_index":897,"t":{"2617":{"position":[[2515,3]]}}}],["11",{"_index":1124,"t":{"2644":{"position":[[671,2]]}}}],["12",{"_index":980,"t":{"2617":{"position":[[5764,2]]}}}],["15",{"_index":755,"t":{"2601":{"position":[[189,2]]},"2617":{"position":[[4022,4]]}}}],["16",{"_index":1244,"t":{"2674":{"position":[[32,2]]}}}],["1m",{"_index":903,"t":{"2617":{"position":[[2751,2]]}}}],["2",{"_index":736,"t":{"2599":{"position":[[2177,1],[2574,1],[2724,2],[3153,1]]},"2601":{"position":[[216,1]]},"2617":{"position":[[3992,2],[7677,2]]},"2644":{"position":[[395,2],[485,2],[954,1],[1045,1],[1300,2],[1369,1],[1382,2]]},"2646":{"position":[[766,2]]},"2662":{"position":[[120,3]]},"2668":{"position":[[207,1]]},"2706":{"position":[[1862,2],[1901,2],[2444,1]]}}}],["20",{"_index":1121,"t":{"2644":{"position":[[441,2]]}}}],["2019",{"_index":407,"t":{"2572":{"position":[[112,4]]}}}],["2020",{"_index":409,"t":{"2572":{"position":[[127,4],[288,5],[816,4]]},"2620":{"position":[[548,5],[631,5]]}}}],["2021",{"_index":453,"t":{"2572":{"position":[[1185,4]]},"2617":{"position":[[2060,5],[2449,5]]}}}],["2022",{"_index":115,"t":{"2548":{"position":[[48,5]]}}}],["2023",{"_index":326,"t":{"2560":{"position":[[175,5]]},"2617":{"position":[[2120,5],[2477,5]]}}}],["2024",{"_index":853,"t":{"2617":{"position":[[55,4],[2167,5],[2557,4],[2788,4],[5744,4],[7775,4]]}}}],["2025",{"_index":888,"t":{"2617":{"position":[[2223,5]]}}}],["2026",{"_index":901,"t":{"2617":{"position":[[2636,5]]}}}],["2028",{"_index":889,"t":{"2617":{"position":[[2302,5],[2713,5]]}}}],["2030",{"_index":894,"t":{"2617":{"position":[[2376,5]]}}}],["21888242871839275222246405745257275088548364400416034343698204186575808495617",{"_index":1036,"t":{"2624":{"position":[[393,78]]}}}],["24/7/365",{"_index":954,"t":{"2617":{"position":[[4430,9]]}}}],["25",{"_index":1203,"t":{"2670":{"position":[[682,2]]}}}],["253",{"_index":1088,"t":{"2638":{"position":[[30,3],[76,3],[130,3]]},"2642":{"position":[[392,3],[515,3],[631,3],[748,3]]},"2691":{"position":[[470,3]]},"2699":{"position":[[314,3],[463,3]]}}}],["254",{"_index":1322,"t":{"2691":{"position":[[496,3]]}}}],["256",{"_index":1318,"t":{"2691":{"position":[[364,3]]}}}],["3",{"_index":786,"t":{"2603":{"position":[[153,1]]},"2617":{"position":[[5291,2],[7742,2]]},"2644":{"position":[[455,2],[763,2]]}}}],["3.16",{"_index":1205,"t":{"2670":{"position":[[737,4]]}}}],["30",{"_index":976,"t":{"2617":{"position":[[5325,4]]}}}],["32",{"_index":1093,"t":{"2638":{"position":[[248,2],[320,2],[496,2]]},"2642":{"position":[[1035,2],[1170,2]]},"2668":{"position":[[211,2]]},"2699":{"position":[[649,2]]}}}],["4",{"_index":784,"t":{"2603":{"position":[[53,1]]},"2617":{"position":[[2846,1]]}}}],["5",{"_index":1043,"t":{"2626":{"position":[[29,2]]},"2644":{"position":[[333,1],[1398,2],[1438,2]]},"2670":{"position":[[744,1]]},"2674":{"position":[[120,1]]}}}],["50",{"_index":909,"t":{"2617":{"position":[[2928,4]]}}}],["5503045433092194285660061905880311622788666850989422096966288514930349325741",{"_index":1041,"t":{"2624":{"position":[[576,76]]}}}],["5^2",{"_index":275,"t":{"2554":{"position":[[895,6]]}}}],["6",{"_index":508,"t":{"2574":{"position":[[972,1]]}}}],["64",{"_index":1204,"t":{"2670":{"position":[[687,2],[818,3]]}}}],["7",{"_index":325,"t":{"2560":{"position":[[172,2]]},"2674":{"position":[[99,1]]}}}],["8",{"_index":1206,"t":{"2670":{"position":[[748,1],[871,2]]}}}],["856",{"_index":921,"t":{"2617":{"position":[[3375,6]]}}}],["9",{"_index":1202,"t":{"2670":{"position":[[678,1]]},"2674":{"position":[[73,1]]}}}],["99",{"_index":1200,"t":{"2670":{"position":[[565,2]]}}}],["_ecdhpubkey",{"_index":1062,"t":{"2632":{"position":[[93,13]]}}}],["_finalsaltedresult",{"_index":1072,"t":{"2634":{"position":[[100,20],[223,21],[615,19]]}}}],["_initialvoicecreditproxydata",{"_index":1051,"t":{"2628":{"position":[[313,28]]}}}],["_intermediatestateroot",{"_index":1070,"t":{"2634":{"position":[[28,23]]}}}],["_newresultscommit",{"_index":1071,"t":{"2634":{"position":[[60,22]]}}}],["_newstateroot",{"_index":1059,"t":{"2632":{"position":[[28,14]]}}}],["_proof",{"_index":1064,"t":{"2632":{"position":[[125,6],[206,8]]},"2634":{"position":[[139,6]]}}}],["_signupgatekeeperdata",{"_index":1048,"t":{"2628":{"position":[[113,21]]}}}],["_statetreeroot",{"_index":1060,"t":{"2632":{"position":[[60,16]]}}}],["abil",{"_index":561,"t":{"2576":{"position":[[304,7]]}}}],["abov",{"_index":759,"t":{"2601":{"position":[[428,5]]},"2605":{"position":[[270,5]]},"2607":{"position":[[204,6]]},"2644":{"position":[[1458,5]]},"2666":{"position":[[183,5]]},"2706":{"position":[[72,7]]}}}],["accept",{"_index":297,"t":{"2556":{"position":[[510,6]]},"2632":{"position":[[146,7]]}}}],["access",{"_index":855,"t":{"2617":{"position":[[166,10]]},"2634":{"position":[[785,6]]},"2686":{"position":[[155,6]]}}}],["accord",{"_index":1068,"t":{"2632":{"position":[[466,9]]}}}],["accordingli",{"_index":476,"t":{"2574":{"position":[[301,12]]},"2684":{"position":[[1559,11]]}}}],["account",{"_index":527,"t":{"2574":{"position":[[1320,8],[1466,8]]},"2609":{"position":[[253,7]]}}}],["accqueu",{"_index":148,"t":{"2548":{"position":[[555,8]]}}}],["accumul",{"_index":1073,"t":{"2634":{"position":[[316,11]]}}}],["achiev",{"_index":26,"t":{"2544":{"position":[[321,8]]},"2570":{"position":[[1365,8]]},"2576":{"position":[[1210,8]]},"2617":{"position":[[2808,7]]}}}],["act",{"_index":710,"t":{"2599":{"position":[[142,4]]}}}],["action",{"_index":622,"t":{"2582":{"position":[[266,7]]}}}],["activ",{"_index":861,"t":{"2617":{"position":[[373,6],[4179,8],[4287,6]]}}}],["actual",{"_index":237,"t":{"2552":{"position":[[952,6]]},"2590":{"position":[[1057,8]]},"2592":{"position":[[1043,8]]},"2599":{"position":[[291,6]]}}}],["ad",{"_index":741,"t":{"2599":{"position":[[3176,5]]},"2634":{"position":[[476,6]]}}}],["add",{"_index":699,"t":{"2597":{"position":[[454,3]]},"2617":{"position":[[3451,3]]},"2628":{"position":[[539,4]]},"2668":{"position":[[241,3]]},"2674":{"position":[[1181,4]]},"2684":{"position":[[457,4]]}}}],["addit",{"_index":568,"t":{"2576":{"position":[[557,10],[965,10]]},"2617":{"position":[[2195,10],[3730,10]]}}}],["addition",{"_index":1085,"t":{"2636":{"position":[[483,13]]},"2670":{"position":[[1110,13]]},"2682":{"position":[[115,13]]},"2691":{"position":[[506,13]]}}}],["address",{"_index":216,"t":{"2552":{"position":[[427,7]]},"2556":{"position":[[639,10]]},"2568":{"position":[[685,10]]},"2576":{"position":[[460,9]]},"2599":{"position":[[201,8]]},"2605":{"position":[[588,7]]},"2628":{"position":[[89,8]]},"2682":{"position":[[607,7]]}}}],["admin",{"_index":282,"t":{"2556":{"position":[[95,5]]}}}],["admin'",{"_index":285,"t":{"2556":{"position":[[154,7]]}}}],["adopt",{"_index":93,"t":{"2546":{"position":[[1188,7]]},"2572":{"position":[[254,8]]},"2574":{"position":[[1624,8]]},"2576":{"position":[[789,7],[1665,8]]},"2584":{"position":[[295,8]]},"2617":{"position":[[819,8],[4084,8],[5656,8],[6728,5],[6853,8]]}}}],["advanc",{"_index":451,"t":{"2572":{"position":[[1118,9]]}}}],["adversari",{"_index":1143,"t":{"2654":{"position":[[5,9],[154,9]]}}}],["adversary'",{"_index":1144,"t":{"2654":{"position":[[129,11]]}}}],["affect",{"_index":138,"t":{"2548":{"position":[[364,6]]}}}],["against",{"_index":195,"t":{"2550":{"position":[[156,7]]},"2601":{"position":[[407,7]]}}}],["agil",{"_index":959,"t":{"2617":{"position":[[4663,5]]}}}],["aim",{"_index":851,"t":{"2617":{"position":[[35,4],[1917,4]]}}}],["algorithm",{"_index":1323,"t":{"2691":{"position":[[542,9]]}}}],["alic",{"_index":1118,"t":{"2644":{"position":[[317,5]]},"2646":{"position":[[28,6],[218,5]]},"2674":{"position":[[3,5]]},"2682":{"position":[[25,6],[632,5],[1077,5],[1273,5],[1334,5],[1391,5]]}}}],["alice'",{"_index":1131,"t":{"2646":{"position":[[360,7]]}}}],["align",{"_index":487,"t":{"2574":{"position":[[544,5]]}}}],["alleg",{"_index":505,"t":{"2574":{"position":[[920,7]]}}}],["alloc",{"_index":261,"t":{"2554":{"position":[[419,9]]},"2572":{"position":[[394,8]]},"2617":{"position":[[751,8],[4843,8],[5957,10]]},"2636":{"position":[[545,8]]},"2670":{"position":[[300,9]]}}}],["allow",{"_index":137,"t":{"2548":{"position":[[347,7]]},"2552":{"position":[[190,5]]},"2558":{"position":[[222,6]]},"2576":{"position":[[60,5],[197,6],[453,6]]},"2580":{"position":[[81,6]]},"2584":{"position":[[150,5]]},"2590":{"position":[[99,6]]},"2592":{"position":[[85,6]]},"2599":{"position":[[1801,6]]},"2601":{"position":[[23,5]]},"2605":{"position":[[483,6],[796,6]]},"2617":{"position":[[4708,5]]},"2620":{"position":[[51,6]]},"2628":{"position":[[199,5],[846,5]]},"2634":{"position":[[151,6]]},"2658":{"position":[[387,6],[630,7]]},"2662":{"position":[[20,7],[507,8]]},"2670":{"position":[[198,6],[1516,6]]},"2684":{"position":[[1975,5]]},"2706":{"position":[[590,7]]}}}],["along",{"_index":1047,"t":{"2628":{"position":[[98,5]]}}}],["alreadi",{"_index":843,"t":{"2613":{"position":[[167,7]]},"2632":{"position":[[767,7]]},"2658":{"position":[[117,7]]},"2684":{"position":[[1002,7],[1915,7]]},"2706":{"position":[[19,7]]}}}],["altern",{"_index":1302,"t":{"2684":{"position":[[338,14]]}}}],["although",{"_index":84,"t":{"2546":{"position":[[990,8]]},"2570":{"position":[[945,8]]},"2594":{"position":[[1370,8]]},"2599":{"position":[[3681,8]]},"2632":{"position":[[791,8]]},"2680":{"position":[[321,8]]}}}],["ambigu",{"_index":1327,"t":{"2693":{"position":[[142,12]]}}}],["amongst",{"_index":802,"t":{"2605":{"position":[[458,7]]}}}],["amount",{"_index":243,"t":{"2552":{"position":[[1098,6]]},"2599":{"position":[[412,7]]},"2613":{"position":[[298,6]]},"2636":{"position":[[564,7]]},"2662":{"position":[[183,6]]},"2670":{"position":[[125,6]]},"2684":{"position":[[605,6]]}}}],["analysi",{"_index":987,"t":{"2617":{"position":[[5932,8]]}}}],["and/or",{"_index":1273,"t":{"2676":{"position":[[39,6]]}}}],["announc",{"_index":1,"t":{"2544":{"position":[[18,8]]},"2594":{"position":[[76,13]]}}}],["anonym",{"_index":621,"t":{"2582":{"position":[[67,9]]}}}],["anoth",{"_index":86,"t":{"2546":{"position":[[1015,7]]},"2548":{"position":[[486,7]]},"2570":{"position":[[970,7]]},"2574":{"position":[[634,7]]},"2594":{"position":[[1395,7]]},"2605":{"position":[[599,7]]},"2644":{"position":[[861,7]]},"2668":{"position":[[0,7]]},"2684":{"position":[[1937,7]]},"2693":{"position":[[52,7]]}}}],["answer",{"_index":750,"t":{"2601":{"position":[[57,6],[129,6],[337,7],[538,7]]}}}],["anti",{"_index":7,"t":{"2544":{"position":[[79,4]]},"2564":{"position":[[86,4]]},"2568":{"position":[[83,4]]},"2572":{"position":[[972,4]]},"2590":{"position":[[45,4]]},"2592":{"position":[[31,4]]},"2594":{"position":[[280,4]]},"2617":{"position":[[1043,4]]},"2620":{"position":[[517,4],[600,4]]},"2662":{"position":[[615,4]]},"2680":{"position":[[55,4]]}}}],["anyon",{"_index":757,"t":{"2601":{"position":[[345,6]]},"2611":{"position":[[781,6]]},"2630":{"position":[[177,6]]},"2632":{"position":[[800,6]]},"2634":{"position":[[812,6],[918,6]]}}}],["anyway",{"_index":1080,"t":{"2634":{"position":[[952,7]]},"2652":{"position":[[244,7]]}}}],["api",{"_index":629,"t":{"2584":{"position":[[256,4]]}}}],["app",{"_index":937,"t":{"2617":{"position":[[3818,3]]}}}],["appear",{"_index":518,"t":{"2574":{"position":[[1201,8]]}}}],["appli",{"_index":818,"t":{"2609":{"position":[[172,7]]},"2644":{"position":[[805,7]]}}}],["applic",{"_index":27,"t":{"2546":{"position":[[11,11],[1330,12]]},"2554":{"position":[[71,13]]},"2558":{"position":[[33,11],[177,12]]},"2568":{"position":[[173,13]]},"2570":{"position":[[119,13],[221,12],[263,12],[304,12]]},"2572":{"position":[[538,12]]},"2576":{"position":[[397,11],[1487,12]]},"2578":{"position":[[205,12]]},"2586":{"position":[[133,12]]},"2590":{"position":[[82,11]]},"2592":{"position":[[68,11]]},"2617":{"position":[[1158,12],[1721,13],[1889,12],[2014,12],[2271,12]]}}}],["appliedzkp/macirepositori",{"_index":366,"t":{"2568":{"position":[[389,25]]}}}],["approach",{"_index":234,"t":{"2552":{"position":[[876,9]]}}}],["approv",{"_index":613,"t":{"2580":{"position":[[141,8]]}}}],["approxim",{"_index":589,"t":{"2576":{"position":[[1309,11]]},"2594":{"position":[[535,11]]}}}],["area",{"_index":949,"t":{"2617":{"position":[[4263,5],[6405,5]]}}}],["argu",{"_index":484,"t":{"2574":{"position":[[476,6]]}}}],["around",{"_index":39,"t":{"2546":{"position":[[194,6]]},"2617":{"position":[[5892,6]]}}}],["articl",{"_index":111,"t":{"2546":{"position":[[1499,8]]},"2594":{"position":[[437,8],[643,7],[785,9]]}}}],["assert",{"_index":1268,"t":{"2674":{"position":[[1366,7],[1517,7]]}}}],["assert(computedvoteoptiontreeroot",{"_index":1262,"t":{"2674":{"position":[[1038,33]]}}}],["assert(decryptedcommand",{"_index":1362,"t":{"2701":{"position":[[550,23]]}}}],["assert(derivedcoordinatorpubkey",{"_index":1357,"t":{"2701":{"position":[[228,31]]}}}],["assert(generatedmsgtreeroot",{"_index":1365,"t":{"2703":{"position":[[95,28]]}}}],["assert(i",{"_index":1383,"t":{"2706":{"position":[[1647,8]]}}}],["assert(intermediatestateroot",{"_index":1247,"t":{"2674":{"position":[[258,28]]}}}],["assert(newstateleaf.voteoptionroot",{"_index":1393,"t":{"2706":{"position":[[2234,34]]}}}],["assert(noop",{"_index":1400,"t":{"2706":{"position":[[2944,11],[3483,11]]}}}],["assert(updatedstateroot",{"_index":1404,"t":{"2706":{"position":[[3368,23]]}}}],["assert(x",{"_index":1253,"t":{"2674":{"position":[[493,8]]},"2706":{"position":[[1333,8]]}}}],["assess",{"_index":859,"t":{"2617":{"position":[[256,6]]}}}],["assign",{"_index":1330,"t":{"2693":{"position":[[724,7]]}}}],["assist",{"_index":638,"t":{"2586":{"position":[[93,6]]}}}],["associ",{"_index":1082,"t":{"2636":{"position":[[376,10]]},"2642":{"position":[[152,10],[446,10]]},"2699":{"position":[[1279,10]]}}}],["assum",{"_index":262,"t":{"2554":{"position":[[544,7]]},"2658":{"position":[[0,8]]},"2699":{"position":[[1552,6]]}}}],["asymmetr",{"_index":394,"t":{"2570":{"position":[[1338,10]]}}}],["attack",{"_index":167,"t":{"2548":{"position":[[825,6]]},"2574":{"position":[[605,8],[1089,6],[1736,7],[1822,7]]},"2599":{"position":[[1652,6]]},"2642":{"position":[[1189,8]]},"2658":{"position":[[734,6]]},"2660":{"position":[[38,6]]},"2662":{"position":[[429,6]]},"2666":{"position":[[165,7]]},"2682":{"position":[[260,6]]}}}],["attest",{"_index":1154,"t":{"2658":{"position":[[559,9],[668,11]]}}}],["attract",{"_index":528,"t":{"2574":{"position":[[1332,7]]}}}],["audit",{"_index":112,"t":{"2548":{"position":[[9,7],[58,5],[200,5]]},"2564":{"position":[[152,5]]},"2568":{"position":[[453,7],[522,5]]}}}],["auditor",{"_index":374,"t":{"2568":{"position":[[616,8]]},"2572":{"position":[[1345,8]]}}}],["auryn",{"_index":423,"t":{"2572":{"position":[[300,5]]}}}],["author",{"_index":513,"t":{"2574":{"position":[[1129,6]]}}}],["autom",{"_index":1002,"t":{"2617":{"position":[[6586,8]]}}}],["autonom",{"_index":539,"t":{"2574":{"position":[[1647,10]]}}}],["avail",{"_index":952,"t":{"2617":{"position":[[4413,9],[4873,9]]},"2691":{"position":[[157,9]]}}}],["b",{"_index":665,"t":{"2590":{"position":[[997,2]]},"2592":{"position":[[983,2]]},"2599":{"position":[[2791,2],[2850,1],[3050,1]]},"2609":{"position":[[546,2],[601,2]]},"2644":{"position":[[414,3],[621,3],[681,3],[770,3],[1006,3],[1112,4],[1123,3],[1330,3],[1521,4]]},"2670":{"position":[[680,1],[742,1]]}}}],["backend",{"_index":288,"t":{"2556":{"position":[[233,7],[311,7],[492,7]]}}}],["balanc",{"_index":809,"t":{"2605":{"position":[[1101,7]]}}}],["bandwidth",{"_index":910,"t":{"2617":{"position":[[2949,9],[4043,9],[4857,9],[5346,9]]}}}],["barri",{"_index":1166,"t":{"2662":{"position":[[453,7]]},"2678":{"position":[[0,5]]}}}],["base",{"_index":426,"t":{"2572":{"position":[[422,5]]},"2617":{"position":[[1152,5]]},"2684":{"position":[[2596,5]]}}}],["basic",{"_index":678,"t":{"2594":{"position":[[355,5]]}}}],["batch",{"_index":829,"t":{"2609":{"position":[[1308,5]]},"2632":{"position":[[156,5],[505,5]]},"2634":{"position":[[261,7],[291,5],[508,5],[670,6]]},"2670":{"position":[[1567,8]]},"2672":{"position":[[650,7],[791,5],[981,5],[1121,5],[1185,5],[1304,5],[1425,6]]},"2674":{"position":[[1216,7]]},"2676":{"position":[[243,5]]},"2684":{"position":[[1392,5]]},"2699":{"position":[[1576,8]]}}}],["be",{"_index":173,"t":{"2548":{"position":[[919,5]]},"2644":{"position":[[43,5]]}}}],["becom",{"_index":492,"t":{"2574":{"position":[[713,7]]},"2613":{"position":[[305,7]]}}}],["befor",{"_index":21,"t":{"2544":{"position":[[219,6]]},"2548":{"position":[[912,6]]},"2576":{"position":[[749,7]]},"2597":{"position":[[591,6]]},"2599":{"position":[[0,6],[1968,6]]},"2644":{"position":[[219,6],[848,7]]},"2682":{"position":[[1609,6]]}}}],["behavior",{"_index":256,"t":{"2554":{"position":[[308,9]]}}}],["behaviour",{"_index":489,"t":{"2574":{"position":[[564,9]]}}}],["behind",{"_index":483,"t":{"2574":{"position":[[444,6]]},"2594":{"position":[[366,6]]}}}],["believ",{"_index":911,"t":{"2617":{"position":[[2962,7]]}}}],["below",{"_index":51,"t":{"2546":{"position":[[357,5]]},"2597":{"position":[[1123,6]]},"2599":{"position":[[740,6]]},"2603":{"position":[[985,6]]},"2642":{"position":[[1353,6]]},"2682":{"position":[[534,7]]}}}],["beneficiari",{"_index":517,"t":{"2574":{"position":[[1189,11]]}}}],["benefit",{"_index":310,"t":{"2558":{"position":[[124,7]]},"2570":{"position":[[321,7]]},"2576":{"position":[[1743,7]]},"2680":{"position":[[292,8]]}}}],["besid",{"_index":65,"t":{"2546":{"position":[[592,8]]},"2570":{"position":[[543,7]]},"2594":{"position":[[973,8]]}}}],["bespok",{"_index":632,"t":{"2584":{"position":[[337,7]]}}}],["better",{"_index":360,"t":{"2568":{"position":[[298,6]]},"2617":{"position":[[5980,6]]}}}],["between",{"_index":258,"t":{"2554":{"position":[[366,7],[484,7]]},"2620":{"position":[[311,7]]},"2624":{"position":[[172,7]]},"2684":{"position":[[2175,7]]},"2693":{"position":[[345,7]]}}}],["bia",{"_index":1324,"t":{"2691":{"position":[[570,5]]}}}],["bit",{"_index":1086,"t":{"2638":{"position":[[5,4],[476,4]]},"2642":{"position":[[189,4],[579,4],[865,4]]},"2691":{"position":[[368,4],[474,4],[500,5]]},"2699":{"position":[[343,4],[492,4],[652,5]]}}}],["block",{"_index":1058,"t":{"2630":{"position":[[39,5]]}}}],["blockchain",{"_index":393,"t":{"2570":{"position":[[1299,11]]},"2590":{"position":[[478,10]]},"2592":{"position":[[464,10]]},"2597":{"position":[[124,10],[624,11]]},"2601":{"position":[[885,10],[1135,10]]},"2684":{"position":[[104,10]]}}}],["blog",{"_index":849,"t":{"2615":{"position":[[20,5]]}}}],["board",{"_index":942,"t":{"2617":{"position":[[3955,5]]},"2668":{"position":[[70,5],[262,6]]}}}],["bob",{"_index":734,"t":{"2599":{"position":[[2068,3],[2099,3],[2179,3],[2248,3],[2591,3],[2768,3],[2794,3],[2869,3],[2975,3]]},"2644":{"position":[[895,3],[925,3],[1047,3]]},"2674":{"position":[[46,3]]},"2682":{"position":[[32,4],[1051,4],[1308,3],[1434,4]]}}}],["bob’",{"_index":738,"t":{"2599":{"position":[[2422,5],[2509,5],[3077,5],[3157,5]]}}}],["born",{"_index":583,"t":{"2576":{"position":[[1078,5]]}}}],["both",{"_index":226,"t":{"2552":{"position":[[727,4]]},"2599":{"position":[[1555,5]]},"2624":{"position":[[96,4]]},"2640":{"position":[[57,5]]},"2691":{"position":[[852,4]]}}}],["bounti",{"_index":972,"t":{"2617":{"position":[[5195,9]]}}}],["box",{"_index":885,"t":{"2617":{"position":[[1829,3]]}}}],["branch",{"_index":365,"t":{"2568":{"position":[[375,6]]},"2580":{"position":[[227,7]]}}}],["bribari",{"_index":1168,"t":{"2662":{"position":[[520,8]]}}}],["bribe",{"_index":207,"t":{"2552":{"position":[[216,5]]},"2590":{"position":[[270,5],[439,8],[607,5]]},"2592":{"position":[[256,5],[425,8],[593,5]]},"2599":{"position":[[3398,6]]},"2644":{"position":[[888,6]]},"2664":{"position":[[413,5]]},"2682":{"position":[[287,6],[1005,5],[1070,6]]},"2684":{"position":[[936,7],[1983,6]]}}}],["bribee'",{"_index":1295,"t":{"2682":{"position":[[1033,8]]}}}],["briber",{"_index":468,"t":{"2574":{"position":[[208,6]]},"2590":{"position":[[546,6],[810,7],[918,6],[1084,6]]},"2592":{"position":[[532,6],[796,7],[904,6],[1070,6]]},"2597":{"position":[[845,7]]},"2599":{"position":[[1689,6],[1740,6],[1885,8],[1898,7],[2008,8],[2744,6],[2989,6],[3294,6]]},"2642":{"position":[[1260,6]]},"2658":{"position":[[71,6],[230,6],[638,6]]},"2682":{"position":[[391,7],[971,6]]}}}],["briberi",{"_index":61,"t":{"2546":{"position":[[549,8]]},"2570":{"position":[[494,8]]},"2574":{"position":[[622,8],[1728,7]]},"2590":{"position":[[336,7]]},"2592":{"position":[[322,7]]},"2594":{"position":[[928,7]]},"2599":{"position":[[1644,7]]},"2617":{"position":[[1414,8]]},"2662":{"position":[[574,8]]}}}],["bring",{"_index":12,"t":{"2544":{"position":[[134,6]]},"2572":{"position":[[1216,5]]}}}],["broader",{"_index":990,"t":{"2617":{"position":[[6032,7]]}}}],["broadli",{"_index":477,"t":{"2574":{"position":[[319,8]]}}}],["broken",{"_index":782,"t":{"2603":{"position":[[36,6]]}}}],["bug",{"_index":332,"t":{"2562":{"position":[[61,4]]},"2572":{"position":[[1361,5]]}}}],["build",{"_index":379,"t":{"2570":{"position":[[93,5],[257,5]]},"2578":{"position":[[199,5]]},"2617":{"position":[[548,8],[1542,5],[1647,5],[1978,8],[2483,5],[2642,5],[2719,5],[3032,5],[3812,5],[5362,8],[5817,5]]}}}],["built",{"_index":826,"t":{"2609":{"position":[[1118,5]]},"2656":{"position":[[32,5]]},"2680":{"position":[[167,5]]}}}],["bulletin",{"_index":1182,"t":{"2668":{"position":[[61,8]]}}}],["bundl",{"_index":713,"t":{"2599":{"position":[[333,6]]}}}],["burn",{"_index":1188,"t":{"2668":{"position":[[282,4]]}}}],["buterin",{"_index":402,"t":{"2572":{"position":[[48,8]]},"2574":{"position":[[410,7]]},"2680":{"position":[[124,7]]}}}],["buy",{"_index":1287,"t":{"2682":{"position":[[253,6]]}}}],["c",{"_index":1122,"t":{"2644":{"position":[[444,3],[602,3],[1371,3]]},"2670":{"position":[[685,1],[746,1],[816,1]]}}}],["calcul",{"_index":141,"t":{"2548":{"position":[[397,11],[474,11]]},"2674":{"position":[[1113,9]]}}}],["call",{"_index":218,"t":{"2552":{"position":[[506,7],[686,4]]},"2586":{"position":[[387,5]]},"2599":{"position":[[452,6]]},"2605":{"position":[[125,7],[676,5],[715,4],[962,5],[1001,4]]},"2607":{"position":[[100,4]]},"2609":{"position":[[859,5]]},"2611":{"position":[[285,4]]},"2617":{"position":[[6383,7]]},"2620":{"position":[[380,6]]},"2630":{"position":[[202,4]]},"2632":{"position":[[811,4]]},"2691":{"position":[[946,4]]}}}],["calldata",{"_index":471,"t":{"2574":{"position":[[238,9]]}}}],["candid",{"_index":501,"t":{"2574":{"position":[[871,10]]}}}],["can’t",{"_index":704,"t":{"2597":{"position":[[562,5]]}}}],["capabl",{"_index":691,"t":{"2594":{"position":[[707,7]]}}}],["capac",{"_index":569,"t":{"2576":{"position":[[607,8]]}}}],["capit",{"_index":988,"t":{"2617":{"position":[[5949,7]]},"2662":{"position":[[418,7]]}}}],["care",{"_index":1099,"t":{"2642":{"position":[[3,7]]}}}],["carri",{"_index":308,"t":{"2558":{"position":[[48,5]]}}}],["case",{"_index":185,"t":{"2548":{"position":[[1166,5]]},"2576":{"position":[[1512,6]]},"2638":{"position":[[527,5]]},"2642":{"position":[[1066,5]]},"2668":{"position":[[12,4]]},"2684":{"position":[[2536,5]]},"2693":{"position":[[1003,5]]},"2699":{"position":[[543,5]]}}}],["cast",{"_index":77,"t":{"2546":{"position":[[871,4],[984,5],[1010,4]]},"2570":{"position":[[825,4],[939,5],[965,4]]},"2594":{"position":[[1251,4],[1364,5],[1390,4]]},"2599":{"position":[[18,4],[280,7]]},"2644":{"position":[[1051,5],[1106,5],[1244,4],[1508,7]]},"2682":{"position":[[638,5],[1192,4]]}}}],["ceas",{"_index":328,"t":{"2560":{"position":[[251,5]]}}}],["censor",{"_index":72,"t":{"2546":{"position":[[798,6]]},"2570":{"position":[[751,6]]},"2594":{"position":[[1178,6]]},"2650":{"position":[[19,7]]},"2680":{"position":[[439,6]]}}}],["censorship",{"_index":877,"t":{"2617":{"position":[[1402,11]]},"2680":{"position":[[248,10]]}}}],["central",{"_index":1284,"t":{"2682":{"position":[[140,7]]}}}],["certain",{"_index":57,"t":{"2546":{"position":[[484,7]]},"2548":{"position":[[80,7]]},"2576":{"position":[[482,7]]},"2594":{"position":[[863,7]]},"2682":{"position":[[1093,7]]}}}],["chain",{"_index":30,"t":{"2546":{"position":[[65,5]]},"2556":{"position":[[405,6]]},"2558":{"position":[[61,5]]},"2590":{"position":[[126,5],[226,5]]},"2592":{"position":[[112,5],[212,5]]},"2597":{"position":[[1054,6]]},"2603":{"position":[[843,5]]},"2609":{"position":[[671,5],[1256,5]]},"2613":{"position":[[59,5]]},"2617":{"position":[[657,5],[1204,5]]},"2652":{"position":[[58,5]]},"2691":{"position":[[286,5]]}}}],["chang",{"_index":698,"t":{"2597":{"position":[[430,6]]},"2599":{"position":[[1526,6],[1817,6]]},"2605":{"position":[[361,6]]},"2617":{"position":[[7123,6]]},"2640":{"position":[[30,6]]},"2642":{"position":[[676,6],[793,6]]},"2644":{"position":[[1207,7],[1483,7]]},"2658":{"position":[[125,7],[407,7],[511,7],[618,7]]},"2682":{"position":[[512,6],[803,6],[875,6],[1250,8]]}}}],["channel",{"_index":966,"t":{"2617":{"position":[[5060,8],[7492,9]]}}}],["charbonnet",{"_index":353,"t":{"2564":{"position":[[67,10]]}}}],["charg",{"_index":42,"t":{"2546":{"position":[[259,6]]}}}],["charli",{"_index":1283,"t":{"2682":{"position":[[41,7]]}}}],["check",{"_index":737,"t":{"2599":{"position":[[2375,6]]},"2605":{"position":[[746,5],[1040,5],[1167,7]]},"2684":{"position":[[403,6]]},"2706":{"position":[[1030,5],[1442,8]]}}}],["cheng",{"_index":419,"t":{"2572":{"position":[[217,5]]},"2678":{"position":[[48,5]]}}}],["chih",{"_index":418,"t":{"2572":{"position":[[212,4]]},"2678":{"position":[[43,4]]}}}],["choic",{"_index":570,"t":{"2576":{"position":[[736,7]]},"2601":{"position":[[1291,8]]},"2646":{"position":[[457,6]]},"2693":{"position":[[631,7]]}}}],["chose",{"_index":1194,"t":{"2670":{"position":[[70,5]]}}}],["circom",{"_index":577,"t":{"2576":{"position":[[924,7],[1002,6]]},"2620":{"position":[[495,6]]}}}],["circomlib",{"_index":578,"t":{"2576":{"position":[[936,10]]}}}],["circuit",{"_index":132,"t":{"2548":{"position":[[256,9]]},"2554":{"position":[[838,7]]},"2570":{"position":[[52,8],[1219,9]]},"2576":{"position":[[877,8]]},"2584":{"position":[[224,8]]},"2586":{"position":[[290,7]]},"2620":{"position":[[23,8],[219,7],[711,8],[752,7]]},"2652":{"position":[[157,8]]},"2670":{"position":[[1315,7]]},"2674":{"position":[[1622,7]]},"2684":{"position":[[2546,7]]},"2695":{"position":[[5,7]]},"2706":{"position":[[450,7]]}}}],["claim",{"_index":1312,"t":{"2684":{"position":[[2003,5]]}}}],["clear",{"_index":376,"t":{"2568":{"position":[[666,5]]},"2684":{"position":[[1188,5]]}}}],["cleartext",{"_index":1298,"t":{"2682":{"position":[[1409,9]]}}}],["cli",{"_index":311,"t":{"2558":{"position":[[192,3]]}}}],["client",{"_index":593,"t":{"2576":{"position":[[1480,6]]}}}],["close",{"_index":948,"t":{"2617":{"position":[[4224,7],[4462,5]]}}}],["clr.fund",{"_index":97,"t":{"2546":{"position":[[1232,8]]},"2558":{"position":[[423,8]]},"2572":{"position":[[343,9],[485,8],[551,8]]},"2576":{"position":[[1533,8]]},"2586":{"position":[[192,8]]},"2613":{"position":[[203,9],[540,9]]},"2617":{"position":[[2110,9],[4952,8]]}}}],["code",{"_index":179,"t":{"2548":{"position":[[1048,4]]},"2556":{"position":[[199,4]]},"2558":{"position":[[457,5]]},"2560":{"position":[[80,4]]},"2566":{"position":[[34,4]]},"2568":{"position":[[357,4]]},"2617":{"position":[[3455,4],[4356,5]]},"2620":{"position":[[502,5]]}}}],["codebas",{"_index":404,"t":{"2572":{"position":[[83,8]]},"2580":{"position":[[322,9]]},"2617":{"position":[[3395,8]]}}}],["coercer",{"_index":497,"t":{"2574":{"position":[[799,7]]}}}],["coercion",{"_index":496,"t":{"2574":{"position":[[780,8]]}}}],["collabor",{"_index":460,"t":{"2572":{"position":[[1371,13]]},"2576":{"position":[[1410,13],[1701,14]]},"2617":{"position":[[196,13],[517,13],[5138,13],[6148,13],[6214,13]]}}}],["collis",{"_index":1172,"t":{"2664":{"position":[[45,9]]}}}],["collud",{"_index":246,"t":{"2554":{"position":[[105,7]]},"2574":{"position":[[1399,9]]},"2613":{"position":[[375,7]]}}}],["collus",{"_index":8,"t":{"2544":{"position":[[84,9]]},"2546":{"position":[[37,9],[417,9],[1371,10]]},"2550":{"position":[[164,9]]},"2554":{"position":[[40,9],[252,9],[474,9]]},"2564":{"position":[[91,9]]},"2568":{"position":[[88,9],[134,9]]},"2570":{"position":[[99,9],[360,9],[1374,9]]},"2572":{"position":[[977,10]]},"2574":{"position":[[129,10],[328,9],[462,10],[595,9],[939,9],[1763,9]]},"2588":{"position":[[65,9]]},"2590":{"position":[[50,9],[170,9]]},"2592":{"position":[[36,9],[156,9]]},"2594":{"position":[[285,9],[795,9]]},"2613":{"position":[[42,9],[118,10]]},"2617":{"position":[[711,9],[1048,9],[1423,10],[1673,9]]},"2620":{"position":[[522,9],[605,9]]},"2680":{"position":[[60,9],[188,9],[347,9]]}}}],["come",{"_index":1117,"t":{"2644":{"position":[[213,5]]}}}],["command",{"_index":716,"t":{"2599":{"position":[[461,10],[497,7],[606,7],[821,7],[866,7],[2118,7],[2194,7],[2266,7],[2401,7],[2808,7],[2884,7]]},"2607":{"position":[[370,8]]},"2632":{"position":[[483,8],[583,8]]},"2636":{"position":[[212,8],[268,8],[317,7]]},"2638":{"position":[[363,7]]},"2640":{"position":[[5,7],[96,9]]},"2642":{"position":[[56,8],[123,9],[1501,7]]},"2646":{"position":[[8,7],[204,8]]},"2654":{"position":[[193,7]]},"2664":{"position":[[129,8]]},"2670":{"position":[[635,9]]},"2682":{"position":[[882,8],[1486,7],[1601,7]]},"2684":{"position":[[746,7],[1264,7],[1344,8],[1401,9],[1510,8],[1590,8]]},"2686":{"position":[[32,9],[168,9]]},"2691":{"position":[[576,7],[679,7],[900,7]]},"2693":{"position":[[168,7],[268,7]]},"2699":{"position":[[1163,7],[1175,7],[1328,7],[1439,8],[1588,8],[1616,7]]},"2701":{"position":[[577,9]]},"2706":{"position":[[219,8],[2704,8]]}}}],["command.newpublickeyi",{"_index":1370,"t":{"2706":{"position":[[316,22]]}}}],["command.newpublickeyx",{"_index":1369,"t":{"2706":{"position":[[293,22]]}}}],["command.nonc",{"_index":1371,"t":{"2706":{"position":[[389,13]]}}}],["command.voteoptionindex",{"_index":1390,"t":{"2706":{"position":[[2132,24],[2617,23]]}}}],["command.voteoptionpath",{"_index":1391,"t":{"2706":{"position":[[2157,23]]}}}],["command.voteweight",{"_index":1392,"t":{"2706":{"position":[[2181,19]]}}}],["command1",{"_index":768,"t":{"2601":{"position":[[746,8]]}}}],["command2",{"_index":770,"t":{"2601":{"position":[[768,8]]}}}],["command3",{"_index":772,"t":{"2601":{"position":[[790,8]]}}}],["commands/vot",{"_index":776,"t":{"2601":{"position":[[971,14]]}}}],["comment",{"_index":338,"t":{"2562":{"position":[[122,7]]},"2617":{"position":[[3460,8]]},"2638":{"position":[[10,8],[481,8]]},"2642":{"position":[[194,8]]}}}],["commit",{"_index":1231,"t":{"2672":{"position":[[852,10],[943,10],[1518,10]]},"2674":{"position":[[1318,10]]}}}],["common",{"_index":652,"t":{"2590":{"position":[[194,6]]},"2592":{"position":[[180,6]]},"2617":{"position":[[1466,6]]}}}],["commun",{"_index":425,"t":{"2572":{"position":[[381,9]]},"2574":{"position":[[1595,11]]},"2576":{"position":[[1729,9]]},"2617":{"position":[[231,10],[861,9],[4000,9],[4130,9],[4520,9],[4754,9],[4901,9],[5434,11],[5481,9],[5673,9],[6138,9],[6870,9],[7685,9]]},"2670":{"position":[[153,9]]}}}],["comparison",{"_index":588,"t":{"2576":{"position":[[1295,10]]}}}],["complet",{"_index":429,"t":{"2572":{"position":[[564,9]]},"2580":{"position":[[28,10],[241,9]]},"2586":{"position":[[210,9]]}}}],["complex",{"_index":718,"t":{"2599":{"position":[[673,7]]}}}],["complic",{"_index":760,"t":{"2601":{"position":[[595,11]]}}}],["compon",{"_index":680,"t":{"2594":{"position":[[404,9]]},"2601":{"position":[[1318,10]]}}}],["compris",{"_index":907,"t":{"2617":{"position":[[2871,8]]}}}],["compromis",{"_index":443,"t":{"2572":{"position":[[948,12]]}}}],["comput",{"_index":49,"t":{"2546":{"position":[[323,9]]},"2572":{"position":[[859,13]]},"2620":{"position":[[405,8]]},"2634":{"position":[[544,8]]},"2670":{"position":[[1326,7]]},"2674":{"position":[[1636,8]]},"2684":{"position":[[2394,8]]}}}],["computednewvoteoptionroot",{"_index":1367,"t":{"2706":{"position":[[228,26],[339,26],[2086,25],[2272,26],[2330,25],[2713,26]]}}}],["computedresult",{"_index":1254,"t":{"2674":{"position":[[616,15]]}}}],["computedresults[j",{"_index":1266,"t":{"2674":{"position":[[1243,18]]}}}],["computedvoteoptiontreeroot",{"_index":1260,"t":{"2674":{"position":[[986,26]]}}}],["concentr",{"_index":1198,"t":{"2670":{"position":[[501,12]]}}}],["concern",{"_index":553,"t":{"2576":{"position":[[107,9]]},"2617":{"position":[[7353,9]]}}}],["concurr",{"_index":558,"t":{"2576":{"position":[[275,13]]},"2617":{"position":[[2519,10],[2679,10],[2754,10]]}}}],["condit",{"_index":1272,"t":{"2676":{"position":[[0,9]]},"2708":{"position":[[0,9]]}}}],["confer",{"_index":969,"t":{"2617":{"position":[[5166,11]]}}}],["confus",{"_index":733,"t":{"2599":{"position":[[2035,9]]},"2642":{"position":[[18,7]]}}}],["consecut",{"_index":1218,"t":{"2670":{"position":[[1674,14]]}}}],["consensi",{"_index":683,"t":{"2594":{"position":[[495,9]]}}}],["consid",{"_index":504,"t":{"2574":{"position":[[908,8]]},"2597":{"position":[[958,10]]},"2599":{"position":[[641,10],[948,10]]},"2620":{"position":[[368,8]]},"2670":{"position":[[1127,8]]}}}],["constant",{"_index":1052,"t":{"2628":{"position":[[467,8]]}}}],["constraint",{"_index":1245,"t":{"2674":{"position":[[145,10],[328,10],[788,10],[1298,10],[1470,10]]},"2701":{"position":[[151,10],[493,10]]},"2706":{"position":[[2884,10],[3187,10],[3424,10]]}}}],["construct",{"_index":719,"t":{"2599":{"position":[[713,11]]}}}],["contain",{"_index":711,"t":{"2599":{"position":[[233,7],[2131,8],[2821,8]]},"2607":{"position":[[385,8]]},"2609":{"position":[[784,8]]},"2611":{"position":[[224,7]]},"2636":{"position":[[16,8]]},"2642":{"position":[[277,8],[1271,7],[1518,7]]}}}],["continu",{"_index":428,"t":{"2572":{"position":[[462,9]]}}}],["contract",{"_index":149,"t":{"2548":{"position":[[564,9],[579,8],[714,8]]},"2552":{"position":[[138,9],[275,8]]},"2556":{"position":[[630,8]]},"2570":{"position":[[23,9],[1190,9]]},"2574":{"position":[[98,8]]},"2576":{"position":[[47,9],[1134,9]]},"2584":{"position":[[91,9]]},"2597":{"position":[[150,10],[1029,8]]},"2599":{"position":[[116,9],[2322,9],[2965,9]]},"2601":{"position":[[1427,10]]},"2603":{"position":[[166,9],[226,9],[283,8],[466,8],[513,8],[569,8],[663,8],[748,9],[795,8]]},"2605":{"position":[[63,9],[494,8],[613,8],[807,8],[887,8]]},"2607":{"position":[[73,9],[450,8]]},"2609":{"position":[[96,8],[1018,8],[1070,9],[1093,8],[1208,8]]},"2611":{"position":[[493,8],[589,8],[907,9]]},"2622":{"position":[[21,8]]},"2624":{"position":[[41,9]]},"2628":{"position":[[154,9],[245,8],[372,8]]},"2632":{"position":[[821,8]]},"2634":{"position":[[750,8]]},"2662":{"position":[[246,8]]},"2666":{"position":[[43,8]]},"2672":{"position":[[116,8],[182,8],[269,8],[372,8],[587,8],[895,8],[1037,8]]},"2680":{"position":[[310,10]]},"2682":{"position":[[105,9],[435,8],[778,9],[930,9]]},"2684":{"position":[[80,8],[184,8],[385,8],[690,9],[1201,8],[1768,9],[2216,8]]},"2691":{"position":[[182,9]]},"2697":{"position":[[33,9]]}}}],["contract'",{"_index":1215,"t":{"2670":{"position":[[1233,10]]},"2684":{"position":[[308,10]]}}}],["contribut",{"_index":259,"t":{"2554":{"position":[[374,14]]},"2572":{"position":[[661,14],[765,14]]},"2574":{"position":[[1050,10]]},"2617":{"position":[[4161,13]]}}}],["contributor",{"_index":245,"t":{"2554":{"position":[[92,12],[492,13]]}}}],["control",{"_index":1282,"t":{"2680":{"position":[[549,8]]}}}],["convers",{"_index":863,"t":{"2617":{"position":[[409,12]]}}}],["convey",{"_index":1098,"t":{"2640":{"position":[[17,6]]}}}],["convinc",{"_index":385,"t":{"2570":{"position":[[427,9]]}}}],["coordin",{"_index":41,"t":{"2546":{"position":[[224,12],[241,11],[462,11],[608,12],[675,11],[767,12],[1090,12]]},"2548":{"position":[[940,12]]},"2550":{"position":[[195,11],[222,11]]},"2552":{"position":[[377,11]]},"2556":{"position":[[27,11],[112,12],[416,11],[710,11]]},"2558":{"position":[[229,12]]},"2570":{"position":[[407,12],[558,12],[627,12],[720,12],[1046,12]]},"2574":{"position":[[1437,12]]},"2576":{"position":[[208,11],[671,11],[1280,12]]},"2582":{"position":[[133,11],[206,11]]},"2584":{"position":[[51,12]]},"2594":{"position":[[841,11],[989,12],[1056,11],[1147,12],[1470,12]]},"2597":{"position":[[89,12],[169,11],[238,12],[387,11],[492,11],[703,11],[814,12]]},"2599":{"position":[[973,11],[2336,11],[2484,11],[3056,11],[3536,11]]},"2601":{"position":[[933,11],[1026,11]]},"2603":{"position":[[819,11]]},"2607":{"position":[[215,11],[300,11]]},"2609":{"position":[[49,11],[346,11],[553,11],[608,11],[713,11],[847,11],[1271,11],[1331,11]]},"2611":{"position":[[52,11],[109,11],[706,11]]},"2617":{"position":[[3759,11],[6487,11],[6542,11],[6628,11],[7837,11]]},"2620":{"position":[[62,11]]},"2632":{"position":[[412,11],[849,11]]},"2634":{"position":[[162,11]]},"2638":{"position":[[53,11],[99,11]]},"2642":{"position":[[402,10],[525,10],[658,11],[775,11],[1395,11],[1609,11]]},"2646":{"position":[[241,11]]},"2650":{"position":[[7,11]]},"2652":{"position":[[4,11],[173,11]]},"2654":{"position":[[93,11]]},"2662":{"position":[[207,11],[440,12]]},"2664":{"position":[[23,11],[195,11],[293,11],[385,11]]},"2670":{"position":[[1527,11]]},"2672":{"position":[[483,11],[674,11],[797,11],[1143,11],[1229,11],[1327,11]]},"2680":{"position":[[380,11],[415,11]]},"2682":{"position":[[148,11]]},"2684":{"position":[[51,11],[1314,11],[2199,12],[2317,11]]},"2686":{"position":[[4,11]]},"2689":{"position":[[33,12]]},"2691":{"position":[[61,12],[206,11]]},"2699":{"position":[[34,12]]},"2706":{"position":[[1085,11]]}}}],["coordinator'",{"_index":139,"t":{"2548":{"position":[[373,13]]},"2684":{"position":[[851,13]]},"2691":{"position":[[111,13],[818,13]]},"2697":{"position":[[93,13]]},"2699":{"position":[[1471,13]]},"2701":{"position":[[14,13],[185,13]]}}}],["coordinatorprivkey",{"_index":1354,"t":{"2699":{"position":[[1448,18]]}}}],["coordinatorpubkey",{"_index":1333,"t":{"2697":{"position":[[71,17]]},"2701":{"position":[[263,19]]}}}],["copi",{"_index":1316,"t":{"2691":{"position":[[99,4],[232,4]]}}}],["cordin",{"_index":281,"t":{"2556":{"position":[[75,10]]}}}],["core",{"_index":679,"t":{"2594":{"position":[[399,4]]},"2601":{"position":[[1313,4]]},"2617":{"position":[[124,4],[496,4],[1105,4]]}}}],["cori",{"_index":455,"t":{"2572":{"position":[[1225,4]]}}}],["correct",{"_index":88,"t":{"2546":{"position":[[1043,7]]},"2548":{"position":[[1186,11]]},"2570":{"position":[[998,7],[1409,7]]},"2594":{"position":[[1422,7]]},"2599":{"position":[[1008,7],[1481,7]]},"2601":{"position":[[1233,8]]},"2611":{"position":[[346,7],[859,7]]},"2620":{"position":[[87,11]]},"2634":{"position":[[187,11],[692,7]]},"2674":{"position":[[193,7],[839,7],[1358,7],[1509,7]]},"2680":{"position":[[274,7]]},"2695":{"position":[[24,11]]},"2706":{"position":[[867,7],[1431,7],[2030,7]]}}}],["correctli",{"_index":791,"t":{"2603":{"position":[[863,9]]},"2609":{"position":[[135,9],[188,9],[774,9],[1283,9]]},"2611":{"position":[[722,9]]},"2620":{"position":[[172,9]]},"2632":{"position":[[428,9]]},"2634":{"position":[[553,10]]},"2684":{"position":[[2030,9]]},"2701":{"position":[[530,9]]}}}],["correctnonc",{"_index":1376,"t":{"2706":{"position":[[879,12],[2790,12]]}}}],["correl",{"_index":257,"t":{"2554":{"position":[[354,11]]}}}],["correspond",{"_index":79,"t":{"2546":{"position":[[895,13]]},"2570":{"position":[[849,13]]},"2594":{"position":[[1275,13]]}}}],["corrupt",{"_index":696,"t":{"2597":{"position":[[402,8],[484,7]]}}}],["cost",{"_index":582,"t":{"2576":{"position":[[1072,5],[1256,5],[1325,5]]},"2662":{"position":[[45,4],[155,4],[378,5]]}}}],["count",{"_index":722,"t":{"2599":{"position":[[990,5],[1318,7],[3262,7]]},"2609":{"position":[[299,8],[575,5]]},"2611":{"position":[[1045,8]]}}}],["counter",{"_index":659,"t":{"2590":{"position":[[627,8]]},"2592":{"position":[[613,8]]},"2599":{"position":[[1632,7]]},"2630":{"position":[[100,8]]},"2632":{"position":[[303,8],[717,7]]}}}],["counti",{"_index":891,"t":{"2617":{"position":[[2349,10]]}}}],["cover",{"_index":780,"t":{"2601":{"position":[[1347,8]]}}}],["creat",{"_index":25,"t":{"2544":{"position":[[310,7]]},"2546":{"position":[[107,7]]},"2574":{"position":[[1306,8]]},"2594":{"position":[[140,7]]},"2599":{"position":[[1845,6],[2108,7],[2798,7]]},"2601":{"position":[[312,6]]},"2609":{"position":[[198,6],[730,7]]},"2611":{"position":[[121,7]]},"2617":{"position":[[1666,6],[4108,6],[5449,6],[7411,6]]},"2664":{"position":[[169,6],[262,6],[318,6]]},"2670":{"position":[[1296,7]]},"2682":{"position":[[851,7]]},"2684":{"position":[[267,7]]},"2706":{"position":[[1107,6]]}}}],["creator",{"_index":669,"t":{"2594":{"position":[[122,9]]}}}],["creator/own",{"_index":803,"t":{"2605":{"position":[[503,13],[816,13]]},"2607":{"position":[[34,13]]}}}],["credit",{"_index":188,"t":{"2550":{"position":[[27,6],[55,7]]},"2552":{"position":[[90,7],[898,6],[959,6],[1091,6]]},"2580":{"position":[[114,7]]},"2605":{"position":[[197,6],[1024,6],[1094,6],[1227,7],[1329,7]]},"2628":{"position":[[413,7],[512,7],[699,8]]},"2636":{"position":[[116,7],[581,7]]},"2638":{"position":[[281,7],[570,7]]},"2642":{"position":[[1119,7]]},"2646":{"position":[[528,7]]},"2670":{"position":[[336,8],[430,7],[574,8],[658,7],[828,9],[920,7],[1074,7],[1203,7]]},"2674":{"position":[[35,7],[75,7],[592,7]]},"2693":{"position":[[853,7],[892,6],[1056,7]]},"2699":{"position":[[596,7]]},"2706":{"position":[[1751,7]]},"2708":{"position":[[47,7]]}}}],["criteria",{"_index":1310,"t":{"2684":{"position":[[1962,9]]}}}],["cross",{"_index":929,"t":{"2617":{"position":[[3540,5]]}}}],["crypto",{"_index":537,"t":{"2574":{"position":[[1588,6]]}}}],["cryptoeconom",{"_index":480,"t":{"2574":{"position":[[378,14],[505,14]]}}}],["cryptograph",{"_index":876,"t":{"2617":{"position":[[1370,13]]}}}],["culmul",{"_index":1075,"t":{"2634":{"position":[[521,11]]},"2672":{"position":[[1091,9]]}}}],["cumul",{"_index":1214,"t":{"2670":{"position":[[1151,11]]}}}],["current",{"_index":213,"t":{"2552":{"position":[[337,7]]},"2554":{"position":[[771,9]]},"2556":{"position":[[602,7]]},"2572":{"position":[[706,9]]},"2580":{"position":[[254,9]]},"2582":{"position":[[119,9]]},"2624":{"position":[[156,7]]},"2630":{"position":[[31,7]]},"2634":{"position":[[500,7]]},"2642":{"position":[[721,7],[838,7]]},"2646":{"position":[[368,7],[591,7]]},"2672":{"position":[[783,7]]},"2674":{"position":[[1336,7]]},"2684":{"position":[[1080,7]]},"2697":{"position":[[139,7],[433,7]]},"2699":{"position":[[175,7],[280,7]]},"2706":{"position":[[971,7],[1385,7]]},"2708":{"position":[[469,7],[550,7]]}}}],["currentresult",{"_index":1232,"t":{"2672":{"position":[[880,14],[1022,14]]},"2674":{"position":[[634,14]]}}}],["currentresults[n",{"_index":1227,"t":{"2672":{"position":[[596,17]]}}}],["currentresultscommit",{"_index":1230,"t":{"2672":{"position":[[809,24]]},"2674":{"position":[[1427,24]]}}}],["currentresultssalt",{"_index":1229,"t":{"2672":{"position":[[686,18]]},"2674":{"position":[[1404,19]]}}}],["currentstateroot",{"_index":1334,"t":{"2697":{"position":[[118,16]]},"2706":{"position":[[1345,17],[3060,17]]}}}],["currentvoteoptionpathelements[n",{"_index":1340,"t":{"2699":{"position":[[194,32]]}}}],["currentvoteweight",{"_index":1343,"t":{"2699":{"position":[[497,17]]}}}],["custom",{"_index":565,"t":{"2576":{"position":[[430,6]]}}}],["cut",{"_index":657,"t":{"2590":{"position":[[415,3]]},"2592":{"position":[[401,3]]}}}],["d",{"_index":1123,"t":{"2644":{"position":[[474,3],[593,4],[1411,3]]}}}],["dao",{"_index":541,"t":{"2574":{"position":[[1672,6]]},"2617":{"position":[[1770,3],[2251,4]]}}}],["data",{"_index":707,"t":{"2597":{"position":[[889,4]]},"2605":{"position":[[178,4],[210,4]]},"2607":{"position":[[150,5]]},"2609":{"position":[[697,4]]},"2638":{"position":[[0,4],[471,4]]},"2642":{"position":[[184,4]]},"2691":{"position":[[879,4],[992,5]]},"2693":{"position":[[188,4]]},"2699":{"position":[[788,4]]}}}],["date",{"_index":181,"t":{"2548":{"position":[[1106,4]]}}}],["dave",{"_index":1285,"t":{"2682":{"position":[[160,5],[1302,5]]}}}],["dave'",{"_index":1292,"t":{"2682":{"position":[[723,6]]}}}],["deadlin",{"_index":1055,"t":{"2628":{"position":[[807,9]]}}}],["decentralis",{"_index":356,"t":{"2568":{"position":[[159,13]]},"2574":{"position":[[1633,13]]},"2588":{"position":[[78,13]]}}}],["decrypt",{"_index":68,"t":{"2546":{"position":[[705,7]]},"2570":{"position":[[658,7]]},"2582":{"position":[[156,7]]},"2594":{"position":[[1086,7]]},"2599":{"position":[[1720,8],[2348,8],[3000,9],[3068,8],[3548,9]]},"2601":{"position":[[993,10]]},"2607":{"position":[[343,7]]},"2609":{"position":[[145,9]]},"2646":{"position":[[329,9]]},"2664":{"position":[[66,12],[96,7]]},"2686":{"position":[[20,7],[68,7],[122,7],[208,7]]},"2701":{"position":[[401,7],[540,9]]},"2706":{"position":[[37,9]]}}}],["decrypt(ecdhsharedkey",{"_index":1361,"t":{"2701":{"position":[[444,22]]}}}],["decryptedcommand",{"_index":1360,"t":{"2701":{"position":[[425,16]]},"2706":{"position":[[50,16],[797,17]]}}}],["decryptedcommand.currentvoteoptionpathel",{"_index":1380,"t":{"2706":{"position":[[1528,47]]}}}],["decryptedcommand.currentvoteweight",{"_index":1382,"t":{"2706":{"position":[[1610,34],[1824,35]]}}}],["decryptedcommand.newvoteweight",{"_index":1386,"t":{"2706":{"position":[[1867,31],[2201,30]]}}}],["decryptedcommand.nonc",{"_index":1377,"t":{"2706":{"position":[[894,22]]}}}],["decryptedcommand.voteoptionindex",{"_index":1381,"t":{"2706":{"position":[[1576,33]]}}}],["deeper",{"_index":781,"t":{"2601":{"position":[[1378,6]]}}}],["defend",{"_index":512,"t":{"2574":{"position":[[1100,6]]}}}],["defin",{"_index":230,"t":{"2552":{"position":[[815,7]]},"2684":{"position":[[1809,7]]},"2691":{"position":[[307,6]]},"2693":{"position":[[523,7]]}}}],["defint",{"_index":1300,"t":{"2684":{"position":[[26,10]]}}}],["delet",{"_index":83,"t":{"2546":{"position":[[958,6]]},"2570":{"position":[[913,6]]},"2594":{"position":[[1338,6]]}}}],["demand",{"_index":498,"t":{"2574":{"position":[[807,7]]}}}],["democrat",{"_index":872,"t":{"2617":{"position":[[886,10]]}}}],["denial",{"_index":165,"t":{"2548":{"position":[[807,6]]}}}],["denot",{"_index":1332,"t":{"2693":{"position":[[914,7]]}}}],["depend",{"_index":1105,"t":{"2642":{"position":[[584,9],[870,9]]}}}],["deploy",{"_index":624,"t":{"2584":{"position":[[82,8]]},"2603":{"position":[[446,6]]},"2607":{"position":[[53,6]]},"2617":{"position":[[1904,7]]},"2684":{"position":[[63,7],[172,7]]}}}],["deposit",{"_index":212,"t":{"2552":{"position":[[308,9],[487,8],[1105,9]]},"2576":{"position":[[1160,7]]},"2660":{"position":[[54,7]]}}}],["depth",{"_index":1101,"t":{"2642":{"position":[[225,5],[936,5]]},"2646":{"position":[[783,6]]},"2672":{"position":[[158,5],[232,5]]},"2706":{"position":[[2469,6]]}}}],["deriv",{"_index":815,"t":{"2607":{"position":[[275,6]]},"2701":{"position":[[3,6]]}}}],["derivedcoordinatorpubkey",{"_index":1355,"t":{"2701":{"position":[[69,24]]}}}],["describ",{"_index":481,"t":{"2574":{"position":[[418,9]]},"2620":{"position":[[269,8]]},"2666":{"position":[[173,9]]},"2684":{"position":[[2503,9]]},"2691":{"position":[[411,9]]}}}],["descript",{"_index":54,"t":{"2546":{"position":[[405,11],[1432,11]]},"2550":{"position":[[8,11]]},"2552":{"position":[[1188,12]]},"2599":{"position":[[681,11]]},"2617":{"position":[[474,12],[7507,11]]},"2672":{"position":[[36,11]]},"2697":{"position":[[59,11]]},"2699":{"position":[[63,11]]}}}],["design",{"_index":530,"t":{"2574":{"position":[[1391,7]]},"2597":{"position":[[744,8]]},"2599":{"position":[[1620,8]]},"2620":{"position":[[464,10]]},"2656":{"position":[[19,8]]}}}],["despit",{"_index":914,"t":{"2617":{"position":[[3047,7]]}}}],["detail",{"_index":106,"t":{"2546":{"position":[[1423,8]]},"2548":{"position":[[187,8]]},"2552":{"position":[[1179,8]]},"2554":{"position":[[700,8]]},"2558":{"position":[[295,7]]},"2603":{"position":[[927,6]]},"2642":{"position":[[1318,8]]},"2699":{"position":[[1212,7]]}}}],["determin",{"_index":806,"t":{"2605":{"position":[[627,10],[901,10]]},"2628":{"position":[[170,10],[387,10]]}}}],["develop",{"_index":361,"t":{"2568":{"position":[[305,9]]},"2570":{"position":[[78,10],[242,10]]},"2572":{"position":[[244,9]]},"2576":{"position":[[316,10],[409,10],[955,9],[976,9],[1465,11]]},"2578":{"position":[[93,10]]},"2588":{"position":[[200,9]]},"2617":{"position":[[1633,10],[1846,10],[2430,11],[2901,9],[3635,9],[3931,11],[4498,10],[4675,11],[5230,11],[6425,11],[7589,11],[7615,9]]}}}],["dickson",{"_index":456,"t":{"2572":{"position":[[1230,7]]}}}],["differ",{"_index":94,"t":{"2546":{"position":[[1199,9]]},"2548":{"position":[[640,9]]},"2550":{"position":[[100,9]]},"2554":{"position":[[641,9]]},"2586":{"position":[[340,9],[399,9]]},"2597":{"position":[[36,9]]},"2599":{"position":[[1082,9]]},"2603":{"position":[[55,9]]},"2613":{"position":[[452,11]]},"2617":{"position":[[7214,9]]},"2620":{"position":[[300,10]]},"2628":{"position":[[502,9]]},"2636":{"position":[[554,9]]},"2664":{"position":[[119,9]]},"2684":{"position":[[2589,6]]}}}],["difficult",{"_index":463,"t":{"2574":{"position":[[11,9]]},"2680":{"position":[[217,10]]}}}],["diffus",{"_index":1199,"t":{"2670":{"position":[[518,7]]}}}],["direct",{"_index":962,"t":{"2617":{"position":[[4795,10]]}}}],["disapprov",{"_index":614,"t":{"2580":{"position":[[177,12]]}}}],["discontinu",{"_index":316,"t":{"2560":{"position":[[25,13]]}}}],["discord",{"_index":349,"t":{"2562":{"position":[[295,8]]},"2617":{"position":[[5069,9],[7477,7]]}}}],["discov",{"_index":117,"t":{"2548":{"position":[[69,10]]}}}],["discuss",{"_index":862,"t":{"2617":{"position":[[380,10],[436,10]]}}}],["dishonest",{"_index":1279,"t":{"2680":{"position":[[405,9]]}}}],["disincentivis",{"_index":1189,"t":{"2668":{"position":[[300,15]]}}}],["disproportion",{"_index":1208,"t":{"2670":{"position":[[777,16]]}}}],["distinct",{"_index":706,"t":{"2597":{"position":[[792,8]]},"2603":{"position":[[734,8]]}}}],["dive",{"_index":22,"t":{"2544":{"position":[[229,4]]},"2601":{"position":[[1373,4]]}}}],["doc",{"_index":306,"t":{"2556":{"position":[[753,4]]},"2558":{"position":[[287,3]]}}}],["docker",{"_index":296,"t":{"2556":{"position":[[462,6]]}}}],["document",{"_index":19,"t":{"2544":{"position":[[196,13]]},"2552":{"position":[[1222,9]]},"2554":{"position":[[916,10]]},"2558":{"position":[[359,13]]},"2572":{"position":[[1271,14]]},"2617":{"position":[[26,8],[320,8],[2599,13],[3617,13],[3675,13],[4362,13]]}}}],["docusauru",{"_index":933,"t":{"2617":{"position":[[3700,11]]}}}],["doesn’t",{"_index":841,"t":{"2613":{"position":[[81,7]]}}}],["dollar",{"_index":1179,"t":{"2668":{"position":[[39,6]]}}}],["don't",{"_index":1150,"t":{"2658":{"position":[[277,5]]}}}],["done",{"_index":816,"t":{"2609":{"position":[[19,4]]}}}],["down",{"_index":783,"t":{"2603":{"position":[[43,4]]}}}],["drive",{"_index":630,"t":{"2584":{"position":[[284,5]]}}}],["dub",{"_index":1095,"t":{"2638":{"position":[[442,3]]}}}],["due",{"_index":1195,"t":{"2670":{"position":[[109,3]]}}}],["dure",{"_index":162,"t":{"2548":{"position":[[744,6]]},"2552":{"position":[[1127,6]]},"2628":{"position":[[23,6]]},"2706":{"position":[[2557,6]]}}}],["dx",{"_index":908,"t":{"2617":{"position":[[2922,5],[4245,2],[7636,4]]}}}],["e",{"_index":881,"t":{"2617":{"position":[[1564,1]]},"2644":{"position":[[503,3],[588,4]]}}}],["e.g",{"_index":928,"t":{"2617":{"position":[[3534,5],[7105,5],[7190,5],[7244,5]]},"2662":{"position":[[114,5]]}}}],["each",{"_index":232,"t":{"2552":{"position":[[840,4]]},"2554":{"position":[[118,4]]},"2590":{"position":[[684,4]]},"2592":{"position":[[670,4]]},"2599":{"position":[[3558,4]]},"2603":{"position":[[389,4],[706,4],[882,4]]},"2609":{"position":[[155,4]]},"2620":{"position":[[102,4]]},"2624":{"position":[[280,4]]},"2634":{"position":[[286,4]]},"2636":{"position":[[0,4],[350,4],[592,4]]},"2640":{"position":[[0,4]]},"2642":{"position":[[93,4],[1220,4]]},"2644":{"position":[[189,4]]},"2662":{"position":[[0,4],[124,4]]},"2666":{"position":[[107,4]]},"2668":{"position":[[355,4]]},"2670":{"position":[[612,5],[1617,4]]},"2672":{"position":[[1286,4]]},"2674":{"position":[[571,4],[710,4],[863,4],[1144,4]]},"2680":{"position":[[526,4]]},"2682":{"position":[[483,4],[788,4]]},"2684":{"position":[[257,4],[700,4],[1387,4],[1499,4],[2183,4]]},"2686":{"position":[[42,4]]},"2691":{"position":[[16,4],[240,4]]},"2693":{"position":[[353,4],[714,4]]},"2695":{"position":[[39,4]]},"2699":{"position":[[1611,4]]}}}],["earli",{"_index":408,"t":{"2572":{"position":[[121,5],[1179,5]]}}}],["earlier",{"_index":800,"t":{"2605":{"position":[[334,7]]}}}],["eas",{"_index":930,"t":{"2617":{"position":[[3568,4]]}}}],["easi",{"_index":493,"t":{"2574":{"position":[[726,5]]},"2584":{"position":[[244,4]]},"2590":{"position":[[256,4]]},"2592":{"position":[[242,4]]},"2617":{"position":[[3252,4],[3275,4]]}}}],["easier",{"_index":199,"t":{"2550":{"position":[[245,6]]},"2584":{"position":[[40,6]]},"2617":{"position":[[6718,6],[6975,6],[7018,6]]}}}],["easili",{"_index":469,"t":{"2574":{"position":[[219,6],[1413,6]]},"2590":{"position":[[526,6]]},"2592":{"position":[[512,6]]}}}],["ecdh",{"_index":1069,"t":{"2632":{"position":[[877,4]]},"2684":{"position":[[906,5]]},"2691":{"position":[[747,4]]},"2699":{"position":[[1393,4]]},"2701":{"position":[[299,4],[382,4]]}}}],["ecdhsharedkey",{"_index":1358,"t":{"2701":{"position":[[312,13]]}}}],["ecosystem",{"_index":452,"t":{"2572":{"position":[[1156,10]]},"2617":{"position":[[2043,9],[2088,9],[5116,9],[6040,9],[7557,9]]}}}],["eddsa",{"_index":1132,"t":{"2646":{"position":[[376,5]]},"2684":{"position":[[278,5]]},"2691":{"position":[[34,5],[317,5],[717,5]]}}}],["eddsaderivepubkey(coordinatorprivkey",{"_index":1356,"t":{"2701":{"position":[[96,38]]}}}],["educ",{"_index":900,"t":{"2617":{"position":[[2615,11],[3658,9],[4378,11]]}}}],["effect",{"_index":60,"t":{"2546":{"position":[[532,13],[1275,9]]},"2570":{"position":[[477,13]]},"2594":{"position":[[911,13]]},"2682":{"position":[[1019,6]]}}}],["effici",{"_index":1011,"t":{"2617":{"position":[[7321,10]]},"2691":{"position":[[532,9]]}}}],["effort",{"_index":140,"t":{"2548":{"position":[[387,6]]},"2617":{"position":[[136,7],[6006,7]]}}}],["eighth",{"_index":437,"t":{"2572":{"position":[[727,6]]}}}],["eip197",{"_index":1320,"t":{"2691":{"position":[[424,7]]}}}],["elabor",{"_index":490,"t":{"2574":{"position":[[651,11]]}}}],["elect",{"_index":557,"t":{"2576":{"position":[[242,9]]},"2617":{"position":[[2339,9],[2404,9]]}}}],["element",{"_index":1224,"t":{"2672":{"position":[[433,8]]},"2699":{"position":[[119,8],[714,8],[924,8],[1026,8]]}}}],["elgam",{"_index":618,"t":{"2582":{"position":[[38,7]]},"2617":{"position":[[7111,7]]}}}],["empow",{"_index":884,"t":{"2617":{"position":[[1625,7]]}}}],["empti",{"_index":1028,"t":{"2624":{"position":[[262,5]]},"2628":{"position":[[740,5]]},"2684":{"position":[[221,5]]}}}],["enabl",{"_index":206,"t":{"2552":{"position":[[168,7]]},"2568":{"position":[[126,7]]},"2574":{"position":[[764,6]]},"2617":{"position":[[5474,6]]}}}],["encourag",{"_index":321,"t":{"2560":{"position":[[116,10]]},"2617":{"position":[[4188,11]]}}}],["encpubkey",{"_index":1352,"t":{"2699":{"position":[[1336,9]]},"2701":{"position":[[359,11]]}}}],["encpublickeyi",{"_index":1104,"t":{"2642":{"position":[[501,13]]}}}],["encpublickeyx",{"_index":1102,"t":{"2642":{"position":[[378,13]]}}}],["encrypt",{"_index":395,"t":{"2570":{"position":[[1349,11]]},"2582":{"position":[[108,10]]},"2597":{"position":[[642,7],[936,9],[1100,10]]},"2599":{"position":[[579,8],[2252,8],[2911,8]]},"2601":{"position":[[1096,7]]},"2607":{"position":[[164,10],[248,10],[486,10]]},"2632":{"position":[[902,7]]},"2642":{"position":[[480,7]]},"2682":{"position":[[695,8],[891,8],[1224,10],[1591,9]]},"2684":{"position":[[912,7]]},"2691":{"position":[[596,11],[651,7],[844,7],[982,9]]},"2693":{"position":[[258,9]]},"2699":{"position":[[1427,7]]}}}],["encrypt([command",{"_index":1329,"t":{"2693":{"position":[[290,18]]}}}],["encrypt(command1",{"_index":762,"t":{"2601":{"position":[[657,17]]}}}],["encrypt(command2",{"_index":764,"t":{"2601":{"position":[[686,17]]}}}],["encrypt(command3",{"_index":766,"t":{"2601":{"position":[[715,17]]}}}],["end",{"_index":214,"t":{"2552":{"position":[[358,3],[676,5],[772,6],[823,6]]},"2617":{"position":[[7029,3]]},"2628":{"position":[[783,4]]},"2684":{"position":[[586,4],[1377,5],[2307,5]]}}}],["enforc",{"_index":1167,"t":{"2662":{"position":[[480,7]]}}}],["engag",{"_index":944,"t":{"2617":{"position":[[4010,11],[4317,10],[5100,6],[7695,10]]}}}],["engin",{"_index":865,"t":{"2617":{"position":[[531,11]]}}}],["enhanc",{"_index":193,"t":{"2550":{"position":[[136,8]]}}}],["enough",{"_index":249,"t":{"2554":{"position":[[192,6]]},"2646":{"position":[[515,6]]},"2706":{"position":[[1735,6]]}}}],["enoughvoicecredit",{"_index":1387,"t":{"2706":{"position":[[1908,18],[2767,19]]}}}],["enquiri",{"_index":343,"t":{"2562":{"position":[[216,8]]}}}],["ensur",{"_index":228,"t":{"2552":{"position":[[791,7]]},"2556":{"position":[[183,6]]},"2570":{"position":[[1311,7]]},"2599":{"position":[[2385,6]]},"2611":{"position":[[505,6]]},"2630":{"position":[[14,7]]},"2670":{"position":[[1643,6]]},"2674":{"position":[[132,6],[315,6],[775,6],[1285,6],[1457,6]]},"2701":{"position":[[138,6],[480,6]]},"2706":{"position":[[2898,6],[3174,6],[3438,6]]}}}],["entiti",{"_index":266,"t":{"2554":{"position":[[608,6]]}}}],["entropi",{"_index":1145,"t":{"2654":{"position":[[141,8]]}}}],["environ",{"_index":917,"t":{"2617":{"position":[[3140,12]]}}}],["ephemer",{"_index":1103,"t":{"2642":{"position":[[420,9],[543,9]]},"2684":{"position":[[820,11]]},"2691":{"position":[[795,9]]}}}],["epherem",{"_index":1306,"t":{"2684":{"position":[[1160,9]]}}}],["ephermer",{"_index":1353,"t":{"2699":{"position":[[1350,10]]}}}],["equal",{"_index":1040,"t":{"2624":{"position":[[566,5]]},"2646":{"position":[[171,6],[668,5],[723,5],[801,5]]},"2706":{"position":[[3209,5]]}}}],["equat",{"_index":752,"t":{"2601":{"position":[[91,9],[159,8],[251,8],[419,8],[477,9],[573,8],[646,10]]}}}],["erc721",{"_index":1303,"t":{"2684":{"position":[[440,6]]}}}],["especi",{"_index":99,"t":{"2546":{"position":[[1298,10]]},"2578":{"position":[[151,10]]}}}],["essenti",{"_index":660,"t":{"2590":{"position":[[663,11]]},"2592":{"position":[[649,11]]},"2601":{"position":[[0,12]]}}}],["establish",{"_index":965,"t":{"2617":{"position":[[5030,9]]}}}],["etc",{"_index":893,"t":{"2617":{"position":[[2371,4]]},"2693":{"position":[[242,4]]}}}],["eth",{"_index":521,"t":{"2574":{"position":[[1224,3]]},"2662":{"position":[[193,4],[273,3]]},"2668":{"position":[[289,4]]}}}],["ethdenv",{"_index":422,"t":{"2572":{"position":[[266,9]]}}}],["ethereum",{"_index":390,"t":{"2570":{"position":[[1175,8],[1290,8]]},"2572":{"position":[[153,8],[372,8],[413,8],[1128,8]]},"2574":{"position":[[166,8]]},"2576":{"position":[[1720,8]]},"2578":{"position":[[237,9]]},"2617":{"position":[[1143,8],[4511,8]]},"2622":{"position":[[12,8]]},"2680":{"position":[[567,8]]},"2684":{"position":[[95,8],[1786,8]]},"2693":{"position":[[505,8]]}}}],["ethereum.org",{"_index":687,"t":{"2594":{"position":[[625,12]]}}}],["ethresear.ch",{"_index":401,"t":{"2572":{"position":[[19,12]]},"2680":{"position":[[140,12]]}}}],["ev",{"_index":1125,"t":{"2644":{"position":[[884,3],[1082,4],[1173,3]]}}}],["evalu",{"_index":982,"t":{"2617":{"position":[[5826,10]]}}}],["even",{"_index":71,"t":{"2546":{"position":[[750,4],[1073,4]]},"2570":{"position":[[703,4],[1029,4]]},"2576":{"position":[[757,4]]},"2594":{"position":[[1130,4],[1453,4]]},"2597":{"position":[[377,4]]},"2654":{"position":[[81,4]]},"2670":{"position":[[750,4]]},"2682":{"position":[[1383,4]]},"2684":{"position":[[2040,4]]}}}],["event",{"_index":427,"t":{"2572":{"position":[[452,6]]},"2668":{"position":[[177,5]]}}}],["everyon",{"_index":775,"t":{"2601":{"position":[[841,8]]},"2609":{"position":[[1236,8]]}}}],["exactli",{"_index":1083,"t":{"2636":{"position":[[392,7]]}}}],["examin",{"_index":470,"t":{"2574":{"position":[[226,7]]}}}],["exampl",{"_index":506,"t":{"2574":{"position":[[928,7]]},"2590":{"position":[[890,8]]},"2592":{"position":[[876,8]]},"2599":{"position":[[2059,8]]},"2601":{"position":[[172,8]]},"2609":{"position":[[453,8]]},"2644":{"position":[[308,8],[869,8],[1464,8]]},"2658":{"position":[[314,7]]}}}],["exce",{"_index":822,"t":{"2609":{"position":[[686,6]]}}}],["except",{"_index":56,"t":{"2546":{"position":[[445,6],[658,6]]},"2570":{"position":[[390,6],[610,6]]},"2594":{"position":[[824,6],[1039,6]]}}}],["exchang",{"_index":522,"t":{"2574":{"position":[[1231,8]]}}}],["excit",{"_index":647,"t":{"2588":{"position":[[137,7]]},"2617":{"position":[[6448,7]]}}}],["exclud",{"_index":1137,"t":{"2650":{"position":[[42,9]]}}}],["execut",{"_index":89,"t":{"2546":{"position":[[1051,9]]},"2570":{"position":[[1006,10],[1417,9]]},"2576":{"position":[[1340,8]]},"2594":{"position":[[1430,10]]},"2680":{"position":[[282,9],[466,10]]}}}],["exist",{"_index":628,"t":{"2584":{"position":[[215,8]]},"2699":{"position":[[263,9]]},"2706":{"position":[[1459,6]]}}}],["expand",{"_index":991,"t":{"2617":{"position":[[6059,6]]}}}],["experi",{"_index":362,"t":{"2568":{"position":[[315,10]]},"2617":{"position":[[2911,10],[5312,12],[7625,10],[7763,11]]}}}],["expertis",{"_index":977,"t":{"2617":{"position":[[5409,9]]}}}],["explain",{"_index":268,"t":{"2554":{"position":[[709,12]]},"2574":{"position":[[1265,7]]},"2603":{"position":[[909,9]]},"2605":{"position":[[321,9]]},"2607":{"position":[[182,9]]},"2620":{"position":[[580,10],[663,10]]}}}],["explor",{"_index":347,"t":{"2562":{"position":[[276,12]]},"2568":{"position":[[22,12]]},"2617":{"position":[[599,12],[6130,7],[6196,9],[7149,13]]}}}],["express",{"_index":597,"t":{"2576":{"position":[[1643,9]]},"2670":{"position":[[214,7]]}}}],["extent",{"_index":912,"t":{"2617":{"position":[[3002,6]]}}}],["extern",{"_index":461,"t":{"2572":{"position":[[1390,8]]},"2617":{"position":[[2206,8]]}}}],["extra",{"_index":700,"t":{"2597":{"position":[[458,5]]}}}],["extract",{"_index":247,"t":{"2554":{"position":[[139,7]]}}}],["face",{"_index":383,"t":{"2570":{"position":[[214,6]]}}}],["fail",{"_index":1142,"t":{"2652":{"position":[[213,4]]}}}],["failur",{"_index":919,"t":{"2617":{"position":[[3171,8]]}}}],["fair",{"_index":848,"t":{"2613":{"position":[[479,8]]}}}],["fake",{"_index":526,"t":{"2574":{"position":[[1315,4]]}}}],["fals",{"_index":91,"t":{"2546":{"position":[[1131,5]]},"2570":{"position":[[1087,5]]},"2594":{"position":[[1511,5]]},"2597":{"position":[[576,5]]},"2706":{"position":[[2938,5],[2959,6]]}}}],["faster",{"_index":573,"t":{"2576":{"position":[[815,6]]},"2617":{"position":[[4602,6]]}}}],["favor",{"_index":730,"t":{"2599":{"position":[[1872,5]]}}}],["feasibl",{"_index":896,"t":{"2617":{"position":[[2499,11],[2658,11],[2735,11]]}}}],["featur",{"_index":16,"t":{"2544":{"position":[[168,9]]},"2550":{"position":[[0,7]]},"2560":{"position":[[52,7],[96,9]]},"2599":{"position":[[1566,8]]},"2615":{"position":[[105,9]]}}}],["februari",{"_index":324,"t":{"2560":{"position":[[163,8]]},"2572":{"position":[[279,8]]}}}],["feedback",{"_index":377,"t":{"2568":{"position":[[672,8]]},"2617":{"position":[[459,9],[4574,8],[7332,9],[7884,8]]}}}],["feel",{"_index":333,"t":{"2562":{"position":[[66,4]]},"2617":{"position":[[7398,4]]}}}],["few",{"_index":714,"t":{"2599":{"position":[[342,3],[426,3]]}}}],["field",{"_index":1259,"t":{"2674":{"position":[[957,5]]},"2691":{"position":[[397,5]]},"2693":{"position":[[199,6]]}}}],["figur",{"_index":1313,"t":{"2684":{"position":[[2148,6]]}}}],["final",{"_index":270,"t":{"2554":{"position":[[745,8]]},"2572":{"position":[[1167,8]]},"2574":{"position":[[1550,8]]},"2576":{"position":[[1034,8],[1375,8]]},"2590":{"position":[[728,5]]},"2592":{"position":[[714,5]]},"2597":{"position":[[219,5],[290,5]]},"2599":{"position":[[3277,5]]},"2603":{"position":[[758,8]]},"2611":{"position":[[0,8],[800,5]]},"2617":{"position":[[1267,5]]},"2634":{"position":[[664,5]]},"2650":{"position":[[64,5]]},"2670":{"position":[[1491,5],[1552,5]]},"2672":{"position":[[80,5]]},"2674":{"position":[[1490,5]]}}}],["find",{"_index":277,"t":{"2554":{"position":[[959,7]]},"2601":{"position":[[526,4]]},"2664":{"position":[[38,4]]}}}],["first",{"_index":161,"t":{"2548":{"position":[[730,5]]},"2609":{"position":[[108,5]]},"2636":{"position":[[305,5]]},"2644":{"position":[[1140,6]]},"2670":{"position":[[87,5]]},"2682":{"position":[[358,5],[464,5],[1129,5]]}}}],["fit",{"_index":989,"t":{"2617":{"position":[[6014,3]]}}}],["fix",{"_index":122,"t":{"2548":{"position":[[121,5],[1016,6]]},"2568":{"position":[[511,6]]},"2572":{"position":[[1357,3]]},"2617":{"position":[[3195,3]]},"2684":{"position":[[599,5]]}}}],["flag",{"_index":1141,"t":{"2652":{"position":[[100,4]]},"2699":{"position":[[1248,4]]},"2706":{"position":[[1066,5],[2920,4],[3460,4]]},"2708":{"position":[[15,4]]}}}],["flexibl",{"_index":441,"t":{"2572":{"position":[[913,11]]},"2576":{"position":[[78,10]]}}}],["focu",{"_index":123,"t":{"2548":{"position":[[136,5]]},"2554":{"position":[[950,5]]},"2560":{"position":[[195,5]]},"2617":{"position":[[633,5],[1969,5]]}}}],["focus",{"_index":906,"t":{"2617":{"position":[[2835,7],[4252,7]]}}}],["fold",{"_index":1007,"t":{"2617":{"position":[[7174,7]]}}}],["folk",{"_index":607,"t":{"2578":{"position":[[162,5]]}}}],["follow",{"_index":240,"t":{"2552":{"position":[[1007,10]]},"2570":{"position":[[338,9]]},"2576":{"position":[[1366,8]]},"2594":{"position":[[427,9],[732,9]]},"2601":{"position":[[149,9],[636,9]]},"2605":{"position":[[1262,9]]},"2607":{"position":[[140,9]]},"2622":{"position":[[56,9]]},"2642":{"position":[[30,9]]},"2684":{"position":[[1428,9]]},"2691":{"position":[[612,9]]}}}],["fool",{"_index":1111,"t":{"2642":{"position":[[1253,4]]}}}],["form",{"_index":495,"t":{"2574":{"position":[[771,5],[1754,5]]},"2590":{"position":[[354,4]]},"2592":{"position":[[340,4]]},"2617":{"position":[[1444,5]]}}}],["fortun",{"_index":454,"t":{"2572":{"position":[[1203,9]]}}}],["forward",{"_index":592,"t":{"2576":{"position":[[1399,7]]},"2613":{"position":[[20,7]]}}}],["foster",{"_index":856,"t":{"2617":{"position":[[184,6]]}}}],["found",{"_index":370,"t":{"2568":{"position":[[495,5],[542,5]]},"2603":{"position":[[243,5]]}}}],["foundat",{"_index":411,"t":{"2572":{"position":[[162,11]]}}}],["framework",{"_index":983,"t":{"2617":{"position":[[5837,9]]}}}],["free",{"_index":334,"t":{"2562":{"position":[[71,4]]},"2617":{"position":[[7403,4]]}}}],["freeness",{"_index":63,"t":{"2546":{"position":[[566,8]]},"2570":{"position":[[511,9]]},"2594":{"position":[[944,9]]}}}],["full",{"_index":935,"t":{"2617":{"position":[[3792,4]]},"2634":{"position":[[424,4]]},"2674":{"position":[[381,4]]},"2676":{"position":[[186,4]]},"2693":{"position":[[384,4],[769,4]]}}}],["fullstateroot",{"_index":1219,"t":{"2672":{"position":[[55,13]]}}}],["fullstatetreedepth",{"_index":1220,"t":{"2672":{"position":[[125,18],[1437,18]]}}}],["function",{"_index":222,"t":{"2552":{"position":[[583,8],[700,8]]},"2605":{"position":[[701,8],[987,8]]},"2611":{"position":[[425,9],[450,8],[545,8],[662,8]]},"2617":{"position":[[6952,14]]},"2628":{"position":[[60,8],[292,8]]},"2630":{"position":[[5,8],[149,8]]},"2632":{"position":[[137,8],[655,8],[830,9]]},"2634":{"position":[[800,8]]},"2670":{"position":[[1265,8],[1580,8]]},"2684":{"position":[[328,9],[394,8],[1237,9],[2225,10]]},"2706":{"position":[[122,8],[191,8]]}}}],["fund",{"_index":104,"t":{"2546":{"position":[[1390,7]]},"2550":{"position":[[187,7]]},"2552":{"position":[[302,5],[406,5],[456,4]]},"2554":{"position":[[63,7],[166,7],[199,6]]},"2568":{"position":[[221,7]]},"2570":{"position":[[169,7]]},"2572":{"position":[[403,5],[603,8]]},"2574":{"position":[[1018,7],[1117,8],[1253,6],[1349,5],[1501,6]]},"2588":{"position":[[113,7]]},"2613":{"position":[[263,8],[290,7],[409,6]]},"2617":{"position":[[919,7],[979,7],[1750,7],[5304,7],[5683,7],[6880,7],[7283,8],[7755,7]]}}}],["fundament",{"_index":549,"t":{"2574":{"position":[[1839,11]]}}}],["further",{"_index":304,"t":{"2556":{"position":[[691,7]]},"2658":{"position":[[606,7]]}}}],["furthermor",{"_index":574,"t":{"2576":{"position":[[840,12]]}}}],["futur",{"_index":996,"t":{"2617":{"position":[[6302,6],[6474,7],[7821,6]]},"2650":{"position":[[165,6]]}}}],["ga",{"_index":363,"t":{"2568":{"position":[[330,3]]},"2572":{"position":[[851,3]]},"2576":{"position":[[1068,3],[1252,3],[1321,3]]},"2617":{"position":[[7292,3],[7317,3]]},"2662":{"position":[[374,3]]}}}],["game",{"_index":531,"t":{"2574":{"position":[[1429,4]]}}}],["gate",{"_index":563,"t":{"2576":{"position":[[364,4]]}}}],["gatekeep",{"_index":797,"t":{"2605":{"position":[[167,10],[558,10],[732,10]]}}}],["gather",{"_index":956,"t":{"2617":{"position":[[4551,6]]}}}],["genecdhkey(coordinatorprivkey",{"_index":1359,"t":{"2701":{"position":[[328,30]]}}}],["gener",{"_index":178,"t":{"2548":{"position":[[1040,7]]},"2554":{"position":[[323,11],[803,8]]},"2576":{"position":[[828,11]]},"2584":{"position":[[165,8]]},"2594":{"position":[[6,7],[668,7]]},"2603":{"position":[[4,7]]},"2617":{"position":[[6104,8],[6691,10]]},"2652":{"position":[[221,8]]},"2672":{"position":[[336,9]]},"2676":{"position":[[91,9],[149,9],[279,9]]},"2684":{"position":[[496,9],[879,8],[1445,8],[1632,8],[2360,9],[2562,8]]},"2691":{"position":[[4,11],[735,8]]},"2699":{"position":[[1380,8]]},"2701":{"position":[[286,8]]},"2706":{"position":[[131,9],[2969,8],[3140,8]]},"2708":{"position":[[513,9],[600,9]]}}}],["generatedmsgtreeroot",{"_index":1363,"t":{"2703":{"position":[[4,20]]}}}],["generatemerkleroot",{"_index":1250,"t":{"2674":{"position":[[405,19]]},"2706":{"position":[[1240,19],[1508,19]]}}}],["generatemerkleroot(msgtreepathel",{"_index":1364,"t":{"2703":{"position":[[27,39]]}}}],["generatestateleaf",{"_index":1366,"t":{"2706":{"position":[[200,18],[2685,18]]}}}],["gentre",{"_index":1271,"t":{"2674":{"position":[[1594,7]]}}}],["gentree(result",{"_index":1241,"t":{"2672":{"position":[[1615,17]]}}}],["gentree(stateleav",{"_index":1248,"t":{"2674":{"position":[[290,21]]}}}],["gentree(voteleaves[i",{"_index":1261,"t":{"2674":{"position":[[1015,22]]}}}],["get",{"_index":649,"t":{"2588":{"position":[[232,7]]},"2605":{"position":[[940,5]]},"2658":{"position":[[645,4]]},"2674":{"position":[[94,4]]}}}],["gh",{"_index":964,"t":{"2617":{"position":[[5016,2]]}}}],["gitcoin",{"_index":509,"t":{"2574":{"position":[[977,7],[1141,7],[1484,7]]}}}],["github",{"_index":350,"t":{"2564":{"position":[[5,6]]},"2566":{"position":[[42,6]]},"2603":{"position":[[261,6]]},"2617":{"position":[[429,6],[4986,6],[6287,6],[6734,6],[7046,6],[7434,6]]}}}],["give",{"_index":656,"t":{"2590":{"position":[[404,4]]},"2592":{"position":[[390,4]]},"2599":{"position":[[3620,5]]},"2644":{"position":[[774,5]]},"2658":{"position":[[206,5]]}}}],["given",{"_index":239,"t":{"2552":{"position":[[989,5],[1159,5]]},"2605":{"position":[[929,5]]},"2611":{"position":[[254,5]]},"2632":{"position":[[499,5],[628,5]]},"2646":{"position":[[0,5]]},"2672":{"position":[[353,5]]},"2701":{"position":[[210,5]]},"2706":{"position":[[1488,5]]}}}],["glossari",{"_index":1299,"t":{"2684":{"position":[[13,8]]},"2693":{"position":[[105,8]]}}}],["go",{"_index":688,"t":{"2594":{"position":[[656,2]]},"2603":{"position":[[415,5]]}}}],["goal",{"_index":439,"t":{"2572":{"position":[[830,4]]},"2617":{"position":[[1796,4],[2053,6],[2442,6],[3209,4],[5749,5],[7567,5],[7601,5],[7780,4]]}}}],["good",{"_index":105,"t":{"2546":{"position":[[1405,6]]},"2552":{"position":[[468,6]]},"2572":{"position":[[435,6],[597,5]]},"2574":{"position":[[1071,7]]},"2599":{"position":[[3439,4]]},"2617":{"position":[[1086,4]]}}}],["gosl",{"_index":610,"t":{"2580":{"position":[[16,7]]}}}],["govern",{"_index":542,"t":{"2574":{"position":[[1685,6]]},"2617":{"position":[[897,10],[1210,11],[1774,10],[2260,10]]}}}],["grant",{"_index":510,"t":{"2574":{"position":[[985,6],[1183,5]]},"2580":{"position":[[41,5]]},"2617":{"position":[[992,5]]}}}],["grante",{"_index":410,"t":{"2572":{"position":[[135,8]]}}}],["great",{"_index":681,"t":{"2594":{"position":[[450,5]]}}}],["greater",{"_index":551,"t":{"2576":{"position":[[70,7],[599,7]]}}}],["greatli",{"_index":651,"t":{"2590":{"position":[[152,7]]},"2592":{"position":[[138,7]]},"2617":{"position":[[693,7]]}}}],["group",{"_index":532,"t":{"2574":{"position":[[1452,5],[1543,6]]},"2601":{"position":[[373,5]]},"2609":{"position":[[645,6]]},"2617":{"position":[[7250,5]]}}}],["grow",{"_index":603,"t":{"2578":{"position":[[37,4]]}}}],["guarante",{"_index":444,"t":{"2572":{"position":[[1008,11]]}}}],["guid",{"_index":934,"t":{"2617":{"position":[[3771,6],[4767,5]]}}}],["gurkan",{"_index":1276,"t":{"2678":{"position":[[35,7]]}}}],["hackathon",{"_index":971,"t":{"2617":{"position":[[5185,9]]}}}],["handl",{"_index":792,"t":{"2605":{"position":[[32,7]]},"2617":{"position":[[1925,6]]},"2699":{"position":[[1604,6]]}}}],["happen",{"_index":1146,"t":{"2656":{"position":[[69,7]]}}}],["hard",{"_index":645,"t":{"2588":{"position":[[38,4]]}}}],["hardcod",{"_index":215,"t":{"2552":{"position":[[417,9]]},"2672":{"position":[[144,9],[218,9]]},"2706":{"position":[[2547,9]]}}}],["harder",{"_index":842,"t":{"2613":{"position":[[150,7]]}}}],["hardwar",{"_index":571,"t":{"2576":{"position":[[776,9]]},"2658":{"position":[[253,9],[346,9],[373,8],[550,8],[786,9]]}}}],["hash",{"_index":158,"t":{"2548":{"position":[[688,4]]},"2609":{"position":[[920,4]]},"2611":{"position":[[334,4]]},"2624":{"position":[[337,4]]},"2628":{"position":[[658,4]]},"2634":{"position":[[601,7]]},"2672":{"position":[[731,4],[1077,4],[1536,4]]},"2684":{"position":[[1253,6]]},"2691":{"position":[[670,4],[696,4]]}}}],["hash(gentree(computedresult",{"_index":1270,"t":{"2674":{"position":[[1525,30]]}}}],["hash(gentree(currentresult",{"_index":1269,"t":{"2674":{"position":[[1374,29]]}}}],["hash(root",{"_index":1242,"t":{"2672":{"position":[[1633,10]]}}}],["hashcloack",{"_index":113,"t":{"2548":{"position":[[20,10]]}}}],["hashcloak",{"_index":369,"t":{"2568":{"position":[[464,10]]}}}],["have",{"_index":190,"t":{"2550":{"position":[[75,6]]},"2670":{"position":[[969,6]]}}}],["hear",{"_index":1015,"t":{"2617":{"position":[[7383,4]]}}}],["help",{"_index":670,"t":{"2594":{"position":[[155,7]]},"2599":{"position":[[3744,8]]},"2601":{"position":[[1362,7]]},"2617":{"position":[[4543,4],[5755,4]]},"2693":{"position":[[121,4]]}}}],["helper",{"_index":579,"t":{"2576":{"position":[[1009,6]]}}}],["here",{"_index":276,"t":{"2554":{"position":[[927,4]]},"2566":{"position":[[0,4]]},"2568":{"position":[[548,5]]},"2599":{"position":[[2048,4]]},"2601":{"position":[[835,5]]},"2617":{"position":[[4449,4],[5738,5]]}}}],["hide",{"_index":661,"t":{"2590":{"position":[[675,4]]},"2592":{"position":[[661,4]]},"2634":{"position":[[568,5]]}}}],["high",{"_index":118,"t":{"2548":{"position":[[88,4],[219,4]]},"2617":{"position":[[2027,4],[2414,4],[7541,4],[7573,4]]},"2670":{"position":[[120,4]]}}}],["highli",{"_index":372,"t":{"2568":{"position":[[581,6]]}}}],["highlight",{"_index":514,"t":{"2574":{"position":[[1149,10]]}}}],["histori",{"_index":668,"t":{"2594":{"position":[[28,7]]}}}],["hold",{"_index":211,"t":{"2552":{"position":[[289,4]]}}}],["homepag",{"_index":1180,"t":{"2668":{"position":[[46,8]]}}}],["honest",{"_index":1278,"t":{"2680":{"position":[[395,7]]}}}],["hope",{"_index":598,"t":{"2576":{"position":[[1683,4]]},"2584":{"position":[[264,4]]},"2586":{"position":[[85,4]]},"2617":{"position":[[4444,4]]}}}],["http",{"_index":291,"t":{"2556":{"position":[[290,4]]}}}],["https://www.vitalik.ca/general/2019/10/01/story.html",{"_index":1158,"t":{"2658":{"position":[[819,52]]}}}],["huge",{"_index":840,"t":{"2613":{"position":[[10,4]]}}}],["human",{"_index":1004,"t":{"2617":{"position":[[6622,5]]}}}],["i.",{"_index":283,"t":{"2556":{"position":[[101,5],[134,5]]},"2664":{"position":[[79,4]]},"2706":{"position":[[559,5]]}}}],["idea",{"_index":448,"t":{"2572":{"position":[[1082,6]]},"2578":{"position":[[61,6]]},"2594":{"position":[[227,4],[361,4]]},"2599":{"position":[[3444,4]]},"2617":{"position":[[7363,6]]}}}],["iden3’",{"_index":572,"t":{"2576":{"position":[[797,7]]}}}],["ident",{"_index":263,"t":{"2554":{"position":[[560,8],[651,11]]},"2599":{"position":[[156,8]]},"2680":{"position":[[504,8]]}}}],["identifi",{"_index":968,"t":{"2617":{"position":[[5129,8]]}}}],["ignor",{"_index":1255,"t":{"2674":{"position":[[747,6]]},"2684":{"position":[[1571,6]]}}}],["illustr",{"_index":502,"t":{"2574":{"position":[[885,10]]},"2597":{"position":[[1079,12]]},"2599":{"position":[[728,11]]}}}],["imag",{"_index":1183,"t":{"2668":{"position":[[123,7]]}}}],["immedi",{"_index":1288,"t":{"2682":{"position":[[294,11]]}}}],["imo",{"_index":1160,"t":{"2660":{"position":[[45,4]]}}}],["impact",{"_index":606,"t":{"2578":{"position":[[135,9]]},"2670":{"position":[[844,6]]}}}],["implement",{"_index":269,"t":{"2554":{"position":[[729,15]]},"2558":{"position":[[80,11],[324,9]]},"2576":{"position":[[584,11]]},"2586":{"position":[[106,12]]},"2617":{"position":[[3343,9],[3872,15],[5583,14],[6780,14]]},"2642":{"position":[[601,15],[887,15]]},"2680":{"position":[[29,14]]}}}],["implic",{"_index":1116,"t":{"2644":{"position":[[79,12]]}}}],["import",{"_index":479,"t":{"2574":{"position":[[364,9],[1567,9]]},"2594":{"position":[[44,10]]},"2599":{"position":[[3473,9]]},"2613":{"position":[[496,9]]},"2617":{"position":[[6395,9]]},"2644":{"position":[[69,9]]}}}],["imposs",{"_index":1171,"t":{"2664":{"position":[[6,10],[144,10],[237,10]]},"2682":{"position":[[954,10]]}}}],["improv",{"_index":37,"t":{"2546":{"position":[[170,9]]},"2572":{"position":[[497,7],[901,7]]},"2617":{"position":[[3408,8],[3497,7],[3518,7],[4235,9],[4346,9],[4612,7],[6900,12],[7063,13],[7871,12]]}}}],["improve/cr",{"_index":931,"t":{"2617":{"position":[[3602,14]]}}}],["inbound",{"_index":994,"t":{"2617":{"position":[[6113,7]]}}}],["incent",{"_index":485,"t":{"2574":{"position":[[520,9]]},"2590":{"position":[[1109,9]]},"2592":{"position":[[1095,9]]},"2613":{"position":[[362,9]]}}}],["incentiv",{"_index":743,"t":{"2599":{"position":[[3376,12]]}}}],["incept",{"_index":92,"t":{"2546":{"position":[[1163,10]]}}}],["includ",{"_index":279,"t":{"2556":{"position":[[9,8]]},"2599":{"position":[[358,9]]},"2615":{"position":[[77,9]]},"2691":{"position":[[884,8]]},"2693":{"position":[[206,7]]},"2699":{"position":[[1195,8]]}}}],["inclus",{"_index":1397,"t":{"2706":{"position":[[2476,10]]}}}],["incomplet",{"_index":133,"t":{"2548":{"position":[[266,10]]}}}],["incorrect",{"_index":144,"t":{"2548":{"position":[[441,9]]}}}],["increas",{"_index":545,"t":{"2574":{"position":[[1783,8]]},"2590":{"position":[[160,9]]},"2592":{"position":[[146,9]]},"2617":{"position":[[701,9],[5864,8]]},"2644":{"position":[[244,10]]},"2662":{"position":[[172,10]]}}}],["increasingli",{"_index":538,"t":{"2574":{"position":[[1611,12]]}}}],["increment",{"_index":585,"t":{"2576":{"position":[[1110,11]]},"2630":{"position":[[77,10]]},"2632":{"position":[[532,10]]}}}],["inde",{"_index":1133,"t":{"2646":{"position":[[448,6]]},"2682":{"position":[[1344,6]]}}}],["independ",{"_index":1379,"t":{"2706":{"position":[[1039,11]]}}}],["index",{"_index":221,"t":{"2552":{"position":[[566,6]]},"2628":{"position":[[588,5],[600,5]]},"2632":{"position":[[560,5]]},"2642":{"position":[[235,5],[946,5]]},"2646":{"position":[[706,5],[760,5]]},"2670":{"position":[[1608,5]]},"2672":{"position":[[540,5]]},"2684":{"position":[[2103,5]]},"2697":{"position":[[239,5],[315,5],[380,5]]},"2699":{"position":[[831,5]]},"2706":{"position":[[541,5],[1494,5],[2399,5],[3127,5]]},"2708":{"position":[[315,5],[391,5]]}}}],["indic",{"_index":594,"t":{"2576":{"position":[[1551,9]]},"2632":{"position":[[725,9]]}}}],["individu",{"_index":695,"t":{"2597":{"position":[[354,11],[767,10]]},"2601":{"position":[[960,10]]},"2611":{"position":[[956,10]]},"2617":{"position":[[1234,10]]}}}],["individual’",{"_index":779,"t":{"2601":{"position":[[1273,12]]}}}],["influenc",{"_index":1211,"t":{"2670":{"position":[[988,9]]},"2682":{"position":[[375,10]]}}}],["info",{"_index":812,"t":{"2605":{"position":[[1277,4]]},"2617":{"position":[[341,4]]}}}],["inform",{"_index":300,"t":{"2556":{"position":[[583,11]]},"2605":{"position":[[108,11]]},"2642":{"position":[[1441,11],[1526,11]]},"2693":{"position":[[396,11],[781,11]]}}}],["infrastructur",{"_index":9,"t":{"2544":{"position":[[94,14]]},"2564":{"position":[[101,14]]},"2568":{"position":[[98,14]]},"2584":{"position":[[345,15]]},"2590":{"position":[[60,15]]},"2592":{"position":[[46,15]]},"2594":{"position":[[295,15]]},"2617":{"position":[[1058,15],[1119,14],[1943,14],[5381,15]]},"2620":{"position":[[532,15],[615,15]]},"2680":{"position":[[70,14]]}}}],["inherit",{"_index":391,"t":{"2570":{"position":[[1232,8]]}}}],["initi",{"_index":147,"t":{"2548":{"position":[[533,14],[751,15]]},"2552":{"position":[[890,7]]},"2572":{"position":[[75,7]]},"2603":{"position":[[366,7]]},"2605":{"position":[[183,7],[1010,7]]},"2617":{"position":[[927,12],[3306,11],[4806,11],[5726,11],[5780,11],[7641,11],[7706,11],[7785,11]]},"2628":{"position":[[442,10]]},"2658":{"position":[[47,7],[428,7],[763,7]]},"2691":{"position":[[353,10]]}}}],["initialvoicecreditproxi",{"_index":808,"t":{"2605":{"position":[[840,26]]},"2628":{"position":[[348,23]]}}}],["input",{"_index":626,"t":{"2584":{"position":[[191,6]]},"2609":{"position":[[972,5]]},"2617":{"position":[[4739,5],[5285,5]]},"2620":{"position":[[319,6],[419,7],[458,5]]},"2632":{"position":[[226,6]]},"2672":{"position":[[25,5]]},"2697":{"position":[[11,6]]},"2699":{"position":[[12,6]]},"2701":{"position":[[222,5]]},"2706":{"position":[[1422,5],[2529,6],[3269,6]]}}}],["insert",{"_index":155,"t":{"2548":{"position":[[665,9]]},"2552":{"position":[[597,6]]},"2638":{"position":[[354,8]]},"2646":{"position":[[542,9]]},"2674":{"position":[[884,8]]},"2684":{"position":[[1276,7],[2079,6]]}}}],["insid",{"_index":821,"t":{"2609":{"position":[[426,6]]}}}],["insight",{"_index":957,"t":{"2617":{"position":[[4558,10]]}}}],["instanc",{"_index":294,"t":{"2556":{"position":[[353,9],[469,10]]},"2574":{"position":[[144,9]]},"2576":{"position":[[174,8],[387,9],[1523,9]]},"2586":{"position":[[182,9]]},"2628":{"position":[[230,9]]},"2636":{"position":[[225,9]]},"2670":{"position":[[541,9]]},"2672":{"position":[[1598,9]]},"2682":{"position":[[1060,9]]}}}],["instead",{"_index":637,"t":{"2586":{"position":[[73,8]]},"2644":{"position":[[956,8]]}}}],["insuffici",{"_index":1405,"t":{"2708":{"position":[[28,12]]}}}],["integ",{"_index":135,"t":{"2548":{"position":[[313,7]]}}}],["integr",{"_index":100,"t":{"2546":{"position":[[1314,10]]},"2572":{"position":[[514,9],[1303,11]]},"2574":{"position":[[76,10]]},"2617":{"position":[[1868,9],[2071,10],[2131,10],[2178,10],[2289,12],[3103,10],[3283,9],[3576,11],[4146,12],[4486,11],[4924,12],[4966,12],[5608,9],[6262,13],[6805,9],[7201,12]]}}}],["intent",{"_index":341,"t":{"2562":{"position":[[177,9]]}}}],["interact",{"_index":293,"t":{"2556":{"position":[[329,8]]},"2617":{"position":[[4468,12]]}}}],["intercept",{"_index":145,"t":{"2548":{"position":[[457,12]]}}}],["interchang",{"_index":1326,"t":{"2693":{"position":[[83,16]]}}}],["interest",{"_index":536,"t":{"2574":{"position":[[1522,10]]},"2576":{"position":[[1653,8]]},"2578":{"position":[[119,11]]},"2588":{"position":[[218,10]]},"2617":{"position":[[6121,8]]},"2670":{"position":[[135,8],[526,10]]}}}],["interfac",{"_index":623,"t":{"2584":{"position":[[67,9]]},"2622":{"position":[[66,10]]}}}],["intermedi",{"_index":1074,"t":{"2634":{"position":[[336,12],[392,12]]},"2670":{"position":[[1430,12],[1622,12]]},"2672":{"position":[[245,12],[311,12]]},"2674":{"position":[[165,12],[348,12]]},"2676":{"position":[[46,12],[211,12]]}}}],["intermediatepathel",{"_index":1251,"t":{"2674":{"position":[[425,25]]}}}],["intermediatepathelements[k",{"_index":1223,"t":{"2672":{"position":[[381,27]]}}}],["intermediatepathindex",{"_index":1226,"t":{"2672":{"position":[[495,21]]},"2674":{"position":[[451,22],[666,21]]}}}],["intermediateroot",{"_index":1252,"t":{"2674":{"position":[[474,16]]}}}],["intermediatestateroot",{"_index":1222,"t":{"2672":{"position":[[278,21],[447,21],[551,21]]}}}],["intermediatestatetreedepth",{"_index":1221,"t":{"2672":{"position":[[191,26],[1458,26]]}}}],["introduc",{"_index":251,"t":{"2554":{"position":[[228,10]]}}}],["introduct",{"_index":110,"t":{"2546":{"position":[[1486,12]]},"2564":{"position":[[35,12]]},"2590":{"position":[[0,13]]},"2594":{"position":[[467,12],[547,12]]},"2599":{"position":[[3717,12]]}}}],["invalid",{"_index":724,"t":{"2599":{"position":[[1302,7],[1852,7],[3233,7],[3353,8]]},"2624":{"position":[[111,7]]},"2628":{"position":[[624,7]]},"2644":{"position":[[288,7],[688,7],[1160,8],[1262,10]]},"2652":{"position":[[77,8]]},"2654":{"position":[[204,8]]},"2676":{"position":[[18,7],[101,7],[159,7]]},"2682":{"position":[[1522,10]]},"2684":{"position":[[1582,7],[1842,7]]},"2706":{"position":[[1117,7]]},"2708":{"position":[[100,7],[159,7],[222,7],[296,7],[366,7],[442,7],[523,7]]}}}],["invalu",{"_index":462,"t":{"2572":{"position":[[1414,10]]}}}],["invest",{"_index":398,"t":{"2570":{"position":[[1541,10]]}}}],["invok",{"_index":1301,"t":{"2684":{"position":[[296,7],[666,6]]}}}],["involv",{"_index":330,"t":{"2562":{"position":[[23,8]]},"2588":{"position":[[240,8]]}}}],["issu",{"_index":128,"t":{"2548":{"position":[[229,6],[511,5],[966,6],[1029,6]]},"2554":{"position":[[907,5]]},"2560":{"position":[[221,6]]},"2562":{"position":[[112,6],[144,5]]},"2568":{"position":[[645,6]]},"2603":{"position":[[693,7],[711,5]]},"2617":{"position":[[7421,5]]},"2682":{"position":[[620,6]]}}}],["iter",{"_index":860,"t":{"2617":{"position":[[265,7],[4594,7]]}}}],["it’",{"_index":744,"t":{"2599":{"position":[[3468,4]]},"2617":{"position":[[6372,4]]}}}],["j",{"_index":1264,"t":{"2674":{"position":[[1160,1]]}}}],["jie",{"_index":417,"t":{"2572":{"position":[[203,4]]},"2594":{"position":[[106,4]]},"2620":{"position":[[562,4],[645,4]]},"2662":{"position":[[539,4]]},"2678":{"position":[[73,3]]}}}],["jie’",{"_index":694,"t":{"2594":{"position":[[779,5]]}}}],["join",{"_index":655,"t":{"2590":{"position":[[362,5]]},"2592":{"position":[[348,5]]},"2617":{"position":[[400,4]]}}}],["k",{"_index":1238,"t":{"2672":{"position":[[1432,1]]}}}],["keccak256",{"_index":1032,"t":{"2624":{"position":[[327,9]]}}}],["keen",{"_index":605,"t":{"2578":{"position":[[75,4]]}}}],["keep",{"_index":446,"t":{"2572":{"position":[[1053,4]]},"2576":{"position":[[369,4]]},"2603":{"position":[[311,7]]},"2609":{"position":[[244,5],[367,4]]},"2670":{"position":[[1589,5]]}}}],["kendrick",{"_index":413,"t":{"2572":{"position":[[181,8]]},"2678":{"position":[[16,8]]}}}],["kept",{"_index":560,"t":{"2576":{"position":[[295,4]]}}}],["key",{"_index":48,"t":{"2546":{"position":[[314,4],[863,3],[916,4]]},"2550":{"position":[[115,3]]},"2552":{"position":[[255,5]]},"2556":{"position":[[671,4]]},"2570":{"position":[[817,3],[870,4]]},"2594":{"position":[[1243,3],[1296,3]]},"2597":{"position":[[676,3],[730,3],[801,3]]},"2599":{"position":[[71,3],[138,3],[270,4],[377,4],[521,3],[854,4],[923,4],[1056,3],[1119,4],[1181,3],[1267,4],[1366,3],[1546,3],[1602,3],[1787,3],[1837,3],[1963,4],[2093,3],[2173,3],[2214,3],[2225,3],[2437,3],[2450,3],[2556,3],[2570,3],[2720,3],[2863,3],[2904,3],[3149,3],[3172,3]]},"2603":{"position":[[381,3]]},"2605":{"position":[[155,3],[226,3],[253,3],[380,3],[428,3],[1319,3]]},"2607":{"position":[[175,3],[259,3],[291,4],[336,3],[497,3]]},"2617":{"position":[[7119,3]]},"2624":{"position":[[187,4]]},"2628":{"position":[[677,4]]},"2632":{"position":[[889,4]]},"2636":{"position":[[41,4],[369,3]]},"2640":{"position":[[26,3]]},"2642":{"position":[[297,3],[437,4],[465,3],[560,4],[729,4],[846,4]]},"2646":{"position":[[390,4]]},"2658":{"position":[[25,3],[62,4],[139,4],[221,3],[403,3],[443,3],[465,3],[595,3],[614,3],[771,3]]},"2680":{"position":[[584,4]]},"2682":{"position":[[90,3],[179,3],[525,3],[690,4],[737,4],[871,3],[1142,3],[1246,3],[1482,3],[1538,4]]},"2684":{"position":[[764,3],[832,3],[872,3],[897,3],[988,3],[1095,3],[1177,3],[1894,3],[1945,4],[2071,4]]},"2691":{"position":[[0,3],[132,4],[259,4],[331,3],[450,3],[731,3],[759,3],[786,3],[805,4],[839,4],[924,3],[1017,4],[1040,4]]},"2693":{"position":[[232,4],[321,5],[372,3]]},"2697":{"position":[[114,3]]},"2699":{"position":[[1275,3],[1307,3],[1368,3],[1405,3],[1493,4]]},"2701":{"position":[[35,3],[61,3],[206,3],[304,3],[394,3]]}}}],["key'",{"_index":1089,"t":{"2638":{"position":[[45,5],[91,5]]},"2642":{"position":[[650,5],[767,5]]}}}],["keypair",{"_index":1293,"t":{"2682":{"position":[[814,7]]},"2684":{"position":[[284,7]]},"2691":{"position":[[40,8]]}}}],["kind",{"_index":252,"t":{"2554":{"position":[[244,4]]},"2574":{"position":[[827,4]]}}}],["know",{"_index":705,"t":{"2597":{"position":[[719,5]]},"2599":{"position":[[3315,7],[3486,4]]},"2601":{"position":[[49,4],[211,4],[453,4],[945,5],[1068,4]]},"2632":{"position":[[868,4]]},"2642":{"position":[[1463,4]]},"2654":{"position":[[24,4]]}}}],["knowledg",{"_index":302,"t":{"2556":{"position":[[655,9]]},"2570":{"position":[[42,9],[1209,9]]},"2572":{"position":[[1146,9]]}}}],["known",{"_index":1286,"t":{"2682":{"position":[[186,5]]}}}],["kobi",{"_index":1275,"t":{"2678":{"position":[[30,4]]}}}],["koh",{"_index":415,"t":{"2572":{"position":[[195,3]]},"2620":{"position":[[554,3],[637,3]]},"2678":{"position":[[65,3]]}}}],["kyle",{"_index":352,"t":{"2564":{"position":[[62,4]]}}}],["lack",{"_index":146,"t":{"2548":{"position":[[525,4]]}}}],["landscap",{"_index":986,"t":{"2617":{"position":[[5922,9]]}}}],["larg",{"_index":844,"t":{"2613":{"position":[[318,6],[356,5]]},"2691":{"position":[[373,6]]}}}],["larger",{"_index":274,"t":{"2554":{"position":[[883,6],[1000,6]]}}}],["last",{"_index":432,"t":{"2572":{"position":[[616,4]]},"2644":{"position":[[135,4]]}}}],["lastli",{"_index":675,"t":{"2594":{"position":[[311,7]]}}}],["late",{"_index":406,"t":{"2572":{"position":[[107,4],[811,4]]}}}],["later",{"_index":801,"t":{"2605":{"position":[[384,5]]},"2609":{"position":[[390,5],[501,5]]},"2628":{"position":[[819,5]]},"2644":{"position":[[1087,6]]},"2682":{"position":[[202,5]]}}}],["latest",{"_index":322,"t":{"2560":{"position":[[138,6]]},"2576":{"position":[[896,6]]},"2644":{"position":[[747,6]]},"2697":{"position":[[402,6]]},"2699":{"position":[[144,6],[1139,6]]}}}],["launch",{"_index":993,"t":{"2617":{"position":[[6094,6]]}}}],["leader",{"_index":871,"t":{"2617":{"position":[[871,7]]}}}],["leaf",{"_index":1024,"t":{"2624":{"position":[[203,4]]},"2628":{"position":[[550,4],[646,4]]},"2636":{"position":[[11,4],[410,5],[421,4]]},"2642":{"position":[[40,4],[80,4],[178,5],[248,4],[362,4],[959,4],[1008,4]]},"2646":{"position":[[577,4],[701,4],[755,4]]},"2654":{"position":[[113,4]]},"2674":{"position":[[754,4],[873,4],[976,5]]},"2684":{"position":[[512,4],[1554,4],[1606,4],[1627,4],[2095,4]]},"2697":{"position":[[310,4],[421,4]]},"2699":{"position":[[163,4],[300,5],[449,5],[765,4],[878,4],[974,4],[1062,4],[1090,4],[1158,4],[1227,5]]},"2706":{"position":[[149,4],[536,4],[979,4],[1412,6],[2076,5],[3119,4]]},"2708":{"position":[[82,4],[141,4],[204,4],[278,4],[310,4],[348,4],[424,4]]}}}],["leaf'",{"_index":1388,"t":{"2706":{"position":[[1991,6]]}}}],["learn",{"_index":608,"t":{"2578":{"position":[[186,5]]}}}],["leav",{"_index":1029,"t":{"2624":{"position":[[268,7]]},"2626":{"position":[[32,6]]},"2628":{"position":[[632,8]]},"2634":{"position":[[278,7],[306,6]]},"2638":{"position":[[401,6],[451,7]]},"2654":{"position":[[52,6]]},"2670":{"position":[[1373,7],[1415,6]]},"2672":{"position":[[365,6],[667,6],[766,6],[990,6],[1136,6],[1194,6],[1275,6],[1319,7],[1410,6],[1574,7]]},"2674":{"position":[[1236,6],[1674,7]]},"2676":{"position":[[32,6],[121,6]]}}}],["left",{"_index":546,"t":{"2574":{"position":[[1795,4]]},"2636":{"position":[[134,5]]},"2646":{"position":[[536,5]]}}}],["legitim",{"_index":1281,"t":{"2680":{"position":[[531,10]]}}}],["length",{"_index":1240,"t":{"2672":{"position":[[1502,6]]}}}],["leq",{"_index":1372,"t":{"2706":{"position":[[571,3]]}}}],["less",{"_index":1010,"t":{"2617":{"position":[[7296,4]]},"2646":{"position":[[715,4]]}}}],["let'",{"_index":23,"t":{"2544":{"position":[[252,5]]}}}],["level",{"_index":887,"t":{"2617":{"position":[[2032,5],[2419,5],[7546,5],[7578,5]]}}}],["liang",{"_index":420,"t":{"2572":{"position":[[223,6]]},"2678":{"position":[[54,6]]}}}],["life",{"_index":1186,"t":{"2668":{"position":[[172,4]]}}}],["lifecycl",{"_index":936,"t":{"2617":{"position":[[3802,9]]}}}],["likewis",{"_index":1317,"t":{"2691":{"position":[[192,9]]}}}],["limit",{"_index":823,"t":{"2609":{"position":[[702,6]]},"2662":{"position":[[493,5]]},"2670":{"position":[[312,7]]},"2693":{"position":[[1032,7]]}}}],["link",{"_index":354,"t":{"2566":{"position":[[10,4]]}}}],["list",{"_index":749,"t":{"2599":{"position":[[3703,6]]},"2674":{"position":[[1666,4]]}}}],["live",{"_index":289,"t":{"2556":{"position":[[254,5]]}}}],["lock",{"_index":1147,"t":{"2658":{"position":[[18,6],[754,4]]}}}],["logic",{"_index":562,"t":{"2576":{"position":[[355,5],[437,5]]},"2617":{"position":[[1991,5]]},"2650":{"position":[[86,5]]},"2706":{"position":[[458,6]]}}}],["long",{"_index":171,"t":{"2548":{"position":[[902,4]]},"2599":{"position":[[797,4]]},"2617":{"position":[[1502,4]]},"2682":{"position":[[1556,4]]}}}],["longer",{"_index":1305,"t":{"2684":{"position":[[659,6]]}}}],["look",{"_index":591,"t":{"2576":{"position":[[1391,7]]}}}],["love",{"_index":1014,"t":{"2617":{"position":[[7375,4]]}}}],["m",{"_index":1237,"t":{"2672":{"position":[[1385,1]]},"2674":{"position":[[738,2]]}}}],["maci",{"_index":5,"t":{"2544":{"position":[[64,4],[286,4]]},"2546":{"position":[[0,4],[180,4],[390,5],[1174,4],[1285,4],[1447,5]]},"2548":{"position":[[0,4],[149,4]]},"2550":{"position":[[110,4],[252,4]]},"2556":{"position":[[0,4],[107,4],[343,5]]},"2558":{"position":[[0,4],[260,5],[334,4],[443,4]]},"2560":{"position":[[0,4],[39,4],[232,4]]},"2562":{"position":[[37,4]]},"2564":{"position":[[0,4],[51,4]]},"2568":{"position":[[113,7],[121,4],[440,4]]},"2570":{"position":[[0,4],[188,4],[1131,4],[1459,4]]},"2572":{"position":[[0,4],[230,4],[505,4]]},"2574":{"position":[[451,4],[1559,4]]},"2576":{"position":[[186,5],[515,4],[659,4],[1608,4],[1674,5]]},"2578":{"position":[[29,4]]},"2580":{"position":[[317,4]]},"2582":{"position":[[23,4]]},"2584":{"position":[[307,4]]},"2586":{"position":[[27,4],[119,4],[262,5],[371,4]]},"2590":{"position":[[14,5],[509,5],[622,4]]},"2592":{"position":[[0,5],[495,5],[608,4]]},"2594":{"position":[[58,5],[90,4],[196,5],[235,5],[417,5],[688,4]]},"2597":{"position":[[7,4],[139,4],[1018,4]]},"2599":{"position":[[105,4],[2311,4],[2954,4],[3456,4]]},"2601":{"position":[[563,5],[1332,4],[1394,4]]},"2603":{"position":[[178,5],[256,4],[278,4],[564,4],[658,4]]},"2605":{"position":[[24,4],[478,4],[786,4],[1158,4],[1246,4]]},"2607":{"position":[[29,4]]},"2609":{"position":[[1132,4]]},"2613":{"position":[[0,4],[158,4],[430,4]]},"2615":{"position":[[15,4]]},"2617":{"position":[[0,4],[60,4],[491,4],[645,5],[1006,4],[1029,4],[1228,5],[1517,4],[1658,4],[1912,4],[2038,4],[2066,4],[2126,4],[2173,4],[2229,4],[2308,4],[2382,4],[2425,4],[2463,4],[2574,4],[2896,4],[2975,4],[3025,4],[3041,5],[3068,5],[3114,4],[3244,4],[3365,4],[3899,4],[3926,4],[3961,4],[3995,4],[4096,5],[4620,4],[4919,4],[5010,5],[5618,4],[6482,4],[6713,4],[6815,4],[7058,4],[7301,4],[7485,6],[7519,4],[7552,4],[7584,4],[7610,4],[7680,4],[7832,4],[7866,4]]},"2620":{"position":[[35,5],[575,4],[658,4]]},"2622":{"position":[[30,6]]},"2624":{"position":[[36,4],[356,7]]},"2628":{"position":[[836,4]]},"2666":{"position":[[38,4]]},"2668":{"position":[[21,4]]},"2670":{"position":[[104,4],[1228,4]]},"2680":{"position":[[85,7],[178,4],[330,4],[487,4]]},"2682":{"position":[[219,4]]},"2684":{"position":[[75,4]]}}}],["maci.deploypol",{"_index":790,"t":{"2603":{"position":[[479,18]]}}}],["maci.signup",{"_index":796,"t":{"2605":{"position":[[133,14],[682,14],[968,14]]}}}],["maci.sol",{"_index":793,"t":{"2605":{"position":[[48,8]]}}}],["maci/qf",{"_index":995,"t":{"2617":{"position":[[6254,7]]}}}],["maci’",{"_index":458,"t":{"2572":{"position":[[1296,6]]},"2576":{"position":[[34,6]]}}}],["macmillan",{"_index":424,"t":{"2572":{"position":[[306,9]]}}}],["main",{"_index":52,"t":{"2546":{"position":[[371,4]]},"2580":{"position":[[312,4]]},"2603":{"position":[[155,4]]},"2706":{"position":[[445,4]]}}}],["maintain",{"_index":1021,"t":{"2624":{"position":[[3,8]]}}}],["mainten",{"_index":950,"t":{"2617":{"position":[[4294,12],[4998,11]]}}}],["major",{"_index":358,"t":{"2568":{"position":[[256,5]]},"2617":{"position":[[2848,5]]},"2662":{"position":[[303,8]]}}}],["make",{"_index":143,"t":{"2548":{"position":[[431,6]]},"2584":{"position":[[31,5]]},"2603":{"position":[[141,4]]},"2613":{"position":[[137,4],[445,4]]},"2617":{"position":[[147,4],[3239,4],[6706,6],[6967,4],[7010,4]]},"2644":{"position":[[1150,5]]},"2646":{"position":[[482,4]]},"2680":{"position":[[183,4]]},"2682":{"position":[[945,5]]}}}],["malici",{"_index":163,"t":{"2548":{"position":[[769,9]]},"2552":{"position":[[198,9]]},"2662":{"position":[[319,9]]}}}],["manag",{"_index":580,"t":{"2576":{"position":[[1025,8]]},"2584":{"position":[[105,6]]}}}],["mandat",{"_index":1289,"t":{"2682":{"position":[[447,7]]}}}],["mani",{"_index":556,"t":{"2576":{"position":[[237,4]]},"2605":{"position":[[916,4],[1050,4],[1216,4]]},"2617":{"position":[[1138,4]]},"2628":{"position":[[402,4]]},"2662":{"position":[[53,4]]},"2670":{"position":[[27,4],[1063,4]]},"2693":{"position":[[617,4],[842,4]]}}}],["manipul",{"_index":878,"t":{"2617":{"position":[[1453,12]]}}}],["map",{"_index":1023,"t":{"2624":{"position":[[164,7]]},"2693":{"position":[[337,7]]}}}],["mark",{"_index":642,"t":{"2588":{"position":[[13,5]]},"2599":{"position":[[1292,6]]}}}],["match",{"_index":523,"t":{"2574":{"position":[[1244,8],[1340,8],[1492,8]]},"2599":{"position":[[3128,5]]},"2617":{"position":[[7224,8],[7261,8]]},"2674":{"position":[[921,7]]},"2701":{"position":[[170,7]]}}}],["mathemat",{"_index":751,"t":{"2601":{"position":[[78,12]]}}}],["matter",{"_index":1077,"t":{"2634":{"position":[[734,6]]}}}],["maximum",{"_index":1135,"t":{"2646":{"position":[[741,7]]},"2697":{"position":[[302,7]]},"2706":{"position":[[582,7]]}}}],["maxstateleafindex",{"_index":1337,"t":{"2697":{"position":[[280,17]]},"2706":{"position":[[656,17]]}}}],["mean",{"_index":1067,"t":{"2632":{"position":[[397,5]]},"2670":{"position":[[1168,5]]},"2693":{"position":[[160,7]]}}}],["meant",{"_index":805,"t":{"2605":{"position":[[572,5]]},"2642":{"position":[[1244,5]]}}}],["measur",{"_index":985,"t":{"2617":{"position":[[5906,7]]}}}],["mechan",{"_index":486,"t":{"2574":{"position":[[530,10]]},"2576":{"position":[[1174,10],[1200,9]]},"2617":{"position":[[7130,10],[7233,10]]},"2662":{"position":[[625,10]]},"2670":{"position":[[55,11]]},"2684":{"position":[[364,9]]}}}],["media",{"_index":974,"t":{"2617":{"position":[[5212,6]]}}}],["member",{"_index":955,"t":{"2617":{"position":[[4530,7]]},"2680":{"position":[[542,6]]}}}],["memori",{"_index":24,"t":{"2544":{"position":[[271,6]]},"2632":{"position":[[53,6],[86,6],[118,6]]},"2634":{"position":[[93,6],[132,6]]}}}],["mention",{"_index":799,"t":{"2605":{"position":[[257,9]]}}}],["mere",{"_index":1209,"t":{"2670":{"position":[[884,6]]}}}],["merg",{"_index":367,"t":{"2568":{"position":[[427,6]]},"2580":{"position":[[296,6]]},"2628":{"position":[[895,6]]}}}],["merkl",{"_index":159,"t":{"2548":{"position":[[702,6]]},"2576":{"position":[[1122,6]]},"2605":{"position":[[1299,6]]},"2607":{"position":[[518,6]]},"2624":{"position":[[16,6]]},"2626":{"position":[[17,6]]},"2634":{"position":[[369,6]]},"2636":{"position":[[50,6],[635,6]]},"2638":{"position":[[138,6]]},"2642":{"position":[[1550,6]]},"2672":{"position":[[86,6],[324,6],[421,6],[528,6],[1546,6]]},"2674":{"position":[[201,6],[909,6],[1647,6]]},"2676":{"position":[[167,6]]},"2697":{"position":[[174,6],[227,6],[368,6]]},"2699":{"position":[[107,6],[231,6],[381,6],[702,6],[819,6],[912,6],[1014,6]]},"2706":{"position":[[1002,6],[1156,6],[1199,6]]},"2708":{"position":[[450,6],[531,6]]}}}],["merkletreeupd",{"_index":1402,"t":{"2706":{"position":[[3006,17],[3299,17]]}}}],["messag",{"_index":134,"t":{"2548":{"position":[[304,8],[605,8],[736,7]]},"2552":{"position":[[118,7],[612,7],[629,7],[749,8]]},"2556":{"position":[[394,7]]},"2597":{"position":[[971,9],[1005,7]]},"2599":{"position":[[220,7],[654,8],[702,7],[937,7],[1276,7],[1702,8],[1860,8],[2281,7],[2362,8],[2462,7],[2924,7],[3010,7],[3083,7],[3198,8],[3222,7],[3563,7]]},"2601":{"position":[[869,8],[1008,9],[1111,8]]},"2603":{"position":[[89,7],[105,8],[550,9],[949,8]]},"2607":{"position":[[156,7],[355,7],[432,8],[474,7],[510,7]]},"2609":{"position":[[160,7],[332,9],[372,8],[418,7],[519,7],[633,8],[808,9],[1317,9],[1374,8]]},"2611":{"position":[[18,8],[95,9],[163,8],[209,8],[881,8]]},"2624":{"position":[[84,8]]},"2630":{"position":[[92,7],[130,7]]},"2632":{"position":[[295,7],[514,9],[547,7],[709,7],[753,8],[914,9]]},"2642":{"position":[[318,8],[492,8],[1225,8],[1236,7]]},"2644":{"position":[[0,8],[146,7],[200,7],[335,9],[538,8],[579,8]]},"2646":{"position":[[339,7]]},"2650":{"position":[[29,7],[146,7],[172,7]]},"2662":{"position":[[58,8],[140,7],[233,8]]},"2664":{"position":[[58,7],[106,7],[178,7],[271,7]]},"2672":{"position":[[1494,7]]},"2682":{"position":[[364,7],[470,7],[1259,7]]},"2684":{"position":[[1136,8],[1296,7],[1850,7],[2130,7],[2270,7]]},"2686":{"position":[[86,9],[143,8],[220,9]]},"2691":{"position":[[661,8]]},"2693":{"position":[[247,7]]},"2697":{"position":[[193,7],[252,7],[267,7]]},"2699":{"position":[[658,7],[670,7],[730,7],[757,7]]},"2701":{"position":[[413,7],[467,9],[513,7]]},"2703":{"position":[[85,9]]},"2706":{"position":[[4,7]]}}}],["message'",{"_index":1139,"t":{"2652":{"position":[[34,9]]}}}],["message1",{"_index":763,"t":{"2601":{"position":[[677,8]]}}}],["message2",{"_index":765,"t":{"2601":{"position":[[706,8]]}}}],["message3",{"_index":767,"t":{"2601":{"position":[[735,8]]}}}],["messagetre",{"_index":1022,"t":{"2624":{"position":[[72,11]]}}}],["mileston",{"_index":943,"t":{"2617":{"position":[[3982,9]]}}}],["million",{"_index":1178,"t":{"2668":{"position":[[31,7]]}}}],["mind",{"_index":1127,"t":{"2644":{"position":[[1221,5],[1497,4]]}}}],["mine",{"_index":534,"t":{"2574":{"position":[[1478,5]]}}}],["minim",{"_index":6,"t":{"2544":{"position":[[71,7]]},"2564":{"position":[[78,7]]},"2568":{"position":[[75,7]]},"2590":{"position":[[37,7]]},"2592":{"position":[[23,7]]},"2594":{"position":[[272,7]]},"2617":{"position":[[1034,8],[6640,8]]}}}],["minimum",{"_index":1020,"t":{"2620":{"position":[[508,8],[591,8]]},"2680":{"position":[[47,7]]}}}],["minor",{"_index":177,"t":{"2548":{"position":[[1023,5]]}}}],["minu",{"_index":1130,"t":{"2646":{"position":[[287,5]]}}}],["mission",{"_index":874,"t":{"2617":{"position":[[1011,7],[2820,8],[5524,7],[7524,7]]}}}],["mitig",{"_index":1177,"t":{"2666":{"position":[[137,11]]},"2682":{"position":[[237,8]]}}}],["modifi",{"_index":82,"t":{"2546":{"position":[[948,6]]},"2570":{"position":[[903,6]]},"2576":{"position":[[1151,8]]},"2594":{"position":[[1328,6]]}}}],["modular",{"_index":925,"t":{"2617":{"position":[[3440,10]]}}}],["modulo",{"_index":1319,"t":{"2691":{"position":[[380,6],[563,6]]}}}],["mongodb",{"_index":298,"t":{"2556":{"position":[[544,7]]}}}],["month",{"_index":125,"t":{"2548":{"position":[[171,7]]}}}],["more",{"_index":13,"t":{"2544":{"position":[[143,4]]},"2546":{"position":[[1418,4]]},"2548":{"position":[[182,4],[1095,4],[1147,4]]},"2554":{"position":[[349,4],[695,4]]},"2560":{"position":[[68,4]]},"2572":{"position":[[634,4],[745,4]]},"2574":{"position":[[314,4]]},"2576":{"position":[[713,4]]},"2584":{"position":[[290,4]]},"2599":{"position":[[668,4],[3739,4]]},"2601":{"position":[[590,4]]},"2603":{"position":[[922,4]]},"2617":{"position":[[161,4],[191,4],[5708,4]]},"2642":{"position":[[1313,4]]},"2662":{"position":[[360,4]]},"2691":{"position":[[486,4]]}}}],["motiv",{"_index":482,"t":{"2574":{"position":[[432,11]]}}}],["msgtreepathel",{"_index":1344,"t":{"2699":{"position":[[678,19]]}}}],["msgtreepathindex",{"_index":1336,"t":{"2697":{"position":[[206,16]]},"2703":{"position":[[67,17]]}}}],["msgtreeroot",{"_index":1335,"t":{"2697":{"position":[[158,11]]},"2703":{"position":[[124,13]]}}}],["mt",{"_index":1258,"t":{"2674":{"position":[[901,3]]}}}],["much",{"_index":17,"t":{"2544":{"position":[[184,4]]},"2599":{"position":[[3638,4],[3734,4]]},"2601":{"position":[[585,4]]},"2613":{"position":[[145,4]]}}}],["multipl",{"_index":201,"t":{"2552":{"position":[[39,8],[928,8]]},"2576":{"position":[[143,8]]},"2584":{"position":[[124,8]]},"2603":{"position":[[594,8],[684,8]]},"2617":{"position":[[2242,8]]},"2636":{"position":[[523,8]]},"2642":{"position":[[114,8]]}}}],["municip",{"_index":890,"t":{"2617":{"position":[[2329,9]]}}}],["n",{"_index":1136,"t":{"2650":{"position":[[37,1]]},"2672":{"position":[[1339,1]]},"2674":{"position":[[1170,2]]}}}],["n+1",{"_index":1138,"t":{"2650":{"position":[[154,3]]}}}],["n/a",{"_index":1406,"t":{"2708":{"position":[[488,3],[575,3]]}}}],["naiv",{"_index":464,"t":{"2574":{"position":[[25,5]]}}}],["name",{"_index":412,"t":{"2572":{"position":[[174,6]]},"2672":{"position":[[11,4]]},"2682":{"position":[[19,5]]},"2697":{"position":[[54,4]]},"2699":{"position":[[58,4]]}}}],["name=barri",{"_index":1157,"t":{"2658":{"position":[[704,12]]},"2660":{"position":[[0,12]]}}}],["name=kobi",{"_index":1149,"t":{"2658":{"position":[[263,11]]}}}],["name=wei",{"_index":1169,"t":{"2662":{"position":[[529,9]]}}}],["nation",{"_index":895,"t":{"2617":{"position":[[2395,8]]}}}],["natspec",{"_index":927,"t":{"2617":{"position":[[3485,8]]}}}],["natur",{"_index":524,"t":{"2574":{"position":[[1277,6]]},"2684":{"position":[[2620,6]]}}}],["necessari",{"_index":299,"t":{"2556":{"position":[[573,9]]},"2642":{"position":[[1289,9]]}}}],["need",{"_index":18,"t":{"2544":{"position":[[189,6]]},"2546":{"position":[[205,4]]},"2552":{"position":[[536,4]]},"2584":{"position":[[328,4]]},"2605":{"position":[[79,4],[304,4]]},"2607":{"position":[[232,4]]},"2617":{"position":[[5277,5]]},"2682":{"position":[[1448,5]]},"2691":{"position":[[632,6]]},"2699":{"position":[[243,6],[393,6]]}}}],["neg",{"_index":611,"t":{"2580":{"position":[[59,8],[211,8]]},"2644":{"position":[[268,8]]}}}],["network",{"_index":978,"t":{"2617":{"position":[[5423,7]]}}}],["never",{"_index":703,"t":{"2597":{"position":[[523,5]]}}}],["new",{"_index":11,"t":{"2544":{"position":[[122,3],[164,3]]},"2554":{"position":[[22,3]]},"2558":{"position":[[97,3]]},"2566":{"position":[[22,3]]},"2572":{"position":[[1066,3]]},"2576":{"position":[[1196,3],[1504,3]]},"2578":{"position":[[57,3]]},"2599":{"position":[[1146,3],[1170,3],[2682,3]]},"2605":{"position":[[1143,3]]},"2609":{"position":[[515,3]]},"2615":{"position":[[87,3],[101,3],[125,5]]},"2628":{"position":[[546,3]]},"2642":{"position":[[639,3],[756,3]]},"2644":{"position":[[1249,3]]},"2646":{"position":[[641,3]]},"2666":{"position":[[58,3]]},"2684":{"position":[[508,3],[1031,3],[1456,3]]},"2697":{"position":[[469,3]]},"2699":{"position":[[844,3],[868,3],[940,3],[964,3],[1042,3],[1080,3]]},"2706":{"position":[[526,3],[1987,3],[2982,3],[3151,3],[3225,3]]},"2708":{"position":[[230,3]]}}}],["newer",{"_index":820,"t":{"2609":{"position":[[412,5]]}}}],["newest",{"_index":320,"t":{"2560":{"position":[[89,6]]}}}],["newli",{"_index":1134,"t":{"2646":{"position":[[556,5]]}}}],["newpublickeyi",{"_index":1107,"t":{"2642":{"position":[[734,13]]}}}],["newpublickeyx",{"_index":1106,"t":{"2642":{"position":[[617,13]]}}}],["newresultscommit",{"_index":1233,"t":{"2672":{"position":[[904,20]]},"2674":{"position":[[1565,20]]}}}],["newstateleaf",{"_index":1399,"t":{"2706":{"position":[[2670,12],[3046,13]]}}}],["newstateleaf.voteoptionroot",{"_index":1394,"t":{"2706":{"position":[[2299,27]]}}}],["newstateroot",{"_index":1066,"t":{"2632":{"position":[[355,13]]},"2646":{"position":[[94,12],[677,13]]},"2697":{"position":[[452,12]]},"2706":{"position":[[3395,13]]}}}],["newstatetreepathel",{"_index":1347,"t":{"2699":{"position":[[883,24]]},"2706":{"position":[[3078,24]]}}}],["newstatetreepathelementstozero",{"_index":1348,"t":{"2699":{"position":[[979,30]]},"2706":{"position":[[3335,30]]}}}],["newstatetreepathindex",{"_index":1346,"t":{"2699":{"position":[[793,21]]},"2706":{"position":[[631,21],[677,21],[3024,21]]}}}],["newvoicecreditbal",{"_index":1368,"t":{"2706":{"position":[[255,21],[366,22],[1763,21],[1929,21],[2740,21]]}}}],["newvoteoptionpathelements[n",{"_index":1342,"t":{"2699":{"position":[[348,28]]}}}],["newvoteweight",{"_index":1109,"t":{"2642":{"position":[[1021,13]]}}}],["next",{"_index":745,"t":{"2599":{"position":[[3607,4]]},"2628":{"position":[[530,5]]}}}],["node",{"_index":1044,"t":{"2626":{"position":[[43,5]]}}}],["non",{"_index":80,"t":{"2546":{"position":[[921,3]]},"2570":{"position":[[875,3]]},"2594":{"position":[[1300,3]]},"2662":{"position":[[315,3]]}}}],["nonc",{"_index":1053,"t":{"2628":{"position":[[712,5]]},"2636":{"position":[[148,6],[159,5],[283,5],[341,5]]},"2638":{"position":[[314,5],[327,5]]},"2642":{"position":[[1164,5],[1283,5],[1346,6]]},"2644":{"position":[[109,6],[177,5],[255,6],[296,7],[388,6],[418,6],[448,6],[478,6],[507,6],[754,5],[782,5],[828,5],[969,6],[1010,6],[1293,6],[1334,6],[1375,6],[1415,6]]},"2646":{"position":[[165,5],[317,7]]},"2706":{"position":[[858,5]]},"2708":{"position":[[108,5]]}}}],["noop",{"_index":1350,"t":{"2699":{"position":[[1233,4]]},"2706":{"position":[[1061,4],[1181,4]]},"2708":{"position":[[10,4]]}}}],["notabl",{"_index":96,"t":{"2546":{"position":[[1224,7]]},"2548":{"position":[[494,7]]}}}],["note",{"_index":233,"t":{"2552":{"position":[[858,4]]},"2554":{"position":[[519,5],[761,4]]},"2570":{"position":[[1449,4]]},"2580":{"position":[[197,4]]},"2620":{"position":[[205,4]]},"2680":{"position":[[477,4]]},"2684":{"position":[[1700,5]]},"2691":{"position":[[928,4]]},"2693":{"position":[[468,4]]},"2706":{"position":[[1015,4]]}}}],["noth",{"_index":1030,"t":{"2624":{"position":[[295,7]]}}}],["notifi",{"_index":340,"t":{"2562":{"position":[[153,6]]}}}],["nova",{"_index":1008,"t":{"2617":{"position":[[7196,4]]}}}],["now",{"_index":189,"t":{"2550":{"position":[[44,3]]},"2552":{"position":[[61,3],[261,4]]},"2556":{"position":[[5,3]]},"2597":{"position":[[954,3]]},"2599":{"position":[[637,3],[1133,3],[2751,3]]},"2601":{"position":[[1300,3]]},"2617":{"position":[[6931,3]]},"2682":{"position":[[1177,3]]}}}],["nullifi",{"_index":87,"t":{"2546":{"position":[[1031,7]]},"2570":{"position":[[986,7]]},"2594":{"position":[[1411,7]]}}}],["number",{"_index":758,"t":{"2601":{"position":[[382,8]]},"2605":{"position":[[1126,6]]},"2632":{"position":[[573,6]]},"2636":{"position":[[100,6]]},"2638":{"position":[[255,6]]},"2642":{"position":[[1103,6]]},"2646":{"position":[[188,6]]},"2662":{"position":[[107,6]]},"2670":{"position":[[320,6],[353,6],[414,6]]},"2672":{"position":[[1348,6],[1394,6]]},"2693":{"position":[[1040,6]]},"2699":{"position":[[580,6]]}}}],["nutshel",{"_index":686,"t":{"2594":{"position":[[614,8]]}}}],["occur",{"_index":507,"t":{"2574":{"position":[[954,8]]},"2628":{"position":[[17,5]]}}}],["offer",{"_index":519,"t":{"2574":{"position":[[1213,5]]},"2599":{"position":[[3392,5]]}}}],["offici",{"_index":635,"t":{"2586":{"position":[[49,8]]}}}],["offlin",{"_index":209,"t":{"2552":{"position":[[229,7]]}}}],["offload",{"_index":631,"t":{"2584":{"position":[[316,7]]},"2617":{"position":[[6574,7]]}}}],["oftentim",{"_index":654,"t":{"2590":{"position":[[320,10]]},"2592":{"position":[[306,10]]}}}],["old",{"_index":1128,"t":{"2644":{"position":[[1279,3]]},"2684":{"position":[[977,3],[2060,3]]}}}],["oldstateroot",{"_index":1129,"t":{"2646":{"position":[[76,12],[273,13],[615,12]]}}}],["on",{"_index":55,"t":{"2546":{"position":[[441,3],[578,3],[654,3],[740,3],[940,3],[1064,4]]},"2556":{"position":[[480,3],[532,3]]},"2570":{"position":[[385,4],[605,4],[694,4],[895,3],[1020,4]]},"2594":{"position":[[111,3],[820,3],[1035,3],[1121,3],[1320,3],[1444,3]]},"2603":{"position":[[560,3]]},"2620":{"position":[[41,3]]},"2636":{"position":[[400,3]]},"2640":{"position":[[77,3]]},"2642":{"position":[[168,3]]},"2644":{"position":[[1283,5]]},"2646":{"position":[[293,4]]},"2664":{"position":[[373,3]]},"2670":{"position":[[20,3]]},"2682":{"position":[[399,3]]},"2684":{"position":[[1035,4],[1862,3]]},"2686":{"position":[[181,3]]},"2693":{"position":[[48,3],[606,3],[899,3]]},"2699":{"position":[[1624,3]]}}}],["onboard",{"_index":932,"t":{"2617":{"position":[[3645,10]]}}}],["onc",{"_index":566,"t":{"2576":{"position":[[507,4]]},"2605":{"position":[[390,4],[1153,4]]},"2607":{"position":[[0,4],[404,4]]},"2609":{"position":[[0,4],[818,4]]},"2611":{"position":[[9,4],[642,4]]},"2628":{"position":[[902,4]]}}}],["ongo",{"_index":1056,"t":{"2628":{"position":[[852,7]]}}}],["onlin",{"_index":953,"t":{"2617":{"position":[[4423,6]]}}}],["onward",{"_index":1304,"t":{"2684":{"position":[[637,8]]}}}],["op",{"_index":1140,"t":{"2652":{"position":[[97,2]]},"2699":{"position":[[1245,2]]},"2706":{"position":[[2917,2],[3457,2]]}}}],["open",{"_index":337,"t":{"2562":{"position":[[104,4],[139,4]]},"2617":{"position":[[219,4],[4118,4]]}}}],["oper",{"_index":590,"t":{"2576":{"position":[[1349,10]]},"2617":{"position":[[5397,11],[6986,9]]},"2666":{"position":[[86,8]]}}}],["opportun",{"_index":399,"t":{"2570":{"position":[[1552,12]]},"2572":{"position":[[1038,11]]},"2617":{"position":[[5152,13],[6162,13],[6228,13]]}}}],["optim",{"_index":180,"t":{"2548":{"position":[[1053,14]]}}}],["option",{"_index":272,"t":{"2554":{"position":[[865,7],[1012,8]]},"2576":{"position":[[645,8]]},"2580":{"position":[[160,7]]},"2590":{"position":[[312,7],[559,6],[773,6],[878,7],[950,6],[990,6],[1040,6]]},"2592":{"position":[[298,7],[545,6],[759,6],[864,7],[936,6],[976,6],[1026,6]]},"2597":{"position":[[907,6]]},"2599":{"position":[[393,7],[2153,6],[2524,6],[2622,6],[2784,6],[2843,6],[3043,6]]},"2609":{"position":[[482,6],[539,6],[594,6]]},"2628":{"position":[[751,6]]},"2636":{"position":[[83,6],[470,6],[532,8],[597,7]]},"2638":{"position":[[183,7],[420,6],[593,7]]},"2642":{"position":[[924,6],[976,6],[1586,6]]},"2644":{"position":[[376,7],[655,6],[911,6],[947,6],[996,7],[1037,7],[1320,7],[1361,7],[1401,7],[1441,7]]},"2646":{"position":[[438,6]]},"2662":{"position":[[85,8]]},"2666":{"position":[[124,6]]},"2670":{"position":[[275,8],[381,6],[452,7],[645,6],[714,6],[809,6],[1090,6],[1214,6]]},"2672":{"position":[[1358,7]]},"2674":{"position":[[604,7],[1149,6]]},"2676":{"position":[[114,6]]},"2684":{"position":[[232,6]]},"2693":{"position":[[420,7],[561,7],[599,6],[670,6],[740,8],[805,7],[969,7]]},"2699":{"position":[[293,6],[419,6]]},"2706":{"position":[[1398,6],[2003,6],[2069,6],[2392,6],[2454,6]]},"2708":{"position":[[239,6],[379,6],[563,6]]}}}],["order",{"_index":567,"t":{"2576":{"position":[[523,5]]},"2599":{"position":[[2639,5],[3424,5]]},"2607":{"position":[[266,5]]},"2644":{"position":[[34,5],[572,6]]},"2646":{"position":[[139,5],[256,5]]},"2684":{"position":[[1530,6]]}}}],["organ",{"_index":845,"t":{"2613":{"position":[[335,13]]},"2617":{"position":[[5491,10]]}}}],["organis",{"_index":540,"t":{"2574":{"position":[[1658,13]]}}}],["origin",{"_index":33,"t":{"2546":{"position":[[96,10]]},"2594":{"position":[[213,6]]},"2599":{"position":[[530,10]]},"2605":{"position":[[237,8]]},"2680":{"position":[[93,10]]}}}],["other",{"_index":208,"t":{"2552":{"position":[[222,6]]},"2572":{"position":[[320,6]]},"2599":{"position":[[430,6]]}}}],["otherwis",{"_index":101,"t":{"2546":{"position":[[1352,9]]},"2684":{"position":[[1040,10]]}}}],["out",{"_index":309,"t":{"2558":{"position":[[54,3]]},"2562":{"position":[[238,3]]},"2601":{"position":[[531,3]]},"2617":{"position":[[1818,3],[4656,3],[6391,3],[7450,3]]},"2666":{"position":[[103,3]]},"2693":{"position":[[610,3],[1021,3]]}}}],["outcom",{"_index":586,"t":{"2576":{"position":[[1228,8]]},"2670":{"position":[[694,7]]},"2676":{"position":[[10,7]]},"2708":{"position":[[20,7]]}}}],["outlin",{"_index":852,"t":{"2617":{"position":[[43,7]]}}}],["output",{"_index":627,"t":{"2584":{"position":[[202,7]]},"2620":{"position":[[287,8],[330,7],[387,7],[481,6]]}}}],["outsiz",{"_index":1210,"t":{"2670":{"position":[[979,8]]}}}],["over",{"_index":689,"t":{"2594":{"position":[[659,4]]},"2617":{"position":[[288,4]]},"2644":{"position":[[1545,5]]},"2670":{"position":[[477,4]]}}}],["overflow",{"_index":136,"t":{"2548":{"position":[[321,8]]}}}],["overrid",{"_index":720,"t":{"2599":{"position":[[765,8],[1188,8],[2648,8]]}}}],["overridden",{"_index":819,"t":{"2609":{"position":[[396,10]]}}}],["oversimplifi",{"_index":748,"t":{"2599":{"position":[[3643,14]]}}}],["overview",{"_index":667,"t":{"2594":{"position":[[14,9],[184,8]]},"2599":{"position":[[3658,8]]}}}],["own",{"_index":1184,"t":{"2668":{"position":[[142,4]]},"2684":{"position":[[422,4]]},"2691":{"position":[[26,4]]}}}],["owner",{"_index":74,"t":{"2546":{"position":[[837,5]]},"2570":{"position":[[791,5]]},"2594":{"position":[[1217,5]]}}}],["p",{"_index":1239,"t":{"2672":{"position":[[1485,1]]}}}],["packag",{"_index":312,"t":{"2558":{"position":[[196,7]]},"2570":{"position":[[1165,9]]}}}],["page",{"_index":788,"t":{"2603":{"position":[[268,5]]}}}],["pairwis",{"_index":192,"t":{"2550":{"position":[[119,8]]},"2554":{"position":[[0,8]]},"2564":{"position":[[126,8]]}}}],["paper",{"_index":1309,"t":{"2684":{"position":[[1831,7]]},"2693":{"position":[[545,6]]}}}],["parallel",{"_index":1005,"t":{"2617":{"position":[[6665,13]]}}}],["paramet",{"_index":273,"t":{"2554":{"position":[[873,9]]},"2586":{"position":[[298,11],[357,10]]},"2609":{"position":[[978,11]]},"2632":{"position":[[4,10]]},"2634":{"position":[[4,10]]}}}],["pariti",{"_index":318,"t":{"2560":{"position":[[60,7]]}}}],["part",{"_index":846,"t":{"2613":{"position":[[394,5]]},"2617":{"position":[[112,4]]},"2670":{"position":[[1469,4]]},"2674":{"position":[[369,4]]},"2706":{"position":[[987,4]]}}}],["parti",{"_index":1243,"t":{"2674":{"position":[[19,5],[60,5],[86,5]]}}}],["particip",{"_index":488,"t":{"2574":{"position":[[550,13]]},"2576":{"position":[[532,11]]},"2680":{"position":[[204,12]]},"2682":{"position":[[488,11]]},"2686":{"position":[[47,11]]}}}],["particular",{"_index":554,"t":{"2576":{"position":[[120,11]]},"2590":{"position":[[301,10]]},"2592":{"position":[[287,10]]},"2638":{"position":[[202,10]]},"2684":{"position":[[429,10],[2609,10]]},"2693":{"position":[[958,10]]}}}],["particulari",{"_index":478,"t":{"2574":{"position":[[352,11]]}}}],["particularli",{"_index":357,"t":{"2568":{"position":[[187,12]]},"2574":{"position":[[47,12]]}}}],["pass",{"_index":1045,"t":{"2628":{"position":[[69,6],[306,6]]},"2652":{"position":[[117,4]]},"2674":{"position":[[232,6]]},"2691":{"position":[[970,4]]},"2706":{"position":[[3240,6]]}}}],["password",{"_index":727,"t":{"2599":{"position":[[1451,9]]}}}],["past",{"_index":124,"t":{"2548":{"position":[[166,4]]},"2630":{"position":[[53,4]]}}}],["path",{"_index":1114,"t":{"2642":{"position":[[1557,4]]},"2672":{"position":[[428,4],[535,4]]},"2676":{"position":[[174,4]]},"2697":{"position":[[234,4],[375,4]]},"2699":{"position":[[114,4],[238,4],[388,4],[709,4],[826,4],[919,4],[1021,4]]},"2708":{"position":[[457,4],[538,4]]}}}],["pay",{"_index":666,"t":{"2590":{"position":[[1122,3]]},"2592":{"position":[[1108,3]]},"2662":{"position":[[352,3]]}}}],["penal",{"_index":255,"t":{"2554":{"position":[[294,8]]}}}],["peopl",{"_index":913,"t":{"2617":{"position":[[3014,6]]}}}],["per",{"_index":381,"t":{"2570":{"position":[[193,3]]},"2626":{"position":[[39,3]]},"2628":{"position":[[520,3],[907,3]]},"2644":{"position":[[154,3]]},"2668":{"position":[[228,3]]},"2670":{"position":[[377,3]]},"2674":{"position":[[600,3]]},"2693":{"position":[[458,3],[876,3]]}}}],["perform",{"_index":164,"t":{"2548":{"position":[[795,9]]},"2617":{"position":[[3590,11],[6605,9]]},"2684":{"position":[[1416,7]]}}}],["period",{"_index":224,"t":{"2552":{"position":[[669,6],[1145,6]]},"2628":{"position":[[41,7],[776,6]]},"2630":{"position":[[69,7]]},"2682":{"position":[[322,6]]},"2684":{"position":[[138,7],[579,6],[1370,6],[2300,6]]}}}],["permiss",{"_index":1395,"t":{"2706":{"position":[[2420,11]]}}}],["perpetu",{"_index":1175,"t":{"2666":{"position":[[2,9]]}}}],["person",{"_index":662,"t":{"2590":{"position":[[689,6]]},"2592":{"position":[[675,6]]}}}],["phase",{"_index":785,"t":{"2603":{"position":[[65,7],[134,6]]}}}],["pictur",{"_index":1187,"t":{"2668":{"position":[[247,7],[360,7]]}}}],["piec",{"_index":795,"t":{"2605":{"position":[[98,6]]},"2617":{"position":[[1110,5]]}}}],["pk2pk2pk2",{"_index":1153,"t":{"2658":{"position":[[469,9],[522,10],[694,9]]}}}],["pkpkpk",{"_index":1152,"t":{"2658":{"position":[[447,6],[499,6]]}}}],["place",{"_index":264,"t":{"2554":{"position":[[582,5]]},"2603":{"position":[[429,6]]}}}],["plaintext",{"_index":1315,"t":{"2684":{"position":[[2441,9]]}}}],["plan",{"_index":858,"t":{"2617":{"position":[[245,4],[3921,4]]}}}],["platform",{"_index":380,"t":{"2570":{"position":[[177,10]]},"2574":{"position":[[107,10],[995,8]]},"2617":{"position":[[1758,9],[2544,8],[2704,8],[2779,8],[3546,8]]}}}],["plausibl",{"_index":1311,"t":{"2684":{"position":[[1993,9]]}}}],["pleas",{"_index":0,"t":{"2544":{"position":[[7,7]]},"2546":{"position":[[1453,6]]},"2552":{"position":[[851,6],[1201,6]]},"2554":{"position":[[663,6],[754,6]]},"2556":{"position":[[732,6]]},"2558":{"position":[[266,6]]},"2562":{"position":[[225,6]]},"2570":{"position":[[1442,6]]},"2580":{"position":[[190,6]]},"2588":{"position":[[167,6]]},"2617":{"position":[[393,6]]}}}],["plenti",{"_index":601,"t":{"2578":{"position":[[9,6]]}}}],["plu",{"_index":1163,"t":{"2662":{"position":[[94,4]]},"2672":{"position":[[997,4]]}}}],["poap",{"_index":1185,"t":{"2668":{"position":[[149,4]]}}}],["point",{"_index":503,"t":{"2574":{"position":[[901,6]]},"2599":{"position":[[2584,6],[2735,6]]},"2642":{"position":[[343,5]]},"2644":{"position":[[711,5]]},"2684":{"position":[[631,5]]}}}],["poll",{"_index":153,"t":{"2548":{"position":[[650,6],[837,5],[875,4]]},"2552":{"position":[[133,4],[270,4],[345,5],[367,5],[845,5],[937,6],[995,4]]},"2558":{"position":[[67,6]]},"2576":{"position":[[152,5],[547,6]]},"2584":{"position":[[133,6]]},"2603":{"position":[[184,4],[455,4],[502,4],[603,6],[743,4]]},"2605":{"position":[[472,5],[1147,5]]},"2607":{"position":[[62,4],[445,4]]},"2609":{"position":[[39,5]]},"2611":{"position":[[902,4]]},"2617":{"position":[[1483,7],[3797,4]]}}}],["poll.publishmessag",{"_index":814,"t":{"2607":{"position":[[105,21]]}}}],["pollid",{"_index":244,"t":{"2552":{"position":[[1165,7]]}}}],["pollprocessandtally",{"_index":817,"t":{"2609":{"position":[[74,21]]}}}],["pollprocessorandtally",{"_index":787,"t":{"2603":{"position":[[193,26],[771,23]]},"2609":{"position":[[994,23]]}}}],["pollprocessorandtallyer.processmessag",{"_index":825,"t":{"2609":{"position":[[865,42]]}}}],["pollprocessorandtallyer.tallyvot",{"_index":832,"t":{"2611":{"position":[[290,36]]}}}],["pool",{"_index":248,"t":{"2554":{"position":[[174,4]]},"2590":{"position":[[372,4]]},"2592":{"position":[[358,4]]}}}],["portion",{"_index":869,"t":{"2617":{"position":[[774,7]]}}}],["possess",{"_index":1113,"t":{"2642":{"position":[[1476,7]]}}}],["possibl",{"_index":202,"t":{"2552":{"position":[[65,8]]},"2554":{"position":[[791,8]]},"2594":{"position":[[581,8]]},"2613":{"position":[[101,13],[281,8]]},"2617":{"position":[[3296,9]]},"2634":{"position":[[905,8]]},"2693":{"position":[[622,8]]}}}],["post",{"_index":35,"t":{"2546":{"position":[[131,5]]},"2554":{"position":[[214,5],[684,4]]},"2572":{"position":[[32,4]]},"2574":{"position":[[642,5]]},"2594":{"position":[[264,4]]},"2615":{"position":[[48,4]]},"2668":{"position":[[92,4]]},"2680":{"position":[[153,5]]}}}],["potenti",{"_index":516,"t":{"2574":{"position":[[1173,9]]},"2617":{"position":[[1095,9]]}}}],["power",{"_index":915,"t":{"2617":{"position":[[3059,5]]}}}],["practic",{"_index":387,"t":{"2570":{"position":[[1109,11]]},"2617":{"position":[[809,9],[5646,9],[6843,9]]}}}],["predefin",{"_index":1054,"t":{"2628":{"position":[[796,10]]}}}],["prefer",{"_index":500,"t":{"2574":{"position":[[861,9]]},"2590":{"position":[[868,9]]},"2592":{"position":[[854,9]]},"2670":{"position":[[244,11],[794,10]]}}}],["present",{"_index":777,"t":{"2601":{"position":[[1120,7]]}}}],["presum",{"_index":1280,"t":{"2680":{"position":[[492,8]]}}}],["prevent",{"_index":265,"t":{"2554":{"position":[[591,7]]},"2574":{"position":[[121,7],[1362,9]]},"2588":{"position":[[54,10]]},"2597":{"position":[[832,8]]},"2613":{"position":[[31,10],[89,7]]},"2617":{"position":[[1394,7]]},"2642":{"position":[[1173,8]]},"2650":{"position":[[117,7]]},"2660":{"position":[[76,10]]},"2670":{"position":[[950,8]]},"2691":{"position":[[555,7]]}}}],["previou",{"_index":640,"t":{"2586":{"position":[[242,8]]},"2599":{"position":[[780,8],[838,8],[907,8],[1103,8],[1203,8],[1251,8],[2428,8],[3163,8],[3189,8]]},"2632":{"position":[[744,8]]},"2674":{"position":[[1207,8]]}}}],["previous",{"_index":1297,"t":{"2682":{"position":[[1283,10],[1503,10]]}}}],["primari",{"_index":1001,"t":{"2617":{"position":[[6512,7]]}}}],["prior",{"_index":1228,"t":{"2672":{"position":[[644,5]]}}}],["priorit",{"_index":998,"t":{"2617":{"position":[[6324,11]]}}}],["privaci",{"_index":67,"t":{"2546":{"position":[[643,7]]},"2562":{"position":[[256,7]]},"2568":{"position":[[4,7]]},"2570":{"position":[[593,8],[1396,8]]},"2594":{"position":[[1023,8]]},"2617":{"position":[[581,7],[734,8],[1182,7],[1695,7],[7097,7]]}}}],["privat",{"_index":76,"t":{"2546":{"position":[[855,7]]},"2570":{"position":[[809,7]]},"2594":{"position":[[1235,7]]},"2617":{"position":[[1255,7]]},"2642":{"position":[[457,7]]},"2646":{"position":[[382,7]]},"2672":{"position":[[409,7],[614,7],[705,7],[1051,7],[1173,7],[1258,7]]},"2680":{"position":[[576,7]]},"2682":{"position":[[682,7]]},"2691":{"position":[[323,7],[723,7],[778,7]]},"2699":{"position":[[4,7],[1299,7],[1485,7]]},"2701":{"position":[[53,7]]}}}],["privileg",{"_index":1197,"t":{"2670":{"position":[[482,10]]}}}],["proactiv",{"_index":945,"t":{"2617":{"position":[[4064,11],[5088,11]]}}}],["problem",{"_index":646,"t":{"2588":{"position":[[43,7]]},"2590":{"position":[[201,7]]},"2592":{"position":[[187,7]]}}}],["process",{"_index":32,"t":{"2546":{"position":[[78,10]]},"2548":{"position":[[293,10]]},"2590":{"position":[[139,7],[239,9]]},"2592":{"position":[[125,7],[225,9]]},"2603":{"position":[[21,7],[97,7],[898,7],[941,7]]},"2605":{"position":[[12,7]]},"2609":{"position":[[317,10],[625,7],[1293,9],[1356,7],[1393,10]]},"2611":{"position":[[37,10],[201,7],[1031,9]]},"2613":{"position":[[513,9]]},"2617":{"position":[[1491,10],[5019,10],[5242,9]]},"2632":{"position":[[285,9],[598,10],[699,9],[780,10]]},"2644":{"position":[[13,9],[551,9],[732,10],[1130,9]]},"2646":{"position":[[148,12],[224,9]]},"2650":{"position":[[135,10]]},"2654":{"position":[[183,9]]},"2662":{"position":[[219,9]]},"2664":{"position":[[222,8]]},"2666":{"position":[[20,7]]},"2670":{"position":[[1664,9]]},"2684":{"position":[[1326,9]]},"2699":{"position":[[1186,8]]}}}],["processmessag",{"_index":834,"t":{"2611":{"position":[[409,15]]},"2650":{"position":[[95,16]]}}}],["produc",{"_index":90,"t":{"2546":{"position":[[1121,7]]},"2570":{"position":[[1077,7]]},"2594":{"position":[[1501,7]]},"2634":{"position":[[827,7]]},"2646":{"position":[[265,7],[562,8]]}}}],["product",{"_index":15,"t":{"2544":{"position":[[155,8]]},"2548":{"position":[[1080,7]]},"2617":{"position":[[5,7],[72,7],[3129,10],[3505,12],[4630,8],[4787,7]]}}}],["profession",{"_index":373,"t":{"2568":{"position":[[588,12]]}}}],["project",{"_index":95,"t":{"2546":{"position":[[1209,9],[1256,8]]},"2554":{"position":[[437,8]]},"2558":{"position":[[101,8],[346,8]]},"2568":{"position":[[277,7]]},"2572":{"position":[[1432,8]]},"2574":{"position":[[1035,8]]},"2576":{"position":[[1435,8],[1629,8]]},"2586":{"position":[[17,9]]},"2613":{"position":[[243,8]]},"2615":{"position":[[68,8]]},"2617":{"position":[[565,8],[2098,7],[2151,7],[2215,7],[3087,7],[5542,7],[5968,8],[6206,7]]}}}],["promin",{"_index":1191,"t":{"2668":{"position":[[333,10]]}}}],["prone",{"_index":102,"t":{"2546":{"position":[[1362,5]]}}}],["proof",{"_index":303,"t":{"2556":{"position":[[665,5]]},"2574":{"position":[[835,5]]},"2576":{"position":[[822,5]]},"2584":{"position":[[174,6]]},"2599":{"position":[[3021,5]]},"2609":{"position":[[827,5],[960,5],[1041,5],[1146,6]]},"2611":{"position":[[385,6],[473,5],[615,5],[828,5]]},"2617":{"position":[[1384,6],[6685,5]]},"2620":{"position":[[705,5]]},"2632":{"position":[[200,5],[266,6],[376,5],[643,6]]},"2634":{"position":[[445,5],[843,5]]},"2652":{"position":[[151,5],[238,5]]},"2664":{"position":[[336,5]]},"2670":{"position":[[1290,5]]},"2676":{"position":[[78,5],[136,5],[266,5]]},"2684":{"position":[[1652,5],[2379,5],[2576,5]]},"2706":{"position":[[1125,5],[1163,5],[1206,5]]},"2708":{"position":[[66,6],[125,6],[188,6],[262,6],[332,6],[408,6],[500,5],[587,5]]}}}],["properli",{"_index":721,"t":{"2599":{"position":[[877,8],[3593,9]]},"2611":{"position":[[1022,8]]}}}],["properti",{"_index":53,"t":{"2546":{"position":[[376,10],[396,8]]},"2558":{"position":[[141,11]]},"2570":{"position":[[348,11]]}}}],["propos",{"_index":253,"t":{"2554":{"position":[[271,8]]},"2680":{"position":[[104,8]]}}}],["protect",{"_index":194,"t":{"2550":{"position":[[145,10]]},"2613":{"position":[[467,7]]},"2617":{"position":[[1190,10],[1703,10]]}}}],["protocol",{"_index":254,"t":{"2554":{"position":[[282,8]]},"2572":{"position":[[355,8]]},"2617":{"position":[[670,8]]}}}],["proud",{"_index":355,"t":{"2568":{"position":[[43,5]]}}}],["provabl",{"_index":494,"t":{"2574":{"position":[[732,11]]}}}],["prove",{"_index":64,"t":{"2546":{"position":[[586,5],[1265,5]]},"2570":{"position":[[536,6]]},"2574":{"position":[[674,5]]},"2590":{"position":[[533,5],[761,5],[1028,5]]},"2592":{"position":[[519,5],[747,5],[1014,5]]},"2594":{"position":[[967,5]]},"2597":{"position":[[273,5]]},"2599":{"position":[[3521,5]]},"2601":{"position":[[38,5],[198,5],[437,5],[1057,5],[1202,5],[1263,5]]},"2603":{"position":[[834,5]]},"2609":{"position":[[114,5],[660,7],[749,7]]},"2611":{"position":[[140,7],[190,7]]},"2617":{"position":[[6649,7]]},"2620":{"position":[[77,5],[150,6]]},"2634":{"position":[[177,5]]},"2670":{"position":[[1391,6],[1542,5]]},"2695":{"position":[[13,6]]},"2699":{"position":[[253,5]]},"2706":{"position":[[949,5],[1366,5]]}}}],["provid",{"_index":28,"t":{"2546":{"position":[[28,8]]},"2558":{"position":[[207,8]]},"2560":{"position":[[260,7]]},"2568":{"position":[[289,8],[656,9]]},"2570":{"position":[[1136,8]]},"2576":{"position":[[330,7]]},"2594":{"position":[[718,9]]},"2599":{"position":[[1038,8],[1469,7]]},"2609":{"position":[[908,9]]},"2617":{"position":[[684,8],[1807,7]]},"2622":{"position":[[43,8]]},"2642":{"position":[[1433,7]]},"2680":{"position":[[339,7]]}}}],["provinc",{"_index":892,"t":{"2617":{"position":[[2360,10]]}}}],["proxi",{"_index":798,"t":{"2605":{"position":[[204,5],[1031,5]]}}}],["pse",{"_index":348,"t":{"2562":{"position":[[289,5]]},"2617":{"position":[[612,6],[2147,3],[7473,3]]}}}],["pseudocod",{"_index":1018,"t":{"2620":{"position":[[227,10]]},"2672":{"position":[[0,10]]},"2674":{"position":[[1605,10]]},"2697":{"position":[[43,10]]},"2699":{"position":[[47,10]]}}}],["pubkey",{"_index":1061,"t":{"2632":{"position":[[77,8]]}}}],["public",{"_index":47,"t":{"2546":{"position":[[307,6],[909,6],[1398,6]]},"2552":{"position":[[461,6]]},"2554":{"position":[[159,6]]},"2570":{"position":[[863,6]]},"2572":{"position":[[428,6],[590,6]]},"2574":{"position":[[1064,6]]},"2590":{"position":[[493,7]]},"2592":{"position":[[479,7]]},"2594":{"position":[[1289,6]]},"2599":{"position":[[64,6],[131,6],[263,6],[370,6],[514,6],[847,6],[916,6],[1049,6],[1112,6],[1174,6],[1260,6],[1359,6],[1539,6],[1595,6],[1780,6],[1830,6],[1956,6],[2086,6],[2166,6],[2207,6],[2443,6],[2549,6],[2563,6],[2713,6],[2856,6],[2897,6],[3142,6]]},"2603":{"position":[[374,6]]},"2605":{"position":[[148,6],[219,6],[246,6],[373,6],[421,6],[1312,6]]},"2617":{"position":[[94,6],[912,6],[1079,6],[1285,7],[1476,6],[5053,6],[6087,6]]},"2620":{"position":[[451,6]]},"2624":{"position":[[180,6]]},"2628":{"position":[[670,6]]},"2630":{"position":[[166,6]]},"2632":{"position":[[219,6]]},"2636":{"position":[[34,6],[362,6]]},"2638":{"position":[[38,6],[84,6]]},"2642":{"position":[[290,6],[430,6],[553,6],[643,6],[760,6]]},"2658":{"position":[[55,6],[214,6],[436,6],[458,6],[588,6]]},"2672":{"position":[[69,6],[300,6],[517,6],[834,6],[925,6]]},"2682":{"position":[[83,6],[172,6],[730,6],[1135,6]]},"2684":{"position":[[865,6],[981,6],[1088,6],[1170,6],[1887,6],[2064,6]]},"2691":{"position":[[125,6],[252,6],[832,6],[1010,6],[1033,6]]},"2693":{"position":[[225,6],[365,6]]},"2697":{"position":[[4,6],[107,6]]},"2699":{"position":[[1268,6],[1361,6]]},"2701":{"position":[[28,6],[199,6]]}}}],["publickeyi",{"_index":1090,"t":{"2638":{"position":[[65,10]]}}}],["publickeyx",{"_index":1087,"t":{"2638":{"position":[[19,10]]}}}],["publish",{"_index":46,"t":{"2546":{"position":[[292,10]]},"2556":{"position":[[381,10]]},"2597":{"position":[[529,10],[568,7]]},"2603":{"position":[[81,7]]},"2607":{"position":[[416,9]]},"2636":{"position":[[250,9]]},"2644":{"position":[[49,10],[323,9]]},"2662":{"position":[[31,7]]},"2691":{"position":[[275,7]]}}}],["publishmessag",{"_index":1307,"t":{"2684":{"position":[[1220,16]]},"2691":{"position":[[951,15]]}}}],["punish",{"_index":475,"t":{"2574":{"position":[[289,6]]}}}],["purpos",{"_index":1256,"t":{"2674":{"position":[[764,7]]}}}],["put",{"_index":1165,"t":{"2662":{"position":[[411,3]]}}}],["q1",{"_index":898,"t":{"2617":{"position":[[2562,3]]}}}],["qf",{"_index":314,"t":{"2558":{"position":[[436,2]]},"2617":{"position":[[987,4],[2163,3],[2286,2],[5509,2],[5539,2],[5723,2],[5850,2],[5944,2],[6070,2],[6185,2],[6746,2],[6921,2],[7857,2]]}}}],["qf/qv",{"_index":981,"t":{"2617":{"position":[[5767,5]]}}}],["qfi",{"_index":98,"t":{"2546":{"position":[[1245,4]]}}}],["quadrat",{"_index":196,"t":{"2550":{"position":[[177,9]]},"2554":{"position":[[53,9]]},"2568":{"position":[[211,9]]},"2570":{"position":[[159,9]]},"2574":{"position":[[1008,9],[1107,9]]},"2588":{"position":[[103,9]]},"2617":{"position":[[945,9],[969,9],[1740,9],[5294,9],[7273,9],[7745,9]]},"2620":{"position":[[728,9]]},"2634":{"position":[[700,9]]},"2638":{"position":[[506,9]]},"2642":{"position":[[1045,9]]},"2668":{"position":[[101,13]]},"2670":{"position":[[0,9],[181,9],[460,9]]},"2684":{"position":[[2515,9]]},"2693":{"position":[[982,9]]},"2699":{"position":[[522,9]]}}}],["quadraticvotet",{"_index":1216,"t":{"2670":{"position":[[1244,20]]}}}],["qualiti",{"_index":923,"t":{"2617":{"position":[[3417,8]]}}}],["queri",{"_index":625,"t":{"2584":{"position":[[185,5]]}}}],["question",{"_index":1012,"t":{"2617":{"position":[[7342,10]]}}}],["queue",{"_index":223,"t":{"2552":{"position":[[637,5]]},"2576":{"position":[[1168,5]]}}}],["quick",{"_index":747,"t":{"2599":{"position":[[3628,5]]}}}],["quickli",{"_index":886,"t":{"2617":{"position":[[1860,7],[5255,7]]}}}],["quinari",{"_index":1042,"t":{"2626":{"position":[[9,7]]}}}],["quit",{"_index":732,"t":{"2599":{"position":[[2029,5]]}}}],["qv",{"_index":873,"t":{"2617":{"position":[[962,4],[6949,2]]}}}],["r",{"_index":1217,"t":{"2670":{"position":[[1508,2]]}}}],["r&d",{"_index":997,"t":{"2617":{"position":[[6309,4],[7828,3]]}}}],["random",{"_index":1027,"t":{"2624":{"position":[[228,6]]},"2672":{"position":[[715,6],[1061,6]]},"2684":{"position":[[813,6],[1620,6],[2088,6]]},"2691":{"position":[[340,6],[771,6],[1026,6]]},"2699":{"position":[[781,6]]}}}],["randomis",{"_index":620,"t":{"2582":{"position":[[49,13],[187,14]]}}}],["randomleaf",{"_index":1345,"t":{"2699":{"position":[[770,10]]},"2706":{"position":[[3320,11]]}}}],["rang",{"_index":1396,"t":{"2706":{"position":[[2432,5]]}}}],["rapidli",{"_index":450,"t":{"2572":{"position":[[1110,7]]},"2617":{"position":[[4720,7]]}}}],["re",{"_index":619,"t":{"2582":{"position":[[46,2],[184,2]]},"2617":{"position":[[253,2]]}}}],["reach",{"_index":344,"t":{"2562":{"position":[[232,5]]},"2617":{"position":[[7444,5]]}}}],["react",{"_index":975,"t":{"2617":{"position":[[5263,5]]}}}],["read",{"_index":305,"t":{"2556":{"position":[[699,7]]},"2582":{"position":[[168,4]]},"2597":{"position":[[865,7]]},"2599":{"position":[[3694,8]]},"2609":{"position":[[1127,4]]},"2617":{"position":[[5703,4]]}}}],["readabl",{"_index":924,"t":{"2617":{"position":[[3426,11]]}}}],["readi",{"_index":824,"t":{"2609":{"position":[[836,6]]}}}],["real",{"_index":533,"t":{"2574":{"position":[[1461,4]]},"2668":{"position":[[167,4]]}}}],["realiti",{"_index":664,"t":{"2590":{"position":[[967,7]]},"2592":{"position":[[953,7]]}}}],["rearchitect",{"_index":550,"t":{"2576":{"position":[[20,13]]}}}],["reason",{"_index":1151,"t":{"2658":{"position":[[293,9]]}}}],["receipt",{"_index":62,"t":{"2546":{"position":[[558,7]]},"2570":{"position":[[503,7]]},"2594":{"position":[[936,7]]}}}],["receiv",{"_index":658,"t":{"2590":{"position":[[595,7]]},"2592":{"position":[[581,7]]},"2613":{"position":[[255,7],[386,7]]},"2644":{"position":[[662,8]]},"2668":{"position":[[199,7],[425,9]]}}}],["recent",{"_index":639,"t":{"2586":{"position":[[201,8]]},"2636":{"position":[[199,6]]},"2638":{"position":[[345,8]]}}}],["recommend",{"_index":676,"t":{"2594":{"position":[[325,11]]}}}],["record",{"_index":739,"t":{"2599":{"position":[[2501,7]]},"2603":{"position":[[352,9]]},"2706":{"position":[[496,6],[706,6],[830,6],[1698,6],[1959,6],[2359,6]]}}}],["reduc",{"_index":59,"t":{"2546":{"position":[[519,8]]},"2554":{"position":[[33,6],[454,7]]},"2570":{"position":[[464,8]]},"2572":{"position":[[838,8]]},"2576":{"position":[[1060,7]]},"2594":{"position":[[898,8]]}}}],["refactor",{"_index":922,"t":{"2617":{"position":[[3382,8],[3909,11],[3973,8]]}}}],["refer",{"_index":107,"t":{"2546":{"position":[[1460,5]]},"2552":{"position":[[1208,5]]},"2554":{"position":[[670,5]]},"2556":{"position":[[739,5]]},"2558":{"position":[[273,5],[387,10]]},"2599":{"position":[[1583,5]]},"2617":{"position":[[3862,9],[3888,10],[5573,9],[6276,10],[6770,9]]},"2642":{"position":[[1013,7]]},"2684":{"position":[[0,5],[1724,6]]},"2693":{"position":[[492,5]]}}}],["refresh",{"_index":20,"t":{"2544":{"position":[[210,8],[258,7]]}}}],["regist",{"_index":267,"t":{"2554":{"position":[[620,11]]},"2658":{"position":[[484,9]]},"2682":{"position":[[49,8],[1154,10]]},"2684":{"position":[[1109,11]]}}}],["reject",{"_index":225,"t":{"2552":{"position":[[717,9]]}}}],["relat",{"_index":947,"t":{"2617":{"position":[[4216,7]]}}}],["relationship",{"_index":1314,"t":{"2684":{"position":[[2162,12]]}}}],["releas",{"_index":2,"t":{"2544":{"position":[[31,7],[126,7]]},"2566":{"position":[[26,7],[58,8]]},"2568":{"position":[[52,7],[243,7]]},"2576":{"position":[[8,8]]},"2588":{"position":[[5,7]]},"2594":{"position":[[68,7]]},"2597":{"position":[[206,8],[326,9]]},"2615":{"position":[[91,9]]},"2617":{"position":[[2455,7],[2566,7],[3355,7]]}}}],["reliabl",{"_index":663,"t":{"2590":{"position":[[825,8],[1012,8]]},"2592":{"position":[[811,8],[998,8]]}}}],["remain",{"_index":287,"t":{"2556":{"position":[[204,7]]},"2638":{"position":[[265,9]]}}}],["repeat",{"_index":830,"t":{"2609":{"position":[[1343,7]]}}}],["replac",{"_index":584,"t":{"2576":{"position":[[1096,9]]},"2684":{"position":[[1015,8],[1923,8]]}}}],["replay",{"_index":1110,"t":{"2642":{"position":[[1182,6]]}}}],["repo",{"_index":963,"t":{"2617":{"position":[[4993,4],[6741,4],[7053,4]]}}}],["report",{"_index":331,"t":{"2562":{"position":[[52,6]]},"2568":{"position":[[528,6]]}}}],["repositori",{"_index":336,"t":{"2562":{"position":[[89,10]]},"2564":{"position":[[12,10]]}}}],["repres",{"_index":397,"t":{"2570":{"position":[[1528,9]]},"2574":{"position":[[187,10]]},"2603":{"position":[[717,11]]},"2605":{"position":[[872,10]]},"2624":{"position":[[61,10]]},"2636":{"position":[[608,9]]},"2638":{"position":[[168,10]]},"2670":{"position":[[622,10]]},"2693":{"position":[[754,10]]}}}],["repudi",{"_index":81,"t":{"2546":{"position":[[925,11]]},"2570":{"position":[[879,12]]},"2594":{"position":[[1304,12]]}}}],["request",{"_index":292,"t":{"2556":{"position":[[295,8],[522,9]]},"2640":{"position":[[37,8]]}}}],["requir",{"_index":440,"t":{"2572":{"position":[[873,13]]},"2617":{"position":[[4279,7]]},"2642":{"position":[[686,9],[803,9]]},"2666":{"position":[[73,8]]}}}],["requr",{"_index":200,"t":{"2552":{"position":[[12,8]]}}}],["research",{"_index":674,"t":{"2594":{"position":[[255,8]]},"2617":{"position":[[6414,8]]}}}],["reserv",{"_index":1026,"t":{"2624":{"position":[[213,8]]},"2628":{"position":[[611,8]]}}}],["reset",{"_index":810,"t":{"2605":{"position":[[1112,5]]}}}],["resist",{"_index":29,"t":{"2546":{"position":[[47,10],[427,10]]},"2568":{"position":[[144,10]]},"2570":{"position":[[109,9],[370,11],[1384,11]]},"2574":{"position":[[338,10],[1381,9]]},"2590":{"position":[[180,11]]},"2592":{"position":[[166,11]]},"2594":{"position":[[805,11]]},"2617":{"position":[[721,10],[1683,9]]},"2680":{"position":[[259,10],[357,10]]}}}],["resolv",{"_index":175,"t":{"2548":{"position":[[996,9]]},"2560":{"position":[[211,9]]},"2693":{"position":[[129,7]]}}}],["resourc",{"_index":682,"t":{"2594":{"position":[[456,10]]},"2617":{"position":[[2627,8],[3741,9],[4390,9]]}}}],["respond",{"_index":961,"t":{"2617":{"position":[[4728,7],[4886,7],[5042,7]]}}}],["respons",{"_index":286,"t":{"2556":{"position":[[162,14]]},"2568":{"position":[[605,10]]},"2603":{"position":[[295,11]]},"2617":{"position":[[6520,14]]}}}],["restrict",{"_index":1078,"t":{"2634":{"position":[[776,8]]}}}],["result",{"_index":168,"t":{"2548":{"position":[[859,8],[880,7]]},"2590":{"position":[[739,7]]},"2592":{"position":[[725,7]]},"2597":{"position":[[225,8],[302,6],[544,8],[582,8]]},"2601":{"position":[[828,6],[916,7],[1163,6],[1223,6]]},"2603":{"position":[[120,7],[968,7]]},"2611":{"position":[[266,7],[360,7],[812,7],[845,7],[867,6]]},"2617":{"position":[[1273,7],[1342,7]]},"2634":{"position":[[466,6],[533,7],[578,7],[944,7]]},"2646":{"position":[[628,7]]},"2670":{"position":[[1005,7],[1338,7]]},"2672":{"position":[[1511,6]]},"2674":{"position":[[1344,7],[1496,6]]},"2682":{"position":[[758,6]]},"2684":{"position":[[1484,6],[2403,6]]},"2691":{"position":[[437,7]]},"2706":{"position":[[2038,6]]}}}],["retain",{"_index":1277,"t":{"2680":{"position":[[234,9]]}}}],["retriev",{"_index":811,"t":{"2605":{"position":[[1202,9]]}}}],["return",{"_index":827,"t":{"2609":{"position":[[1217,7]]},"2611":{"position":[[598,7]]},"2662":{"position":[[262,6]]},"2706":{"position":[[284,6]]}}}],["reus",{"_index":1176,"t":{"2666":{"position":[[28,5]]}}}],["revamp",{"_index":457,"t":{"2572":{"position":[[1286,9]]},"2617":{"position":[[2590,8],[3668,6],[4979,6]]}}}],["reveal",{"_index":126,"t":{"2548":{"position":[[206,8]]},"2590":{"position":[[714,9]]},"2592":{"position":[[700,9]]},"2601":{"position":[[109,9],[268,9]]},"2617":{"position":[[1309,6]]},"2682":{"position":[[1397,7]]},"2684":{"position":[[2427,9]]}}}],["revers",{"_index":1115,"t":{"2644":{"position":[[26,7],[564,7]]},"2684":{"position":[[1522,7]]}}}],["review",{"_index":313,"t":{"2558":{"position":[[409,9]]}}}],["revisit",{"_index":36,"t":{"2546":{"position":[[156,9]]}}}],["revolv",{"_index":38,"t":{"2546":{"position":[[185,8]]}}}],["reward",{"_index":474,"t":{"2574":{"position":[[279,6]]},"2590":{"position":[[426,7],[613,8]]},"2592":{"position":[[412,7],[599,8]]}}}],["rewrot",{"_index":575,"t":{"2576":{"position":[[856,7]]}}}],["risk",{"_index":119,"t":{"2548":{"position":[[93,4],[224,4]]},"2554":{"position":[[466,4]]}}}],["roadmap",{"_index":850,"t":{"2617":{"position":[[13,7],[80,8],[101,7],[280,7],[350,7],[2884,8],[4777,7]]}}}],["robust",{"_index":319,"t":{"2560":{"position":[[73,6]]}}}],["role",{"_index":280,"t":{"2556":{"position":[[62,5]]},"2597":{"position":[[46,6]]},"2689":{"position":[[14,6]]}}}],["roll",{"_index":958,"t":{"2617":{"position":[[4648,7]]}}}],["root",{"_index":1016,"t":{"2620":{"position":[[113,4],[689,4]]},"2624":{"position":[[23,5],[56,4]]},"2628":{"position":[[729,4]]},"2630":{"position":[[138,5]]},"2632":{"position":[[175,4],[334,4],[461,4]]},"2634":{"position":[[355,5],[376,4],[411,5],[435,5]]},"2636":{"position":[[57,4]]},"2638":{"position":[[145,4],[552,4]]},"2642":{"position":[[1091,4],[1569,4]]},"2646":{"position":[[663,4]]},"2664":{"position":[[353,4]]},"2668":{"position":[[398,5]]},"2670":{"position":[[402,4],[902,4],[1443,4],[1503,4],[1635,4]]},"2672":{"position":[[93,4],[331,4],[1553,4],[1608,4]]},"2674":{"position":[[178,4],[208,4],[361,4],[562,5],[916,4],[1654,4]]},"2676":{"position":[[65,4],[197,4],[230,4]]},"2684":{"position":[[562,5],[1466,4],[1674,4],[1718,5],[1738,4],[1801,4]]},"2695":{"position":[[50,4]]},"2697":{"position":[[153,4],[181,4],[447,4],[479,4]]},"2699":{"position":[[189,4],[431,4],[568,4],[743,4],[854,4],[950,4],[1052,4]]},"2706":{"position":[[2018,4],[2992,5],[3164,5],[3235,4]]},"2708":{"position":[[246,4],[483,4],[570,4]]}}}],["roughli",{"_index":1321,"t":{"2691":{"position":[[462,7]]}}}],["round",{"_index":431,"t":{"2572":{"position":[[580,6],[734,5]]},"2574":{"position":[[966,5]]},"2576":{"position":[[693,5]]},"2617":{"position":[[998,7],[5512,7],[5773,6],[5853,7],[6188,7],[7003,6]]}}}],["row",{"_index":1201,"t":{"2670":{"position":[[618,3]]}}}],["rule",{"_index":807,"t":{"2605":{"position":[[642,5]]},"2642":{"position":[[1369,4]]}}}],["run",{"_index":436,"t":{"2572":{"position":[[716,7]]},"2576":{"position":[[223,3],[687,3]]},"2586":{"position":[[149,3]]},"2617":{"position":[[882,3],[5505,3],[5760,3],[6176,8],[6999,3]]}}}],["s",{"_index":1401,"t":{"2706":{"position":[[3002,1],[3332,2]]}}}],["sake",{"_index":1290,"t":{"2682":{"position":[[550,4]]},"2699":{"position":[[1506,4]]}}}],["salt",{"_index":1076,"t":{"2634":{"position":[[589,7]]},"2672":{"position":[[845,6],[936,6],[1046,4],[1588,5],[1644,6]]},"2674":{"position":[[1556,5]]}}}],["same",{"_index":227,"t":{"2552":{"position":[[767,4]]},"2554":{"position":[[603,4]]},"2576":{"position":[[771,4],[1223,4]]},"2644":{"position":[[371,4],[800,4]]},"2658":{"position":[[175,4]]},"2684":{"position":[[150,4]]}}}],["sampl",{"_index":197,"t":{"2550":{"position":[[215,6]]},"2556":{"position":[[20,6]]}}}],["samuel",{"_index":609,"t":{"2580":{"position":[[9,6]]}}}],["satisfi",{"_index":756,"t":{"2601":{"position":[[239,7]]}}}],["save",{"_index":364,"t":{"2568":{"position":[[334,7]]}}}],["saw",{"_index":421,"t":{"2572":{"position":[[240,3],[630,3]]}}}],["scalabl",{"_index":979,"t":{"2617":{"position":[[5458,8]]}}}],["scale",{"_index":346,"t":{"2562":{"position":[[268,7]]},"2568":{"position":[[14,7]]},"2617":{"position":[[591,7],[7141,7]]},"2668":{"position":[[368,6]]}}}],["scenario",{"_index":1148,"t":{"2658":{"position":[[149,8]]}}}],["schema",{"_index":1094,"t":{"2638":{"position":[[390,6]]},"2640":{"position":[[81,6]]},"2642":{"position":[[45,6],[85,7]]}}}],["scheme",{"_index":525,"t":{"2574":{"position":[[1292,7]]},"2597":{"position":[[734,6]]},"2617":{"position":[[7182,7]]}}}],["scrum",{"_index":960,"t":{"2617":{"position":[[4669,5]]}}}],["se",{"_index":382,"t":{"2570":{"position":[[197,2]]}}}],["second",{"_index":1155,"t":{"2658":{"position":[[581,6]]}}}],["secretli",{"_index":1126,"t":{"2644":{"position":[[1097,8]]}}}],["section",{"_index":746,"t":{"2599":{"position":[[3612,7]]},"2603":{"position":[[976,8]]},"2605":{"position":[[276,8],[342,9]]},"2607":{"position":[[195,8]]},"2642":{"position":[[1335,7]]},"2646":{"position":[[306,7]]}}}],["secur",{"_index":14,"t":{"2544":{"position":[[148,6]]},"2548":{"position":[[502,8],[1115,6]]},"2564":{"position":[[143,8]]},"2570":{"position":[[1241,8]]},"2572":{"position":[[988,9]]},"2617":{"position":[[1557,6]]}}}],["see",{"_index":499,"t":{"2574":{"position":[[818,3]]},"2594":{"position":[[64,3],[205,3],[241,3]]},"2597":{"position":[[897,3]]},"2599":{"position":[[1750,3],[3095,4]]},"2601":{"position":[[861,3]]},"2609":{"position":[[1249,3]]},"2611":{"position":[[792,3],[944,3]]},"2620":{"position":[[674,4]]},"2642":{"position":[[1327,3]]},"2646":{"position":[[298,3]]},"2682":{"position":[[529,4]]},"2706":{"position":[[67,4]]}}}],["seen",{"_index":709,"t":{"2597":{"position":[[1118,4]]},"2613":{"position":[[178,4]]},"2644":{"position":[[843,4]]}}}],["sell",{"_index":491,"t":{"2574":{"position":[[695,7]]}}}],["semant",{"_index":1019,"t":{"2620":{"position":[[346,9]]}}}],["send",{"_index":204,"t":{"2552":{"position":[[101,7]]},"2556":{"position":[[285,4]]},"2597":{"position":[[598,7],[994,5]]},"2599":{"position":[[52,7],[1975,7],[2672,4]]},"2605":{"position":[[87,4]]},"2607":{"position":[[131,4]]},"2609":{"position":[[507,5],[1032,4]]},"2611":{"position":[[464,4]]},"2682":{"position":[[69,7],[500,5],[908,5]]}}}],["sender",{"_index":473,"t":{"2574":{"position":[[261,6]]}}}],["sender'",{"_index":1046,"t":{"2628":{"position":[[80,8]]}}}],["sent",{"_index":838,"t":{"2611":{"position":[[890,4]]},"2682":{"position":[[1294,4]]}}}],["separ",{"_index":552,"t":{"2576":{"position":[[93,10]]},"2609":{"position":[[1052,8]]}}}],["seriou",{"_index":1159,"t":{"2660":{"position":[[30,7]]}}}],["serv",{"_index":940,"t":{"2617":{"position":[[3853,5],[5562,5],[6759,5]]}}}],["server",{"_index":198,"t":{"2550":{"position":[[234,6]]},"2556":{"position":[[319,6],[500,6]]}}}],["servic",{"_index":166,"t":{"2548":{"position":[[817,7]]},"2550":{"position":[[207,7]]},"2556":{"position":[[39,8],[86,8],[241,8],[428,7],[552,7],[722,9]]},"2617":{"position":[[6499,8],[6554,7],[7849,7]]}}}],["set",{"_index":43,"t":{"2546":{"position":[[269,7]]},"2570":{"position":[[10,3],[1147,3]]},"2576":{"position":[[348,3]]},"2586":{"position":[[283,3],[350,3]]},"2605":{"position":[[520,3],[833,3]]},"2644":{"position":[[126,4]]},"2652":{"position":[[86,3]]},"2670":{"position":[[1360,3]]},"2672":{"position":[[48,3]]},"2693":{"position":[[389,3],[774,3]]},"2697":{"position":[[22,3]]},"2699":{"position":[[23,3]]},"2706":{"position":[[1173,7],[2931,3],[3471,3]]}}}],["setup",{"_index":636,"t":{"2586":{"position":[[66,6],[171,6],[230,5],[417,6]]},"2706":{"position":[[2579,6]]}}}],["seven",{"_index":430,"t":{"2572":{"position":[[574,5]]}}}],["share",{"_index":236,"t":{"2552":{"position":[[914,6]]},"2588":{"position":[[148,5]]},"2597":{"position":[[669,6],[783,6]]},"2605":{"position":[[451,6]]},"2607":{"position":[[284,6],[329,6]]},"2632":{"position":[[882,6]]},"2684":{"position":[[890,6]]},"2691":{"position":[[752,6],[917,6]]},"2699":{"position":[[1398,6]]},"2701":{"position":[[387,6]]}}}],["shift",{"_index":587,"t":{"2576":{"position":[[1240,6]]}}}],["short",{"_index":883,"t":{"2617":{"position":[[1596,5]]},"2682":{"position":[[1546,6]]}}}],["show",{"_index":729,"t":{"2599":{"position":[[1679,5],[2979,5]]},"2634":{"position":[[451,5]]},"2644":{"position":[[1070,5]]},"2682":{"position":[[1461,4]]}}}],["shown",{"_index":731,"t":{"2599":{"position":[[1995,5]]},"2670":{"position":[[167,5]]}}}],["sign",{"_index":191,"t":{"2550":{"position":[[85,4]]},"2552":{"position":[[31,4]]},"2556":{"position":[[366,7]]},"2576":{"position":[[499,4]]},"2599":{"position":[[41,4],[309,7],[487,5],[549,4],[810,4],[886,6],[1155,6],[2072,5],[2183,5],[2240,4],[2412,6],[2873,5]]},"2603":{"position":[[73,4],[641,6]]},"2605":{"position":[[4,4],[159,4],[440,4],[550,4],[651,4],[724,4],[777,4],[1291,4]]},"2628":{"position":[[217,4],[768,4],[860,4]]},"2642":{"position":[[309,4]]},"2646":{"position":[[350,6]]},"2666":{"position":[[12,4]]},"2668":{"position":[[187,4]]},"2682":{"position":[[658,5],[863,5]]},"2684":{"position":[[130,4],[248,4],[735,4],[783,6],[960,4],[1875,6]]},"2691":{"position":[[295,4],[584,7],[642,4],[687,4],[1002,7]]},"2699":{"position":[[1319,4]]}}}],["signal",{"_index":612,"t":{"2580":{"position":[[134,6]]}}}],["signatur",{"_index":712,"t":{"2599":{"position":[[243,9],[592,9],[1225,9],[1427,9],[1489,10],[2698,9],[3109,9]]},"2646":{"position":[[399,9]]},"2652":{"position":[[44,9]]},"2682":{"position":[[708,9]]},"2691":{"position":[[861,9]]},"2693":{"position":[[280,9],[309,11]]},"2706":{"position":[[734,9]]},"2708":{"position":[[167,9]]}}}],["signific",{"_index":868,"t":{"2617":{"position":[[762,11]]}}}],["significantli",{"_index":581,"t":{"2576":{"position":[[1046,13]]}}}],["signup",{"_index":564,"t":{"2576":{"position":[[374,8],[620,8]]},"2603":{"position":[[341,7]]},"2628":{"position":[[0,7],[34,6],[53,6],[285,6]]},"2630":{"position":[[62,6]]},"2684":{"position":[[319,8],[572,6],[673,8]]}}}],["signupgatekeep",{"_index":804,"t":{"2605":{"position":[[526,19]]}}}],["signupgateway",{"_index":1049,"t":{"2628":{"position":[[140,13]]}}}],["similar",{"_index":1325,"t":{"2693":{"position":[[37,7]]}}}],["similarli",{"_index":833,"t":{"2611":{"position":[[392,9]]}}}],["simpl",{"_index":466,"t":{"2574":{"position":[[159,6]]},"2628":{"position":[[263,6]]}}}],["simpli",{"_index":290,"t":{"2556":{"position":[[278,6]]},"2562":{"position":[[45,6]]},"2597":{"position":[[858,6]]},"2599":{"position":[[1672,6]]},"2670":{"position":[[1013,6]]},"2682":{"position":[[1114,6]]}}}],["simplic",{"_index":1291,"t":{"2682":{"position":[[558,11]]},"2699":{"position":[[1514,11]]}}}],["simplifi",{"_index":708,"t":{"2597":{"position":[[1068,10]]}}}],["singl",{"_index":555,"t":{"2576":{"position":[[167,6]]},"2597":{"position":[[74,6]]},"2617":{"position":[[3080,6]]},"2636":{"position":[[433,6]]},"2658":{"position":[[396,6]]},"2682":{"position":[[1584,6]]}}}],["size",{"_index":1192,"t":{"2668":{"position":[[347,4]]},"2691":{"position":[[403,4],[454,4]]},"2699":{"position":[[306,4],[455,4],[641,4]]}}}],["sk2sk2sk2",{"_index":1156,"t":{"2658":{"position":[[650,9]]}}}],["sleev",{"_index":1031,"t":{"2624":{"position":[[309,6]]}}}],["small",{"_index":864,"t":{"2617":{"position":[[511,5]]},"2662":{"position":[[101,5]]}}}],["smaller",{"_index":260,"t":{"2554":{"position":[[393,7]]},"2617":{"position":[[2321,7]]}}}],["smart",{"_index":301,"t":{"2556":{"position":[[624,5]]},"2570":{"position":[[17,5],[1184,5]]},"2574":{"position":[[92,5]]},"2576":{"position":[[41,5]]},"2597":{"position":[[144,5],[1023,5]]},"2599":{"position":[[110,5],[2316,5],[2959,5]]},"2601":{"position":[[1421,5]]},"2603":{"position":[[160,5],[460,5],[507,5]]},"2605":{"position":[[57,5],[607,5]]},"2607":{"position":[[67,5]]},"2680":{"position":[[304,5]]},"2682":{"position":[[99,5],[772,5],[924,5]]},"2691":{"position":[[176,5]]}}}],["snark",{"_index":131,"t":{"2548":{"position":[[250,5]]},"2570":{"position":[[1434,7]]},"2576":{"position":[[871,5]]},"2578":{"position":[[226,6]]},"2590":{"position":[[653,6]]},"2592":{"position":[[639,6]]},"2594":{"position":[[376,7],[486,6],[517,6],[570,6]]},"2597":{"position":[[263,6]]},"2599":{"position":[[3502,6],[3673,7]]},"2601":{"position":[[16,6],[324,5],[364,5],[517,5],[1048,5],[1193,5]]},"2609":{"position":[[743,5],[954,5],[1140,5]]},"2611":{"position":[[134,5],[379,5]]},"2617":{"position":[[6679,5],[7168,5]]},"2620":{"position":[[17,5],[281,5]]},"2632":{"position":[[194,5],[243,6],[637,5]]},"2664":{"position":[[330,5]]},"2672":{"position":[[19,5]]},"2674":{"position":[[252,5]]},"2684":{"position":[[1646,5],[2373,5]]},"2691":{"position":[[391,5]]},"2706":{"position":[[3254,5]]}}}],["snark_scalar_field",{"_index":1035,"t":{"2624":{"position":[[372,18],[537,19]]}}}],["snarkj",{"_index":576,"t":{"2576":{"position":[[915,8]]}}}],["social",{"_index":973,"t":{"2617":{"position":[[5205,6]]}}}],["softwar",{"_index":511,"t":{"2574":{"position":[[1026,8]]}}}],["sole",{"_index":327,"t":{"2560":{"position":[[201,6]]}}}],["solid",{"_index":182,"t":{"2548":{"position":[[1133,9]]}}}],["solut",{"_index":187,"t":{"2548":{"position":[[1205,9]]},"2554":{"position":[[335,9],[535,8],[969,8]]},"2601":{"position":[[460,8]]},"2617":{"position":[[1573,8],[1833,8]]},"2658":{"position":[[800,8]]},"2682":{"position":[[403,8]]}}}],["someon",{"_index":1174,"t":{"2664":{"position":[[419,8]]}}}],["soon",{"_index":368,"t":{"2568":{"position":[[434,5]]}}}],["sophist",{"_index":984,"t":{"2617":{"position":[[5877,14]]}}}],["sourc",{"_index":857,"t":{"2617":{"position":[[224,6],[4123,6]]},"2636":{"position":[[440,6]]}}}],["space",{"_index":602,"t":{"2578":{"position":[[19,5]]}}}],["spam",{"_index":1170,"t":{"2662":{"position":[[620,4]]},"2668":{"position":[[316,5]]}}}],["spammer",{"_index":1164,"t":{"2662":{"position":[[397,8]]}}}],["speak",{"_index":388,"t":{"2570":{"position":[[1121,9]]}}}],["specif",{"_index":641,"t":{"2586":{"position":[[274,8]]},"2601":{"position":[[69,8],[1412,8]]},"2609":{"position":[[30,8],[1105,12]]},"2617":{"position":[[1997,8]]},"2620":{"position":[[246,13]]},"2680":{"position":[[5,13]]},"2682":{"position":[[584,13]]},"2684":{"position":[[2476,13],[2490,12]]},"2693":{"position":[[19,13]]},"2699":{"position":[[1534,14]]}}}],["specifi",{"_index":219,"t":{"2552":{"position":[[544,7]]},"2646":{"position":[[423,9]]}}}],["spend",{"_index":238,"t":{"2552":{"position":[[978,5]]},"2605":{"position":[[1070,6]]},"2638":{"position":[[307,6]]},"2642":{"position":[[1144,5]]},"2670":{"position":[[592,5],[1054,5]]},"2693":{"position":[[1068,5]]},"2699":{"position":[[621,5]]}}}],["spent",{"_index":1097,"t":{"2638":{"position":[[578,5]]},"2670":{"position":[[438,5],[666,5],[938,6],[1188,5]]},"2693":{"position":[[870,5]]}}}],["split",{"_index":535,"t":{"2574":{"position":[[1512,5]]}}}],["sprint",{"_index":941,"t":{"2617":{"position":[[3948,6]]}}}],["squar",{"_index":1096,"t":{"2638":{"position":[[545,6]]},"2642":{"position":[[1084,6]]},"2668":{"position":[[391,6]]},"2670":{"position":[[395,6],[895,6]]},"2674":{"position":[[555,6]]},"2699":{"position":[[561,6]]}}}],["stack",{"_index":595,"t":{"2576":{"position":[[1599,5]]},"2617":{"position":[[3689,5],[6749,6],[7860,5]]}}}],["stake",{"_index":1161,"t":{"2660":{"position":[[62,5]]}}}],["stand",{"_index":650,"t":{"2590":{"position":[[26,6]]},"2592":{"position":[[12,6]]}}}],["standalon",{"_index":307,"t":{"2558":{"position":[[22,10],[166,10]]}}}],["start",{"_index":323,"t":{"2560":{"position":[[154,8]]},"2572":{"position":[[327,7],[800,7]]},"2605":{"position":[[402,7]]},"2617":{"position":[[4937,9]]},"2628":{"position":[[574,8]]},"2642":{"position":[[1198,6]]},"2644":{"position":[[1539,5]]},"2674":{"position":[[653,5],[693,5],[729,5]]},"2682":{"position":[[329,7]]},"2684":{"position":[[119,6]]},"2693":{"position":[[1015,5]]}}}],["state",{"_index":231,"t":{"2552":{"position":[[830,5]]},"2556":{"position":[[610,5]]},"2609":{"position":[[216,5],[233,5],[437,5],[763,5],[932,5]]},"2611":{"position":[[179,5]]},"2620":{"position":[[107,5],[683,5]]},"2628":{"position":[[562,5],[875,5]]},"2632":{"position":[[169,5],[328,5],[450,5]]},"2634":{"position":[[272,5],[300,5],[349,5],[405,5],[429,5]]},"2636":{"position":[[5,5],[404,5]]},"2642":{"position":[[74,5],[172,5],[214,5],[260,5],[356,5],[1002,5]]},"2646":{"position":[[51,5],[571,5],[599,5],[645,5],[695,5],[749,5],[772,5]]},"2652":{"position":[[134,5]]},"2654":{"position":[[66,5]]},"2664":{"position":[[347,5]]},"2670":{"position":[[1367,5],[1409,5],[1497,5]]},"2672":{"position":[[105,5],[171,5],[258,5],[359,5],[661,5],[760,5],[1130,5],[1208,5],[1313,5],[1404,5]]},"2674":{"position":[[386,5],[970,5],[1230,5]]},"2676":{"position":[[26,5],[59,5],[191,5],[224,5]]},"2684":{"position":[[524,5],[551,5],[1460,5],[1548,5],[1668,5],[1711,6],[1750,5],[1795,5],[2251,5]]},"2693":{"position":[[327,5],[514,5]]},"2695":{"position":[[44,5]]},"2697":{"position":[[147,5],[328,5],[415,5],[441,5],[473,5]]},"2699":{"position":[[157,5],[183,5],[443,5],[848,5],[872,5],[944,5],[968,5],[1046,5],[1084,5],[1152,5]]},"2706":{"position":[[143,5],[530,5],[2986,5],[3155,5],[3229,5]]},"2708":{"position":[[304,5],[477,5]]}}}],["stateindex",{"_index":1100,"t":{"2642":{"position":[[203,10]]}}}],["stateleav",{"_index":1246,"t":{"2674":{"position":[[220,11]]}}}],["stateleaves[i].voteoptiontreeroot",{"_index":1263,"t":{"2674":{"position":[[1075,34]]}}}],["stateleaves[m][p",{"_index":1234,"t":{"2672":{"position":[[1155,17]]}}}],["stateroot",{"_index":1225,"t":{"2672":{"position":[[472,10],[576,10]]},"2674":{"position":[[505,10]]}}}],["statetre",{"_index":220,"t":{"2552":{"position":[[556,9]]},"2624":{"position":[[142,9]]}}}],["stem",{"_index":400,"t":{"2572":{"position":[[5,5]]}}}],["step",{"_index":643,"t":{"2588":{"position":[[21,4]]},"2611":{"position":[[218,5],[775,5]]},"2613":{"position":[[15,4]]},"2684":{"position":[[1438,6]]},"2691":{"position":[[622,5]]}}}],["still",{"_index":235,"t":{"2552":{"position":[[908,5]]},"2590":{"position":[[708,5]]},"2592":{"position":[[694,5]]},"2617":{"position":[[361,5]]}}}],["stop",{"_index":702,"t":{"2597":{"position":[[508,4]]}}}],["storag",{"_index":1065,"t":{"2632":{"position":[[342,7]]}}}],["store",{"_index":151,"t":{"2548":{"position":[[599,5]]},"2556":{"position":[[563,5]]},"2597":{"position":[[1044,6]]},"2605":{"position":[[1251,6]]},"2607":{"position":[[464,5]]},"2626":{"position":[[52,5]]},"2674":{"position":[[533,6]]},"2684":{"position":[[198,6]]},"2691":{"position":[[146,6]]}}}],["strength",{"_index":1196,"t":{"2670":{"position":[[226,8]]},"2693":{"position":[[926,8]]}}}],["string",{"_index":1033,"t":{"2624":{"position":[[349,6]]}}}],["style",{"_index":1181,"t":{"2668":{"position":[[55,5]]}}}],["submit",{"_index":723,"t":{"2599":{"position":[[1137,6],[1509,6],[2293,7],[2936,7]]},"2603":{"position":[[537,6]]},"2624":{"position":[[122,9]]},"2642":{"position":[[107,6]]},"2682":{"position":[[746,7],[1572,9]]},"2684":{"position":[[1121,6]]}}}],["subsequ",{"_index":403,"t":{"2572":{"position":[[57,13]]},"2576":{"position":[[259,12]]},"2662":{"position":[[129,10]]}}}],["subsidi",{"_index":142,"t":{"2548":{"position":[[413,7]]},"2550":{"position":[[128,7]]},"2554":{"position":[[9,7],[401,7],[830,7]]},"2564":{"position":[[135,7]]}}}],["subtot",{"_index":1265,"t":{"2674":{"position":[[1193,8]]}}}],["succe",{"_index":837,"t":{"2611":{"position":[[671,9]]}}}],["success",{"_index":836,"t":{"2611":{"position":[[562,10]]},"2617":{"position":[[5914,7]]}}}],["successfulli",{"_index":174,"t":{"2548":{"position":[[983,12]]},"2599":{"position":[[2599,12]]}}}],["such",{"_index":103,"t":{"2546":{"position":[[1382,4]]},"2556":{"position":[[616,4]]},"2570":{"position":[[133,4],[299,4]]},"2574":{"position":[[614,4],[1817,4],[1868,4]]},"2576":{"position":[[994,4]]},"2613":{"position":[[491,4],[523,4]]},"2620":{"position":[[359,5]]},"2638":{"position":[[465,5]]},"2642":{"position":[[1491,5],[1538,4]]},"2644":{"position":[[645,5]]},"2656":{"position":[[47,4]]},"2662":{"position":[[293,5]]},"2664":{"position":[[279,4]]},"2670":{"position":[[708,5]]},"2674":{"position":[[847,5]]},"2676":{"position":[[73,4],[131,4],[261,4]]},"2682":{"position":[[337,4]]},"2693":{"position":[[137,4]]},"2706":{"position":[[1075,5]]},"2708":{"position":[[495,4],[582,4]]}}}],["suggest",{"_index":617,"t":{"2582":{"position":[[2,9]]}}}],["suit",{"_index":459,"t":{"2572":{"position":[[1320,7]]}}}],["sum",{"_index":778,"t":{"2601":{"position":[[1146,3]]},"2611":{"position":[[243,3]]},"2668":{"position":[[384,3]]},"2674":{"position":[[544,3],[1127,3]]}}}],["summar",{"_index":761,"t":{"2601":{"position":[[618,10]]}}}],["summer",{"_index":114,"t":{"2548":{"position":[[38,6]]}}}],["support",{"_index":278,"t":{"2554":{"position":[[992,7]]},"2560":{"position":[[268,7]]},"2576":{"position":[[135,7],[704,8],[1448,10]]},"2617":{"position":[[797,7],[850,10],[1174,7],[3555,8],[4076,7],[4307,7],[4911,7],[5634,7],[6242,11],[6831,7],[6913,7],[6940,8]]}}}],["sure",{"_index":1294,"t":{"2682":{"position":[[989,4]]}}}],["surfac",{"_index":375,"t":{"2568":{"position":[[629,9]]}}}],["sustain",{"_index":867,"t":{"2617":{"position":[[623,9]]}}}],["switch",{"_index":728,"t":{"2599":{"position":[[1606,10],[1791,9],[1941,8]]}}}],["sybil",{"_index":529,"t":{"2574":{"position":[[1375,5]]}}}],["system",{"_index":45,"t":{"2546":{"position":[[284,7]]},"2554":{"position":[[569,6]]},"2568":{"position":[[229,8]]},"2570":{"position":[[148,7]]},"2574":{"position":[[38,8],[393,8],[488,7],[1873,8]]},"2588":{"position":[[121,8]]},"2646":{"position":[[494,7]]},"2656":{"position":[[4,6]]},"2680":{"position":[[159,7],[513,6]]},"2684":{"position":[[2641,7]]}}}],["take",{"_index":169,"t":{"2548":{"position":[[888,6]]},"2590":{"position":[[344,5]]},"2592":{"position":[[330,5]]},"2601":{"position":[[140,4]]},"2603":{"position":[[424,4]]},"2644":{"position":[[856,4]]}}}],["taken",{"_index":693,"t":{"2594":{"position":[[749,6]]}}}],["talk",{"_index":970,"t":{"2617":{"position":[[5178,6]]}}}],["talli",{"_index":50,"t":{"2546":{"position":[[337,5],[1137,5]]},"2548":{"position":[[925,7]]},"2570":{"position":[[1093,5]]},"2576":{"position":[[231,5]]},"2584":{"position":[[112,7]]},"2594":{"position":[[1517,5]]},"2597":{"position":[[181,7],[296,5]]},"2599":{"position":[[1337,6],[3283,6],[3575,7]]},"2601":{"position":[[822,5],[910,5],[1157,5],[1217,5]]},"2603":{"position":[[114,5],[873,8],[962,5]]},"2611":{"position":[[64,7],[260,5],[354,5],[732,7],[806,5]]},"2620":{"position":[[182,7],[743,8]]},"2634":{"position":[[213,5],[715,6],[867,5]]},"2650":{"position":[[75,6]]},"2670":{"position":[[46,8],[363,7],[721,7],[858,7],[1349,8],[1558,5]]},"2672":{"position":[[631,5],[750,5],[966,5],[1011,5],[1106,5],[1222,6]]},"2674":{"position":[[101,7]]},"2684":{"position":[[2329,7]]}}}],["tallyvot",{"_index":835,"t":{"2611":{"position":[[439,10],[534,10],[651,10]]}}}],["tamper",{"_index":1079,"t":{"2634":{"position":[[928,6]]},"2680":{"position":[[450,6]]},"2706":{"position":[[1134,9]]}}}],["tan",{"_index":414,"t":{"2572":{"position":[[190,4]]},"2678":{"position":[[25,4]]}}}],["target",{"_index":548,"t":{"2574":{"position":[[1830,6]]}}}],["task",{"_index":1003,"t":{"2617":{"position":[[6599,5]]}}}],["team",{"_index":116,"t":{"2548":{"position":[[64,4],[154,4]]},"2554":{"position":[[940,4]]},"2560":{"position":[[185,4]]},"2562":{"position":[[164,4]]},"2568":{"position":[[35,4]]},"2572":{"position":[[1245,5],[1399,5]]},"2576":{"position":[[1542,4]]},"2586":{"position":[[100,5],[316,5]]},"2617":{"position":[[65,4],[469,4],[501,4],[543,4],[3943,4],[4337,4],[4852,4],[7461,4],[7502,4]]}}}],["team'",{"_index":854,"t":{"2617":{"position":[[129,6]]}}}],["team’",{"_index":880,"t":{"2617":{"position":[[1522,6],[2936,6],[4030,6],[5333,6]]}}}],["technic",{"_index":109,"t":{"2546":{"position":[[1476,9]]},"2564":{"position":[[25,9]]},"2617":{"position":[[2489,9],[2648,9],[2725,9],[5371,9]]}}}],["techniqu",{"_index":447,"t":{"2572":{"position":[[1070,11]]}}}],["technolog",{"_index":870,"t":{"2617":{"position":[[836,10],[5691,11],[6888,11]]}}}],["tell",{"_index":472,"t":{"2574":{"position":[[248,4]]},"2582":{"position":[[239,4]]},"2590":{"position":[[911,4]]},"2592":{"position":[[897,4]]},"2599":{"position":[[1921,7]]},"2609":{"position":[[1157,4]]},"2644":{"position":[[1191,5]]},"2654":{"position":[[171,4]]},"2658":{"position":[[92,4]]},"2682":{"position":[[1326,4],[1645,4]]}}}],["templat",{"_index":938,"t":{"2617":{"position":[[3822,9]]}}}],["tenet",{"_index":692,"t":{"2594":{"position":[[742,6]]}}}],["term",{"_index":879,"t":{"2617":{"position":[[1507,5],[1602,5]]},"2684":{"position":[[40,6]]},"2693":{"position":[[5,5],[155,4]]}}}],["test",{"_index":184,"t":{"2548":{"position":[[1161,4]]},"2572":{"position":[[1315,4]]}}}],["thank",{"_index":371,"t":{"2568":{"position":[[571,5]]},"2580":{"position":[[3,5]]}}}],["themselv",{"_index":701,"t":{"2597":{"position":[[470,11]]}}}],["therefor",{"_index":616,"t":{"2580":{"position":[[278,9]]},"2590":{"position":[[585,9],[800,9]]},"2592":{"position":[[571,9],[786,9]]},"2597":{"position":[[366,10]]},"2599":{"position":[[1344,10],[3207,9]]},"2611":{"position":[[631,10]]},"2658":{"position":[[161,9]]}}}],["think",{"_index":1000,"t":{"2617":{"position":[[6366,5]]},"2658":{"position":[[283,5],[719,5]]}}}],["thorough",{"_index":183,"t":{"2548":{"position":[[1152,8]]}}}],["those",{"_index":465,"t":{"2574":{"position":[[60,5]]},"2601":{"position":[[283,5]]},"2613":{"position":[[531,5]]}}}],["though",{"_index":1207,"t":{"2670":{"position":[[755,6]]}}}],["thought",{"_index":725,"t":{"2599":{"position":[[1377,7]]}}}],["threat",{"_index":544,"t":{"2574":{"position":[[1718,6]]}}}],["three",{"_index":794,"t":{"2605":{"position":[[92,5]]}}}],["through",{"_index":543,"t":{"2574":{"position":[[1692,7]]},"2576":{"position":[[1693,7]]},"2584":{"position":[[233,7]]}}}],["thumb",{"_index":1112,"t":{"2642":{"position":[[1377,5]]}}}],["ti",{"_index":78,"t":{"2546":{"position":[[883,4]]},"2570":{"position":[[837,4]]},"2594":{"position":[[1263,4]]}}}],["time",{"_index":172,"t":{"2548":{"position":[[907,4]]},"2552":{"position":[[48,6],[779,5]]},"2572":{"position":[[683,4]]},"2607":{"position":[[11,4]]},"2617":{"position":[[293,5],[789,4],[6657,4]]},"2630":{"position":[[45,4]]},"2682":{"position":[[829,5]]},"2684":{"position":[[615,5]]},"2699":{"position":[[1633,5]]}}}],["timestamp",{"_index":813,"t":{"2605":{"position":[[1337,9]]}}}],["today’",{"_index":653,"t":{"2590":{"position":[[215,7]]},"2592":{"position":[[201,7]]}}}],["togeth",{"_index":717,"t":{"2599":{"position":[[614,8]]}}}],["token",{"_index":217,"t":{"2552":{"position":[[496,6]]},"2570":{"position":[[1493,6]]},"2574":{"position":[[1700,5]]},"2576":{"position":[[490,5]]},"2668":{"position":[[154,5],[221,6]]},"2684":{"position":[[447,5]]}}}],["took",{"_index":445,"t":{"2572":{"position":[[1028,4]]},"2582":{"position":[[255,4]]}}}],["tool",{"_index":449,"t":{"2572":{"position":[[1093,7]]},"2576":{"position":[[805,5],[986,7]]},"2584":{"position":[[18,7]]},"2617":{"position":[[1785,6],[3526,7]]}}}],["top",{"_index":176,"t":{"2548":{"position":[[1009,3]]},"2550":{"position":[[20,3],[48,3]]},"2552":{"position":[[77,3],[111,3]]},"2570":{"position":[[279,3]]}}}],["topup",{"_index":152,"t":{"2548":{"position":[[624,7]]},"2552":{"position":[[514,6],[577,5],[606,5],[694,5],[743,5]]}}}],["topupcredit",{"_index":242,"t":{"2552":{"position":[[1066,11]]}}}],["total",{"_index":774,"t":{"2601":{"position":[[816,5],[904,5]]},"2617":{"position":[[2943,5],[4037,5],[5340,5]]},"2646":{"position":[[182,5]]}}}],["totalcredit=initialcredit+topupcredit",{"_index":241,"t":{"2552":{"position":[[1018,37]]}}}],["touch",{"_index":648,"t":{"2588":{"position":[[181,5]]}}}],["toward",{"_index":644,"t":{"2588":{"position":[[26,7]]},"2599":{"position":[[1326,6]]}}}],["track",{"_index":789,"t":{"2603":{"position":[[319,5]]},"2670":{"position":[[1595,5]]}}}],["transact",{"_index":467,"t":{"2574":{"position":[[175,11]]},"2590":{"position":[[458,12]]},"2592":{"position":[[444,12]]},"2597":{"position":[[877,11]]},"2684":{"position":[[155,11]]}}}],["transfer",{"_index":210,"t":{"2552":{"position":[[240,8],[393,8]]}}}],["transit",{"_index":1017,"t":{"2620":{"position":[[118,11],[694,10]]},"2632":{"position":[[180,10]]},"2646":{"position":[[57,10]]},"2652":{"position":[[140,10]]},"2664":{"position":[[358,11]]},"2684":{"position":[[1679,10]]},"2695":{"position":[[55,11]]}}}],["tree",{"_index":160,"t":{"2548":{"position":[[709,4]]},"2576":{"position":[[1129,4]]},"2605":{"position":[[1306,5]]},"2607":{"position":[[525,5]]},"2609":{"position":[[222,5],[239,4],[443,5],[769,4],[938,4]]},"2611":{"position":[[185,4]]},"2624":{"position":[[51,4],[285,4]]},"2626":{"position":[[24,4]]},"2628":{"position":[[568,5],[758,5],[881,5]]},"2632":{"position":[[456,4],[555,4]]},"2636":{"position":[[90,5],[477,5],[642,5]]},"2638":{"position":[[157,4],[427,5]]},"2642":{"position":[[220,4],[266,4],[931,4],[983,4],[1593,5]]},"2646":{"position":[[605,4],[651,4],[778,4]]},"2654":{"position":[[72,5]]},"2666":{"position":[[131,5]]},"2670":{"position":[[1481,4]]},"2672":{"position":[[111,4],[177,4],[264,4],[1214,4]]},"2674":{"position":[[392,4]]},"2684":{"position":[[239,5],[530,4],[557,4],[1304,5],[1756,4],[2257,4],[2278,5]]},"2693":{"position":[[677,4],[693,4]]},"2697":{"position":[[201,4],[275,4],[334,4]]},"2699":{"position":[[426,4],[738,4]]},"2706":{"position":[[1009,5],[1476,4],[2013,4],[2461,4]]},"2708":{"position":[[386,4]]}}}],["tri",{"_index":740,"t":{"2599":{"position":[[2755,5]]}}}],["true",{"_index":828,"t":{"2609":{"position":[[1225,5]]},"2652":{"position":[[108,4]]},"2706":{"position":[[1189,5],[3478,4],[3498,5]]},"2708":{"position":[[55,4],[114,4],[177,4],[251,4],[321,4],[397,4]]}}}],["truli",{"_index":847,"t":{"2613":{"position":[[439,5]]}}}],["trust",{"_index":40,"t":{"2546":{"position":[[216,7],[454,7],[667,7],[759,7],[1082,7]]},"2570":{"position":[[399,7],[619,7],[712,7],[1038,7]]},"2572":{"position":[[1002,5]]},"2586":{"position":[[58,7],[163,7],[222,7],[409,7]]},"2590":{"position":[[834,5]]},"2592":{"position":[[820,5]]},"2594":{"position":[[833,7],[1048,7],[1139,7],[1462,7]]},"2597":{"position":[[81,7]]},"2611":{"position":[[691,5],[994,5]]},"2658":{"position":[[245,7],[338,7],[365,7],[542,7],[778,7]]},"2706":{"position":[[2568,7]]}}}],["trustlessli",{"_index":1173,"t":{"2664":{"position":[[401,11]]}}}],["truth",{"_index":1084,"t":{"2636":{"position":[[450,5]]}}}],["turn",{"_index":384,"t":{"2570":{"position":[[293,5]]},"2684":{"position":[[491,4]]}}}],["tutori",{"_index":939,"t":{"2617":{"position":[[3834,9]]}}}],["tweet",{"_index":515,"t":{"2574":{"position":[[1162,5]]}}}],["twitter",{"_index":967,"t":{"2617":{"position":[[5079,8]]}}}],["two",{"_index":127,"t":{"2548":{"position":[[215,3]]},"2554":{"position":[[88,3],[637,3]]},"2556":{"position":[[58,3],[458,3]]},"2597":{"position":[[32,3]]},"2601":{"position":[[289,3]]},"2620":{"position":[[10,3]]},"2624":{"position":[[12,3]]},"2689":{"position":[[10,3]]}}}],["type",{"_index":1193,"t":{"2670":{"position":[[32,5]]},"2672":{"position":[[31,4]]}}}],["typedoc",{"_index":926,"t":{"2617":{"position":[[3475,7]]}}}],["typescript",{"_index":389,"t":{"2570":{"position":[[1154,10]]}}}],["uint",{"_index":1037,"t":{"2624":{"position":[[472,4]]}}}],["uint256",{"_index":1034,"t":{"2624":{"position":[[364,7]]},"2632":{"position":[[20,7],[43,9]]},"2634":{"position":[[20,7],[52,7],[83,9]]}}}],["uint256(keccak256(abi.encodepacked('maci",{"_index":1039,"t":{"2624":{"position":[[490,44]]}}}],["uint256[8",{"_index":1063,"t":{"2632":{"position":[[107,10]]},"2634":{"position":[[121,10]]}}}],["unabl",{"_index":697,"t":{"2597":{"position":[[420,6]]},"2601":{"position":[[499,6]]},"2664":{"position":[[308,6]]}}}],["unaudit",{"_index":615,"t":{"2580":{"position":[[264,9]]}}}],["uncensor",{"_index":69,"t":{"2546":{"position":[[721,15]]},"2570":{"position":[[674,16],[1254,15]]},"2594":{"position":[[1101,16]]}}}],["uncheck",{"_index":547,"t":{"2574":{"position":[[1800,10]]}}}],["uncondit",{"_index":1006,"t":{"2617":{"position":[[7077,13]]}}}],["under",{"_index":339,"t":{"2562":{"position":[[130,5]]},"2617":{"position":[[367,5]]}}}],["underli",{"_index":392,"t":{"2570":{"position":[[1279,10]]}}}],["understand",{"_index":677,"t":{"2594":{"position":[[340,10]]},"2617":{"position":[[3260,10],[3781,10],[5987,10]]},"2662":{"position":[[585,10]]}}}],["unencrypt",{"_index":1328,"t":{"2693":{"position":[[176,11]]}}}],["unforg",{"_index":73,"t":{"2546":{"position":[[813,14]]},"2570":{"position":[[766,15],[1319,14]]},"2594":{"position":[[1192,15]]}}}],["uniqu",{"_index":1081,"t":{"2636":{"position":[[71,6]]},"2680":{"position":[[560,6]]},"2693":{"position":[[686,6]]}}}],["unit",{"_index":1331,"t":{"2693":{"position":[[903,4]]}}}],["unlik",{"_index":633,"t":{"2586":{"position":[[0,6]]}}}],["until",{"_index":831,"t":{"2609":{"position":[[1364,5]]},"2650":{"position":[[180,5]]}}}],["up",{"_index":44,"t":{"2546":{"position":[[277,2]]},"2548":{"position":[[1100,2]]},"2550":{"position":[[24,2],[52,2],[90,2]]},"2552":{"position":[[36,2],[81,2],[115,2]]},"2556":{"position":[[374,2]]},"2572":{"position":[[1058,2]]},"2574":{"position":[[1420,2]]},"2576":{"position":[[504,2]]},"2597":{"position":[[189,2]]},"2599":{"position":[[46,2],[317,3],[554,3],[2078,2],[2245,2],[3134,2]]},"2603":{"position":[[78,2],[648,2]]},"2605":{"position":[[9,2],[164,2],[445,2],[555,2],[656,3],[729,2],[782,3],[1296,2]]},"2624":{"position":[[303,2]]},"2628":{"position":[[222,3],[773,2],[865,3]]},"2662":{"position":[[415,2]]},"2666":{"position":[[17,2]]},"2668":{"position":[[192,2]]},"2672":{"position":[[773,2]]},"2684":{"position":[[135,2],[253,3],[790,2]]},"2691":{"position":[[300,3]]}}}],["upcom",{"_index":999,"t":{"2617":{"position":[[6342,8]]}}}],["updat",{"_index":3,"t":{"2544":{"position":[[45,7],[243,8]]},"2548":{"position":[[1072,7]]},"2556":{"position":[[212,7]]},"2599":{"position":[[2537,7]]},"2609":{"position":[[208,7]]},"2615":{"position":[[53,7]]},"2617":{"position":[[308,6],[5219,6],[6050,6]]},"2630":{"position":[[118,7]]},"2632":{"position":[[162,6],[273,7],[316,7],[438,7]]},"2642":{"position":[[370,7]]},"2654":{"position":[[105,7]]},"2682":{"position":[[1474,7]]},"2684":{"position":[[539,7],[1537,6],[1599,6]]},"2699":{"position":[[403,6],[1104,7]]},"2706":{"position":[[2048,8],[3108,6]]},"2708":{"position":[[92,7],[151,7],[214,7],[288,7],[358,7],[434,7]]}}}],["updatedstateroot",{"_index":1403,"t":{"2706":{"position":[[3280,16]]}}}],["updatemerkletre",{"_index":1389,"t":{"2706":{"position":[[2114,17]]}}}],["upgrad",{"_index":359,"t":{"2568":{"position":[[262,7]]},"2576":{"position":[[568,7],[1585,7]]},"2582":{"position":[[12,7]]}}}],["upon",{"_index":378,"t":{"2570":{"position":[[61,4]]}}}],["us",{"_index":150,"t":{"2548":{"position":[[591,4],[1088,4]]},"2550":{"position":[[257,3]]},"2552":{"position":[[448,4]]},"2558":{"position":[[12,4],[157,3],[256,3],[313,3],[380,4],[439,3]]},"2560":{"position":[[130,3]]},"2574":{"position":[[501,3]]},"2576":{"position":[[886,5],[1508,3]]},"2580":{"position":[[98,3]]},"2582":{"position":[[34,3]]},"2584":{"position":[[252,3]]},"2586":{"position":[[334,3]]},"2590":{"position":[[644,5]]},"2592":{"position":[[630,5]]},"2597":{"position":[[256,3],[661,5]]},"2599":{"position":[[88,3],[541,4],[2232,4]]},"2601":{"position":[[356,3],[509,3],[1038,4],[1185,3],[1253,3]]},"2603":{"position":[[146,3],[585,4],[807,4]]},"2605":{"position":[[432,4]]},"2607":{"position":[[240,3],[321,3]]},"2609":{"position":[[66,3]]},"2613":{"position":[[192,3]]},"2617":{"position":[[1222,5],[2234,4],[2313,4],[2387,4],[2988,6],[3021,3],[7042,3]]},"2626":{"position":[[3,3]]},"2632":{"position":[[894,4]]},"2638":{"position":[[523,3]]},"2642":{"position":[[301,4],[335,4],[472,4],[573,3],[859,3],[1062,3],[1362,6]]},"2658":{"position":[[689,4],[815,3]]},"2668":{"position":[[8,3]]},"2670":{"position":[[1304,5]]},"2682":{"position":[[1121,3],[1514,4]]},"2684":{"position":[[754,5],[807,3],[968,5],[1067,3],[1210,5],[2053,3],[2532,3],[2554,4]]},"2691":{"position":[[523,3],[763,5]]},"2693":{"position":[[78,4],[999,3]]},"2699":{"position":[[539,3],[1311,4],[1372,4],[1419,4]]},"2701":{"position":[[374,3]]},"2706":{"position":[[2878,3],[3418,3]]}}}],["us$20k",{"_index":438,"t":{"2572":{"position":[[755,6]]}}}],["us$6000",{"_index":433,"t":{"2572":{"position":[[644,7]]}}}],["usabl",{"_index":442,"t":{"2572":{"position":[[929,10]]}}}],["user",{"_index":85,"t":{"2546":{"position":[[1001,4]]},"2548":{"position":[[355,5],[779,4]]},"2550":{"position":[[34,5]]},"2552":{"position":[[23,4],[208,4],[323,5],[482,4],[969,4],[1122,4]]},"2556":{"position":[[129,4],[264,4],[517,4]]},"2560":{"position":[[106,5]]},"2568":{"position":[[346,6]]},"2570":{"position":[[209,4],[956,4]]},"2576":{"position":[[718,6],[1087,5],[1267,5],[1335,4]]},"2582":{"position":[[250,4]]},"2584":{"position":[[156,5]]},"2590":{"position":[[106,5],[847,4]]},"2592":{"position":[[92,5],[833,4]]},"2594":{"position":[[1381,4]]},"2597":{"position":[[53,5],[106,5],[636,5],[694,4],[778,4],[916,4],[989,4]]},"2599":{"position":[[9,4],[323,4],[482,4],[574,4],[747,5],[1033,4],[1667,4],[1768,4],[1808,5],[1936,4],[3414,6]]},"2601":{"position":[[29,5],[491,4],[1170,5]]},"2603":{"position":[[336,4],[394,5],[436,5],[531,5],[630,5]]},"2605":{"position":[[73,5],[294,4],[671,4],[760,4],[935,4],[957,4],[1184,4],[1272,4]]},"2607":{"position":[[89,5],[411,4]]},"2609":{"position":[[467,4]]},"2611":{"position":[[681,5],[921,5]]},"2613":{"position":[[223,5],[325,5]]},"2617":{"position":[[4569,4],[5272,4],[7033,5]]},"2624":{"position":[[135,6]]},"2628":{"position":[[209,4],[425,4],[490,6],[524,5]]},"2636":{"position":[[237,4],[505,4]]},"2638":{"position":[[213,4],[298,4],[380,5]]},"2642":{"position":[[98,4],[1129,4],[1418,4]]},"2644":{"position":[[158,4],[1202,4],[1478,4]]},"2646":{"position":[[23,4],[473,4],[506,4]]},"2658":{"position":[[104,4],[201,4],[328,4],[356,4],[419,4],[479,4],[506,4]]},"2662":{"position":[[5,4],[164,4],[284,5],[329,5]]},"2664":{"position":[[161,4],[254,4]]},"2668":{"position":[[82,5],[133,4]]},"2670":{"position":[[205,5],[290,5],[556,4],[766,4],[1183,4]]},"2672":{"position":[[1291,4]]},"2674":{"position":[[715,4],[831,4]]},"2682":{"position":[[275,4]]},"2684":{"position":[[262,4],[417,4],[646,5],[705,4],[948,4],[1055,4],[1906,4],[2188,6]]},"2686":{"position":[[136,6]]},"2689":{"position":[[21,5]]},"2691":{"position":[[21,4],[80,4]]},"2693":{"position":[[579,4],[647,4],[719,4],[815,4],[1009,5]]},"2699":{"position":[[606,4]]},"2706":{"position":[[1726,4]]}}}],["user'",{"_index":75,"t":{"2546":{"position":[[848,6]]},"2628":{"position":[[686,6]]},"2636":{"position":[[27,6],[355,6]]},"2658":{"position":[[40,6]]},"2666":{"position":[[112,6]]},"2674":{"position":[[579,6]]},"2691":{"position":[[245,6],[710,6]]},"2693":{"position":[[218,6],[358,6],[940,6]]},"2697":{"position":[[395,6]]},"2699":{"position":[[137,6],[1132,6]]},"2706":{"position":[[964,6]]}}}],["user1",{"_index":769,"t":{"2601":{"position":[[760,5]]}}}],["user2",{"_index":771,"t":{"2601":{"position":[[782,5]]}}}],["user3",{"_index":773,"t":{"2601":{"position":[[804,5]]}}}],["usercurrentleaf",{"_index":1349,"t":{"2699":{"position":[[1112,15]]},"2706":{"position":[[1315,15]]}}}],["usercurrentleaf.nonc",{"_index":1378,"t":{"2706":{"position":[[920,21]]}}}],["usercurrentleaf.voicecreditbal",{"_index":1385,"t":{"2706":{"position":[[1787,34]]}}}],["usercurrentleaf.voteoptiontreeroot",{"_index":1384,"t":{"2706":{"position":[[1659,35]]}}}],["usercurrentleafpathel",{"_index":1339,"t":{"2699":{"position":[[75,27]]},"2706":{"position":[[1260,28]]}}}],["usercurrentleafpathindex",{"_index":1338,"t":{"2697":{"position":[[339,24]]},"2706":{"position":[[1289,25]]}}}],["usernam",{"_index":726,"t":{"2599":{"position":[[1409,9]]}}}],["userpubkey",{"_index":1351,"t":{"2699":{"position":[[1253,10]]},"2706":{"position":[[815,11]]}}}],["user’",{"_index":386,"t":{"2570":{"position":[[802,6]]},"2590":{"position":[[747,6]]},"2592":{"position":[[733,6]]},"2594":{"position":[[1228,6]]},"2597":{"position":[[439,6]]},"2599":{"position":[[900,6],[1395,6]]},"2605":{"position":[[414,6],[1081,6]]}}}],["v1",{"_index":108,"t":{"2546":{"position":[[1473,2]]},"2568":{"position":[[372,2]]}}}],["v1.0",{"_index":596,"t":{"2576":{"position":[[1613,5]]},"2617":{"position":[[2468,4]]}}}],["v1.1.1",{"_index":10,"t":{"2544":{"position":[[109,7]]},"2566":{"position":[[51,6]]},"2617":{"position":[[3966,6]]}}}],["v1.2",{"_index":899,"t":{"2617":{"position":[[2579,5],[3370,4],[3904,4]]}}}],["v1.x",{"_index":916,"t":{"2617":{"position":[[3119,4],[4961,4]]}}}],["valid",{"_index":58,"t":{"2546":{"position":[[499,8]]},"2548":{"position":[[277,10]]},"2570":{"position":[[444,8]]},"2594":{"position":[[878,8]]},"2597":{"position":[[312,5]]},"2599":{"position":[[959,5],[2473,6],[3344,5]]},"2601":{"position":[[395,8]]},"2605":{"position":[[768,5],[1192,5]]},"2609":{"position":[[272,5],[802,5],[1174,5]]},"2611":{"position":[[89,5],[157,5],[523,6],[624,6],[751,5]]},"2624":{"position":[[101,5]]},"2632":{"position":[[385,6]]},"2634":{"position":[[837,5]]},"2636":{"position":[[206,5],[262,5],[311,5]]},"2644":{"position":[[140,5],[194,5],[610,6]]},"2646":{"position":[[110,5],[198,5],[412,6]]},"2652":{"position":[[232,5]]},"2682":{"position":[[1666,5]]},"2684":{"position":[[1504,5],[1693,6],[2141,6],[2413,5]]},"2697":{"position":[[409,5]]},"2699":{"position":[[151,5],[1146,5]]},"2706":{"position":[[553,5],[747,5],[1225,6]]},"2708":{"position":[[60,5],[119,5],[182,5],[256,5],[326,5],[402,5]]}}}],["validsignatur",{"_index":1374,"t":{"2706":{"position":[[757,14],[2806,14]]}}}],["validstateleafindex",{"_index":1373,"t":{"2706":{"position":[[609,19],[2824,19]]}}}],["validvoteoptiontreeindex",{"_index":1398,"t":{"2706":{"position":[[2590,24],[2847,24]]}}}],["valu",{"_index":157,"t":{"2548":{"position":[[682,5]]},"2601":{"position":[[218,7],[293,6]]},"2620":{"position":[[398,6]]},"2624":{"position":[[235,6],[251,5],[316,6]]},"2628":{"position":[[476,5]]},"2634":{"position":[[646,5]]},"2644":{"position":[[277,6]]},"2654":{"position":[[33,5]]},"2672":{"position":[[722,5],[870,6],[1068,5]]},"2684":{"position":[[209,5]]},"2691":{"position":[[347,5]]},"2706":{"position":[[598,6]]}}}],["var",{"_index":1249,"t":{"2674":{"position":[[397,3],[612,3],[649,3],[982,3]]},"2701":{"position":[[65,3],[308,3],[421,3]]},"2703":{"position":[[0,3]]},"2706":{"position":[[605,3],[753,3],[875,3],[1232,3],[1500,3],[1759,3],[1904,3],[2082,3],[2586,3],[2666,3],[2998,3],[3276,3]]}}}],["variabl",{"_index":715,"t":{"2599":{"position":[[346,9]]},"2674":{"position":[[524,8]]},"2706":{"position":[[508,8],[718,8],[842,8],[1710,8],[1971,8],[2371,8]]}}}],["variou",{"_index":866,"t":{"2617":{"position":[[557,7]]}}}],["veri",{"_index":170,"t":{"2548":{"position":[[897,4]]},"2572":{"position":[[1198,4]]},"2574":{"position":[[6,4],[721,4]]},"2594":{"position":[[150,4]]},"2597":{"position":[[1063,4]]},"2613":{"position":[[313,4]]},"2682":{"position":[[353,4]]}}}],["verifi",{"_index":186,"t":{"2548":{"position":[[1175,6]]},"2609":{"position":[[1061,8],[1084,8],[1199,8]]},"2611":{"position":[[484,8],[580,8]]},"2617":{"position":[[1354,10]]},"2620":{"position":[[436,8]]},"2632":{"position":[[253,8],[612,8]]},"2652":{"position":[[23,6]]},"2670":{"position":[[1281,6]]}}}],["verifyeddsa(signatur",{"_index":1375,"t":{"2706":{"position":[[774,22]]}}}],["versa",{"_index":600,"t":{"2576":{"position":[[1775,6]]}}}],["version",{"_index":4,"t":{"2544":{"position":[[53,7]]},"2548":{"position":[[1122,7]]},"2560":{"position":[[5,7],[145,8],[280,7]]},"2568":{"position":[[60,7]]},"2572":{"position":[[788,7]]},"2576":{"position":[[903,8]]},"2586":{"position":[[251,7]]},"2617":{"position":[[3717,10]]},"2628":{"position":[[825,7]]},"2670":{"position":[[93,7]]},"2682":{"position":[[208,7]]}}}],["via",{"_index":345,"t":{"2562":{"position":[[248,3]]},"2570":{"position":[[1334,3],[1427,3]]},"2597":{"position":[[135,3]]},"2603":{"position":[[475,3]]},"2605":{"position":[[40,3]]},"2617":{"position":[[3695,4]]},"2620":{"position":[[445,3]]},"2674":{"position":[[139,3],[322,3],[782,3],[1292,3],[1464,3]]},"2684":{"position":[[901,4]]},"2701":{"position":[[145,3],[487,3]]},"2706":{"position":[[3181,3]]}}}],["vice",{"_index":599,"t":{"2576":{"position":[[1770,4]]}}}],["video",{"_index":672,"t":{"2594":{"position":[[171,5]]}}}],["view",{"_index":918,"t":{"2617":{"position":[[3156,4]]}}}],["virtu",{"_index":1212,"t":{"2670":{"position":[[1023,6]]}}}],["vision",{"_index":875,"t":{"2617":{"position":[[1021,7],[1529,6],[1612,6],[7534,6]]}}}],["visit",{"_index":335,"t":{"2562":{"position":[[79,5]]}}}],["visual",{"_index":1190,"t":{"2668":{"position":[[326,6]]}}}],["vitalik",{"_index":250,"t":{"2554":{"position":[[220,7]]},"2564":{"position":[[118,7]]},"2572":{"position":[[40,7]]},"2574":{"position":[[402,7]]},"2594":{"position":[[592,7]]},"2680":{"position":[[116,7]]}}}],["vitalik'",{"_index":34,"t":{"2546":{"position":[[121,9]]}}}],["vitalik’",{"_index":673,"t":{"2594":{"position":[[245,9]]}}}],["voic",{"_index":203,"t":{"2552":{"position":[[84,5],[1085,5]]},"2580":{"position":[[108,5]]},"2605":{"position":[[191,5],[1018,5],[1088,5],[1221,5],[1323,5]]},"2628":{"position":[[407,5],[693,5]]},"2636":{"position":[[110,5],[575,5]]},"2638":{"position":[[275,5],[564,5]]},"2642":{"position":[[1113,5]]},"2646":{"position":[[522,5]]},"2670":{"position":[[330,5],[424,5],[568,5],[652,5],[822,5],[914,5],[1068,5],[1197,5]]},"2674":{"position":[[586,5]]},"2693":{"position":[[847,5],[886,5],[1050,5]]},"2699":{"position":[[590,5]]},"2706":{"position":[[1745,5]]},"2708":{"position":[[41,5]]}}}],["voicecreditbal",{"_index":1092,"t":{"2638":{"position":[[229,18]]}}}],["void",{"_index":1296,"t":{"2682":{"position":[[1181,4]]}}}],["vote",{"_index":31,"t":{"2546":{"position":[[71,6],[350,6],[513,5],[636,6],[715,5],[807,5],[878,4],[967,4],[1023,4],[1146,6]]},"2548":{"position":[[614,6]]},"2552":{"position":[[662,6],[732,6],[1138,6]]},"2554":{"position":[[860,4],[1007,4]]},"2568":{"position":[[200,6]]},"2570":{"position":[[141,6],[458,5],[586,6],[668,5],[760,5],[832,4],[922,4],[978,4],[1102,6]]},"2574":{"position":[[31,6],[200,5],[268,6],[688,6],[708,4],[747,5],[844,6],[1706,7]]},"2576":{"position":[[629,6],[640,4],[725,6]]},"2580":{"position":[[68,7],[155,4],[220,6]]},"2582":{"position":[[98,5]]},"2588":{"position":[[92,6]]},"2590":{"position":[[132,6],[232,6],[288,6],[377,5],[571,5],[696,5],[734,4],[785,5],[852,5],[939,6],[980,5],[1066,5],[1136,4]]},"2592":{"position":[[118,6],[218,6],[274,6],[363,5],[557,5],[682,5],[720,4],[771,5],[838,5],[925,6],[966,5],[1052,5],[1122,4]]},"2594":{"position":[[892,5],[1017,5],[1096,4],[1187,4],[1258,4],[1347,4],[1403,4],[1526,5]]},"2597":{"position":[[112,4],[196,5],[340,4],[446,4],[464,5],[515,4],[612,4],[656,4],[921,5],[946,4]]},"2599":{"position":[[25,5],[95,4],[170,7],[187,4],[298,4],[388,4],[407,4],[789,4],[1016,5],[1069,4],[1150,4],[1212,5],[1402,6],[1444,6],[1518,4],[1773,6],[1990,4],[2144,4],[2515,4],[2612,5],[2662,4],[2686,4],[2775,4],[2834,4],[3034,4],[3250,4],[3335,4],[3587,5]]},"2601":{"position":[[1084,5],[1286,4]]},"2603":{"position":[[407,4],[676,4],[887,5]]},"2605":{"position":[[312,5],[395,6],[921,5],[1055,5]]},"2607":{"position":[[19,5],[398,5]]},"2609":{"position":[[9,6],[278,5],[472,5],[530,4],[585,4]]},"2611":{"position":[[76,5],[232,5],[757,6],[967,6],[1011,5]]},"2613":{"position":[[65,6],[229,4],[506,6]]},"2617":{"position":[[663,6],[955,6],[1245,5],[1325,5],[1335,6],[1566,6],[1714,6],[1936,6]]},"2620":{"position":[[198,6],[738,4]]},"2624":{"position":[[196,6]]},"2626":{"position":[[58,6]]},"2628":{"position":[[746,4]]},"2634":{"position":[[208,4],[487,5],[710,4],[877,6]]},"2636":{"position":[[78,4],[465,4],[514,4],[624,5]]},"2638":{"position":[[218,5],[415,4],[446,4],[490,5],[516,6]]},"2640":{"position":[[48,5]]},"2642":{"position":[[919,4],[971,4],[1055,6],[1158,5],[1581,4]]},"2644":{"position":[[358,4],[398,4],[428,4],[458,4],[488,4],[517,4],[674,6],[902,4],[938,4],[979,4],[1020,4],[1057,4],[1253,5],[1303,4],[1344,4],[1385,4],[1425,4],[1516,4]]},"2646":{"position":[[433,4]]},"2650":{"position":[[70,4]]},"2662":{"position":[[80,4],[387,5]]},"2666":{"position":[[62,5],[119,4]]},"2668":{"position":[[115,4],[214,6],[411,5]]},"2670":{"position":[[10,6],[41,4],[191,6],[266,4],[371,5],[470,6],[729,5],[866,4],[874,6],[1141,5]]},"2672":{"position":[[626,4],[745,4],[961,4],[1006,4],[1101,4],[1270,4],[1569,4]]},"2674":{"position":[[9,5],[50,5],[109,6],[122,6],[868,4],[1134,5]]},"2676":{"position":[[109,4],[252,5]]},"2682":{"position":[[61,4],[248,4],[315,6],[648,5],[668,4],[1042,5],[1086,4],[1199,5],[1216,4],[1351,5],[1426,4],[1620,5],[1658,4]]},"2684":{"position":[[227,4],[710,6],[1363,6],[2024,5],[2293,6],[2345,6],[2458,6],[2525,6],[2634,6]]},"2693":{"position":[[237,4],[433,5],[462,5],[552,4],[584,5],[594,4],[656,4],[665,4],[735,4],[824,5],[880,5],[947,4],[992,6],[1082,6]]},"2699":{"position":[[288,4],[414,4],[532,6],[635,5]]},"2706":{"position":[[1393,4],[1998,4],[2064,4],[2387,4],[2449,4]]},"2708":{"position":[[234,4],[374,4],[558,4]]}}}],["vote_option_tree_depth",{"_index":1341,"t":{"2699":{"position":[[320,22],[469,22]]},"2706":{"position":[[2493,22],[2643,22]]}}}],["voteleav",{"_index":1257,"t":{"2674":{"position":[[808,10]]}}}],["voteleaves[i][j",{"_index":1267,"t":{"2674":{"position":[[1265,16]]}}}],["voteleaves[m][n",{"_index":1235,"t":{"2672":{"position":[[1241,16]]}}}],["voteoptionindex",{"_index":1108,"t":{"2642":{"position":[[903,15]]}}}],["voteoptiontre",{"_index":1236,"t":{"2672":{"position":[[1369,15]]}}}],["voteoptiontreeroot",{"_index":1091,"t":{"2638":{"position":[[111,18]]},"2674":{"position":[[936,20]]}}}],["voter",{"_index":284,"t":{"2556":{"position":[[142,7]]},"2558":{"position":[[246,6]]},"2570":{"position":[[523,5]]},"2580":{"position":[[88,6]]},"2582":{"position":[[80,7]]},"2590":{"position":[[276,6],[515,6],[901,5],[1051,5],[1126,6]]},"2592":{"position":[[262,6],[501,6],[887,5],[1037,5],[1112,6]]},"2594":{"position":[[957,5]]},"2597":{"position":[[59,8]]},"2617":{"position":[[1299,5],[2530,6],[2690,6],[2765,6],[3751,5],[7091,5],[7310,6]]},"2682":{"position":[[12,6],[793,5]]}}}],["vs",{"_index":951,"t":{"2617":{"position":[[4342,3]]}}}],["vulner",{"_index":120,"t":{"2548":{"position":[[98,16]]},"2568":{"position":[[479,15]]},"2574":{"position":[[581,10],[1851,13]]}}}],["want",{"_index":920,"t":{"2617":{"position":[[3187,4],[4056,4]]},"2682":{"position":[[1368,6]]}}}],["way",{"_index":66,"t":{"2546":{"position":[[627,3]]},"2554":{"position":[[26,3]]},"2570":{"position":[[577,3]]},"2588":{"position":[[256,4]]},"2590":{"position":[[387,4],[1021,3],[1147,4]]},"2592":{"position":[[373,4],[1007,3],[1133,4]]},"2594":{"position":[[1008,3]]},"2599":{"position":[[1760,3],[1914,3],[3308,3]]},"2617":{"position":[[5467,3]]},"2644":{"position":[[100,3],[1184,3]]},"2656":{"position":[[43,3]]},"2658":{"position":[[85,3]]},"2662":{"position":[[473,3]]},"2670":{"position":[[608,3]]},"2682":{"position":[[1101,4],[1319,3],[1361,3],[1638,3]]}}}],["weak",{"_index":1162,"t":{"2660":{"position":[[71,4]]}}}],["websit",{"_index":992,"t":{"2617":{"position":[[6073,8],[6294,7]]}}}],["week",{"_index":1057,"t":{"2628":{"position":[[911,5]]},"2668":{"position":[[232,5]]}}}],["wei",{"_index":416,"t":{"2572":{"position":[[199,3]]},"2594":{"position":[[102,3],[775,3]]},"2620":{"position":[[558,3],[641,3]]},"2678":{"position":[[69,3]]}}}],["weight",{"_index":1119,"t":{"2644":{"position":[[403,7],[433,7],[463,7],[493,7],[522,7],[984,7],[1025,7],[1308,7],[1349,7],[1390,7],[1430,7]]},"2693":{"position":[[451,6],[701,7]]},"2706":{"position":[[1405,6]]}}}],["welcom",{"_index":604,"t":{"2578":{"position":[[49,7]]},"2615":{"position":[[0,7]]}}}],["well",{"_index":229,"t":{"2552":{"position":[[810,4]]},"2558":{"position":[[401,4]]},"2572":{"position":[[890,4]]},"2617":{"position":[[5626,4],[6823,4]]},"2670":{"position":[[1454,4]]},"2684":{"position":[[839,4],[1148,4],[2239,4]]}}}],["we’d",{"_index":1013,"t":{"2617":{"position":[[7370,4]]}}}],["we’ll",{"_index":946,"t":{"2617":{"position":[[4102,5],[4639,5]]}}}],["we’r",{"_index":905,"t":{"2617":{"position":[[2829,5],[5356,5],[6442,5]]}}}],["we’v",{"_index":559,"t":{"2576":{"position":[[289,5]]}}}],["whether",{"_index":742,"t":{"2599":{"position":[[3323,7]]},"2628":{"position":[[181,7]]},"2684":{"position":[[2111,7]]}}}],["whitehat",{"_index":1274,"t":{"2678":{"position":[[6,9]]}}}],["whitelist",{"_index":1050,"t":{"2628":{"position":[[270,10]]},"2682":{"position":[[0,11]]},"2684":{"position":[[474,10]]}}}],["whose",{"_index":121,"t":{"2548":{"position":[[115,5]]},"2632":{"position":[[592,5]]},"2644":{"position":[[822,5]]},"2682":{"position":[[166,5]]},"2693":{"position":[[193,5]]}}}],["willing",{"_index":1213,"t":{"2670":{"position":[[1039,11]]}}}],["wise",{"_index":1009,"t":{"2617":{"position":[[7256,4]]}}}],["wish",{"_index":329,"t":{"2562":{"position":[[11,4]]},"2578":{"position":[[108,4]]},"2586":{"position":[[326,4]]},"2599":{"position":[[80,4]]},"2642":{"position":[[1134,6]]},"2699":{"position":[[611,6]]}}}],["withdraw",{"_index":205,"t":{"2552":{"position":[[148,11]]}}}],["within",{"_index":129,"t":{"2548":{"position":[[236,6]]},"2576":{"position":[[158,6]]},"2617":{"position":[[574,6],[3318,6],[4818,6],[5792,6],[6021,6],[7653,6],[7718,6],[7797,6]]},"2706":{"position":[[2411,6]]}}}],["without",{"_index":154,"t":{"2548":{"position":[[657,7]]},"2572":{"position":[[940,7]]},"2590":{"position":[[501,7]]},"2592":{"position":[[487,7]]},"2597":{"position":[[318,7]]},"2601":{"position":[[101,7],[260,7]]},"2658":{"position":[[237,7]]},"2662":{"position":[[499,7]]},"2684":{"position":[[2419,7]]}}}],["won’t",{"_index":839,"t":{"2611":{"position":[[927,5]]}}}],["word",{"_index":396,"t":{"2570":{"position":[[1509,6]]},"2594":{"position":[[756,4],[765,4]]},"2603":{"position":[[619,6]]}}}],["work",{"_index":342,"t":{"2562":{"position":[[190,4]]},"2572":{"position":[[335,4],[475,4],[780,4],[1255,4],[1328,7]]},"2576":{"position":[[1760,5]]},"2578":{"position":[[83,4],[145,5]]},"2580":{"position":[[51,4]]},"2584":{"position":[[7,7]]},"2588":{"position":[[158,4]]},"2599":{"position":[[3461,6]]},"2617":{"position":[[156,4],[6459,4]]},"2658":{"position":[[303,6]]}}}],["workflow",{"_index":690,"t":{"2594":{"position":[[676,8]]},"2597":{"position":[[12,9]]},"2601":{"position":[[1399,8]]},"2603":{"position":[[12,8]]},"2617":{"position":[[4687,8]]}}}],["workstream",{"_index":904,"t":{"2617":{"position":[[2793,11],[2854,11],[3222,10],[3330,12],[4205,10],[4830,12],[5804,12],[6351,11],[7665,11],[7730,11],[7809,11]]}}}],["world",{"_index":882,"t":{"2617":{"position":[[1589,6]]}}}],["worth",{"_index":434,"t":{"2572":{"position":[[652,5]]},"2617":{"position":[[6377,5]]}}}],["wrap",{"_index":295,"t":{"2556":{"position":[[445,7]]}}}],["write",{"_index":435,"t":{"2572":{"position":[[691,8],[1263,7]]},"2576":{"position":[[424,5]]}}}],["written",{"_index":405,"t":{"2572":{"position":[[96,7]]}}}],["x",{"_index":753,"t":{"2601":{"position":[[181,1],[226,1],[550,1]]},"2638":{"position":[[51,1]]},"2642":{"position":[[400,1],[656,1]]},"2674":{"position":[[401,1]]},"2706":{"position":[[1236,1]]}}}],["y",{"_index":754,"t":{"2601":{"position":[[185,1],[232,1],[556,2]]},"2638":{"position":[[97,1]]},"2642":{"position":[[523,1],[773,1]]},"2706":{"position":[[1504,1]]}}}],["yellow",{"_index":1308,"t":{"2684":{"position":[[1824,6]]},"2693":{"position":[[538,6]]}}}],["youtub",{"_index":671,"t":{"2594":{"position":[[163,7]]},"2620":{"position":[[567,7],[650,7]]}}}],["zcash",{"_index":684,"t":{"2594":{"position":[[526,5]]}}}],["zero",{"_index":156,"t":{"2548":{"position":[[677,4]]},"2556":{"position":[[650,4]]},"2570":{"position":[[37,4],[1204,4]]},"2572":{"position":[[1141,4]]},"2624":{"position":[[246,4]]},"2666":{"position":[[98,4]]}}}],["zero_valu",{"_index":1038,"t":{"2624":{"position":[[477,10]]}}}],["zk",{"_index":130,"t":{"2548":{"position":[[247,2]]},"2570":{"position":[[1431,2]]},"2576":{"position":[[868,2]]},"2578":{"position":[[223,2]]},"2590":{"position":[[650,2]]},"2592":{"position":[[636,2]]},"2594":{"position":[[373,2],[483,2],[514,2],[567,2]]},"2597":{"position":[[260,2]]},"2599":{"position":[[3499,2],[3670,2]]},"2601":{"position":[[13,2],[321,2],[1045,2]]},"2609":{"position":[[740,2],[951,2],[1137,2]]},"2611":{"position":[[131,2],[376,2]]},"2620":{"position":[[14,2],[278,2]]},"2632":{"position":[[191,2],[240,2],[634,2]]},"2664":{"position":[[327,2]]},"2672":{"position":[[16,2]]},"2684":{"position":[[1643,2],[2370,2]]}}}],["zkey",{"_index":271,"t":{"2554":{"position":[[816,5]]},"2576":{"position":[[1020,4]]}}}],["zkp",{"_index":634,"t":{"2586":{"position":[[13,3]]}}}],["zksnark",{"_index":685,"t":{"2594":{"position":[[600,8]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file +[{"documents":[{"i":2542,"t":"","u":"/blog/archive","b":["Blog"]},{"i":2543,"t":"MACI 1.0 Release","u":"/blog/maci-1-0-release","b":["Blog"]},{"i":2565,"t":"A Technical Introduction to MACI 1.0","u":"/blog/maci-1-0-technical-introduction","b":["Blog"]},{"i":2590,"t":"Welcome to MACI","u":"/blog/welcome","b":["Blog"]},{"i":2592,"t":"Maci v1.1.1 Release","u":"/blog/maci-v1-1-1-release","b":["Blog"]},{"i":2616,"t":"MACI Product Roadmap","u":"/roadmap","b":[]},{"i":2618,"t":"Typedoc | MACI","u":"/typedoc","b":[]},{"i":2619,"t":"Circuits","u":"/docs/v0.x/circuits","b":[]},{"i":2621,"t":"Contract","u":"/docs/v0.x/contract","b":[]},{"i":2647,"t":"FAQ","u":"/docs/v0.x/faq","b":[]},{"i":2669,"t":"Minimum Anti-Collusion Infrastructure","u":"/docs/v0.x/introduction","b":[]},{"i":2686,"t":"The quadratic vote tallying circuit","u":"/docs/v0.x/quadratic-vote-tallying-circuit","b":[]},{"i":2694,"t":"The state root transition proof circuit","u":"/docs/v0.x/state-root-transition-circuit","b":[]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2542",[]],["t/2543",[0,0.724,1,1.625,2,1.625]],["t/2565",[0,0.631,1,1.416,3,1.836,4,1.836]],["t/2590",[0,0.849,5,2.471]],["t/2592",[0,0.724,2,1.625,6,2.107]],["t/2616",[0,0.724,7,2.107,8,2.107]],["t/2618",[0,0.724,9,2.107,10,2.107]],["t/2619",[11,1.855]],["t/2621",[12,2.989]],["t/2647",[13,2.989]],["t/2669",[14,1.836,15,1.836,16,1.836,17,1.836]],["t/2686",[11,1.14,18,1.836,19,1.836,20,1.836]],["t/2694",[11,1.01,21,1.627,22,1.627,23,1.627,24,1.627]]],"invertedIndex":[["",{"_index":10,"t":{"2618":{"position":[[8,1]]}}}],["1.0",{"_index":1,"t":{"2543":{"position":[[5,3]]},"2565":{"position":[[33,3]]}}}],["anti",{"_index":15,"t":{"2669":{"position":[[8,4]]}}}],["circuit",{"_index":11,"t":{"2619":{"position":[[0,8]]},"2686":{"position":[[28,7]]},"2694":{"position":[[32,7]]}}}],["collus",{"_index":16,"t":{"2669":{"position":[[13,9]]}}}],["contract",{"_index":12,"t":{"2621":{"position":[[0,8]]}}}],["faq",{"_index":13,"t":{"2647":{"position":[[0,3]]}}}],["infrastructur",{"_index":17,"t":{"2669":{"position":[[23,14]]}}}],["introduct",{"_index":4,"t":{"2565":{"position":[[12,12]]}}}],["maci",{"_index":0,"t":{"2543":{"position":[[0,4]]},"2565":{"position":[[28,4]]},"2590":{"position":[[11,4]]},"2592":{"position":[[0,4]]},"2616":{"position":[[0,4]]},"2618":{"position":[[10,4]]}}}],["minimum",{"_index":14,"t":{"2669":{"position":[[0,7]]}}}],["product",{"_index":7,"t":{"2616":{"position":[[5,7]]}}}],["proof",{"_index":24,"t":{"2694":{"position":[[26,5]]}}}],["quadrat",{"_index":18,"t":{"2686":{"position":[[4,9]]}}}],["releas",{"_index":2,"t":{"2543":{"position":[[9,7]]},"2592":{"position":[[12,7]]}}}],["roadmap",{"_index":8,"t":{"2616":{"position":[[13,7]]}}}],["root",{"_index":22,"t":{"2694":{"position":[[10,4]]}}}],["state",{"_index":21,"t":{"2694":{"position":[[4,5]]}}}],["talli",{"_index":20,"t":{"2686":{"position":[[19,8]]}}}],["technic",{"_index":3,"t":{"2565":{"position":[[2,9]]}}}],["transit",{"_index":23,"t":{"2694":{"position":[[15,10]]}}}],["typedoc",{"_index":9,"t":{"2618":{"position":[[0,7]]}}}],["v1.1.1",{"_index":6,"t":{"2592":{"position":[[5,6]]}}}],["vote",{"_index":19,"t":{"2686":{"position":[[14,4]]}}}],["welcom",{"_index":5,"t":{"2590":{"position":[[0,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2545,"t":"About MACI","u":"/blog/maci-1-0-release","h":"#about-maci","p":2543},{"i":2547,"t":"MACI’s history","u":"/blog/maci-1-0-release","h":"#macis-history","p":2543},{"i":2549,"t":"Why is MACI important?","u":"/blog/maci-1-0-release","h":"#why-is-maci-important","p":2543},{"i":2551,"t":"What’s new?","u":"/blog/maci-1-0-release","h":"#whats-new","p":2543},{"i":2553,"t":"Further work","u":"/blog/maci-1-0-release","h":"#further-work","p":2543},{"i":2555,"t":"Negative voting","u":"/blog/maci-1-0-release","h":"#negative-voting","p":2543},{"i":2557,"t":"Anonymisation","u":"/blog/maci-1-0-release","h":"#anonymisation","p":2543},{"i":2559,"t":"Coordinator tooling","u":"/blog/maci-1-0-release","h":"#coordinator-tooling","p":2543},{"i":2561,"t":"Trusted setup","u":"/blog/maci-1-0-release","h":"#trusted-setup","p":2543},{"i":2563,"t":"Conclusion","u":"/blog/maci-1-0-release","h":"#conclusion","p":2543},{"i":2567,"t":"Introduction","u":"/blog/maci-1-0-technical-introduction","h":"#introduction","p":2565},{"i":2569,"t":"Background","u":"/blog/maci-1-0-technical-introduction","h":"#background","p":2565},{"i":2571,"t":"System Overview","u":"/blog/maci-1-0-technical-introduction","h":"#system-overview","p":2565},{"i":2572,"t":"Roles","u":"/blog/maci-1-0-technical-introduction","h":"#roles","p":2565},{"i":2574,"t":"Vote Overriding and Public Key Switching","u":"/blog/maci-1-0-technical-introduction","h":"#vote-overriding-and-public-key-switching","p":2565},{"i":2576,"t":"zk-SNARKs","u":"/blog/maci-1-0-technical-introduction","h":"#zk-snarks","p":2565},{"i":2578,"t":"Workflow","u":"/blog/maci-1-0-technical-introduction","h":"#workflow","p":2565},{"i":2580,"t":"Sign Up","u":"/blog/maci-1-0-technical-introduction","h":"#sign-up","p":2565},{"i":2582,"t":"Publish Message","u":"/blog/maci-1-0-technical-introduction","h":"#publish-message","p":2565},{"i":2584,"t":"Process Messages","u":"/blog/maci-1-0-technical-introduction","h":"#process-messages","p":2565},{"i":2586,"t":"Tally Votes","u":"/blog/maci-1-0-technical-introduction","h":"#tally-votes","p":2565},{"i":2588,"t":"Conclusion","u":"/blog/maci-1-0-technical-introduction","h":"#conclusion","p":2565},{"i":2594,"t":"Background","u":"/blog/maci-v1-1-1-release","h":"#background","p":2592},{"i":2596,"t":"Security Audit","u":"/blog/maci-v1-1-1-release","h":"#security-audit","p":2592},{"i":2598,"t":"New Features","u":"/blog/maci-v1-1-1-release","h":"#new-features","p":2592},{"i":2600,"t":"Top Up Credit","u":"/blog/maci-v1-1-1-release","h":"#top-up-credit","p":2592},{"i":2602,"t":"Pairwise Subsidy","u":"/blog/maci-v1-1-1-release","h":"#pairwise-subsidy","p":2592},{"i":2604,"t":"Coordinator Service","u":"/blog/maci-v1-1-1-release","h":"#coordinator-service","p":2592},{"i":2606,"t":"How to use MACI","u":"/blog/maci-v1-1-1-release","h":"#how-to-use-maci","p":2592},{"i":2608,"t":"MACI 0.x","u":"/blog/maci-v1-1-1-release","h":"#maci-0x","p":2592},{"i":2610,"t":"How to get involved","u":"/blog/maci-v1-1-1-release","h":"#how-to-get-involved","p":2592},{"i":2612,"t":"References","u":"/blog/maci-v1-1-1-release","h":"#references","p":2592},{"i":2614,"t":"Release","u":"/blog/maci-v1-1-1-release","h":"#release","p":2592},{"i":2623,"t":"Merkle trees in storage","u":"/docs/v0.x/contract","h":"#merkle-trees-in-storage","p":2621},{"i":2625,"t":"Vote option trees","u":"/docs/v0.x/contract","h":"#vote-option-trees","p":2621},{"i":2627,"t":"signUp(PubKey _userPubKey, bytes memory _signUpGatekeeperData, bytes memory _initialVoiceCreditProxyData)","u":"/docs/v0.x/contract","h":"#signuppubkey-_userpubkey-bytes-memory-_signupgatekeeperdata-bytes-memory-_initialvoicecreditproxydata","p":2621},{"i":2629,"t":"publishMessage(uint256 _msg, PubKey _encPubKey)","u":"/docs/v0.x/contract","h":"#publishmessageuint256-_msg-pubkey-_encpubkey","p":2621},{"i":2631,"t":"batchProcessMessage(...)","u":"/docs/v0.x/contract","h":"#batchprocessmessage","p":2621},{"i":2633,"t":"proveVoteTallyBatch()","u":"/docs/v0.x/contract","h":"#provevotetallybatch","p":2621},{"i":2635,"t":"State leaves","u":"/docs/v0.x/contract","h":"#state-leaves","p":2621},{"i":2637,"t":"Schema","u":"/docs/v0.x/contract","h":"#schema","p":2621},{"i":2639,"t":"Commands","u":"/docs/v0.x/contract","h":"#commands","p":2621},{"i":2641,"t":"Schema","u":"/docs/v0.x/contract","h":"#schema-1","p":2621},{"i":2643,"t":"About nonces","u":"/docs/v0.x/contract","h":"#about-nonces","p":2621},{"i":2645,"t":"Message verification","u":"/docs/v0.x/contract","h":"#message-verification","p":2621},{"i":2648,"t":"I: Attacks and mitigations","u":"/docs/v0.x/faq","h":"#i-attacks-and-mitigations","p":2647},{"i":2649,"t":"If the coordinator censors messages","u":"/docs/v0.x/faq","h":"#if-the-coordinator-censors-messages","p":2647},{"i":2651,"t":"If a user submits a message with an invalid signature","u":"/docs/v0.x/faq","h":"#if-a-user-submits-a-message-with-an-invalid-signature","p":2647},{"i":2653,"t":"If an adversarial miner bribes a user and controls the randomLeaf value passed into the state transition snark","u":"/docs/v0.x/faq","h":"#if-an-adversarial-miner-bribes-a-user-and-controls-the-randomleaf-value-passed-into-the-state-transition-snark","p":2647},{"i":2655,"t":"User creates a command that the snark cannot process","u":"/docs/v0.x/faq","h":"#user-creates-a-command-that-the-snark-cannot-process","p":2647},{"i":2657,"t":"If a briber locks the user's key in trusted hardware","u":"/docs/v0.x/faq","h":"#if-a-briber-locks-the-users-key-in-trusted-hardware","p":2647},{"i":2659,"t":"Deposit my public key and I will pay you","u":"/docs/v0.x/faq","h":"#deposit-my-public-key-and-i-will-pay-you","p":2647},{"i":2661,"t":"If an attacker fills up the message tree with such a large number of commands that the coordinator cannot afford to generate enough proofs to process them all","u":"/docs/v0.x/faq","h":"#if-an-attacker-fills-up-the-message-tree-with-such-a-large-number-of-commands-that-the-coordinator-cannot-afford-to-generate-enough-proofs-to-process-them-all","p":2647},{"i":2663,"t":"II: Claims / required invariants","u":"/docs/v0.x/faq","h":"#ii-claims--required-invariants","p":2647},{"i":2665,"t":"III: Desired features not described in this specification","u":"/docs/v0.x/faq","h":"#iii-desired-features-not-described-in-this-specification","p":2647},{"i":2667,"t":"IV: Quadratic and sybil-resistant million-dollar-homepages","u":"/docs/v0.x/faq","h":"#iv-quadratic-and-sybil-resistant-million-dollar-homepages","p":2647},{"i":2671,"t":"Introduction","u":"/docs/v0.x/introduction","h":"#introduction","p":2669},{"i":2673,"t":"High-level process","u":"/docs/v0.x/introduction","h":"#high-level-process","p":2669},{"i":2675,"t":"Technical process","u":"/docs/v0.x/introduction","h":"#technical-process","p":2669},{"i":2677,"t":"Availability and visibility of messages","u":"/docs/v0.x/introduction","h":"#availability-and-visibility-of-messages","p":2669},{"i":2679,"t":"System components","u":"/docs/v0.x/introduction","h":"#system-components","p":2669},{"i":2680,"t":"Roles","u":"/docs/v0.x/introduction","h":"#roles","p":2669},{"i":2682,"t":"Cryptographic operations","u":"/docs/v0.x/introduction","h":"#cryptographic-operations","p":2669},{"i":2684,"t":"Glossary","u":"/docs/v0.x/introduction","h":"#glossary","p":2669},{"i":2688,"t":"Inputs","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#inputs","p":2686},{"i":2690,"t":"Circuit pseudocode","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#circuit-pseudocode","p":2686},{"i":2692,"t":"Circuit failure modes","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#circuit-failure-modes","p":2686},{"i":2696,"t":"Public Inputs","u":"/docs/v0.x/state-root-transition-circuit","h":"#public-inputs","p":2694},{"i":2698,"t":"Private Inputs","u":"/docs/v0.x/state-root-transition-circuit","h":"#private-inputs","p":2694},{"i":2700,"t":"Check 1: That the message has been encrypted with the correct key","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-1-that-the-message-has-been-encrypted-with-the-correct-key","p":2694},{"i":2702,"t":"Check 2: that the message is part of the message tree","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-2-that-the-message-is-part-of-the-message-tree","p":2694},{"i":2704,"t":"Check 3: that the new state root transition is the correct result of executing the given command — or — that the command is invalid and the no-op flag is set to true.","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-3-that-the-new-state-root-transition-is-the-correct-result-of-executing-the-given-command--or--that-the-command-is-invalid-and-the-no-op-flag-is-set-to-true","p":2694},{"i":2705,"t":"Circuit logic","u":"/docs/v0.x/state-root-transition-circuit","h":"#circuit-logic","p":2694},{"i":2707,"t":"Circuit failure modes","u":"/docs/v0.x/state-root-transition-circuit","h":"#circuit-failure-modes","p":2694}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2545",[0,3.845]],["t/2547",[1,4.484,2,4.484]],["t/2549",[0,3.224,3,4.484]],["t/2551",[4,4.484,5,3.513]],["t/2553",[6,4.484,7,4.484]],["t/2555",[8,4.484,9,3.224]],["t/2557",[10,5.346]],["t/2559",[11,3.224,12,4.484]],["t/2561",[13,3.898,14,4.484]],["t/2563",[15,4.648]],["t/2567",[16,4.648]],["t/2569",[17,4.648]],["t/2571",[18,3.898,19,4.484]],["t/2572",[20,4.648]],["t/2574",[9,2.173,21,3.021,22,2.367,23,2.173,24,3.021]],["t/2576",[25,4.484,26,3.513]],["t/2578",[27,5.346]],["t/2580",[28,4.484,29,3.513]],["t/2582",[30,4.484,31,2.368]],["t/2584",[31,2.368,32,2.994]],["t/2586",[9,3.224,33,4.484]],["t/2588",[15,4.648]],["t/2594",[17,4.648]],["t/2596",[34,4.484,35,4.484]],["t/2598",[5,3.513,36,3.898]],["t/2600",[29,3.024,37,3.861,38,3.861]],["t/2602",[39,4.484,40,4.484]],["t/2604",[11,3.224,41,4.484]],["t/2606",[0,3.224,42,4.484]],["t/2608",[0,3.224,43,4.484]],["t/2610",[44,5.346]],["t/2612",[45,5.346]],["t/2614",[46,5.346]],["t/2623",[47,3.861,48,2.776,49,3.861]],["t/2625",[9,2.776,48,2.776,50,3.861]],["t/2627",[51,2.278,52,2.278,53,3.602,54,3.602,55,2.278,56,2.278]],["t/2629",[57,3.39,58,3.39,59,3.39,60,3.39]],["t/2631",[61,5.346]],["t/2633",[62,5.346]],["t/2635",[63,3.513,64,4.484]],["t/2637",[65,4.648]],["t/2639",[66,3.845]],["t/2641",[65,4.648]],["t/2643",[67,5.346]],["t/2645",[31,2.368,68,4.484]],["t/2648",[69,3.898,70,4.484]],["t/2649",[11,2.776,31,2.039,71,3.861]],["t/2651",[31,1.596,72,2.367,73,3.021,74,2.627,75,3.021]],["t/2653",[26,1.432,63,1.432,72,1.432,76,1.828,77,1.828,78,1.828,79,1.828,80,1.828,81,1.828,82,1.828,83,1.59]],["t/2655",[26,2.367,32,2.018,66,2.173,72,2.367,84,3.021]],["t/2657",[13,2.369,23,1.96,85,2.725,86,2.725,87,2.725,88,2.725]],["t/2659",[22,2.655,23,2.438,89,3.39,90,3.39]],["t/2661",[11,1.041,29,1.134,31,0.764,32,0.967,48,1.041,66,1.041,69,1.258,91,1.447,92,1.447,93,1.447,94,1.447,95,1.447,96,1.447,97,1.447,98,1.447]],["t/2663",[99,3.021,100,3.021,101,2.627,102,3.021,103,3.021]],["t/2665",[36,2.627,104,3.021,105,3.021,106,3.021,107,3.021]],["t/2667",[108,2.481,109,2.481,110,2.481,111,2.481,112,2.481,113,2.481,114,2.481]],["t/2671",[16,4.648]],["t/2673",[32,2.578,115,3.861,116,3.861]],["t/2675",[32,2.994,117,4.484]],["t/2677",[31,2.039,118,3.861,119,3.861]],["t/2679",[18,3.898,120,4.484]],["t/2680",[20,4.648]],["t/2682",[121,4.484,122,4.484]],["t/2684",[123,5.346]],["t/2688",[124,4.188]],["t/2690",[125,3.224,126,4.484]],["t/2692",[125,2.776,127,3.356,128,3.356]],["t/2696",[22,3.513,124,3.513]],["t/2698",[124,3.513,129,4.484]],["t/2700",[23,1.96,31,1.439,130,2.135,131,2.725,132,2.725,133,2.369]],["t/2702",[31,2.186,48,1.96,130,2.135,134,2.725,135,2.725]],["t/2704",[5,0.938,63,0.938,66,1.512,74,1.041,83,1.041,101,1.828,130,0.938,133,1.041,136,1.198,137,1.198,138,1.198,139,1.198,140,1.198,141,1.198,142,1.198,143,1.198,144,1.198]],["t/2705",[125,3.224,145,4.484]],["t/2707",[125,2.776,127,3.356,128,3.356]]],"invertedIndex":[["",{"_index":101,"t":{"2663":{"position":[[11,1]]},"2704":{"position":[[97,1],[102,1]]}}}],["0.x",{"_index":43,"t":{"2608":{"position":[[5,3]]}}}],["1",{"_index":131,"t":{"2700":{"position":[[6,2]]}}}],["2",{"_index":134,"t":{"2702":{"position":[[6,2]]}}}],["3",{"_index":136,"t":{"2704":{"position":[[6,2]]}}}],["_encpubkey",{"_index":60,"t":{"2629":{"position":[[36,11]]}}}],["_initialvoicecreditproxydata",{"_index":56,"t":{"2627":{"position":[[76,29]]}}}],["_msg",{"_index":58,"t":{"2629":{"position":[[23,5]]}}}],["_signupgatekeeperdata",{"_index":55,"t":{"2627":{"position":[[40,22]]}}}],["_userpubkey",{"_index":52,"t":{"2627":{"position":[[14,12]]}}}],["adversari",{"_index":76,"t":{"2653":{"position":[[6,11]]}}}],["afford",{"_index":95,"t":{"2661":{"position":[[106,6]]}}}],["anonymis",{"_index":10,"t":{"2557":{"position":[[0,13]]}}}],["attack",{"_index":69,"t":{"2648":{"position":[[3,7]]},"2661":{"position":[[6,8]]}}}],["audit",{"_index":35,"t":{"2596":{"position":[[9,5]]}}}],["avail",{"_index":118,"t":{"2677":{"position":[[0,12]]}}}],["background",{"_index":17,"t":{"2569":{"position":[[0,10]]},"2594":{"position":[[0,10]]}}}],["batchprocessmessag",{"_index":61,"t":{"2631":{"position":[[0,24]]}}}],["bribe",{"_index":78,"t":{"2653":{"position":[[24,6]]}}}],["briber",{"_index":85,"t":{"2657":{"position":[[5,6]]}}}],["byte",{"_index":53,"t":{"2627":{"position":[[27,5],[63,5]]}}}],["censor",{"_index":71,"t":{"2649":{"position":[[19,7]]}}}],["check",{"_index":130,"t":{"2700":{"position":[[0,5]]},"2702":{"position":[[0,5]]},"2704":{"position":[[0,5]]}}}],["circuit",{"_index":125,"t":{"2690":{"position":[[0,7]]},"2692":{"position":[[0,7]]},"2705":{"position":[[0,7]]},"2707":{"position":[[0,7]]}}}],["claim",{"_index":100,"t":{"2663":{"position":[[4,6]]}}}],["command",{"_index":66,"t":{"2639":{"position":[[0,8]]},"2655":{"position":[[15,7]]},"2661":{"position":[[69,8]]},"2704":{"position":[[89,7],[113,7]]}}}],["compon",{"_index":120,"t":{"2679":{"position":[[7,10]]}}}],["conclus",{"_index":15,"t":{"2563":{"position":[[0,10]]},"2588":{"position":[[0,10]]}}}],["control",{"_index":79,"t":{"2653":{"position":[[42,8]]}}}],["coordin",{"_index":11,"t":{"2559":{"position":[[0,11]]},"2604":{"position":[[0,11]]},"2649":{"position":[[7,11]]},"2661":{"position":[[87,11]]}}}],["correct",{"_index":133,"t":{"2700":{"position":[[54,7]]},"2704":{"position":[[51,7]]}}}],["creat",{"_index":84,"t":{"2655":{"position":[[5,7]]}}}],["credit",{"_index":38,"t":{"2600":{"position":[[7,6]]}}}],["cryptograph",{"_index":121,"t":{"2682":{"position":[[0,13]]}}}],["deposit",{"_index":89,"t":{"2659":{"position":[[0,7]]}}}],["describ",{"_index":106,"t":{"2665":{"position":[[26,9]]}}}],["desir",{"_index":105,"t":{"2665":{"position":[[5,7]]}}}],["dollar",{"_index":113,"t":{"2667":{"position":[[42,6]]}}}],["encrypt",{"_index":132,"t":{"2700":{"position":[[35,9]]}}}],["enough",{"_index":97,"t":{"2661":{"position":[[125,6]]}}}],["execut",{"_index":139,"t":{"2704":{"position":[[69,9]]}}}],["failur",{"_index":127,"t":{"2692":{"position":[[8,7]]},"2707":{"position":[[8,7]]}}}],["featur",{"_index":36,"t":{"2598":{"position":[[4,8]]},"2665":{"position":[[13,8]]}}}],["fill",{"_index":91,"t":{"2661":{"position":[[15,5]]}}}],["flag",{"_index":142,"t":{"2704":{"position":[[146,4]]}}}],["further",{"_index":6,"t":{"2553":{"position":[[0,7]]}}}],["gener",{"_index":96,"t":{"2661":{"position":[[116,8]]}}}],["given",{"_index":140,"t":{"2704":{"position":[[83,5]]}}}],["glossari",{"_index":123,"t":{"2684":{"position":[[0,8]]}}}],["hardwar",{"_index":88,"t":{"2657":{"position":[[44,8]]}}}],["high",{"_index":115,"t":{"2673":{"position":[[0,4]]}}}],["histori",{"_index":2,"t":{"2547":{"position":[[7,7]]}}}],["homepag",{"_index":114,"t":{"2667":{"position":[[49,9]]}}}],["ii",{"_index":99,"t":{"2663":{"position":[[0,3]]}}}],["iii",{"_index":104,"t":{"2665":{"position":[[0,4]]}}}],["import",{"_index":3,"t":{"2549":{"position":[[12,10]]}}}],["input",{"_index":124,"t":{"2688":{"position":[[0,6]]},"2696":{"position":[[7,6]]},"2698":{"position":[[8,6]]}}}],["introduct",{"_index":16,"t":{"2567":{"position":[[0,12]]},"2671":{"position":[[0,12]]}}}],["invalid",{"_index":74,"t":{"2651":{"position":[[36,7]]},"2704":{"position":[[124,7]]}}}],["invari",{"_index":103,"t":{"2663":{"position":[[22,10]]}}}],["involv",{"_index":44,"t":{"2610":{"position":[[11,8]]}}}],["iv",{"_index":108,"t":{"2667":{"position":[[0,3]]}}}],["key",{"_index":23,"t":{"2574":{"position":[[27,3]]},"2657":{"position":[[29,3]]},"2659":{"position":[[18,3]]},"2700":{"position":[[62,3]]}}}],["larg",{"_index":93,"t":{"2661":{"position":[[53,5]]}}}],["leav",{"_index":64,"t":{"2635":{"position":[[6,6]]}}}],["level",{"_index":116,"t":{"2673":{"position":[[5,5]]}}}],["lock",{"_index":86,"t":{"2657":{"position":[[12,5]]}}}],["logic",{"_index":145,"t":{"2705":{"position":[[8,5]]}}}],["maci",{"_index":0,"t":{"2545":{"position":[[6,4]]},"2549":{"position":[[7,4]]},"2606":{"position":[[11,4]]},"2608":{"position":[[0,4]]}}}],["maci’",{"_index":1,"t":{"2547":{"position":[[0,6]]}}}],["memori",{"_index":54,"t":{"2627":{"position":[[33,6],[69,6]]}}}],["merkl",{"_index":47,"t":{"2623":{"position":[[0,6]]}}}],["messag",{"_index":31,"t":{"2582":{"position":[[8,7]]},"2584":{"position":[[8,8]]},"2645":{"position":[[0,7]]},"2649":{"position":[[27,8]]},"2651":{"position":[[20,7]]},"2661":{"position":[[28,7]]},"2677":{"position":[[31,8]]},"2700":{"position":[[18,7]]},"2702":{"position":[[18,7],[41,7]]}}}],["million",{"_index":112,"t":{"2667":{"position":[[34,7]]}}}],["miner",{"_index":77,"t":{"2653":{"position":[[18,5]]}}}],["mitig",{"_index":70,"t":{"2648":{"position":[[15,11]]}}}],["mode",{"_index":128,"t":{"2692":{"position":[[16,5]]},"2707":{"position":[[16,5]]}}}],["neg",{"_index":8,"t":{"2555":{"position":[[0,8]]}}}],["new",{"_index":5,"t":{"2551":{"position":[[7,4]]},"2598":{"position":[[0,3]]},"2704":{"position":[[18,3]]}}}],["nonc",{"_index":67,"t":{"2643":{"position":[[6,6]]}}}],["number",{"_index":94,"t":{"2661":{"position":[[59,6]]}}}],["op",{"_index":141,"t":{"2704":{"position":[[143,2]]}}}],["oper",{"_index":122,"t":{"2682":{"position":[[14,10]]}}}],["option",{"_index":50,"t":{"2625":{"position":[[5,6]]}}}],["overrid",{"_index":21,"t":{"2574":{"position":[[5,10]]}}}],["overview",{"_index":19,"t":{"2571":{"position":[[7,8]]}}}],["pairwis",{"_index":39,"t":{"2602":{"position":[[0,8]]}}}],["part",{"_index":135,"t":{"2702":{"position":[[29,4]]}}}],["pass",{"_index":82,"t":{"2653":{"position":[[72,6]]}}}],["pay",{"_index":90,"t":{"2659":{"position":[[33,3]]}}}],["privat",{"_index":129,"t":{"2698":{"position":[[0,7]]}}}],["process",{"_index":32,"t":{"2584":{"position":[[0,7]]},"2655":{"position":[[45,7]]},"2661":{"position":[[142,7]]},"2673":{"position":[[11,7]]},"2675":{"position":[[10,7]]}}}],["proof",{"_index":98,"t":{"2661":{"position":[[132,6]]}}}],["provevotetallybatch",{"_index":62,"t":{"2633":{"position":[[0,21]]}}}],["pseudocod",{"_index":126,"t":{"2690":{"position":[[8,10]]}}}],["pubkey",{"_index":59,"t":{"2629":{"position":[[29,6]]}}}],["public",{"_index":22,"t":{"2574":{"position":[[20,6]]},"2659":{"position":[[11,6]]},"2696":{"position":[[0,6]]}}}],["publish",{"_index":30,"t":{"2582":{"position":[[0,7]]}}}],["publishmessage(uint256",{"_index":57,"t":{"2629":{"position":[[0,22]]}}}],["quadrat",{"_index":109,"t":{"2667":{"position":[[4,9]]}}}],["randomleaf",{"_index":80,"t":{"2653":{"position":[[55,10]]}}}],["refer",{"_index":45,"t":{"2612":{"position":[[0,10]]}}}],["releas",{"_index":46,"t":{"2614":{"position":[[0,7]]}}}],["requir",{"_index":102,"t":{"2663":{"position":[[13,8]]}}}],["resist",{"_index":111,"t":{"2667":{"position":[[24,9]]}}}],["result",{"_index":138,"t":{"2704":{"position":[[59,6]]}}}],["role",{"_index":20,"t":{"2572":{"position":[[0,5]]},"2680":{"position":[[0,5]]}}}],["root",{"_index":137,"t":{"2704":{"position":[[28,4]]}}}],["schema",{"_index":65,"t":{"2637":{"position":[[0,6]]},"2641":{"position":[[0,6]]}}}],["secur",{"_index":34,"t":{"2596":{"position":[[0,8]]}}}],["servic",{"_index":41,"t":{"2604":{"position":[[12,7]]}}}],["set",{"_index":143,"t":{"2704":{"position":[[154,3]]}}}],["setup",{"_index":14,"t":{"2561":{"position":[[8,5]]}}}],["sign",{"_index":28,"t":{"2580":{"position":[[0,4]]}}}],["signatur",{"_index":75,"t":{"2651":{"position":[[44,9]]}}}],["signup(pubkey",{"_index":51,"t":{"2627":{"position":[[0,13]]}}}],["snark",{"_index":26,"t":{"2576":{"position":[[3,6]]},"2653":{"position":[[105,5]]},"2655":{"position":[[32,5]]}}}],["specif",{"_index":107,"t":{"2665":{"position":[[44,13]]}}}],["state",{"_index":63,"t":{"2635":{"position":[[0,5]]},"2653":{"position":[[88,5]]},"2704":{"position":[[22,5]]}}}],["storag",{"_index":49,"t":{"2623":{"position":[[16,7]]}}}],["submit",{"_index":73,"t":{"2651":{"position":[[10,7]]}}}],["subsidi",{"_index":40,"t":{"2602":{"position":[[9,7]]}}}],["such",{"_index":92,"t":{"2661":{"position":[[46,4]]}}}],["switch",{"_index":24,"t":{"2574":{"position":[[31,9]]}}}],["sybil",{"_index":110,"t":{"2667":{"position":[[18,5]]}}}],["system",{"_index":18,"t":{"2571":{"position":[[0,6]]},"2679":{"position":[[0,6]]}}}],["talli",{"_index":33,"t":{"2586":{"position":[[0,5]]}}}],["technic",{"_index":117,"t":{"2675":{"position":[[0,9]]}}}],["tool",{"_index":12,"t":{"2559":{"position":[[12,7]]}}}],["top",{"_index":37,"t":{"2600":{"position":[[0,3]]}}}],["transit",{"_index":83,"t":{"2653":{"position":[[94,10]]},"2704":{"position":[[33,10]]}}}],["tree",{"_index":48,"t":{"2623":{"position":[[7,5]]},"2625":{"position":[[12,5]]},"2661":{"position":[[36,4]]},"2702":{"position":[[49,4]]}}}],["true",{"_index":144,"t":{"2704":{"position":[[161,5]]}}}],["trust",{"_index":13,"t":{"2561":{"position":[[0,7]]},"2657":{"position":[[36,7]]}}}],["up",{"_index":29,"t":{"2580":{"position":[[5,2]]},"2600":{"position":[[4,2]]},"2661":{"position":[[21,2]]}}}],["us",{"_index":42,"t":{"2606":{"position":[[7,3]]}}}],["user",{"_index":72,"t":{"2651":{"position":[[5,4]]},"2653":{"position":[[33,4]]},"2655":{"position":[[0,4]]}}}],["user'",{"_index":87,"t":{"2657":{"position":[[22,6]]}}}],["valu",{"_index":81,"t":{"2653":{"position":[[66,5]]}}}],["verif",{"_index":68,"t":{"2645":{"position":[[8,12]]}}}],["visibl",{"_index":119,"t":{"2677":{"position":[[17,10]]}}}],["vote",{"_index":9,"t":{"2555":{"position":[[9,6]]},"2574":{"position":[[0,4]]},"2586":{"position":[[6,5]]},"2625":{"position":[[0,4]]}}}],["what’",{"_index":4,"t":{"2551":{"position":[[0,6]]}}}],["work",{"_index":7,"t":{"2553":{"position":[[8,4]]}}}],["workflow",{"_index":27,"t":{"2578":{"position":[[0,8]]}}}],["zk",{"_index":25,"t":{"2576":{"position":[[0,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2544,"t":"The Privacy & Scaling Explorations team is proud to release version 1.0 of Minimal Anti-Collusion Infrastructure (MACI). MACI enables collusion resistance for decentralised applications, particularly voting and quadratic funding systems. This release is a major upgrade to the project and provides better developer experience and gas savings for users. The code is in the v1 branch of the appliedzkp/macirepository and will be merged soon. MACI 1.0 was audited by Hashcloak. All vulnerabilities found have been fixed. The audit report can be found here. We would like to thank our highly professional and responsive auditors for surfacing these issues and providing clear feedback for addressing them.","s":"MACI 1.0 Release","u":"/blog/maci-1-0-release","h":"","p":2543},{"i":2546,"t":"MACI is a set of smart contracts and zero-knowledge circuits upon which which developers can build collusion-resistant applications, such as voting systems or quadratic funding platforms. MACI per se is not a user-facing application. Rather, developers may build applications on top of it. In turn, such applications can benefit from the following properties: Collusion resistance: no-one, except a trusted coordinator, can be convinced of the validity of a vote, reducing the effectiveness of bribery. Receipt-freeness: a voter cannot prove, besides to the coordinator, which way they voted. Privacy: no-one, except a trusted coordinator, should be able to decrypt a vote. Uncensorability: no-one, not even the trusted coordinator, should be able to censor a vote. Unforgeability: only the owner of a user’s private key may cast a vote tied to its corresponding public key. Non-repudiation: no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. Correct execution: no-one, not even the trusted coordinator, should be able to produce a false tally of votes. Practically speaking, MACI provides a set of Typescript packages, Ethereum smart contracts and zero-knowledge circuits. It inherits security and uncensorability from the underlying Ethereum blockchain, ensures unforgeability via asymmetric encryption, and achieves collusion resistance, privacy, and correct execution via zk-SNARKs. Please note that MACI does not and will not have a token. In other words, it does not represent an investment opportunity.","s":"About MACI","u":"/blog/maci-1-0-release","h":"#about-maci","p":2543},{"i":2548,"t":"MACI stems from an ethresear.ch post by Vitalik Buterin. Subsequently, the initial codebase was written in late 2019 and early 2020 by grantees with the Ethereum Foundation, namely Kendrick Tan, Koh Wei Jie, and Chih-Cheng Liang. MACI then saw developer adoption at ETHDenver in February 2020, where Auryn Macmillan and others started work on clr.fund, a protocol for the Ethereum community to allocate funds for Ethereum-based public goods. After the event, we continued to work with clr.fund to improve MACI and integrate it with their application. clr.fund has completed seven rounds of public goods funding, the last of which saw more than US$6000 worth of contributions. At the time of writing, it is currently running an eighth round with more than US$20k in contributions. Work on version 1.0 started in late 2020 with the goal of reducing the gas and computational requirements, as well as to improve its flexibility and usability, without compromising any of its anti-collusion, security, and trust guarantees. We also took this opportunity to keep up with new techniques, ideas, and tooling from the rapidly advancing Ethereum and zero-knowledge ecosystem. Finally, in early 2021 we were very fortunate to bring on Cory Dickson to the team. His work on writing documentation, revamping MACI’s integration test suites, working with our auditors to fix bugs, and collaborating with external teams has been invaluable to the project.","s":"MACI’s history","u":"/blog/maci-1-0-release","h":"#macis-history","p":2543},{"i":2550,"t":"It is very difficult for naive voting systems, particularly those which are integrated into smart contract platforms, to prevent collusion. For instance, if a simple Ethereum transaction represents a vote, a briber can easily examine its calldata, tell how its sender voted, and reward or punish them accordingly. More broadly, collusion resistance is particulary important for cryptoeconomic systems. Vitalik Buterin describes the motivations behind MACI in On Collusion. He argues that systems that use cryptoeconomic incentive mechanisms to align participants’ behaviour can be vulnerable to collusion attacks, such as bribery. In another post, he elaborates: if you can prove how you voted, selling your vote becomes very easy. Provability of votes would also enable forms of coercion where the coercer demands to see some kind of proof of voting for their preferred candidate. To illustrate this point, consider an alleged example of collusion that occurred in round 6 of Gitcoin grants (a platform for quadratic funding software projects which contribute to public goods). In How to Attack and Defend Quadratic Funding, an author from Gitcoin highlights a tweet by a potential grant beneficiary appeared to offer 0.01 ETH in exchange for matching funds: They explain the nature of this scheme: While creating fake accounts to attract matching funds can be prevented by sybil resistant design, colluders can easily up their game by coordinating a group of real accounts to “mine Gitcoin matching funds” and split the “interest” among the group. Finally, MACI is important because as crypto communities are increasingly adopting Decentralised Autonomous Organisations (DAOs) which govern through token voting. The threat of bribery attacks and other forms of collusion will only increase if left unchecked, since such attacks target a fundamental vulnerability of such systems.","s":"Why is MACI important?","u":"/blog/maci-1-0-release","h":"#why-is-maci-important","p":2543},{"i":2552,"t":"In this release, we rearchitected MACI’s smart contracts to allow for greater flexiblity and separation of concerns. In particular, we support multiple polls within a single instance of MACI. This allows the coordinator to run and tally many elections either subsequently or concurrently. We’ve kept the ability for developers to provide their own set of logic to gate-keep signups. For instance, application developers can write custom logic that only allows addresses which own a certain token to sign up once to MACI in order to participate in polls. An additional upgrade we have implemented is greater capacity for signups, votes, and vote options. With MACI 1.0, a coordinator can run a round that supports more users, votes, and choices than before, even with the same hardware. We adopted iden3’s tools for faster proof generation. Furthermore, we rewrote our zk-SNARK circuits using the latest versions of snarkjs, circom, and circomlib. We also developed additional developer tooling such as circom-helper and zkey-manager. Finally, we significantly reduced gas costs borne by users by replacing our incremental Merkle tree contracts with a modified deposit queue mechanism. While this new mechanism achieves the same outcome, it shifts some gas costs from users to the coordinator. A comparison of approximate gas costs for user-executed operations is as follows: Finally, we are looking forward to collaborating with other projects and supporting their development of client applications and new use cases. For instance, clr.fund team has indicated that they would like to upgrade their stack to MACI v1.0, and other projects have expressed interest in adopting MACI. We hope that through collaboration, the Ethereum community can benefit from our work, and vice versa.","s":"What’s new?","u":"/blog/maci-1-0-release","h":"#whats-new","p":2543},{"i":2554,"t":"There is plenty of space for MACI to grow and we welcome new ideas. We are keen to work with developers who wish to do interesting and impactful work, especially folks who would like to learn how to build applications with zk-SNARKs and Ethereum.","s":"Further work","u":"/blog/maci-1-0-release","h":"#further-work","p":2543},{"i":2556,"t":"We thank Samuel Gosling for completing a grant for work on negative voting. This allows voters to use their voice credits to not only signal approval of a vote option, but also disapproval. Please note that the negative voting branch, while complete, is currently unaudited and therefore not yet merged into the main MACI codebase.","s":"Negative voting","u":"/blog/maci-1-0-release","h":"#negative-voting","p":2543},{"i":2558,"t":"A suggested upgrade to MACI is to use ElGamal re-randomisation for anonymity of voters. While all votes are encrypted, currently the coordinator is able to decrypt and read them. With re-randomisation, the coordinator would not be able to tell which user took which action.","s":"Anonymisation","u":"/blog/maci-1-0-release","h":"#anonymisation","p":2543},{"i":2560,"t":"We are working on tooling that makes it easier for coordinators to interface with deployed contracts and manage tallies for multiple polls. This will allow users to generate proofs and query inputs and outputs from existing circuits through an easy-to-use API. We hope that this will drive more adoption of MACI and offload the need for bespoke infrastructure.","s":"Coordinator tooling","u":"/blog/maci-1-0-release","h":"#coordinator-tooling","p":2543},{"i":2562,"t":"Unlike other ZKP projects, MACI does not have an official trusted setup. Instead, we hope to assist teams implementing MACI in their applications to run their own trusted setup. For instance, clr.fund recently completed a trusted setup (on a previous version of MACI) for a specific set of circuit parameters. Other teams may wish to use a different set of parameters on MACI 1.0, which calls for a different trusted setup.","s":"Trusted setup","u":"/blog/maci-1-0-release","h":"#trusted-setup","p":2543},{"i":2564,"t":"This release marks a step towards the hard problem of preventing collusion in decentralised voting and quadratic funding systems. We are excited to share our work and please get in touch if you are a developer and are interested in getting involved in any way.","s":"Conclusion","u":"/blog/maci-1-0-release","h":"#conclusion","p":2543},{"i":2566,"t":"Introduction​ MACI, which stands for Minimal Anti-Collusion Infrastructure, is an application that allows users to have an on-chain voting process with greatly increased collusion resistance. A common problem among today’s on-chain voting processes is how easy it is to bribe voters into voting for a particular option. Oftentimes this bribery takes the form of “join our pool (vote our way) and we will give you a cut of the rewards (the bribe)”. Since all transactions on the blockchain are public, without MACI, voters can easily prove to the briber which option they voted for and therefore receive the bribe rewards. MACI counters this by using zk-SNARKs to essentially hide how each person voted while still revealing the final vote result. User’s cannot prove which option they voted for, and therefore bribers cannot reliably trust that a user voted for their preferred option. For example, a voter can tell a briber that they are voting for option A, but in reality they voted for option B. There is no reliable way to prove which option the voter actually voted for, so the briber does not have the incentive to pay voters to vote their way.","s":"A Technical Introduction to MACI 1.0","u":"/blog/maci-1-0-technical-introduction","h":"","p":2565},{"i":2568,"t":"MACI, which stands for Minimal Anti-Collusion Infrastructure, is an application that allows users to have an on-chain voting process with greatly increased collusion resistance. A common problem among today’s on-chain voting processes is how easy it is to bribe voters into voting for a particular option. Oftentimes this bribery takes the form of “join our pool (vote our way) and we will give you a cut of the rewards (the bribe)”. Since all transactions on the blockchain are public, without MACI, voters can easily prove to the briber which option they voted for and therefore receive the bribe rewards. MACI counters this by using zk-SNARKs to essentially hide how each person voted while still revealing the final vote result. User’s cannot prove which option they voted for, and therefore bribers cannot reliably trust that a user voted for their preferred option. For example, a voter can tell a briber that they are voting for option A, but in reality they voted for option B. There is no reliable way to prove which option the voter actually voted for, so the briber does not have the incentive to pay voters to vote their way.","s":"Introduction","u":"/blog/maci-1-0-technical-introduction","h":"#introduction","p":2565},{"i":2570,"t":"For a general overview, the history and the importance of MACI, see Release Announcement: MACI 1.0 by Wei Jie, one of the creators. He also created a very helpful youtube video on the overview of MACI. To see the origin of the idea of MACI, see Vitalik’s research post on Minimal Anti-Collusion Infrastructure. Lastly, it is recommended to understand the basic idea behind zk-SNARKs, as these are a core component of MACI. The following articles are great resources: Introduction to zk-SNARKs — Consensys What are zk-SNARKs — Zcash An approximate introduction to how zk-SNARKs are possible — Vitalik zkSNARKs in a nutshell — Ethereum.org This article will go over the general workflow of MACI and how it is capable of providing the following tenets (taken word for word from Wei Jie’s article): Collusion Resistance: No one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery Receipt-freeness: No voter may prove (besides to the coordinator) which way they voted Privacy: No one except a trusted coordinator should be able to decrypt a vote Uncensorability: No one (not even the trusted coordinator) should be able to censor a vote Unforgeability: Only the owner of a user’s private key may cast a vote tied to its corresponding public key Non-repudiation: No one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it Correct execution: No one (not even the trusted coordinator) should be able to produce a false tally of votes","s":"Background","u":"/blog/maci-1-0-technical-introduction","h":"#background","p":2565},{"i":2573,"t":"In the MACI workflow, there are two different roles: users (voters) and a single trusted coordinator. The users vote on the blockchain via MACI smart contracts, and the coordinator tallies up the votes and releases the final results. The coordinators must use zk-SNARKs to prove that their final tally result is valid without releasing the vote of every individual. Therefore, even if a coordinator is corrupt, they are unable to change a user’s vote or add extra votes themselves. A corrupt coordinator can stop a vote by never publishing the results, but they can’t publish false results. Before sending their vote on the blockchain, users encrypt their vote using a shared key that only the user and coordinator can know. This key scheme is designed so that every individual user shares a distinct key with the coordinator. This prevents any bribers from simply reading the transaction data to see which option a user voted for. The encrypted vote is now considered a “message” and the user sends this message to a MACI smart contract to be stored on-chain. A very simplified illustration of this encryption can be seen below:","s":"Roles","u":"/blog/maci-1-0-technical-introduction","h":"#roles","p":2565},{"i":2575,"t":"Before a user can cast a vote, they must sign up by sending the public key they wish to use to vote to a MACI smart contract. This public key acts as their identity when voting. They can vote from any address, but their message must contain a signature from that public key. When casting an actual vote after signing up, a user will bundle a few variables — including a public key, their vote option, their vote amount, and a few others — into what is called a “command”. Then, the user signs the command with the public key they originally used to sign up. After that, the user encrypts the signature and command together so that it is now considered a message. This more complex description of how a message is constructed is illustrated below: Users are able to override their previous vote as long as they sign their command with the previous public key. If the command is properly signed by the user’s previous public key, then the message is considered valid and the coordinator will count this as the correct vote. So, when a user provides a public key in their vote that is different than their previous public key, they may now submit a new vote signed by this new public key to override their previous vote. If the signature is not from the previous public key, the message will be marked as invalid and not counted toward the tally. Therefore, the public key can be thought of as the user’s voting username, and the signature is the voting password. If they provide the correct signature, they can submit a vote or change their public key — or both. This feature, which I refer to as public key switching, is designed to counter the bribery attack where a user simply shows the briber their message, and then decrypts it for the briber to see which way the user voted. Public key switching allows users to change their public key and create invalid messages in favor of the bribers. The bribers have no way of telling if the user switched their public keys before sending in the vote shown to the bribers. This can be quite confusing so here is an example: Bob signs up with public key 1 Bob then creates a command that contains — a vote for option A and public key 2 Bob signs this command with public key 1, the key he used to sign up Bob encrypts this command into a message and submits it to the MACI smart contracts The coordinator decrypts this message, and checks to ensure that the command is signed by Bob’s previous key — public key 1. This message is valid. The coordinator then records Bob’s vote for option A and updates his public key to public key 2 At this point, Bob has successfully voted for option A, and in order to override this vote must send in a new vote with a signature from public key 2. At this point, a briber now tries to get Bob to vote for option B: Bob creates a command that contains — a vote for option B and public key 1 Bob signs this command with public key 1, encrypts the message and submits it to the MACI smart contracts Bob shows the briber the decrypted message as proof of his vote for option B The coordinator decrypts Bob’s message and sees that the signature does not match up with public key 2 — Bob’s previous key added in his previous message. Therefore this message is invalid and this vote is not counted in the final tally. The briber has no way of knowing whether the vote was valid or invalid, and so is not incentivized to offer bribes to other users. In order to get a good idea of how MACI works, it’s important to know how the zk-SNARKs are able to prove that the coordinator decrypted each message and tallied the votes properly. The next section gives a quick and much oversimplified overview of zk-SNARKs, although the readings listed in the introduction are much more helpful.","s":"Vote Overriding and Public Key Switching","u":"/blog/maci-1-0-technical-introduction","h":"#vote-overriding-and-public-key-switching","p":2565},{"i":2577,"t":"Essentially, zk-SNARKs allow users to prove they know an answer to a specific mathematical equation, without revealing what that answer is. Take the following equation for example, X + Y = 15 I can prove that I know 2 values, X and Y that satisfy the equation without revealing what those two values are. When I create a zk-SNARK for my answer, anyone can use the SNARK (a group of numbers) and validate it against the equation above to prove that I do know a solution to that equation. The user is unable to use the SNARK to find out my answers for X and Y. For MACI, the equation is much more complicated but can be summarized as the following equations: encrypt(command1) = message1 encrypt(command2) = message2 encrypt(command3) = message3 … Command1 from user1 + command2 from user2 + command3 from user3 + … = total tally result Here, everyone is able to see the messages on the blockchain and the total tally result. Only the coordinator knows what the individual commands/votes are by decrypting the messages. So, the coordinator uses a zk-SNARK to prove they know all of the votes that: Encrypt to the messages present on the blockchain Sum to the tally result Users can then use the SNARK to prove that the tally result is correct, but cannot use it to prove any individual’s vote choices. Now that the core components of MACI have been covered, it is helpful to dive deeper into the MACI workflow and specific smart contracts.","s":"zk-SNARKs","u":"/blog/maci-1-0-technical-introduction","h":"#zk-snarks","p":2565},{"i":2579,"t":"The general workflow process can be broken down into 4 different phases: Sign Up Publish Message Process Messages Tally Results These phases make use of 3 main smart contracts — MACI, Poll and ​​PollProcessorAndTallyer. These contracts can be found on the MACI github page. The MACI contract is responsible for keeping track of all the user signups by recording the initial public key for each user. When a vote is going to take place, users can deploy a Poll smart contract via MACI.deployPoll(). The Poll smart contract is where users submit their messages. One MACI contract can be used for multiple polls. In other words, the users that signed up to the MACI contract can vote on multiple issues, with each issue represented by a distinct Poll contract. Finally, the PollProcessorAndTallyer contract is used by the coordinator to prove on-chain that they are correctly tallying each vote. This process is explained in more detail in the Process Messages and Tally Results sections below.","s":"Workflow","u":"/blog/maci-1-0-technical-introduction","h":"#workflow","p":2565},{"i":2581,"t":"The sign up process for MACI is handled via the MACI.sol smart contract. Users need to send three pieces of information when calling MACI.signUp(): Public Key Sign Up Gatekeeper Data Initial Voice Credit Proxy Data The public key is the original public key mentioned in above sections that the user will need to vote. As explained in earlier sections, they can change this public key later once voting starts. The user’s public key used to sign up is shared amongst every poll. MACI allows the contract creator/owner to set a “signUpGateKeeper”. The sign up gatekeeper is meant to be the address of another smart contract that determines the rules to sign up. So, when a user calls MACI.signUp(), the function will call the sign up gatekeeper to check if this user is valid to sign up. MACI also allows the contract creator/owner to set an “initialVoiceCreditProxy”. This represents the contract that determines how many votes a given user gets. So, when a user calls MACI.signUp(), the function will call the initial voice credit proxy to check how many votes they can spend. The user’s voice credit balance is reset to this number for every new poll. Once MACI has checked that the user is valid and retrieved how many voice credits they have, MACI stores the following user info into the Sign Up Merkle Tree: Public Key Voice Credits Timestamp","s":"Sign Up","u":"/blog/maci-1-0-technical-introduction","h":"#sign-up","p":2565},{"i":2583,"t":"Once it is time to vote, the MACI creator/owner will deploy a Poll smart contract. Then, users will call Poll.publishMessage() and send the following data: Message Encryption Key As explained in sections above, the coordinator will need to use the encryption key in order to derive a shared key. The coordinator can then use the shared key to decrypt the message into a command, which contains the vote. Once a user publishes their message, the Poll contract will store the message and encryption key into the Message Merkle Tree.","s":"Publish Message","u":"/blog/maci-1-0-technical-introduction","h":"#publish-message","p":2565},{"i":2585,"t":"Once the voting is done for a specific poll, the coordinator will use the PollProcessAndTallyer contract to first prove that they have correctly decrypted each message and applied them to correctly create an updated state tree. This state tree keeps an account of all the valid votes that should be counted. So, when processing the messages, the coordinator will not keep messages that are later overridden by a newer message inside the state tree. For example, if a user votes for option A, but then later sends a new message to vote for option B, the coordinator will only count the vote for option B. The coordinator must process messages in groups so that proving on chain does not exceed the data limit. The coordinator then creates a zk-SNARK proving their state tree correctly contains only the valid messages. Once the proof is ready, the coordinator calls PollProcessorAndTallyer.processMessages(), providing a hash of the state tree and the zk-SNARK proof as an input parameters. The PollProcessorAndTallyer contract will send the proof to a separate verifier contract. The verifier contract is specifically built to read MACI zk-SNARK proofs and tell if they are valid or not. So, if the verifier contract returns true, then everyone can see on-chain that the coordinator correctly processed that batch of messages. The coordinator repeats this process until all messages have been processed.","s":"Process Messages","u":"/blog/maci-1-0-technical-introduction","h":"#process-messages","p":2565},{"i":2587,"t":"Finally, once all messages have been processed, the coordinator tallies the votes of the valid messages. The coordinator creates a zk-SNARK proving that the valid messages in the state tree (proved in Process Messages step) contain votes that sum to the given tally result. Then, they call PollProcessorAndTallyer.tallyVotes() with a hash of the correct tally results and the zk-SNARK proof. Similarly to the processMessages function, the tallyVotes function will send the proof to a verifier contract to ensure that it is valid. The tallyVotes function is only successful if the verifier contract returns that the proof is valid. Therefore, once the tallyVotes function succeeds, users can trust that the coordinator has correctly tallied all of the valid votes. After this step, anyone can see the final tally results and the proof that these results are a correct result of the messages sent to the Poll contract. The users won’t be able to see how any individual voted, but will be able to trust that these votes were properly processed and counted.","s":"Tally Votes","u":"/blog/maci-1-0-technical-introduction","h":"#tally-votes","p":2565},{"i":2589,"t":"MACI is a huge step forward in preventing collusion for on-chain votes. While it doesn’t prevent all possibilities of collusion, it does make it much harder. MACI can already be seen to be in use by the clr.fund, which has users vote on which projects to receive funding. When the possible funding amount becomes very large, users and organizations have a large incentive to collude to receive parts of these funds. This is where MACI can truly make a difference, to protect the fairness of such important voting processes such as those at clr.fund.","s":"Conclusion","u":"/blog/maci-1-0-technical-introduction","h":"#conclusion","p":2565},{"i":2591,"t":"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.","s":"Welcome to MACI","u":"/blog/welcome","h":"","p":2590},{"i":2593,"t":"We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1. This new release brings a more secure product, new features, and a much needed documentation refresh. Before we dive into the updates, let's refresh your memory on what MACI is and what it was created to achieve.","s":"Maci v1.1.1 Release","u":"/blog/maci-v1-1-1-release","h":"","p":2592},{"i":2595,"t":"MACI is an application that provides collusion resistance for on-chain voting processes. It was originally created after Vitalik's post, and has since been revisited and improved. MACI revolves around the need for a trusted coordinator. The coordinator is in charge of setting up the system, publishing its public key, and computing the tally of the votes. Below are the main properties of MACI: Property Description Collusion Resistance no-one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery. Receipt-freeness no-one can prove (besides to the coordinator) which way they voted. Privacy no-one except a trusted coordinator should be able to decrypt a vote. Uncensorability no-one — not even the trusted coordinator, should be able to censor a vote. Unforgeability only the owner of a user's private key may cast a vote tied to its corresponding public key. Non-repudiation no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. Correct execution no-one, not even the trusted coordinator, should be able to produce a false tally of votes. Since its inception, MACI has been adopted by different projects, most notably clr.fund and QFI. These projects prove how effective MACI can be, especially when integrated with applications that are otherwise prone to collusion, such as funding Public Goods. For a more detailed description of MACI, please refer to the v1 technical introduction article.","s":"Background","u":"/blog/maci-v1-1-1-release","h":"#background","p":2592},{"i":2597,"t":"MACI was audited by HashCloack in the summer of 2022. The audit team discovered certain high risk vulnerabilities, whose fixes were the focus of the MACI team in the past months. In more details, the audit revealed two high risk issues within the zk-SNARK circuits: Incomplete validation when processing messages Integer overflow which could have allowed users to affect a coordinator's effort of calculating the subsidy by either making it incorrect or by intercepting the calculation Another notable security issue was the lack of initialization of the AccQueue contract. This contract is used to store messages (votes or topups) for the different polls. Without inserting a zero value hash into the merkle tree contract as the first message during initialization, a malicious user could have performed a denial of service attack on a poll. This could have resulted in the poll results taking a very long time before being tallied by the coordinator. All of these issues have been successfully resolved, on top of fixing minor issues and general code optimizations. The updated product uses a more up to date and secure version of Solidity, and more thorough test cases to verify the correctness of the solution.","s":"Security Audit","u":"/blog/maci-v1-1-1-release","h":"#security-audit","p":2592},{"i":2599,"t":"Feature Description Top Up Credit Users can now top up credits rather than having to sign up with a different MACI key Pairwise Subsidy Enhanced protection against collusion in quadratic funding Coordinator Service Sample coordinator server for easier MACI use","s":"New Features","u":"/blog/maci-v1-1-1-release","h":"#new-features","p":2592},{"i":2601,"t":"Rather than requring a user to sign up multiple times, it is now possible to top up voice credits by sending a top up message on the Poll contract. Withdrawals are not enabled as this would allow a malicious user to bribe others offline to transfer their keys. Now, the Poll contract will hold all the funds deposited from users for the current poll. At the end of a poll, the coordinator can transfer the funds to a hardcoded address which can be used to fund public goods. When a user deposits tokens by calling topup, they will also need to specify the stateTree index. The topup function will insert a topup message into the message queue for them. When the voting period ends, any call of topup function will be rejected. Both voting and topup messages have the same ending time, which ensures there is a well-defined ending state for each poll. Please note that in this approach, the initial credit is still shared across multiple polls, and the actual credit an user can spend in a given poll is the following: totalCredit=initialCredit+topupCredit where the topupCredit is the voice credit amount deposited by the user during the voting period of the given pollID. For a detailed description, please refer to this document.","s":"Top Up Credit","u":"/blog/maci-v1-1-1-release","h":"#top-up-credit","p":2592},{"i":2603,"t":"Pairwise subsidy is a new way to reduce collusion in quadratic funding applications. If two contributors collude with each other, they can extract most of the public funding pool if they have enough funds. In this post, Vitalik introduced this kind of collusion and also proposed a protocol to penalize this behavior. As a generalized solution, the more correlation between contributions, the smaller subsidy should be allocated to this project, as this reduces the risk of collusion between contributors. It should be noted that this solution assumes that an identity system is in place to prevent the same entity from registering with two different identities. Please refer to this post for a more detailed explaination of the implementation. Finally, please note that currently it is not possible to generate the zkeys for the subsidy circuit with with the vote options parameter larger than $5^2$. This issue is documented here and the team will focus on finding a solution to be able to support larger vote options.","s":"Pairwise Subsidy","u":"/blog/maci-v1-1-1-release","h":"#pairwise-subsidy","p":2592},{"i":2605,"t":"MACI now includes a sample coordinator service. There are two roles in the cordinator service: admin (i.e. MACI coordinator) and user (i.e. a voter). The admin's responsibility is to ensure that the code remains updated and that the backend services are live. The user can then simply send HTTP requests to the backend server to interact with MACI, for instance, by signing up and publishing a message on chain. The coordinator service has been wrapped into two docker instances: one for the backend server to accept user requests; one for the Mongodb service to store all necessary information on the current state such as smart contract addresses, zero knowledge proof keys and so on. For further reading on coordinator services, please refer to this doc.","s":"Coordinator Service","u":"/blog/maci-v1-1-1-release","h":"#coordinator-service","p":2592},{"i":2607,"t":"MACI can be used as a standalone application to carry out on-chain polls, or be implemented into new projects that can then benefit from its properties. For use as a standalone application, a cli package is provided which allows coordinators and voters to use MACI. Please refer to this doc for details on how to use it. To implement MACI into a project, the documentation can be used a reference, as well as reviewing how clr.fund and qf use MACI in their code.","s":"How to use MACI","u":"/blog/maci-v1-1-1-release","h":"#how-to-use-maci","p":2592},{"i":2609,"t":"MACI version 0.x will be discontinued. MACI 1.x has feature parity, more robust code and newest features. Users are encouraged to use the latest version. Starting February 7, 2023, the team will focus solely on resolving issues for MACI 1.x, and will cease to provide support for version 0.x.","s":"MACI 0.x","u":"/blog/maci-v1-1-1-release","h":"#maci-0x","p":2592},{"i":2611,"t":"Should you wish to get involved with MACI or simply report a bug, feel free to visit the repository and open an issue, or comment under an open issue to notify the team of your intention to work on it. For any other enquiry, please reach out to us via the Privacy and Scaling Explorations (PSE) Discord.","s":"How to get involved","u":"/blog/maci-v1-1-1-release","h":"#how-to-get-involved","p":2592},{"i":2613,"t":"MACI GitHub repository A technical introduction to MACI 1.0 - Kyle Charbonnet Minimal anti-collusion infrastructure - Vitalik Pairwise Subsidy Security Audit","s":"References","u":"/blog/maci-v1-1-1-release","h":"#references","p":2592},{"i":2615,"t":"Here is a link to the new release code in GitHub - v1.1.1 Release.","s":"Release","u":"/blog/maci-v1-1-1-release","h":"#release","p":2592},{"i":2617,"t":"MACI Product Roadmap This document aims to outline the 2024 MACI team & product roadmap. This public roadmap is part of our core team's efforts to make our work more accessible and to foster more collaboration from our open source community. We plan to re-assess & iterate on our roadmap over time, and will update this document when we do. info Our roadmap is still under active discussion - please join the conversation in our GitHub discussion if you have feedback! Team description​ The MACI core team is a small collaborative engineering team building various projects within Privacy & Scaling Explorations (PSE). Our sustained focus is on MACI: an on-chain voting protocol that provides greatly increased collusion resistance & privacy. We also allocate a significant portion of our time to support the practical adoption of this technology by supporting community leaders to run democratic governance and public funding initiatives, like Quadratic Voting (QV) & Quadratic Funding (QF) grant rounds. MACI mission & vision​ MACI (Minimal Anti-Collusion Infrastructure) is a public good & a potential core piece of infrastructure for many Ethereum-based applications to support privacy-protecting on-chain governance. Using MACI, individual votes are private but final results are public, so no voter can reveal how they voted yet voting results are verifiable with cryptographic proofs to prevent censorship, bribery, collusion, and other forms of manipulation common in public polling processes. Long term, the MACI team’s vision is to build the most secure e-voting solution in the world. Short term, our vision is to empower developers to build with MACI to create collusion resistant & privacy-protecting voting applications, like quadratic funding platforms & DAO governance tools. Our goal is to provide an out-of-the-box solution for developers to quickly integrate into their applications & deploy. MACI aims to handle the voting infrastructure so you can focus on building the logic specific to your application. High-level MACI ecosystem goals​ 2021: MACI integrated by an ecosystem project (✅, clr.fund) 2023: MACI integrated by a PSE project (✅, QF) 2024: MACI integrated by an additional external project 2025: MACI used by multiple DAOs for governance applications & QF integrations 2028: MACI used in smaller municipal elections (counties, provinces, etc) 2030: MACI used in national elections High-level MACI development goals​ 2021: release MACI v1.0 (✅) 2023: build technical feasibility for 10K concurrent voters on the platform (✅) 2024 Q1: release MACI v1.2, with revamped documentation & educational resource 2026: build technical feasibility for 100K concurrent voters on the platform 2028: build technical feasibility for 1M concurrent voters on the platform 2024 workstreams To achieve our mission, we’re focused on 4 major workstreams that comprise our roadmap. 1) MACI Developer Experience (DX)​ ~50% of team’s total bandwidth We believe that MACI is only useful to the extent that people use MACI & build on MACI. Despite the power of MACI, not a single project has yet integrated MACI v1.x in a production environment. We view this as a failure, and we want to fix this. The goal of this workstream is to make MACI as easy to understand and easy to integrate as possible. Initiatives within this workstream:​ Implement & release a MACI v1.2 (#856) Refactor the codebase for improved quality, readability & modularity Add code comments (with TypeDoc & NatSpec) to improve productivity Improve tooling (e.g. cross-platform support) for ease of integration & performance Improve/create documentation for developer onboarding & education Revamp documentation stack (via Docusaurus) with versioning & additional resources Voter & coordinator guides to understand full poll lifecycle Build app templates & tutorials that can serve as reference implementations References MACI v1.2 Refactoring Plan MACI development team sprint board MACI v1.1.1 refactor milestone 2) MACI Community Engagement​ ~15% of team’s total bandwidth We want to proactively support adoption of MACI. We’ll create an open source community where integrations & contributions are actively encouraged! This workstream relates closely to improving DX but focuses on areas that will require active maintenance, support & engagement from our team vs. improving code, documentation & educational resources that will be available online 24/7/365. The hope here is that close interactions with integration developers & Ethereum community members will help us gather insightful user feedback so that we iterate faster to improve MACI as a product. We’ll be rolling out an agile scrum development workflow that should allow us to rapidly respond to input from the community to guide our roadmap & product direction. Initiatives within this workstream:​ Allocate team bandwidth to be available to respond to the community Support MACI integrations (starting with clr.fund v1.x integration) Revamp GitHub repo maintenance (MACI GH processes) Establish & respond to public channels (Discord, Twitter) Proactively engage with the ecosystem to identify collaboration opportunities (conference talks, hackathon bounties, social media) Update our development processes to quickly react to user needs & input 3) Quadratic Funding Experiments​ ~30% of team’s total bandwidth We’re building technical infrastructure, operational expertise & a network of communities to create a scalable way to enable community organizers to run QF rounds. The mission of our QF project has been to serve as a reference implementation on how to integrate MACI as well as support the practical adoption of this community-funding technology. Read more about our QF initiatives here. 2024 goal​ Help run 12 QF/QV rounds Initiatives within this workstream:​ Build an evaluation framework of QF rounds, to increase our sophistication around how we measure success Landscape analysis of QF & capital-allocation projects to better understand how our efforts fit in within the broader ecosystem Update & expand our QF website, with public launch to generate inbound interest Explore community collaboration opportunities (running QF rounds) Exploring project collaboration opportunities (supporting MACI/QF integrations) References GitHub Website Future R&D​ While not prioritized as an upcoming workstream, we think it’s worth calling out important areas of research & development that we’re excited to work on in the future: MACI Coordinator Service​ The primary responsibility of the Coordinator Service will be to: offload and automate the tasks performed by the human coordinator minimize proving time by parallelizing SNARK proof generation and making MACI easier to adopt GitHub repo QF stack​ To serve as a reference implementation on how to integrate MACI as well as support the practical adoption of this community-funding technology. Improvements Support QF (as of now only supports QV functionality) Make it easier for operators to run rounds Make it easier for end users to use GitHub repo MACI improvements​ Unconditional Voter Privacy (e.g. ElGamal Key Change Mechanism) Scaling explorations, like SNARK Folding Schemes (e.g. Nova integration) Different matching mechanisms (e.g. Group Wise Matching in Quadratic Funding) Gas-less MACI for voters Gas efficiency Feedback​ Questions? Concerns? Ideas? We’d love to hear from you! Feel free to create an issue on our GitHub or reach out to our team in the PSE Discord (#maci channel). Team description MACI mission & vision High-level MACI ecosystem goals High-level MACI development goals 1) MACI Developer Experience (DX) Initiatives within this workstream: 2) MACI Community Engagement Initiatives within this workstream: 3) Quadratic Funding Experiments 2024 goal Initiatives within this workstream: Future R&D MACI Coordinator Service QF stack MACI improvements Feedback","s":"MACI Product Roadmap","u":"/roadmap","h":"","p":2616},{"i":2620,"t":"There are two zk-SNARK circuits in MACI: one which allows the coordinator to prove the correctness of each state root transition, and the other which proves that they have correctly tallied all the votes. Note that the circuit pseudocode in this specification does not describe zk-SNARK outputs. The difference between inputs and outputs is only semantic. As such, we consider so-called outputs as values computed from inputs, and then verified via a public input designated as an output in the circom code. (Minimum Anti-Collusion Infrastructure, 2020, Koh Wei Jie: YouTube MACI Explainer) (Minimum Anti-Collusion Infrastructure, 2020, Koh Wei Jie: YouTube MACI Explainer) See: The state root transition proof circuit, and The quadratic vote tallying circuit","s":"Circuits","u":"/docs/v0.x/circuits","h":"","p":2619},{"i":2622,"t":"There is an Ethereum contract (MACI) which provides the following interface:","s":"Contract","u":"/docs/v0.x/contract","h":"","p":2621},{"i":2624,"t":"We maintain two Merkle roots in the MACI contract: Tree root Represents messageTree Messages ⁠— both valid and invalid ⁠— submitted by users. stateTree The current mapping between public keys and votes. Leaf 0 is reserved for a random value. The zero value (for empty leaves) for each tree is a nothing-up-my-sleeve value: the Keccak256 hash of the string 'Maci': uint256 SNARK_SCALAR_FIELD = 21888242871839275222246405745257275088548364400416034343698204186575808495617; uint ZERO_VALUE = uint256(keccak256(abi.encodePacked('Maci'))) % SNARK_SCALAR_FIELD; which is equal to: 5503045433092194285660061905880311622788666850989422096966288514930349325741","s":"Merkle trees in storage","u":"/docs/v0.x/contract","h":"#merkle-trees-in-storage","p":2621},{"i":2626,"t":"We use a Quinary Merkle tree (5 leaves per node) to store votes.","s":"Vote option trees","u":"/docs/v0.x/contract","h":"#vote-option-trees","p":2621},{"i":2628,"t":"Signups can only occur during the signup period. The signUp function passes the sender's address, along with the _signUpGatekeeperData to a SignUpGateway contract, which determines whether or not to allow the user to sign up. For instance, this contract can be a simple whitelist. The signUp function also passes _initialVoiceCreditProxyData to an InitialVoiceCreditProxy contract which determines how many voice credits the user should have initially. This can be a constant value for all users, or a different credits per user. Next, it adds a new leaf to the state tree, starting from index 1 (as index 0 is reserved for invalid leaves). This leaf is the hash of the public key, the user's voice credits, the nonce 0, and the root of an empty vote option tree. The sign-up period ends after a predefined deadline. A later version of MACI will allow ongoing sign-ups where state trees will be merged once per week.","s":"signUp(PubKey _userPubKey, bytes memory _signUpGatekeeperData, bytes memory _initialVoiceCreditProxyData)","u":"/docs/v0.x/contract","h":"#signuppubkey-_userpubkey-bytes-memory-_signupgatekeeperdata-bytes-memory-_initialvoicecreditproxydata","p":2621},{"i":2630,"t":"This function ensures that the current block time is past the signup period, increments the message counter, and then updates the message root. This function must be public and anyone should be able to call it.","s":"publishMessage(uint256 _msg, PubKey _encPubKey)","u":"/docs/v0.x/contract","h":"#publishmessageuint256-_msg-pubkey-_encpubkey","p":2621},{"i":2632,"t":"The parameters are: uint256 _newStateRoot, uint256[] memory _stateTreeRoots, PubKey[] memory _ecdhPubKeys, uint256[8] memory _proof This function accepts a batch update state root transition zk-SNARK proof (_proof) and public inputs to the zk-SNARK. It verifies the proof, updates the processed message counter, and updates the state root in storage with newStateRoot. If the proof is valid, this means that the coordinator has correctly updated the state tree root according to the commands in the given batch of messages. It also increments the message tree index by the number of commands whose processing is verified by the given zk-SNARK proof. This function should, however, only do so if the processed message counter indicates that all previous messages have already been processed. Although anyone may call this contract function, only the coordinator should know the ECDH shared keys used to encrypt the messages.","s":"batchProcessMessage(...)","u":"/docs/v0.x/contract","h":"#batchprocessmessage","p":2621},{"i":2634,"t":"The parameters are: uint256 _intermediateStateRoot, uint256 _newResultsCommitment, uint256[] memory _finalSaltedResults, uint256[8] memory _proof This allows the coordinator to prove the correctness of their vote tally (in _finalSaltedResults). They do this in batches of state leaves. Each batch of state leaves is accumulated into an intermediate state root, and the Merkle root of all the intermediate state roots is the full state root. The proof shows that the result of adding the votes in the current batch to the culmulative results is computed correctly, but hides the results by salting and hashing them. _finalSaltedResults can be any value but for the final batch, it must be the correct quadratic vote tally. It does not matter that the contract does or does not restrict access to this function as anyone who can produce a valid proof should be able to tally the votes, and it should not be possible for anyone to tamper with the results anyway.","s":"proveVoteTallyBatch()","u":"/docs/v0.x/contract","h":"#provevotetallybatch","p":2621},{"i":2636,"t":"Each state leaf contains a user's public key, the Merkle root of their unique vote option tree, the number of voice credits they have left, and the nonce. The nonce is either 0 or that of their most recent valid command. For instance, a user who has published 0 valid commands has a nonce of 0, and their first valid command should have the nonce 1. Each user's public key is associated with exactly one state leaf. This leaf is the single source of truth of their vote option tree. Additionally, since a user may vote for multiple options, and allocate different amounts of voice credits to each option, we represent their votes as a Merkle tree.","s":"State leaves","u":"/docs/v0.x/contract","h":"#state-leaves","p":2621},{"i":2638,"t":"Data Bits Comments publicKeyX 253 The public key's x-coordinate. publicKeyY 253 The public key's y-coordinate. voteOptionTreeRoot 253 The Merkle root of the tree which represents the options which this particular user voted for. voiceCreditBalance 32 The number of remaining voice credits that the user can spend. nonce 32 The nonce of the most recently inserted command for this user. The schema for leaves of the vote option tree, which we dub vote leaves, is as such: Data Bits Comments votes 32 In the quadratic voting use case, this is the square root of the voice credits spent for this option.","s":"Schema","u":"/docs/v0.x/contract","h":"#schema","p":2621},{"i":2640,"t":"Each command may convey a key-change request, a vote, or both. There is only one schema for all commands.","s":"Commands","u":"/docs/v0.x/contract","h":"#commands","p":2621},{"i":2642,"t":"Be careful not to confuse the following leaf schema for commands with the state leaf schema. Each user may submit multiple commands, but should only be associated with one state leaf. Data Bits Comments stateIndex State tree depth The index of the leaf in the state tree which contains the public key used to sign the message. This is used to point to the state leaf to update. encPublicKeyX 253 The x-coordinate of the ephemeral public key. Its associated private key is used to encrypt the message. encPublicKeyY 253 The y-coordinate of the ephemeral public key. (We may use 1 bit, depending on the implementation) newPublicKeyX 253 The new public key's x-coordinate. If no change is required, it should be that of the current key. newPublicKeyY 253 The new public key's y-coordinate. If no change is required, it should be that of the current key. (We may use 1 bit, depending on the implementation) voteOptionIndex Vote option tree depth The index of the leaf in the vote option tree to which this state leaf refers. newVoteWeight 32 In the quadratic voting use case, this is the square root of the number of voice credits a user wishes to spend on this vote. nonce 32 Prevents replay attacks. Starts from 0 and for each message. A message meant to fool a briber may contain any nonce necessary to do so. For more details, see the section on nonces below. A useful rule of thumb is that the coordinator -- not the user -- should provide information that they know if they possess it. As such, the command does not contain information such as the Merkle path to the root of the vote option tree, since the coordinator should have it.","s":"Schema","u":"/docs/v0.x/contract","h":"#schema-1","p":2621},{"i":2644,"t":"Messages are processed in reverse order of being published. This has important implications for the way that nonces should be set. The last valid message per user should have a nonce of 1. Each valid message that comes before it should have an increasing nonce. 0 and negative values are invalid nonces. For example, Alice publishes 5 messages, all of which vote for the same option: (a) Nonce: 2; vote weight: 10 (b) Nonce: 1; vote weight: 20 (c) Nonce: 3; vote weight: 10 (d) Nonce: 2; vote weight: 1 (e) Nonce: 1; vote weight: 0 Since messages are processed in reverse order, messages (e), (d), and (c) are valid, but (b) and (a) are not. As such, her option receives 11 votes. (b) is invalid because at the point at which it is processed, the latest nonce is 3, but (b) gives a nonce of (1). The same applies for (a), whose nonce has been seen before. Take another example, where Eve bribes Bob to vote for option 1, but Bob wants to vote for option 2 instead. (a) Nonce: 1; vote weight: 10; option: 1 (b) Nonce: 1; vote weight: 10; option: 2 Bob casts vote (a) and shows it to Eve. Later, he secretly casts (b). Since (b) is processed first, it makes (a) invalid, but Eve has no way to tell. If a user changes their mind, they may have to cast new votes to invalidate their old ones: (a) Nonce: 2; vote weight: 10; option: 1 (b) Nonce: 1; vote weight: 10; option: 2 (c) Nonce: 2; vote weight: 5; option: 1 (d) Nonce: 1; vote weight: 5; option: 1 In the above example, if a user changes their mind after casting vote (b), they have to start over.","s":"About nonces","u":"/docs/v0.x/contract","h":"#about-nonces","p":2621},{"i":2646,"t":"Given a command from a user Alice, we say that the state transition from an oldStateRoot to a newStateRoot is valid if and only if (not in order of processing): The nonce equals the total number of valid commands from Alice processed by the coordinator in order to produce oldStateRoot, minus one. See the section on nonces. The decrypted message is signed by Alice's current EdDSA private key. The signature is valid. The specified vote option is indeed a choice that the user may make in the system. The user has enough voice credits left. Inserting the newly produced state leaf into the current state tree with oldStateRoot results in a new state tree with a root equal to newStateRoot. The state leaf index is less or equal to than the maximum state leaf index (2 ** state tree depth) and is not equal to 0.","s":"Message verification","u":"/docs/v0.x/contract","h":"#message-verification","p":2621},{"i":2650,"t":"If the coordinator censors a message N by excluding it from the final vote tally, the logic in processMessage() will prevent them from processing message N+1 or any future message until they do so.","s":"If the coordinator censors messages","u":"/docs/v0.x/faq","h":"#if-the-coordinator-censors-messages","p":2647},{"i":2652,"t":"The coordinator should verify the message's signature off-chain and if it is invalid, set the no-op flag to true and pass it into the state transition proof circuit. If the coordinator does not do this, they will fail to generate a valid proof anyway.","s":"If a user submits a message with an invalid signature","u":"/docs/v0.x/faq","h":"#if-a-user-submits-a-message-with-an-invalid-signature","p":2647},{"i":2654,"t":"This adversary does not know the value of the other leaves of the state tree, so even if the coordinator updates leaf 0 with the adversary's entropy, the adversary cannot tell if the processed command is invalid.","s":"If an adversarial miner bribes a user and controls the randomLeaf value passed into the state transition snark","u":"/docs/v0.x/faq","h":"#if-an-adversarial-miner-bribes-a-user-and-controls-the-randomleaf-value-passed-into-the-state-transition-snark","p":2647},{"i":2656,"t":"The system must be designed and built in a way such that this cannot happen.","s":"User creates a command that the snark cannot process","u":"/docs/v0.x/faq","h":"#user-creates-a-command-that-the-snark-cannot-process","p":2647},{"i":2658,"t":"Assuming that the locked key is not the user's initial public key, the briber has no way to tell if the user has not already changed their key. This scenario is therefore the same as that in which the user gives a public key to a briber without trusted hardware. [name=kobi] I don't think the reasoning works, for example for a user with trusted hardware: User has trusted hardware that allows a single key change. The user has initial public key pkpkpk and public key pk2pk2pk2 User registers with pkpkpk User changes to pk2pk2pk2, with the trusted hardware attesting this is the second public key and no further key changes are allowed Briber gets sk2sk2sk2 and the attestation and then uses pk2pk2pk2 [name=barry] I think that the attack is where you lock the initial key in trusted hardware. The solution is to use https://www.vitalik.ca/general/2019/10/01/story.html","s":"If a briber locks the user's key in trusted hardware","u":"/docs/v0.x/faq","h":"#if-a-briber-locks-the-users-key-in-trusted-hardware","p":2647},{"i":2660,"t":"[name=barry] This is the most serious attack IMO. The deposit stake is weak prevention for this.","s":"Deposit my public key and I will pay you","u":"/docs/v0.x/faq","h":"#deposit-my-public-key-and-i-will-pay-you","p":2647},{"i":2662,"t":"Each user should be allowed to publish at no cost as many messages as there are vote options, plus a small number (e.g. 2). Each subsequent message should cost the user an increasing amount of ETH. When the coordinator processes the message, the contract should return the ETH to the user. As such, the majority of non-malicious users will not have to pay any more than the gas costs to vote, and spammers must put up capital to attack the coordinator. [barry] there is no way to enforce this limit without allowing for bribary. [name=wei jie] how does this have to do with bribery? i understand this to only be an anti-spam mechanism.","s":"If an attacker fills up the message tree with such a large number of commands that the coordinator cannot afford to generate enough proofs to process them all","u":"/docs/v0.x/faq","h":"#if-an-attacker-fills-up-the-message-tree-with-such-a-large-number-of-commands-that-the-coordinator-cannot-afford-to-generate-enough-proofs-to-process-them-all","p":2647},{"i":2664,"t":"It is impossible for a coordinator to find a collision in message decryptions. i.e. they cannot decrypt a message to a different command. It is impossible for a user to create a message that the coordinator is not able to process. It is impossible for a user to create a message such that the coordinator is unable to create a zk-SNARK proof of a state root transition. No-one but the coordinator can trustlessly bribe someone.","s":"II: Claims / required invariants","u":"/docs/v0.x/faq","h":"#ii-claims--required-invariants","p":2647},{"i":2666,"t":"A perpetual sign-up process Reuse the MACI contract for a new vote. This requires the operator to zero out each user's vote option tree. Mitigations for some of the attacks described above","s":"III: Desired features not described in this specification","u":"/docs/v0.x/faq","h":"#iii-desired-features-not-described-in-this-specification","p":2647},{"i":2668,"t":"Another use case for MACI is a million-dollar-homepage style bulletin board where users can post and quadratically vote on images. A user who owns a POAP token from a real-life event can sign up and receive 2 ^ 32 voting tokens per week. To add a picture to the board, they have to burn 1 ETH, which disincentivises spam. The visual prominence of size of each picture scales with the sum of square roots of the votes that it receives.","s":"IV: Quadratic and sybil-resistant million-dollar-homepages","u":"/docs/v0.x/faq","h":"#iv-quadratic-and-sybil-resistant-million-dollar-homepages","p":2647},{"i":2670,"t":"Barry WhiteHat, Kendrick Tan, Kobi Gurkan, Chih-Cheng Liang, and Koh Wei Jie","s":"Minimum Anti-Collusion Infrastructure","u":"/docs/v0.x/introduction","h":"","p":2669},{"i":2672,"t":"This specification is for an implementation of Minimum Anti-Collusion Infrastructure (MACI). Originally proposed by Vitalik Buterin in this ethresear.ch post, systems built with MACI make collusion among participants difficult, while retaining the censorship resistance and correct-execution benefits of smart contracts. Although MACI can provide collusion resistance only if the coordinator is honest, a dishonest coordinator can neither censor nor tamper with its execution. Note that MACI presumes an identity system where each legitimate member controls a unique Ethereum private key.","s":"Introduction","u":"/docs/v0.x/introduction","h":"#introduction","p":2669},{"i":2674,"t":"Whitelisted voters named Alice, Bob, and Charlie register to vote by sending their public key to a smart contract. Additionally, there is a central coordinator Dave, whose public key is known to all. A later version of MACI will have to mitigate a vote-buying attack where a user may be bribed immediately when the voting period starts, such that their very first message is influenced by a briber. One solution to this is to have the contract to mandate that the first message that each participant sends is to change their key (see below). For the sake of simplicity, however, this specification will not address this issue. When Alice casts her vote, she signs her vote with her private key, encrypts her signature with Dave's public key, and submits the result to the smart contract. Each voter may change her keypair at any time. To do this, she creates and signs a key-change command, encrypts it, and sends it to the smart contract. This makes it impossible for a briber to ever be sure that their bribe has any effect on the bribee's vote. If Bob, for instance, bribes Alice to vote a certain way, she can simply use the first public key she had registered ⁠— which is now void ⁠— to cast a vote. Since said vote is encrypted, as was the key-changing message which Alice had previously sent to Dave, Bob has no way to tell if Alice had indeed voted the way he wanted her to. Even if Alice reveals the cleartext of her vote to Bob, she just needs to not show him the updated key command that she previously used to invalidate that key. In short, as long as she had submitted a single encrypted command before her vote, there is no way to tell if said vote is valid or not.","s":"High-level process","u":"/docs/v0.x/introduction","h":"#high-level-process","p":2669},{"i":2676,"t":"Refer to the Glossary for defintions of terms. The coordinator deploys the MACI contract to an Ethereum blockchain and starts the sign-up period. The same transaction that deploys the contract also stores the value of an empty vote option tree. To sign up, each user creates an EdDSA keypair and invokes the contract's signUp() function. Alternatively, there is a mechanism where some contract function checks if the user owns a particular ERC721 token and adds them to the whitelist. It in turn generates a new leaf to the state tree and updates the state tree root. The signup period ends after a fixed amount of time. From that point onwards, users may no longer invoke signUp() in this contract. Each user votes. To do this, they: Sign their command using the key which they had signed up with and then use a random (ephemeral) key as well as the coordinator's public key to generate a shared key (via ECDH) encrypt it. If they are bribed, the user should sign it using an old public key which has already been replaced with a new one. Otherwise, the user should use the most current public key they have registered. Submit the the message, as well as the epheremal public key in the clear to the contract using its publishMessage() function, which hashes the command and inserts it into the message tree. The coordinator processes all the commands after the voting period ends. For each batch of commands, they perform the following steps: Generate a new state root which is the result of: For each valid command, in reverse order, update the state leaf accordingly Ignore all invalid commands Update leaf 0 with a random leaf Generate a zk-SNARK proof that this state root transition is valid. (Note that \"state root\" refers to the root of the state tree in the contract, not the Ethereum state root as defined in the Yellow Paper.) An invalid message can one which is signed by a public key which a user had already replaced with another key, among other criteria. To allow a bribee to plausibly claim that they have voted correctly even if they use an old public key, we insert a random leaf at index 0 whether or not the message is valid. Figure 1: The relationship between each users, the coordinator, the contract functions, as well as the state tree and the message tree. When the voting period ends, the coordinator tallies all the votes. It then generates zk-SNARK proof that the computed result is valid without revealing the plaintext of the votes. While this specification specifically describes a quadratic voting use case, the circuit used to generate this proof should differ based on the particular nature of the voting system.","s":"Technical process","u":"/docs/v0.x/introduction","h":"#technical-process","p":2669},{"i":2678,"t":"The coordinator may decrypt all commands. Each participant may only decrypt their own messages, and should not be able to decrypt other users' messages or access their commands. No-one else should be able to decrypt any messages.","s":"Availability and visibility of messages","u":"/docs/v0.x/introduction","h":"#availability-and-visibility-of-messages","p":2669},{"i":2681,"t":"There are two roles: users and a coordinator.","s":"Roles","u":"/docs/v0.x/introduction","h":"#roles","p":2669},{"i":2683,"t":"Key generation​ Each user owns an EdDSA keypair, as does the coordinator. Every user should have a copy of the coordinator's public key, which is stored and available from the smart contract. Likewise, the coordinator should have a copy of each user's public key, which they publish on-chain to sign up. We define an EdDSA private key as a random value (initially 256 bits large) modulo the snark field size as described in EIP197. This results in a key size of roughly 253 bits and no more than 254 bits. Additionally, we use this efficient algorithm to prevent modulo bias. Command signing and encryption​ The following steps are needed to sign and encrypt a message: Hash the command Sign the hash with the user's EdDSA private key Generate an ECDH shared key using a random private key (the ephemeral key) and the coordinator's public key. Encrypt both the signature and the data included in the command with the shared key Note that when we call publishMessage, we pass in the encrypted data, the signing public key, and random public key.","s":"Cryptographic operations","u":"/docs/v0.x/introduction","h":"#cryptographic-operations","p":2669},{"i":2685,"t":"Some terms in this specification are similar to one another but should not be used interchangeably. This glossary should help to resolve such ambiguities. Term Meaning Command Unencrypted data whose fields include the user's public key, vote etc. Message An encrypted command and signature (Encrypt([Command, Signature], Key). State The mapping between each user's public key and the full set of information about which options they voted for and the weight per vote. Note that this does not refer to the Ethereum state as defined in the Yellow Paper. Vote The options which the user voted for Vote option One out of many possible choices which a user may vote for Vote option tree The unique tree of weights that each user assigns to vote options. This represents the full set of information about which options a user had voted for and how many voice credits they had spent per vote. Voice credit One unit which denotes the strength of a user's vote for a particular option. In a quadratic voting use case, users start out with a limited number of voice credits and spend them on votes.","s":"Glossary","u":"/docs/v0.x/introduction","h":"#glossary","p":2669},{"i":2687,"t":"Quadratic voting is one of many types of vote tallying mechanisms. We chose it for the first version of MACI due to the high amount of interest that the community has shown for it. Quadratic voting allows users to express the strength of their preferences when they vote for options. Since users are allocated a limited number of voice credits, and the number of tallied votes per option is the square root of the number of voice credits spent on said option, quadratic voting over-privileges neither concentrated nor diffuse interests. For instance, if a user has 99 voice credits, they may spend them this way (each row represents a command): Option Voice credits spent A 1 A 9 B 25 C 64 The outcome is as such: Option Tallied votes A 3.16 B 5 C 8 Even though the user has a disproportionate preference for option C (64 voice credits), their impact on the tallied vote (8 votes) is merely the square root of the voice credits they have spent. This prevents them from having an outsized influence on the results simply by virtue of their willingness to spend as many voice credits on that option as they had. Additionally, we consider that votes are cumulative. This means that the user spent 10 voice credits on option A. The MACI contract's quadraticVoteTally() function should verify a proof created using this circuit to compute the results of tallying a set of state leaves. This also proves that these state leaves have an intermediate root A, as well that A is part of the tree with final state root R. This allows the coordinator to prove the final tally in batches. The function keeps track of the index of each intermediate root to ensure that they are processed consecutively.","s":"The quadratic vote tallying circuit","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"","p":2686},{"i":2689,"t":"Pseudocode name zk-SNARK input type Description Set by fullStateRoot Public The final Merkle root of the state tree Contract fullStateTreeDepth Hardcoded The depth of the state tree Contract intermediateStateTreeDepth Hardcoded The depth of the intermediate state tree Contract intermediateStateRoot Public The intermediate Merkle root generated by the given state leaves Contract intermediatePathElements[k] Private The Merkle path elements from intermediateStateRoot to stateRoot. Coordinator intermediatePathIndex Public The Merkle path index from intermediateStateRoot to stateRoot. Contract currentResults[n] Private The vote tally of all prior batches of state leaves Coordinator currentResultsSalt Private A random value to hash with the vote tally for state leaves up to the current batch Coordinator currentResultsCommitment Public The salted commitment of the values in currentResults Contract newResultsCommitment Public The salted commitment of the vote tally for this batch of leaves plus the vote tally from currentResults Contract salt Private A random value to hash with the culmulate vote tally for this batch of state leaves Coordinator stateLeaves[m][p] Private The batch of leaves of the state tree to tally. Coordinator voteLeaves[m][n] Private The vote leaves for each user in this batch of state leaves. Coordinator n is the number of options in voteOptionTree. m is the number of state leaves in this batch. k is fullStateTreeDepth - intermediateStateTreeDepth p is the message length A result commitment is the hash of a Merkle root of all the vote leaves, and a salt. For instance: root = genTree(results); hash(root, salt);","s":"Inputs","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#inputs","p":2686},{"i":2691,"t":"// Alice votes for party A with 16 credits // Bob votes for party A with 9 credits // Party A gets 7 tallied votes. NOT 5 votes. // Ensure via a constraint that the intermediate root is the // correct Merkle root of the stateLeaves passed into this // snark assert(intermediateStateRoot == genTree(stateLeaves)) // Ensure via a constraint that the intermediate root is part of the full state tree var x = generateMerkleRoot( intermediatePathElements, intermediatePathIndex, intermediateRoot ) assert(x == stateRoot) // This variable stores the sum of the square roots of each // user's voice credits per option. var computedResults = currentResults var start = 1 if intermediatePathIndex > 0: start = 0 // For each user for i as start to m: // we ignore leaf 0 on purpose // Ensure via a constraint that the voteLeaves for this // user is correct (such that when each vote leaf is // inserted into an MT, the Merkle root matches // the `voteOptionTreeRoot` field of the state leaf) var computedVoteOptionTreeRoot = genTree(voteLeaves[i]) assert(computedVoteOptionTreeRoot == stateLeaves[i].voteOptionTreeRoot) // Calculate the sum of votes for each option for j as 0 to n. // This adds to the subtotal from previous batches // of state leaves computedResults[j] += voteLeaves[i][j] // Ensure via a constraint that the commitment to the current results is // correct assert( hash(genTree(currentResults), currentResultsSalt) == currentResultsCommitment ) // Ensure via a constraint that the final result // is correct assert( hash(genTree(computedResults), salt) == newResultsCommitment ) where genTree is pseudocode for a circuit which computes a Merkle root from a list of leaves.","s":"Circuit pseudocode","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#circuit-pseudocode","p":2686},{"i":2693,"t":"Condition Outcome Invalid state leaves and/or intermediate state root No such proof can be generated Invalid vote option leaves No such proof can be generated Invalid Merkle path to the full state root from the intermediate state root for the batch of votes No such proof can be generated","s":"Circuit failure modes","u":"/docs/v0.x/quadratic-vote-tallying-circuit","h":"#circuit-failure-modes","p":2686},{"i":2695,"t":"This circuit proves the correctness of each state root transition.","s":"The state root transition proof circuit","u":"/docs/v0.x/state-root-transition-circuit","h":"","p":2694},{"i":2697,"t":"All public inputs are set by the contract. Pseudocode name Description coordinatorPubKey The coordinator's public key currentStateRoot The current state root msgTreeRoot The Merkle root of the message tree msgTreePathIndex The Merkle path index of the message in the message tree maxStateLeafIndex The maximum leaf index of the state tree userCurrentLeafPathIndex The Merkle path index from the user's latest valid state leaf to the current state root newStateRoot The new state root","s":"Public Inputs","u":"/docs/v0.x/state-root-transition-circuit","h":"#public-inputs","p":2694},{"i":2699,"t":"All private inputs are set by the coordinator. Pseudocode name Description userCurrentLeafPathElements The Merkle path elements from the user's latest valid state leaf to the current state root currentVoteOptionPathElements[n] The Merkle path needed to prove the existence of the current vote option leaf. Size is 253 * vote_option_tree_depth bits newVoteOptionPathElements[n] The Merkle path needed to update the vote option tree root in the state leaf. Size is 253 * vote_option_tree_depth bits currentVoteWeight In the quadratic voting use case, this is the square root of the number of voice credits a user wishes to spend on this vote. Size is 32 bits. message The message msgTreePathElements The Merkle path elements to the message tree root from the message leaf randomLeaf Random data newStateTreePathIndex The Merkle path index to the new state root from the new state leaf newStateTreePathElements The Merkle path elements to the new state root from the new state leaf newStateTreePathElementsToZero The Merkle path elements to the new state root from leaf 0, after the new state leaf has been updated userCurrentLeaf The user's latest valid state leaf command The command to process. Includes all the details in the leaf. noOp The no-op flag userPubKey The public key associated with the private key used to sign the command encPubKey The ephermeral public key used to generate the ECDH shared key which was used to encrypt the command. coordinatorPrivKey The coordinator's private key. For the sake of simplicity, in this specification, we assume that there is no batching of commands and we handle each command one at a time.","s":"Private Inputs","u":"/docs/v0.x/state-root-transition-circuit","h":"#private-inputs","p":2694},{"i":2701,"t":"// Derive the coordinator's public key from // their private key var derivedCoordinatorPubKey = eddsaDerivePubKey(coordinatorPrivKey); // Ensure via a constraint that it matches the // coordinator's public key given as an input assert(derivedCoordinatorPubKey == coordinatorPubKey); // Generate the ECDH key var ecdhSharedKey = genEcdhKey(coordinatorPrivKey, encPubKey); // Use the ECDH shared key to decrypt the message var decryptedCommand = decrypt(ecdhSharedKey, message); // Ensure via a constraint that the message has been correctly decrypted assert(decryptedCommand == command);","s":"Check 1: That the message has been encrypted with the correct key","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-1-that-the-message-has-been-encrypted-with-the-correct-key","p":2694},{"i":2703,"t":"var generatedMsgTreeRoot = generateMerkleRoot(msgTreePathElements, msgTreePathIndex, message); assert(generatedMsgTreeRoot, msgTreeRoot);","s":"Check 2: that the message is part of the message tree","u":"/docs/v0.x/state-root-transition-circuit","h":"#check-2-that-the-message-is-part-of-the-message-tree","p":2694},{"i":2706,"t":"The message should already have been decrypted to decryptedCommand (see above). /*********************************** This function generates a state leaf ***********************************/ function generateStateLeaf( command, computedNewVoteOptionRoot, newVoiceCreditBalance ) => { return [ command.newPublicKeyX, command.newPublicKeyY, computedNewVoteOptionRoot, newVoiceCreditBalance, command.nonce + 1 ] } /************************* // The main circuit logic: **************************/ // Record in a variable that the new state leaf index is // valid (i.e. it is leq to the maximum allowed value) var validStateLeafIndex = newStateTreePathIndex <= maxStateLeafIndex && newStateTreePathIndex > 0 // Record in a variable if the signature is valid var validSignature = verifyEddsa(signature, decryptedCommand, userPubKey) // Record in a variable if the nonce is correct var correctNonce = decryptedCommand.nonce == userCurrentLeaf.nonce + 1 // Prove that the user's current leaf is part of the // Merkle tree. Note that this check is independent of // the noOp flag. As such, the coordinator cannot // create an invalid proof by tampering with the // Merkle proof and setting noOp to true; the Merkle proof // *must* be valid. var x = generateMerkleRoot( userCurrentLeafPathElements, userCurrentLeafPathIndex, userCurrentLeaf ) assert(x == currentStateRoot) // Prove that the the current vote option weight (leaf) // input is correct by checking that it exists in the // tree at the given index var y = generateMerkleRoot( decryptedCommand.currentVoteOptionPathElements, decryptedCommand.voteOptionIndex, decryptedCommand.currentVoteWeight ) assert(y == userCurrentLeaf.voteOptionTreeRoot) // Record in a variable if the user has enough // voice credits var newVoiceCreditBalance = userCurrentLeaf.voiceCreditBalance + (decryptedCommand.currentVoteWeight ^ 2) - (decryptedCommand.newVoteWeight ^ 2) var enoughVoiceCredits = newVoiceCreditBalance >= 0 // Record in a variable if the new leaf's vote option // tree root is the correct result of updating the // vote option leaf. var computedNewVoteOptionRoot = updateMerkleTree( command.voteOptionIndex, command.voteOptionPath, command.voteWeight, decryptedCommand.newVoteWeight ) assert(newStateLeaf.voteOptionRoot == computedNewVoteOptionRoot) newStateLeaf.voteOptionRoot == computedNewVoteOptionRoot // Record in a variable if the vote option index is // within a permissible range (0 to 2 ** vote option tree // depth, inclusive) where VOTE_OPTION_TREE_DEPTH is // not an input, but rather hardcoded during the trusted // setup. var validVoteOptionTreeIndex = command.voteOptionIndex < VOTE_OPTION_TREE_DEPTH var newStateLeaf = generateStateLeaf( command, computedNewVoteOptionRoot, newVoiceCreditBalance ) if (enoughVoiceCredits && correctNonce && validSignature && validStateLeafIndex && validVoteOptionTreeIndex ): // Use a constraint to ensure that the no-op flag // is set to false assert(noOp == false) // Generate the new state root. var s = merkleTreeUpdate( newStateTreePathIndex newStateLeaf, currentStateRoot, newStateTreePathElements ) // Update the leaf at index `0` to generate a new state // root, and ensure via a constraint that it is equal // to the new state root passed to the snark as an // input. var updatedStateRoot = merkleTreeUpdate( 0, randomLeaf, s, newStateTreePathElementsToZero ) assert(updatedStateRoot == newStateRoot) else: // Use a constraint to ensure that the no-op flag // is set to true assert(noOp == true)","s":"Circuit logic","u":"/docs/v0.x/state-root-transition-circuit","h":"#circuit-logic","p":2694},{"i":2708,"t":"Condition noOp flag Outcome Insufficient voice credits true Valid proof, but only leaf 0 is updated Invalid nonce true Valid proof, but only leaf 0 is updated Invalid signature true Valid proof, but only leaf 0 is updated Invalid new vote option root true Valid proof, but only leaf 0 is updated Invalid state leaf index true Valid proof, but only leaf 0 is updated Invalid vote option tree index true Valid proof, but only leaf 0 is updated Invalid Merkle path to the current state root N/A No such proof can be generated Invalid Merkle path to the current vote option root N/A No such proof can be generated","s":"Circuit failure modes","u":"/docs/v0.x/state-root-transition-circuit","h":"#circuit-failure-modes","p":2694}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2544",[0,2.88,1,1.75,2,3.3,3,3.587,4,2.447,5,4.555,6,3.222,7,2.229,8,3.792,9,2.717,10,2.229,11,2.304,12,2.333,13,1.084,14,3.3,15,2.447,16,3.587,17,2.134,18,3.971,19,0.562,20,1.817,21,2.229,22,2.333,23,3.587,24,3.587,25,2.229,26,2.694,27,3.971,28,2.717,29,3.971,30,3.071,31,4.555,32,0.634,33,2.574,34,3.971,35,3.971,36,4.555,37,3.587,38,4.555,39,4.723,40,4.555,41,3.587,42,5.229,43,3.071,44,3.971,45,2.88,46,3.971,47,4.555,48,4.555,49,3.3,50,3.971,51,4.555,52,2.574,53,3.971,54,3.971,55,2.574]],["t/2546",[0,2.992,11,2.147,13,0.994,15,3.003,17,2.88,19,0.91,20,1.292,21,1.585,22,1.658,26,1.454,28,2.822,32,0.658,56,2.125,57,2.125,58,1.239,59,2.992,60,3.726,61,2.125,62,3.238,63,3.726,64,1.629,65,2.55,66,1.83,67,3.238,68,3.238,69,2.346,70,2.823,71,2.346,72,1.585,73,2.55,74,2.421,75,3.726,76,3.008,77,1.096,78,3.238,79,1.004,80,2.048,81,2.346,82,1.74,83,2.55,84,2.55,85,1.585,86,1.156,87,2.55,88,1.342,89,1.454,90,3.726,91,2.542,92,2.183,93,3.726,94,2.55,95,1.932,96,1.517,97,1.239,98,3.535,99,2.55,100,2.55,101,0.793,102,2.346,103,2.55,104,2.346,105,2.55,106,2.048,107,1.658,108,2.55,109,2.125,110,3.19,111,2.183,112,2.183,113,1.199,114,2.823,115,3.238,116,3.238,117,2.823,118,2.423,119,3.238,120,2.048,121,3.238,122,2.048,123,1.658,124,2.315,125,3.238,126,1.454,127,2.346,128,1.244,129,1.077,130,1.585,131,1.658,132,2.048,133,2.55,134,1.74,135,3.238,136,2.55]],["t/2548",[4,2.569,7,1.608,8,2.078,10,1.608,11,1.262,13,0.911,17,1.539,21,2.34,25,1.608,28,1.96,30,2.215,43,2.215,50,2.865,59,2.078,60,2.588,76,1.608,80,2.078,101,1.171,118,3.17,120,2.078,136,2.588,137,3.286,138,2.865,139,1.857,140,2.078,141,2.588,142,2.588,143,1.765,144,2.588,145,3.286,146,4.781,147,3.286,148,4.781,149,4.914,150,3.286,151,3.286,152,2.215,153,2.865,154,2.865,155,2.588,156,2.381,157,2.215,158,2.865,159,2.865,160,2.865,161,4.781,162,2.078,163,3.286,164,2.865,165,3.286,166,3.286,167,2.588,168,2.34,169,3.369,170,3.362,171,2.588,172,2.215,173,2.215,174,2.588,175,3.024,176,2.865,177,3.286,178,3.766,179,3.464,180,2.588,181,3.286,182,3.464,183,2.865,184,1.907,185,3.286,186,2.865,187,3.464,188,1.765,189,4.169,190,1.216,191,2.381,192,3.286,193,3.286,194,2.865,195,1.96,196,2.381,197,2.078,198,2.865,199,3.286,200,1.765,201,3.286,202,3.286,203,2.865,204,2.215,205,1.132,206,1.092,207,3.286,208,2.215,209,2.381,210,2.865,211,3.286,212,2.865,213,1.31,214,2.865,215,1.96,216,3.286,217,2.865,218,3.286,219,3.286,220,2.078,221,2.865,222,2.865,223,2.865,224,3.286,225,2.865,226,2.588,227,2.865,228,3.286]],["t/2550",[11,2.521,13,0.705,14,2.103,15,2.344,16,2.286,18,2.531,19,0.865,20,1.74,21,3.057,22,2.985,25,1.42,41,3.436,57,1.304,58,0.76,64,1.805,65,3.436,77,0.487,82,2.344,86,1.036,101,0.711,107,1.487,118,1.487,132,1.835,134,1.559,139,1.64,140,1.835,141,2.286,162,1.835,172,1.957,175,1.835,179,2.103,182,2.103,184,1.158,187,2.103,205,1,213,1.158,215,2.602,229,2.531,230,2.902,231,2.286,232,2.135,233,1.559,234,2.531,235,1.957,236,1.64,237,3.436,238,2.902,239,2.902,240,1.487,241,2.902,242,2.286,243,2.902,244,2.531,245,2.902,246,2.902,247,2.759,248,4.362,249,1.957,250,2.902,251,2.531,252,2.902,253,0.58,254,2.103,255,1.835,256,2.902,257,1.957,258,2.902,259,3.131,260,2.902,261,2.902,262,2.531,263,1.957,264,2.902,265,3.161,266,2.902,267,2.902,268,2.902,269,1.36,270,2.531,271,1.074,272,2.103,273,2.902,274,2.286,275,1.957,276,1.957,277,2.902,278,1.64,279,2.531,280,2.902,281,5.241,282,3.436,283,2.902,284,2.902,285,2.902,286,2.902,287,2.902,288,2.531,289,2.902,290,2.902,291,2.531,292,2.902,293,2.286,294,2.902,295,3.534,296,1.835,297,2.531,298,2.286,299,1.252,300,2.902,301,3.804,302,2.902,303,2.902,304,1.957,305,2.286,306,2.902,307,3.161,308,2.531,309,2.902,310,2.902,311,1.835,312,2.902,313,2.902,314,2.902,315,2.902,316,2.531,317,2.531,318,2.286,319,2.902,320,1.835,321,2.286,322,2.902,323,2.902,324,2.902]],["t/2552",[4,1.59,6,1.59,7,1.449,8,1.872,13,1.019,17,2.074,19,0.655,24,3.486,25,2.166,26,1.33,28,3.758,30,3.576,32,0.819,55,1.673,56,1.33,57,1.33,58,1.159,61,1.33,64,1.02,71,2.145,72,1.449,77,0.889,80,1.872,91,1.59,104,2.145,110,1.996,113,1.096,118,1.516,127,2.145,128,1.137,129,0.984,132,1.872,142,2.331,162,2.8,169,1.516,170,1.766,172,1.996,182,2.145,184,1.181,189,2.581,191,3.208,198,2.581,204,1.996,205,1.02,206,1.472,209,3.208,213,1.766,222,2.581,226,3.486,233,2.849,253,0.885,255,2.8,257,1.996,271,1.096,311,1.872,318,2.331,325,2.96,326,1.827,327,4.427,328,2.581,329,2.581,330,1.872,331,3.842,332,1.766,333,2.166,334,2.145,335,1.872,336,1.766,337,2.581,338,2.581,339,2.96,340,2.96,341,2.96,342,3.208,343,2.96,344,2.985,345,2.96,346,1.996,347,1.181,348,1.872,349,1.872,350,3.86,351,1.766,352,2.96,353,0.858,354,2.145,355,1.766,356,2.8,357,2.581,358,2.96,359,2.581,360,1.181,361,2.96,362,2.96,363,1.996,364,2.96,365,3.86,366,2.96,367,2.96,368,2.581,369,2.581,370,2.96,371,4.624,372,2.96,373,2.581,374,2.331,375,1.137,376,0.858,377,2.331,378,2.581,379,2.145,380,2.96,381,2.96,382,2.581,383,2.331,384,2.96,385,2.581,386,2.96,387,1.673,388,2.581,389,2.581,390,2.581,391,2.581,392,2.145,393,2.96,394,2.96]],["t/2554",[13,0.936,17,2.713,28,3.454,63,4.561,118,2.966,128,2.224,129,1.926,169,3.574,206,1.926,208,3.905,311,3.662,395,5.791,396,5.791,397,5.791,398,5.049,399,5.791,400,3.662,401,5.049,402,5.049,403,5.791,404,5.791]],["t/2556",[13,0.885,19,0.902,35,4.772,37,4.31,46,4.772,85,2.678,130,2.678,131,2.803,144,4.31,169,2.803,180,5.309,190,2.026,253,1.094,282,4.31,326,1.885,353,1.586,405,5.473,406,5.473,407,5.878,408,2.36,409,2.269,410,5.473,411,5.473,412,5.473,413,5.473,414,3.265,415,3.965]],["t/2558",[13,0.936,19,0.715,24,4.561,32,0.806,77,1.17,85,2.834,89,2.601,126,2.601,190,2.144,203,5.049,240,2.966,253,1.157,416,5.791,417,5.049,418,6.084,419,6.977,420,5.791,421,3.662,422,5.791]],["t/2560",[12,2.753,13,0.869,32,0.748,58,1.407,61,2.414,77,0.901,113,1.989,162,3.399,169,2.753,184,2.144,209,3.894,253,1.074,263,3.624,271,1.989,318,4.233,326,1.851,332,3.206,333,2.63,360,2.144,369,4.686,392,3.894,423,2.887,424,4.233,425,4.686,426,3.624,427,5.374,428,2.753,429,4.686,430,4.233,431,5.374,432,5.374,433,4.686,434,2.753,435,5.374]],["t/2562",[4,3.478,7,2.51,8,3.243,13,1.205,17,2.402,25,2.51,56,2.908,61,2.303,76,3.646,170,3.059,180,4.039,191,3.716,233,2.755,253,1.025,351,3.059,392,3.716,400,3.243,436,5.128,437,5.128,438,5.128,439,6.497,440,4.471,441,5.128,442,4.039,443,3.716,444,2.626,445,4.365,446,2.684,447,2.402]],["t/2564",[6,3.091,11,2.21,16,4.532,19,0.71,20,2.295,21,2.816,22,2.947,28,3.432,88,2.385,130,2.816,169,2.947,232,2.816,311,3.639,448,5.017,449,3.88,450,5.017,451,5.754,452,4.532,453,5.017,454,2.947,455,5.754,456,4.169,457,5.017]],["t/2566",[9,2.239,10,1.837,11,2.02,12,1.922,13,0.981,15,2.017,17,1.758,19,0.982,32,0.732,76,1.837,82,2.017,85,3.388,86,2.167,88,2.516,95,2.239,101,0.919,122,2.374,128,1.442,129,1.248,200,2.017,213,1.497,235,2.531,236,3.716,237,2.956,240,1.922,242,4.141,253,0.75,254,2.72,263,2.531,265,2.72,272,2.72,278,2.121,320,2.374,326,1.293,330,2.374,353,2.135,414,3.137,452,2.956,458,2.531,459,3.273,460,2.463,461,1.748,462,2.956,463,2.956,464,3.273,465,3.43,466,3.273,467,2.374,468,2.956,469,2.956,470,2.531,471,3.273,472,2.531,473,2.531,474,2.956,475,2.956,476,0.983,477,3.273,478,2.72,479,2.239,480,1.442,481,4.585,482,3.273,483,2.374,484,2.72,485,2.956]],["t/2568",[9,2.248,10,1.845,11,2.026,12,1.93,13,0.983,15,2.025,17,1.766,19,0.983,32,0.734,76,1.845,82,2.025,85,3.393,86,2.171,88,2.522,95,2.248,101,0.923,122,2.384,128,1.448,129,1.253,200,2.025,213,1.503,235,2.541,236,3.723,237,2.969,240,1.93,242,4.153,253,0.753,254,2.731,263,2.541,265,2.731,272,2.731,278,2.13,320,2.384,326,1.298,330,2.384,353,2.137,414,3.146,452,2.969,459,3.287,460,2.47,461,1.753,462,2.969,463,2.969,464,3.287,465,3.438,466,3.287,467,2.384,468,2.969,469,2.969,470,2.541,471,3.287,472,2.541,473,2.541,474,2.969,475,2.969,476,0.987,477,3.287,478,2.731,479,2.248,480,1.448,481,4.598,482,3.287,483,2.384,484,2.731,485,2.969]],["t/2570",[0,1.99,1,2.329,6,1.691,8,1.99,9,1.877,10,1.54,11,1.78,12,1.612,13,1.093,15,1.691,19,0.885,26,1.414,32,0.438,72,2.267,74,2.503,75,3.649,76,2.968,77,1.084,79,0.976,80,1.99,81,2.28,82,1.691,83,2.479,84,2.479,85,1.54,86,1.123,87,2.479,88,1.305,89,1.414,90,2.479,91,2.489,92,2.122,93,2.479,94,2.479,95,1.877,96,1.474,97,1.213,98,3.477,99,2.479,100,2.479,101,0.771,102,2.28,103,2.479,104,2.28,105,2.479,106,1.99,107,1.612,108,2.479,109,1.414,110,2.122,111,2.122,112,2.122,113,1.165,128,2.329,129,2.016,133,3.649,139,1.779,140,1.99,156,3.357,157,2.122,208,3.124,215,1.877,247,1.99,251,2.744,269,2.576,299,1.357,346,2.122,360,1.848,382,2.744,458,3.124,486,4.039,487,3.147,488,2.744,489,3.147,490,2.122,491,2.744,492,3.147,493,2.122,494,3.147,495,2.744,496,3.147,497,3.147,498,2.479,499,3.147,500,2.479,501,2.744,502,4.794,503,3.147,504,2.744,505,3.147,506,3.147,507,1.877,508,3.147,509,3.147,510,3.147,511,2.744,512,2.28,513,2.122,514,3.147,515,3.147,516,3.147,517,3.147]],["t/2573",[6,2.784,13,0.97,19,0.951,32,1.019,57,2.328,58,1.357,76,1.799,77,1.228,79,1.14,85,1.799,86,1.312,91,1.975,95,2.193,97,1.571,112,2.479,113,1.918,122,3.277,124,1.799,126,2.696,128,1.412,129,1.222,200,1.975,205,1.266,213,2.067,215,2.193,232,1.799,235,2.479,236,2.078,253,1.036,269,1.722,274,2.896,276,2.479,298,2.896,304,2.479,335,2.325,353,1.065,355,2.193,414,2.193,421,2.325,446,1.524,454,2.654,460,1.722,480,2.503,513,2.479,518,2.078,519,2.896,520,3.755,521,5.182,522,2.896,523,1.975,524,2.325,525,3.676,526,3.676,527,3.676,528,3.676,529,2.784,530,3.676,531,2.784,532,2.325,533,3.206,534,2.325,535,1.975,536,2.078,537,1.269,538,1.975,539,3.676,540,2.896,541,2.325]],["t/2575",[1,2.137,13,0.706,19,0.947,26,1.305,32,0.893,45,1.101,55,0.984,57,1.68,58,0.979,77,0.814,79,1.16,82,0.935,86,0.621,88,1.55,89,2.18,95,1.733,97,2.025,98,1.837,101,1.869,106,1.101,109,1.305,113,1.384,123,0.892,126,1.68,128,1.116,129,0.966,167,1.371,169,0.892,175,1.101,184,1.159,205,1.806,206,1.243,208,1.174,213,0.694,236,3.295,240,0.892,247,1.101,253,0.747,259,0.935,269,1.361,271,0.644,274,1.371,275,1.959,276,1.959,278,0.984,291,1.518,295,1.174,299,1.613,304,1.174,326,0.6,347,2.619,349,1.837,353,1.612,355,1.733,400,1.101,414,1.733,421,1.101,443,4.388,446,0.722,447,0.816,448,1.518,450,1.518,458,1.174,465,0.984,470,1.174,473,1.174,476,0.456,483,2.365,484,1.261,486,1.518,490,1.174,493,1.174,523,1.561,531,2.009,532,1.837,534,1.101,536,2.113,537,1.716,541,1.101,542,1.741,543,1.371,544,2.365,545,3.144,546,1.741,547,2.905,548,1.371,549,1.101,550,1.038,551,2.291,552,1.741,553,1.741,554,0.984,555,1.741,556,3.739,557,1.261,558,2.533,559,2.945,560,2.761,561,2.136,562,1.741,563,1.741,564,1.741,565,1.174,566,1.174,567,0.892,568,3.739,569,2.105,570,1.741,571,1.518,572,1.741,573,1.518,574,4.388,575,2.375,576,2.467,577,1.261,578,4.365,579,1.371,580,0.694,581,1.518,582,1.741,583,1.518,584,1.371,585,1.741,586,1.518,587,1.518,588,1.101,589,1.741,590,2.105,591,1.741,592,1.518]],["t/2577",[1,2.911,13,0.898,19,0.579,32,0.773,45,2.026,57,1.439,58,0.839,72,2.297,77,0.787,79,0.994,86,2.429,89,1.439,109,1.439,113,2.264,122,2.968,126,1.439,128,2.134,129,2.262,184,1.278,200,2.522,231,2.523,253,1.301,269,1.501,278,1.81,299,1.381,307,2.321,326,1.103,354,2.321,444,2.404,467,2.026,474,2.523,479,2.8,480,2.349,490,2.16,500,2.523,501,2.793,513,2.16,518,1.81,520,2.321,522,2.523,532,4.117,536,1.81,537,1.36,576,1.81,590,2.321,593,6.116,594,3.203,595,7.029,596,3.745,597,4.025,598,2.793,599,2.199,600,3.203,601,2.16,602,1.501,603,2.793,604,2.026,605,2.026,606,2.523,607,2.026,608,3.203,609,3.203,610,3.203,611,3.203,612,3.203,613,3.203,614,3.203,615,3.203,616,3.203,617,3.203,618,3.203,619,3.203,620,3.203,621,3.203,622,3.696,623,2.793,624,3.203,625,3.203,626,2.321,627,3.203,628,3.203,629,2.793,630,3.203]],["t/2579",[1,1.454,13,1.123,19,0.753,32,0.966,42,3.3,49,2.743,52,2.989,57,2.738,58,2.004,74,1.401,77,0.635,86,1.351,97,0.991,101,0.927,113,2.257,124,1.852,133,2.981,134,2.034,143,2.034,184,1.51,204,2.552,205,1.822,213,1.51,253,1.218,296,2.394,332,3.155,333,3.398,344,2.552,347,2.11,360,1.51,415,2.743,423,2.034,426,2.552,446,1.569,460,1.773,461,2.195,467,2.394,476,1.596,480,2.032,511,3.3,513,2.552,529,2.034,533,3.3,537,1.616,541,2.394,560,2.394,579,2.981,588,2.394,631,3.785,632,3.785,633,3.3,634,5.289,635,2.981,636,4.612,637,2.743,638,3.785,639,3.3,640,3.3,641,3.785,642,2.139,643,2.139]],["t/2581",[13,1.053,19,0.755,32,1.003,55,1.81,56,2.108,57,2.108,58,1.705,72,1.568,79,1.456,95,2.8,97,1.781,101,1.666,107,1.641,124,1.568,134,1.721,143,2.522,168,1.568,205,2.483,206,1.065,253,0.64,296,2.026,326,1.617,333,2.297,336,3.314,347,2.875,348,2.968,375,1.23,376,0.928,408,2.808,409,2.699,434,2.404,447,3.05,454,1.641,456,2.321,461,1.065,493,2.16,523,1.721,531,1.721,535,2.522,538,1.721,577,4.025,588,2.968,602,1.501,604,2.026,644,2.523,645,3.203,646,3.203,647,2.793,648,2.321,649,5.555,650,5.555,651,4.693,652,3.203,653,3.203,654,2.16,655,3.203,656,4.092,657,3.203,658,2.793,659,4.092,660,2.793,661,2.297,662,2.793,663,1.81,664,1.911,665,3.203,666,3.203,667,3.203,668,2.793,669,3.203]],["t/2583",[13,0.784,19,0.771,32,0.869,57,2.179,58,1.636,72,2.374,77,1.047,89,2.179,97,1.978,126,3.104,188,2.606,253,1.249,296,3.067,333,3.057,348,3.951,349,3.067,375,1.863,376,1.405,426,3.271,434,2.484,447,2.272,454,3.2,529,2.606,531,2.606,535,2.606,537,1.849,538,2.606,544,3.067,551,1.732,588,3.067,604,3.067,656,4.229,670,4.851,671,4.229]],["t/2585",[13,0.558,19,0.828,26,1.55,32,0.48,58,1.756,77,1.233,79,1.797,86,2.068,89,1.55,128,2.226,129,1.927,204,3.34,206,1.147,240,1.767,253,0.689,269,1.616,271,2.344,278,1.95,299,2.136,301,3.008,307,2.5,328,3.008,333,1.688,348,3.132,353,1.679,376,1.943,421,2.182,428,1.767,444,2.537,445,2.326,447,1.616,460,2.32,461,2.23,476,0.903,483,3.132,531,2.661,535,1.854,537,1.834,544,2.182,559,3.901,580,1.376,623,3.008,636,3.008,642,3.579,654,3.34,672,3.45,673,3.45,674,2.182,675,3.008,676,1.943,677,3.45,678,3.45,679,3.45,680,3.45,681,2.5,682,3.45,683,3.45,684,1.854,685,3.275,686,2.717,687,2.5,688,2.5,689,1.854,690,3.45,691,3.008]],["t/2587",[19,0.874,32,0.763,58,1.641,76,2.683,77,1.051,79,2.195,86,1.957,109,2.463,113,2.619,123,2.042,128,2.106,129,1.823,213,2.187,269,2.569,271,2.499,299,1.72,333,1.951,348,3.468,376,1.155,414,2.378,447,1.868,449,3.697,461,2.084,480,2.718,520,2.889,531,2.142,537,1.733,544,2.522,558,3.477,559,3.14,601,2.689,626,2.889,642,2.253,661,3.303,663,2.253,676,1.155,684,2.142,685,3.099,687,2.889,692,3.987,693,3.987,694,3.477,695,6.267,696,3.477,697,3.987,698,3.477,699,3.987]],["t/2589",[11,2.4,13,1.117,19,0.853,21,3.382,25,2.374,32,0.869,64,2.152,170,3.727,215,2.893,231,3.82,232,3.057,247,3.067,253,0.969,254,3.515,262,4.229,305,3.82,385,4.229,423,3.357,446,2.011,449,3.271,460,2.272,461,1.613,472,4.213,507,3.727,540,3.82,550,2.893,590,3.515,700,4.851,701,4.851,702,4.851,703,3.271,704,5.448,705,4.229,706,3.271,707,4.851,708,3.82,709,4.851]],["t/2591",[6,3.326,13,1.001,25,3.03,139,3.499,206,2.562,398,5.398,549,3.915,566,4.174,580,2.469,710,6.191]],["t/2593",[6,3.608,7,2.662,9,3.245,10,2.662,11,2.089,12,2.786,13,1.086,120,3.44,127,3.941,130,2.662,184,2.17,206,2.233,217,4.743,220,3.44,299,2.346,355,3.245,434,2.786,488,4.743,566,3.668,580,2.679,590,3.941,629,4.743,711,4.284,712,4.284,713,6.716,714,5.439,715,4.284]],["t/2595",[0,2.093,1,1.271,11,2.174,13,1.113,15,2.582,17,2.252,19,0.93,21,1.62,22,1.695,25,2.352,26,1.487,32,0.46,34,2.886,56,1.487,64,1.14,73,3.786,74,2.548,75,3.786,76,3.228,77,1.19,79,1.027,80,2.093,81,3.483,82,1.778,83,2.607,84,2.607,86,1.716,87,2.607,88,1.372,89,1.487,90,2.607,91,2.582,92,2.232,93,2.607,94,2.607,96,1.551,97,1.482,98,3.579,99,2.607,100,2.607,101,1.386,102,2.398,103,2.607,104,2.398,105,2.607,106,2.093,107,1.695,108,2.607,109,1.487,110,2.232,111,2.232,112,2.232,113,1.779,130,1.62,139,1.871,162,2.093,170,1.974,175,2.093,178,2.607,179,2.398,184,1.32,195,1.974,205,1.14,299,1.427,346,2.232,402,2.886,415,2.398,434,1.695,446,1.372,458,2.232,460,1.551,461,1.101,493,2.232,502,2.886,529,1.778,541,2.093,554,2.717,567,1.695,643,1.871,716,3.31,717,3.31,718,3.31,719,2.886,720,3.31,721,1.62,722,3.31,723,2.886,724,3.31,725,2.886,726,3.31,727,2.607]],["t/2597",[4,2.713,7,1.735,13,0.817,19,0.438,32,0.703,33,2.004,39,4.633,41,2.792,43,3.405,52,3.623,58,1.54,59,2.242,61,1.593,69,2.569,77,0.594,79,1.1,107,1.816,109,1.593,113,1.313,120,3.194,128,1.362,129,1.179,143,2.713,184,2.347,188,1.905,200,1.905,205,1.221,215,2.115,223,3.091,253,1.009,259,1.905,326,1.221,333,2.879,334,2.569,346,2.391,355,2.115,360,1.414,375,1.362,376,1.027,387,2.004,423,1.905,446,1.47,461,1.179,467,2.242,479,2.115,480,1.94,518,2.004,537,1.44,538,1.905,557,2.569,580,1.414,581,3.091,599,1.661,605,2.242,643,2.004,674,2.242,684,1.905,685,2.004,712,2.792,723,3.091,728,3.545,729,3.545,730,3.545,731,3.545,732,3.978,733,4.404,734,2.391,735,2.569,736,3.091,737,3.545,738,3.545,739,3.545,740,3.545,741,3.545,742,2.242,743,3.091,744,4.404,745,2.569,746,3.545,747,3.545,748,3.545,749,3.545,750,3.091,751,2.242,752,2.569,753,2.792,754,2.792,755,3.545,756,2.569,757,3.091,758,2.792,759,3.545,760,3.545,761,3.545,762,3.545,763,3.545]],["t/2599",[11,2.089,13,1.086,20,2.17,21,2.662,32,0.757,69,4.866,77,1.126,97,1.424,205,2.51,253,1.087,347,2.17,409,2.784,424,4.284,446,2.255,536,3.074,554,3.074,566,3.668,603,4.743,708,4.284,745,3.941,756,3.941,764,4.743,765,4.284,766,5.439,767,4.743,768,4.743]],["t/2601",[14,2.59,19,0.729,21,2.892,32,0.983,55,2.02,58,1.33,69,3.68,72,1.749,77,0.599,97,0.936,101,0.875,123,1.83,130,2.486,131,1.83,132,2.26,143,1.92,167,2.815,175,2.26,188,2.729,190,1.323,197,2.26,205,2.035,220,2.26,253,0.714,326,1.231,332,3.03,333,3.555,347,1.425,356,2.26,377,4.654,378,3.116,408,2.19,409,2.667,434,1.83,447,2.379,454,1.83,465,2.02,476,0.936,478,2.59,484,2.59,507,2.132,531,1.92,536,2.87,537,1.575,550,2.132,554,2.02,565,2.41,567,1.83,643,2.02,661,2.486,663,2.87,664,2.132,676,1.035,750,5.927,751,2.26,752,2.59,753,2.815,769,3.574,770,3.574,771,3.574,772,5.079,773,3.574,774,4.662,775,2.815,776,3.116,777,3.116,778,1.674,779,3.425,780,3.574,781,2.59,782,3.574,783,3.574,784,3.574,785,3.574]],["t/2603",[4,2.181,11,2.43,17,1.902,19,0.685,20,1.619,21,3.096,22,2.079,25,1.987,45,2.567,52,2.294,61,1.823,80,3.511,88,1.683,101,0.994,130,2.717,131,2.843,139,3.137,140,2.567,171,3.197,173,2.737,184,2.214,187,2.941,190,1.503,206,1.35,213,1.619,220,2.567,232,1.987,270,3.54,296,2.567,305,3.197,331,2.941,351,2.422,353,1.608,356,2.567,360,2.214,368,3.54,445,2.737,446,1.683,469,3.197,476,1.063,507,2.422,518,3.137,543,4.372,567,2.079,605,4.001,606,3.197,640,3.54,643,2.294,733,3.54,735,2.941,745,4.584,765,3.197,786,5.551,787,4.059,788,3.197,789,4.059,790,3.54,791,4.059,792,4.059,793,4.059,794,3.743,795,3.54,796,3.197,797,4.059,798,2.941,799,5.551,800,4.059]],["t/2605",[13,1.053,32,0.906,33,2.426,49,3.111,55,2.426,57,1.928,58,1.124,59,2.715,60,3.381,64,1.479,74,2.134,77,1.167,85,2.101,97,1.124,123,2.199,130,2.101,190,1.589,205,1.479,233,3.098,271,1.589,347,1.712,421,2.715,460,2.011,518,3.258,519,3.381,529,2.306,531,2.306,534,2.715,536,2.426,537,1.051,538,2.306,549,2.715,567,2.199,580,1.712,648,3.111,676,1.244,756,5.416,767,3.743,768,5.027,801,4.293,802,4.293,803,4.541,804,4.293,805,3.743,806,6.51,807,4.293,808,4.293,809,5.027,810,3.743,811,4.293,812,4.293,813,3.743,814,4.293,815,3.743,816,3.743,817,3.743]],["t/2607",[13,1.205,17,3.033,25,3.168,26,2.303,33,2.898,71,3.716,73,4.039,77,0.86,85,2.51,117,4.471,130,2.51,170,3.059,197,3.243,206,1.705,220,3.243,253,1.568,326,1.766,333,2.51,351,3.862,460,2.402,567,3.316,607,3.243,643,2.898,817,4.471,818,6.473,819,5.128,820,5.128,821,5.128,822,4.471]],["t/2609",[4,2.887,7,3.546,13,1.172,26,2.414,32,0.748,33,3.037,52,3.037,164,4.686,168,2.63,184,2.144,253,1.074,331,3.894,363,3.624,566,4.495,735,3.894,758,4.233,823,6.666,824,5.374,825,6.666,826,5.374,827,5.374,828,5.374,829,4.686,830,4.686,831,4.686,832,5.374,833,5.374]],["t/2611",[0,3.482,2,3.99,3,4.337,4,2.958,13,0.89,44,4.801,52,3.824,124,2.695,130,2.695,169,2.82,225,4.801,400,3.482,457,4.801,534,3.482,607,3.482,834,4.801,835,4.801,836,5.506,837,4.801,838,5.9,839,3.99,840,4.801,841,5.506,842,5.506,843,5.506,844,4.801,845,4.801,846,4.801]],["t/2613",[8,3.759,9,3.546,10,2.909,11,2.283,12,3.045,13,1.146,39,4.682,120,3.759,140,3.759,458,4.008,637,4.307,727,4.682,745,4.307,765,4.682,837,5.183,847,5.945,848,5.945]],["t/2615",[6,3.965,33,3.598,45,4.026,206,2.117,637,4.613,711,5.014,849,6.367]],["t/2617",[0,2.022,1,2.728,2,1.186,3,2.173,4,2.394,6,1.207,7,0.442,9,0.976,10,0.442,11,1.06,12,1.413,13,1.208,14,0.654,15,0.879,17,1.498,19,0.518,20,1.427,21,2.055,23,0.711,25,2.055,26,0.735,27,0.787,28,3.032,29,2.406,30,1.104,32,0.312,33,0.925,43,0.609,45,1.035,49,0.654,52,0.51,54,2.406,63,3.855,65,2.518,77,0.536,82,0.485,85,1.912,86,0.322,88,0.374,96,0.423,97,0.236,101,0.957,114,1.958,118,0.838,120,0.571,124,0.442,127,0.654,129,0.544,130,0.442,136,1.769,143,2.256,144,0.711,162,2.022,168,0.442,169,0.838,170,0.976,171,0.711,172,3.541,173,1.514,174,0.711,175,0.571,178,3.51,179,4.115,182,2.592,184,0.896,186,0.787,187,0.654,188,1.207,191,2.317,194,3.661,196,0.654,197,1.035,208,0.609,209,1.186,210,0.787,212,2.788,213,0.36,214,1.427,220,2.262,221,1.958,226,2.518,227,0.787,232,0.442,247,0.571,253,0.781,255,1.035,263,1.104,265,0.654,271,0.606,282,0.711,288,0.787,295,1.104,298,0.711,299,1.19,307,0.654,311,0.571,316,1.427,317,2.406,320,1.035,326,0.311,329,0.787,331,3.682,332,0.538,333,0.801,334,3.042,335,0.571,336,0.538,337,1.427,338,1.958,342,0.654,350,1.427,351,1.646,359,0.787,360,0.653,383,1.289,389,1.958,390,0.787,392,0.654,417,0.787,418,0.787,421,0.571,423,1.718,424,1.769,426,0.609,428,0.838,433,0.787,434,0.462,444,0.462,446,0.374,447,0.423,453,0.787,460,0.767,461,0.747,462,0.711,463,0.711,468,0.711,478,0.654,479,0.538,480,0.629,490,1.104,495,0.787,498,1.769,500,1.769,504,1.958,507,0.538,512,0.654,513,0.609,520,0.654,523,0.485,524,0.571,536,0.51,554,0.925,557,0.654,567,1.638,575,0.801,576,0.925,580,0.896,586,0.787,598,0.787,605,1.035,607,1.745,622,1.769,633,0.787,635,1.289,637,2.592,644,0.711,647,0.787,661,0.442,668,0.787,685,0.51,696,0.787,705,0.787,706,0.609,708,1.289,711,0.711,712,2.817,719,0.787,727,2.173,732,2.173,735,1.186,743,1.427,754,1.289,756,1.627,774,0.654,795,0.787,810,0.787,822,4.579,829,0.787,831,1.427,834,0.787,835,0.787,838,1.427,839,0.654,840,0.787,844,0.787,845,1.958,846,1.427,850,3.907,851,1.637,852,0.903,853,3.577,854,0.903,855,0.711,856,0.903,857,1.427,858,1.637,859,0.903,860,1.637,861,2.246,862,1.637,863,0.903,864,0.787,865,0.903,866,0.903,867,0.903,868,0.903,869,0.903,870,2.246,871,0.903,872,0.903,873,1.637,874,2.759,875,2.759,876,0.903,877,0.787,878,0.903,879,1.289,880,2.759,881,0.787,882,0.903,883,0.787,884,0.903,885,0.903,886,1.637,887,2.759,888,0.903,889,1.637,890,0.903,891,0.903,892,0.903,893,0.787,894,0.903,895,0.903,896,2.246,897,0.903,898,0.903,899,2.246,900,2.246,901,0.903,902,0.903,903,0.903,904,4.895,905,2.246,906,1.637,907,0.903,908,2.246,909,0.903,910,2.759,911,0.903,912,0.903,913,0.903,914,0.903,915,0.903,916,1.637,917,0.903,918,0.903,919,0.903,920,1.427,921,0.903,922,2.246,923,0.903,924,0.903,925,0.903,926,0.903,927,0.903,928,2.406,929,0.903,930,0.903,931,0.903,932,0.903,933,0.903,934,1.637,935,0.609,936,0.903,937,0.903,938,0.903,939,0.903,940,2.246,941,0.903,942,0.787,943,0.903,944,2.759,945,1.637,946,1.637,947,0.903,948,1.637,949,1.637,950,1.637,951,0.903,952,1.427,953,0.903,954,0.903,955,0.787,956,0.903,957,0.903,958,0.903,959,0.903,960,0.903,961,2.246,962,0.903,963,2.246,964,0.903,965,0.903,966,1.637,967,0.903,968,0.903,969,0.903,970,0.903,971,0.903,972,0.903,973,0.903,974,0.903,975,0.903,976,0.903,977,0.903,978,0.903,979,0.903,980,0.903,981,0.903,982,0.903,983,0.903,984,0.903,985,0.903,986,0.903,987,0.903,988,0.787,989,0.903,990,0.903,991,0.903,992,1.637,993,0.903,994,0.903,995,0.903,996,1.958,997,1.637,998,0.903,999,0.903,1000,0.787,1001,0.903,1002,0.903,1003,0.903,1004,0.903,1005,0.903,1006,0.903,1007,0.903,1008,0.903,1009,0.903,1010,0.787,1011,0.787,1012,0.903,1013,0.903,1014,0.903,1015,0.903]],["t/2620",[10,2.803,11,2.2,12,2.934,13,1.047,19,0.707,20,1.696,33,2.403,61,3.114,64,1.465,74,1.574,77,0.713,86,2.045,101,1.041,109,1.91,113,2.121,124,2.081,128,2.2,129,1.905,131,2.178,149,4.995,155,4.512,156,4.151,157,3.863,195,2.536,249,2.867,269,1.992,271,1.574,276,2.867,296,3.623,304,2.867,326,1.465,365,3.708,428,3.318,429,6.044,444,2.178,446,1.763,447,1.992,476,1.113,491,4.995,518,2.403,599,1.992,642,2.403,676,1.66,685,2.403,794,2.867,1016,1.84,1017,3.417,1018,2.867,1019,4.252,1020,4.995]],["t/2622",[13,1.044,26,2.901,58,1.691,72,3.161,118,3.308,425,5.632]],["t/2624",[1,2.882,13,0.996,19,0.586,32,0.661,58,1.243,59,3.002,79,1.473,97,1.243,101,1.162,134,2.551,190,1.758,205,1.635,375,1.824,376,1.785,476,1.243,518,2.683,537,1.162,560,3.002,561,2.323,565,3.201,599,3.205,684,2.551,777,4.14,794,3.201,1016,1.979,1021,4.748,1022,4.748,1023,4.14,1024,2.224,1025,2.224,1026,4.14,1027,3.201,1028,3.739,1029,2.432,1030,4.748,1031,4.748,1032,4.748,1033,4.748,1034,3.739,1035,6.162,1036,4.748,1037,4.748,1038,4.748,1039,4.748,1040,3.739,1041,4.748]],["t/2626",[19,0.775,66,3.548,253,1.254,375,2.411,376,1.819,538,3.373,1029,3.215,1042,6.278,1043,4.549,1044,6.278]],["t/2628",[7,1.969,13,0.65,19,0.497,32,0.943,37,3.168,55,2.274,58,1.649,66,3.118,97,1.053,101,0.985,143,2.161,168,1.969,205,2.169,206,1.338,233,2.161,234,3.508,279,3.508,326,1.9,336,2.4,344,4.568,347,2.511,348,2.544,353,1.166,376,1.824,408,2.379,409,2.61,446,1.668,524,2.544,561,1.969,575,1.969,584,3.168,587,3.508,599,1.885,654,2.713,659,4.81,661,2.7,662,3.508,676,1.598,684,2.161,721,1.969,752,2.915,774,2.915,778,2.585,779,3.72,1016,1.292,1024,2.585,1025,2.585,1026,3.508,1028,3.168,1029,2.061,1045,3.72,1046,4.023,1047,4.023,1048,4.023,1049,4.023,1050,3.168,1051,4.023,1052,4.023,1053,2.274,1054,4.023,1055,4.023,1056,4.023,1057,3.508]],["t/2630",[101,1.456,123,3.045,188,3.194,190,2.201,344,4.008,374,4.682,447,2.785,473,4.008,537,1.735,580,2.371,601,4.008,661,3.469,736,5.183,779,4.008,1016,1.909,1058,5.945]],["t/2632",[58,1.068,77,0.934,79,1.265,97,1.068,101,0.999,106,2.579,126,1.832,128,2.436,129,2.108,253,0.815,271,2.522,374,3.212,376,1.613,388,3.556,428,2.089,443,2.955,445,2.75,447,1.91,454,2.089,461,2.266,473,3.755,532,2.579,537,1.803,551,1.988,580,2.718,601,2.75,602,1.91,642,2.305,661,3.103,663,3.147,676,1.837,685,3.147,689,2.992,703,2.75,715,4.994,734,2.75,778,1.91,813,3.556,1016,2.036,1017,2.433,1034,4.386,1059,4.078,1060,4.078,1061,4.078,1062,4.078,1063,3.556,1064,4.855,1065,4.078,1066,2.955,1067,3.212,1068,4.078,1069,2.75]],["t/2634",[19,0.859,20,1.712,58,1.124,77,0.72,79,1.332,86,1.533,109,2.59,111,2.895,113,2.41,190,1.589,195,2.561,213,1.712,271,2.134,326,1.479,375,1.649,445,2.895,475,3.381,476,1.124,480,2.673,507,2.561,569,3.111,583,3.743,599,2.011,601,3.888,642,2.426,661,2.101,676,2.103,684,2.306,689,3.739,715,4.541,855,3.381,935,2.895,1016,2.235,1029,2.953,1034,5.127,1063,3.743,1064,3.743,1070,4.293,1071,4.293,1072,6.51,1073,4.293,1074,3.888,1075,3.743,1076,3.381,1077,4.293,1078,4.293,1079,3.381,1080,3.743]],["t/2636",[19,0.873,32,0.823,74,1.652,79,2.059,97,1.55,101,1.449,134,2.398,173,3.01,233,2.398,321,3.516,332,2.663,335,2.823,353,2.048,375,2.273,376,1.923,408,2.552,409,2.453,442,3.516,446,1.85,476,1.738,529,2.398,544,2.823,550,2.663,551,2.37,575,2.185,602,2.091,674,2.823,676,1.715,721,2.896,857,3.892,1016,1.433,1024,3.11,1025,3.11,1053,3.995,1081,3.516,1082,3.516,1083,4.464,1084,4.464,1085,3.234]],["t/2638",[19,0.914,20,1.817,32,0.933,64,1.569,77,1.005,101,1.468,134,2.447,253,0.91,330,2.88,353,1.943,375,1.75,376,1.738,387,2.574,408,2.586,409,2.486,442,3.587,535,3.222,551,1.626,596,3.071,597,3.3,602,2.134,664,2.717,751,2.88,805,3.971,839,4.345,1016,1.926,1029,3.071,1053,3.389,1086,4.345,1087,4.555,1088,4.858,1089,5.229,1090,4.555,1091,3.971,1092,4.555,1093,4.858,1094,3.587,1095,4.555,1096,2.88,1097,3.587]],["t/2640",[19,0.77,74,2.308,97,1.632,476,1.632,523,3.349,551,2.602,565,4.203,809,5.436,1094,4.91,1098,6.234]],["t/2642",[19,0.786,20,1.209,26,1.361,32,0.748,64,1.552,72,1.483,74,1.122,77,1.118,96,1.419,97,1.746,101,1.558,126,1.361,168,1.483,184,1.209,190,1.668,196,3.264,206,1.498,232,1.483,236,1.712,253,1.38,259,1.628,269,1.419,275,2.043,332,1.807,347,1.209,351,2.687,353,1.558,375,1.164,376,1.844,387,1.712,400,1.916,408,1.307,409,1.256,476,1.18,523,2.42,532,1.916,535,1.628,537,1.458,541,1.916,544,3.4,551,1.92,560,1.916,567,1.552,573,2.642,575,2.204,580,1.209,588,1.916,596,3.037,597,3.264,602,1.419,643,1.712,648,3.264,658,2.642,660,2.642,664,1.807,676,1.932,778,2.11,815,2.642,839,2.195,1016,1.447,1024,3.235,1025,1.419,1053,3.039,1082,3.548,1086,3.896,1088,4.314,1089,3.928,1093,3.264,1094,3.548,1096,1.916,1099,3.03,1100,3.03,1101,3.264,1102,3.03,1103,3.548,1104,3.03,1105,4.505,1106,3.03,1107,3.03,1108,3.03,1109,3.03,1110,3.03,1111,3.03,1112,3.03,1113,3.03,1114,1.916]],["t/2644",[19,0.965,32,0.703,56,1.228,64,0.942,66,1.545,74,1.012,79,1.568,88,1.728,98,3.575,107,1.4,168,1.338,183,2.384,206,0.909,240,1.4,247,1.729,275,1.844,278,2.856,320,1.729,349,2.637,353,2.083,355,2.487,356,2.637,363,1.844,407,2.384,423,1.469,440,2.384,461,1.88,465,1.545,467,1.729,470,1.844,472,1.844,476,0.716,483,4.456,512,1.981,523,2.24,529,2.24,537,1.57,540,2.153,561,2.766,569,1.981,574,3.662,575,3.709,576,3.77,599,1.281,604,1.729,635,3.284,654,1.844,674,1.729,675,2.384,734,1.844,757,2.384,881,3.635,1025,1.953,1043,3.662,1053,4.417,1115,3.635,1116,2.734,1117,2.734,1118,1.981,1119,5.756,1120,5.592,1121,2.734,1122,4.406,1123,5.054,1124,2.734,1125,5.054,1126,2.734,1127,4.169,1128,2.384]],["t/2646",[1,1.595,19,0.513,22,2.127,32,0.891,74,1.538,77,0.696,79,1.986,89,1.866,96,1.946,97,1.088,111,3.802,190,2.087,206,1.381,269,1.946,321,3.271,347,1.657,349,3.566,353,1.203,354,3.01,376,1.855,408,1.791,409,1.722,423,2.232,461,1.875,480,1.595,537,1.017,545,2.347,551,2.013,576,2.347,588,2.627,602,1.946,622,3.271,663,2.347,676,2.194,751,2.627,776,3.622,778,2.641,788,3.271,1010,3.622,1016,1.334,1017,2.478,1024,2.999,1025,1.946,1040,5.407,1053,3.187,1066,4.086,1101,3.01,1118,4.086,1129,6.401,1130,4.154,1131,4.154,1132,3.271,1133,3.622,1134,4.154,1135,3.271]],["t/2650",[19,0.739,77,1.003,92,4.035,113,2.215,213,2.387,232,2.929,342,4.336,461,1.99,537,1.86,691,5.218,694,5.218,996,5.218,1136,4.713,1137,5.984,1138,5.984]],["t/2652",[56,2.618,61,2.618,77,1.174,79,1.808,271,2.593,360,2.325,460,2.73,545,3.294,561,2.852,676,1.689,685,3.294,688,4.223,1017,3.477,1045,3.93,1080,5.082,1139,5.829,1140,4.59,1141,4.223,1142,5.829]],["t/2654",[77,0.997,91,3.194,240,3.045,376,1.722,461,1.977,532,3.759,551,2.122,561,2.909,580,2.371,599,2.785,676,1.722,1024,2.785,1025,2.785,1029,3.045,1143,7.088,1144,5.945,1145,5.945]],["t/2656",[22,3.308,64,2.225,88,2.677,304,4.355,686,5.087,1146,6.459]],["t/2658",[32,1.055,76,3.518,88,1.73,97,2.07,101,1.76,143,3.447,169,2.137,200,2.242,236,3.626,240,2.137,253,1.13,259,2.242,278,2.358,326,1.948,335,2.639,356,2.639,357,6.269,414,2.489,456,3.024,470,2.814,523,3.696,605,2.639,703,2.814,721,2.042,796,3.287,798,3.024,816,3.639,1000,4.932,1147,5.656,1148,4.173,1149,4.173,1150,4.173,1151,4.173,1152,5.656,1153,6.417,1154,5.656,1155,4.173,1156,4.173,1157,3.639,1158,4.173]],["t/2660",[232,3.116,259,3.421,377,5.014,1157,5.552,1159,6.367,1160,6.367,1161,6.367,1162,6.367]],["t/2662",[10,2.287,19,0.753,23,3.681,30,3.151,32,1.001,58,1.224,64,1.61,77,1.022,82,2.511,88,1.937,102,3.386,142,3.681,157,3.151,184,1.864,200,2.511,205,1.61,255,2.955,259,2.511,293,4.803,320,2.955,326,2.101,336,2.788,353,1.354,371,5.92,461,1.554,476,1.597,485,3.681,498,3.681,529,2.511,537,1.662,550,2.788,576,2.641,602,2.189,681,3.386,687,3.386,753,3.681,864,4.075,928,4.075,988,4.075,1163,4.075,1164,4.673,1165,4.673,1166,4.075,1167,4.673,1168,4.673,1169,4.673,1170,4.075]],["t/2664",[32,0.921,64,1.829,74,1.966,77,1.265,89,2.972,128,2.04,129,1.766,271,1.966,299,3.109,446,2.201,461,1.766,465,3.001,522,4.182,537,1.847,551,1.896,606,4.182,676,1.539,803,4.182,1016,1.705,1017,3.168,1171,6.285,1172,5.31,1173,5.31,1174,5.31]],["t/2666",[13,0.936,19,0.861,58,1.516,59,3.662,196,4.196,205,1.995,206,1.926,249,3.905,259,3.111,347,2.31,353,1.678,376,1.678,383,4.561,461,1.926,476,1.516,604,3.662,607,3.662,721,2.834,1175,5.791,1176,5.791,1177,5.049]],["t/2668",[1,1.873,2,3.534,13,0.789,19,0.855,20,1.945,32,0.872,66,2.756,107,2.498,132,3.965,139,2.756,176,4.252,205,1.68,253,0.975,293,3.841,308,4.252,347,1.945,387,2.756,472,4.227,476,1.277,524,3.084,575,2.387,576,2.756,626,3.534,942,5.467,1016,1.566,1057,4.252,1093,3.534,1096,3.084,1170,4.252,1178,4.877,1179,4.877,1180,4.877,1181,4.877,1182,4.877,1183,4.877,1184,3.841,1185,4.877,1186,4.877,1187,6.27,1188,4.877,1189,4.877,1190,4.877,1191,4.877,1192,3.841]],["t/2670",[153,5.398,154,5.398,155,4.876,156,4.486,157,4.174,158,5.398,159,5.398,160,5.398,1166,5.398,1193,6.191,1194,6.191,1195,6.191]],["t/2672",[10,2.361,11,2.648,12,2.471,13,1.178,15,3.345,22,3.189,26,2.167,57,2.167,58,1.263,71,3.496,77,1.044,92,3.253,96,2.26,97,1.263,106,3.051,109,2.167,110,4.198,118,2.471,131,2.471,138,4.207,139,2.727,140,3.051,141,3.8,229,4.207,257,3.253,351,2.878,423,2.592,444,2.471,476,1.263,493,3.253,543,3.8,686,3.8,790,4.207,877,4.207,955,4.207,1020,4.207,1079,3.8,1081,3.8,1196,4.824,1197,4.824,1198,4.824,1199,4.824,1200,4.824,1201,4.824]],["t/2674",[1,1.748,7,1.503,13,0.497,19,0.948,32,0.427,52,1.736,55,1.736,57,2.435,58,1.569,64,1.058,74,1.137,77,0.515,79,0.953,81,2.226,85,2.227,88,2.484,91,1.65,96,1.439,97,1.938,98,2.878,101,1.467,126,2.692,152,2.071,168,1.503,188,1.65,215,1.832,233,1.65,236,2.572,240,2.331,253,0.909,257,2.071,259,1.65,269,1.439,299,1.325,335,1.942,346,2.071,347,1.815,355,1.832,423,1.65,434,1.573,444,1.573,465,3.063,476,1.192,479,1.832,480,1.18,523,3.22,531,2.912,534,1.942,536,1.736,537,1.327,541,1.942,545,1.736,551,1.935,557,2.226,560,2.878,561,1.503,569,2.226,574,4.343,580,1.225,605,1.942,654,2.071,674,3.428,698,2.678,734,2.071,779,2.071,798,3.297,883,2.678,920,2.678,1050,2.419,1085,2.226,1118,4.856,1133,2.678,1171,2.678,1177,2.678,1202,3.072,1203,3.072,1204,4.55,1205,3.072,1206,3.072,1207,3.072,1208,2.678,1209,3.072,1210,2.678,1211,2.678,1212,3.072,1213,2.419,1214,3.072,1215,3.072,1216,3.072,1217,4.55,1218,3.072]],["t/2676",[13,0.367,19,0.822,20,0.905,22,1.163,32,0.899,43,1.531,53,1.979,58,1.63,61,1.02,70,1.979,72,1.111,74,1.335,77,0.857,79,1.586,91,1.22,97,1.786,101,1.454,107,1.163,113,0.84,118,1.847,122,1.436,124,1.111,126,1.02,128,1.386,129,1.199,131,1.163,132,1.436,168,1.111,174,1.788,188,1.22,190,0.84,195,1.354,197,2.838,200,1.22,205,1.546,206,1.492,235,1.531,244,1.979,249,1.531,253,1.291,255,1.436,271,1.661,275,1.531,297,1.979,299,0.979,326,0.782,330,2.281,344,3.026,347,2.369,349,1.436,353,0.658,356,1.436,360,2.369,373,3.145,376,1.804,387,1.283,426,2.432,444,1.847,446,0.941,449,1.531,454,1.163,461,0.755,465,2.039,476,1.461,479,1.354,480,1.386,524,1.436,537,1.366,538,1.22,550,1.354,551,2.12,560,1.436,561,1.765,567,1.847,575,1.111,577,1.645,580,1.79,584,1.788,599,1.063,642,1.283,661,2.502,676,1.929,684,1.22,689,1.22,703,2.432,725,1.979,742,1.436,751,2.281,754,1.788,774,3.252,778,1.063,779,3.447,781,1.645,794,1.531,798,1.645,879,1.788,1016,1.907,1017,1.354,1024,2.613,1025,1.69,1027,3.026,1028,1.788,1050,1.788,1069,1.531,1103,1.788,1115,1.979,1128,3.145,1132,1.788,1184,1.788,1213,1.788,1219,1.979,1220,2.27,1221,3.607,1222,1.979,1223,2.27,1224,2.27,1225,2.27,1226,2.27,1227,2.27,1228,1.979,1229,1.979,1230,1.979,1231,1.979,1232,2.27,1233,2.27,1234,2.27,1235,2.27,1236,2.27,1237,2.27]],["t/2678",[32,0.844,74,2.245,77,1.017,89,3.546,257,4.09,476,1.588,537,1.87,551,2.561,855,4.777]],["t/2681",[32,0.912,77,1.099,518,3.704,519,5.161]],["t/2683",[32,0.723,57,1.658,58,0.967,72,1.807,77,0.871,96,2.818,97,2.078,101,1.685,126,2.932,129,1.227,131,1.891,143,1.983,184,1.472,205,1.272,232,1.807,249,2.489,253,1.039,347,2.744,360,2.073,434,1.891,447,1.729,449,2.489,454,2.662,460,1.729,476,1.361,480,1.418,529,1.983,535,2.792,537,0.904,538,1.983,545,2.086,549,2.335,551,2.147,565,2.489,599,1.729,684,2.792,704,3.219,721,2.543,742,3.287,781,2.675,952,3.219,1011,3.219,1027,4.056,1045,2.489,1069,2.489,1085,2.675,1086,4.358,1088,2.675,1103,2.907,1132,4.737,1184,2.907,1192,4.093,1213,2.907,1228,3.219,1238,5.197,1239,3.692,1240,3.692,1241,5.197,1242,2.907,1243,3.692,1244,3.692,1245,3.692,1246,3.692,1247,3.692]],["t/2685",[19,0.984,20,1.449,32,0.951,56,2.308,64,1.251,66,2.903,74,2.207,97,1.561,101,1.258,107,1.86,118,1.86,126,1.631,131,1.86,134,1.951,168,1.777,253,1.027,330,2.297,336,3.065,353,2.115,354,2.631,376,1.489,387,2.052,408,2.571,409,2.471,444,1.86,476,1.345,490,2.449,507,2.166,535,1.951,537,0.889,545,2.903,549,2.297,551,1.834,567,1.86,602,1.701,607,3.249,648,3.722,664,2.166,676,1.489,681,2.631,721,2.917,734,2.449,758,2.86,781,2.631,794,2.449,879,4.046,893,3.167,935,3.464,1023,3.167,1067,2.86,1081,2.86,1097,2.86,1119,4.046,1219,3.167,1230,3.167,1231,3.167,1242,2.86,1248,3.632,1249,3.632,1250,3.632,1251,3.632,1252,3.632,1253,3.632,1254,3.632,1255,3.632,1256,3.167]],["t/2687",[7,1.444,13,0.714,19,0.905,20,2.111,32,0.875,56,1.325,61,1.325,64,1.016,66,1.667,74,1.092,77,0.495,86,1.576,88,1.223,91,1.585,113,2.444,123,1.511,134,1.585,172,1.989,173,1.989,195,1.76,197,1.866,204,1.989,213,1.761,232,1.444,233,1.585,253,0.59,255,1.866,271,1.092,272,3.2,276,1.989,299,1.272,311,2.793,326,1.521,336,2.634,353,2.039,376,0.855,379,2.138,391,2.572,401,2.572,408,3.035,409,2.918,461,0.981,476,1.156,480,1.696,483,2.793,512,2.138,534,1.866,550,1.76,551,1.053,571,2.572,575,1.444,602,2.479,639,2.572,661,2.161,664,2.634,674,1.866,676,1.533,681,2.138,685,1.667,689,1.585,706,1.989,732,2.324,764,2.572,778,1.382,1016,2.02,1029,2.262,1043,2.138,1067,2.324,1074,2.978,1085,2.138,1096,2.793,1097,4.627,1120,2.572,1122,4.615,1208,2.572,1222,2.572,1256,2.572,1257,2.572,1258,2.95,1259,2.95,1260,2.95,1261,2.95,1262,2.95,1263,2.95,1264,2.95,1265,2.572,1266,2.95,1267,4.416,1268,2.95,1269,4.416,1270,2.95,1271,2.95,1272,2.95,1273,2.95,1274,2.95,1275,2.95,1276,2.95,1277,2.95,1278,2.95,1279,2.95]],["t/2689",[1,1.192,19,0.859,32,0.432,56,1.394,58,1.822,77,1.128,96,3.151,101,1.574,113,2.49,128,1.192,129,1.032,152,2.093,190,1.149,205,1.069,213,1.238,233,1.667,353,0.899,360,1.238,375,2.469,376,1.745,428,1.59,476,0.813,480,1.192,537,0.76,554,1.754,599,2.555,602,2.148,663,1.754,676,2.15,684,2.93,689,3.739,775,3.611,778,1.454,1016,1.934,1018,2.093,1027,3.092,1029,3.8,1074,3.092,1075,2.706,1076,5.061,1101,3.322,1114,2.9,1136,2.444,1163,2.706,1257,2.706,1280,3.103,1281,4.585,1282,4.585,1283,5.453,1284,3.103,1285,2.706,1286,3.998,1287,2.706,1288,3.103,1289,3.103,1290,2.706,1291,2.706,1292,4.755,1293,3.998,1294,2.706,1295,3.103,1296,3.103,1297,3.103,1298,2.706,1299,3.103,1300,3.103,1301,3.103,1302,3.103,1303,3.103]],["t/2691",[1,3.191,19,0.804,32,0.598,61,1.279,64,0.981,66,1.609,109,2.592,113,1.054,123,3.173,124,3.032,129,0.947,168,2.535,190,1.054,195,1.698,213,1.136,295,1.92,353,1.246,375,1.99,376,0.825,408,1.228,409,2.147,443,2.063,456,2.063,476,1.511,480,1.651,524,1.801,538,1.53,548,2.242,574,2.063,575,1.393,592,2.482,596,1.92,626,3.115,676,1.501,689,1.53,706,1.92,721,1.393,744,2.482,751,1.801,830,2.482,935,1.92,1016,2.092,1018,1.92,1024,2.427,1025,2.704,1029,2.202,1043,2.063,1045,1.92,1074,2.899,1076,2.242,1091,2.482,1096,1.801,1118,2.063,1136,2.242,1229,2.482,1242,2.242,1265,2.482,1286,2.482,1287,3.749,1290,2.482,1291,2.482,1292,2.482,1293,2.482,1294,2.482,1298,2.482,1304,5.18,1305,2.847,1306,4.88,1307,2.847,1308,2.847,1309,2.847,1310,4.182,1311,2.482,1312,2.847,1313,2.847,1314,2.482,1315,2.847,1316,2.847,1317,2.847,1318,2.847,1319,2.847,1320,2.847,1321,2.847,1322,2.847,1323,2.847,1324,2.847,1325,2.847,1326,2.847,1327,4.299,1328,2.847,1329,2.847,1330,2.847]],["t/2693",[19,0.826,64,2.503,271,2.69,353,1.566,360,2.898,375,2.077,379,3.918,561,3.556,676,2.2,689,2.905,935,3.646,1016,2.333,1029,3.427,1074,4.512,1114,3.419,1331,4.714,1332,5.407]],["t/2695",[61,2.88,86,2.289,109,2.88,476,1.679,676,1.858,1016,2.059,1017,3.825]],["t/2697",[56,2.215,58,1.291,79,1.53,97,1.291,101,1.546,152,3.325,190,2.337,206,1.639,363,3.325,375,2.675,376,2.018,428,2.525,537,1.705,554,2.787,676,2.2,721,2.413,742,3.118,778,3.263,1016,2.358,1018,3.325,1024,2.958,1066,3.573,1114,3.993,1135,3.883,1333,4.299,1334,4.299,1335,4.299,1336,4.299,1337,4.299,1338,4.299]],["t/2699",[1,1.722,19,0.733,20,1.2,32,0.419,56,1.352,74,1.114,77,0.505,79,1.39,86,1.074,96,2.509,97,1.661,101,1.097,126,1.352,152,2.029,188,1.617,190,1.659,206,2.212,253,1.186,347,1.2,353,1.299,360,1.2,363,3.022,375,2.647,376,1.299,387,1.701,400,1.903,408,1.298,409,1.248,428,1.541,430,2.37,434,2.296,444,1.541,454,1.541,461,1.001,476,0.788,535,1.617,537,1.453,549,1.903,551,2.375,554,1.701,580,1.788,602,1.41,643,1.701,644,2.37,664,1.795,676,2.134,689,1.617,721,2.193,742,1.903,778,1.41,796,2.37,1016,2.212,1018,2.029,1024,3.45,1025,1.41,1027,2.029,1069,2.029,1082,2.37,1086,3.881,1088,3.248,1093,2.181,1096,1.903,1114,4.357,1140,2.37,1141,2.181,1192,4.218,1210,2.624,1211,2.624,1285,5.174,1339,2.624,1340,3.01,1341,3.908,1342,3.01,1343,3.01,1344,3.01,1345,2.624,1346,2.624,1347,2.624,1348,2.624,1349,2.624,1350,2.37,1351,2.624,1352,2.624,1353,3.01,1354,3.01]],["t/2701",[1,3.146,89,2.758,96,2.212,97,1.961,101,1.504,123,3.145,124,3.005,253,0.944,295,3.184,360,1.884,428,2.419,454,2.419,537,1.671,551,1.686,642,2.669,663,2.669,671,4.118,742,3.883,1069,4.141,1306,4.836,1310,4.944,1333,4.118,1352,4.118,1355,4.723,1356,4.723,1357,4.723,1358,4.723,1359,4.723,1360,4.118,1361,4.723,1362,4.723]],["t/2703",[1,2.446,537,1.559,1310,4.613,1335,5.552,1336,5.552,1363,6.367,1364,6.367,1365,6.367]],["t/2706",[1,3.235,19,0.631,32,0.267,56,1.797,61,0.861,64,0.66,76,0.938,77,0.321,79,1.241,86,1.123,89,0.861,109,1.797,112,2.121,123,2.049,124,0.938,129,0.637,131,0.981,190,1.164,206,1.7,253,0.628,269,0.897,271,1.481,299,0.826,326,0.66,334,1.388,342,1.388,353,1.482,360,1.596,375,1.537,376,1.342,408,0.826,409,0.794,415,1.388,428,2.049,430,1.509,439,1.67,480,0.736,537,0.469,545,1.083,548,4.329,551,1.123,561,0.938,575,1.539,576,2.261,577,2.279,579,4.329,580,1.254,596,1.292,597,1.388,599,0.897,604,1.212,661,1.539,663,1.083,676,1.482,687,1.388,688,2.899,703,1.292,706,1.292,721,0.938,752,1.388,775,1.509,778,2.169,788,1.509,803,1.509,1016,1.487,1024,2.575,1025,2.396,1040,1.509,1045,1.292,1053,1.083,1066,1.388,1079,1.509,1101,1.388,1119,1.509,1135,1.509,1140,2.477,1141,2.899,1306,3.151,1310,4.897,1311,2.742,1314,1.67,1334,2.742,1337,1.67,1338,1.67,1339,1.67,1341,2.742,1345,1.67,1346,3.488,1347,1.67,1348,1.67,1349,1.67,1350,2.477,1351,1.67,1360,2.742,1366,3.145,1367,5.496,1368,5.114,1369,1.916,1370,1.916,1371,1.916,1372,1.916,1373,3.145,1374,3.145,1375,1.916,1376,3.145,1377,1.916,1378,1.916,1379,1.916,1380,1.916,1381,1.916,1382,3.145,1383,1.916,1384,1.916,1385,1.916,1386,3.145,1387,3.145,1388,1.916,1389,1.916,1390,3.145,1391,1.916,1392,1.916,1393,1.916,1394,1.916,1395,1.916,1396,1.916,1397,1.916,1398,3.145,1399,3.145,1400,3.145,1401,3.145,1402,3.145,1403,1.916,1404,1.916]],["t/2708",[19,0.792,64,1.948,79,2.3,190,2.094,206,1.388,271,2.855,353,1.859,360,2.256,375,2.173,376,1.209,379,3.024,408,1.8,409,1.73,545,2.358,561,3.71,580,2.957,676,1.639,688,5.371,778,2.65,1016,2.06,1024,3.552,1025,3.473,1053,2.358,1114,3.577,1141,3.024,1331,3.639,1350,3.287,1405,4.173,1406,5.656]]],"invertedIndex":[["",{"_index":1,"t":{"2544":{"position":[[12,1]]},"2570":{"position":[[493,1],[524,1],[590,1],[623,1]]},"2575":{"position":[[356,1],[437,1],[1550,1],[2140,1],[2441,1],[2830,1],[3155,1]]},"2577":{"position":[[183,1],[187,1],[675,1],[704,1],[733,1],[744,1],[766,1],[788,1],[810,1],[812,1],[814,1]]},"2579":{"position":[[176,1]]},"2595":{"position":[[744,1]]},"2617":{"position":[[70,1],[263,1],[589,1],[732,1],[967,1],[1019,1],[1091,1],[1693,1],[1768,1],[1902,1],[2106,3],[2159,3],[2284,1],[2473,3],[2553,3],[2613,1],[3030,1],[3353,1],[3438,1],[3483,1],[3588,1],[3656,1],[3728,1],[3757,1],[3832,1],[4159,1],[4315,1],[4376,1],[4509,1],[4785,1],[5040,1],[5283,1],[5419,1],[5947,1],[6057,1],[6423,1],[7532,1]]},"2624":{"position":[[93,2],[119,2],[391,1],[488,1],[535,1]]},"2646":{"position":[[769,2]]},"2668":{"position":[[209,1]]},"2674":{"position":[[1165,2],[1186,2]]},"2689":{"position":[[1613,1]]},"2691":{"position":[[0,2],[43,2],[83,2],[129,2],[190,2],[249,2],[287,2],[312,2],[403,1],[491,1],[502,2],[516,2],[576,2],[632,1],[659,1],[688,1],[699,1],[703,2],[741,2],[772,2],[828,2],[881,2],[929,2],[1013,1],[1072,2],[1110,2],[1173,2],[1224,2],[1262,2],[1282,2],[1355,2],[1424,2],[1452,1],[1454,2],[1503,2],[1562,2],[1586,1]]},"2699":{"position":[[318,1],[467,1]]},"2701":{"position":[[0,2],[44,2],[94,1],[135,2],[182,2],[260,2],[283,2],[326,1],[371,2],[442,1],[477,2],[574,2]]},"2703":{"position":[[25,1]]},"2706":{"position":[[80,36],[154,36],[277,1],[279,2],[282,1],[291,1],[403,1],[407,1],[409,1],[411,26],[438,2],[465,27],[493,2],[550,2],[629,1],[653,2],[674,2],[699,1],[703,2],[772,1],[827,2],[892,1],[917,2],[942,1],[946,2],[999,2],[1054,2],[1104,2],[1153,2],[1212,2],[1238,1],[1331,1],[1342,2],[1363,2],[1419,2],[1473,2],[1506,1],[1645,1],[1656,2],[1695,2],[1742,2],[1785,1],[1822,1],[1860,1],[1899,1],[1927,1],[1951,2],[1956,2],[2010,2],[2061,2],[2112,1],[2232,1],[2269,2],[2327,2],[2356,2],[2408,2],[2446,2],[2466,2],[2519,2],[2576,2],[2615,1],[2641,1],[2683,1],[2762,1],[2787,2],[2803,2],[2821,2],[2844,2],[2872,2],[2875,2],[2925,2],[2956,2],[2966,2],[3004,1],[3103,1],[3105,2],[3161,2],[3215,2],[3266,2],[3297,1],[3366,1],[3392,2],[3415,2],[3465,2],[3495,2]]}}}],["0",{"_index":1025,"t":{"2624":{"position":[[208,1]]},"2628":{"position":[[606,1],[718,2]]},"2636":{"position":[[175,1],[260,1],[292,2]]},"2642":{"position":[[1210,1]]},"2644":{"position":[[262,1],[530,1]]},"2646":{"position":[[810,2]]},"2654":{"position":[[118,1]]},"2676":{"position":[[1611,1],[2109,1]]},"2691":{"position":[[690,2],[701,1],[759,1],[1165,1]]},"2699":{"position":[[1067,2]]},"2706":{"position":[[701,1],[1954,1],[2438,2],[3133,3],[3317,2]]},"2708":{"position":[[87,1],[146,1],[209,1],[283,1],[353,1],[429,1]]}}}],["0.01",{"_index":292,"t":{"2550":{"position":[[1219,4]]}}}],["0.x",{"_index":823,"t":{"2609":{"position":[[13,3],[288,4]]}}}],["1",{"_index":575,"t":{"2575":{"position":[[2097,1],[2218,2],[2454,2],[2867,1],[2908,2]]},"2617":{"position":[[2893,2],[7607,2]]},"2628":{"position":[[594,1]]},"2636":{"position":[[347,2]]},"2642":{"position":[[577,1],[863,1]]},"2644":{"position":[[186,2],[425,2],[501,1],[514,2],[791,4],[918,2],[976,2],[1004,1],[1017,2],[1328,1],[1341,2],[1409,1],[1422,2],[1449,1]]},"2668":{"position":[[287,1]]},"2676":{"position":[[2155,2]]},"2687":{"position":[[674,1]]},"2691":{"position":[[661,1]]},"2706":{"position":[[405,1],[944,1]]}}}],["1.0",{"_index":8,"t":{"2544":{"position":[[68,3],[445,3]]},"2548":{"position":[[796,3]]},"2552":{"position":[[664,4]]},"2562":{"position":[[376,4]]},"2570":{"position":[[95,3]]},"2613":{"position":[[56,3]]}}}],["1.x",{"_index":825,"t":{"2609":{"position":[[44,3],[237,4]]}}}],["10",{"_index":1120,"t":{"2644":{"position":[[411,2],[471,2],[992,3],[1033,3],[1316,3],[1357,3]]},"2687":{"position":[[1194,2]]}}}],["100k",{"_index":902,"t":{"2617":{"position":[[2674,4]]}}}],["10k",{"_index":897,"t":{"2617":{"position":[[2515,3]]}}}],["11",{"_index":1124,"t":{"2644":{"position":[[671,2]]}}}],["12",{"_index":980,"t":{"2617":{"position":[[5764,2]]}}}],["15",{"_index":598,"t":{"2577":{"position":[[189,2]]},"2617":{"position":[[4022,4]]}}}],["16",{"_index":1305,"t":{"2691":{"position":[[32,2]]}}}],["1m",{"_index":903,"t":{"2617":{"position":[[2751,2]]}}}],["2",{"_index":576,"t":{"2575":{"position":[[2177,1],[2574,1],[2724,2],[3153,1]]},"2577":{"position":[[216,1]]},"2617":{"position":[[3992,2],[7677,2]]},"2644":{"position":[[395,2],[485,2],[954,1],[1045,1],[1300,2],[1369,1],[1382,2]]},"2646":{"position":[[766,2]]},"2662":{"position":[[120,3]]},"2668":{"position":[[207,1]]},"2706":{"position":[[1862,2],[1901,2],[2444,1]]}}}],["20",{"_index":1121,"t":{"2644":{"position":[[441,2]]}}}],["2019",{"_index":147,"t":{"2548":{"position":[[112,4]]}}}],["2020",{"_index":149,"t":{"2548":{"position":[[127,4],[288,5],[816,4]]},"2620":{"position":[[548,5],[631,5]]}}}],["2021",{"_index":214,"t":{"2548":{"position":[[1185,4]]},"2617":{"position":[[2060,5],[2449,5]]}}}],["2022",{"_index":730,"t":{"2597":{"position":[[48,5]]}}}],["2023",{"_index":831,"t":{"2609":{"position":[[175,5]]},"2617":{"position":[[2120,5],[2477,5]]}}}],["2024",{"_index":853,"t":{"2617":{"position":[[55,4],[2167,5],[2557,4],[2788,4],[5744,4],[7775,4]]}}}],["2025",{"_index":888,"t":{"2617":{"position":[[2223,5]]}}}],["2026",{"_index":901,"t":{"2617":{"position":[[2636,5]]}}}],["2028",{"_index":889,"t":{"2617":{"position":[[2302,5],[2713,5]]}}}],["2030",{"_index":894,"t":{"2617":{"position":[[2376,5]]}}}],["21888242871839275222246405745257275088548364400416034343698204186575808495617",{"_index":1036,"t":{"2624":{"position":[[393,78]]}}}],["24/7/365",{"_index":954,"t":{"2617":{"position":[[4430,9]]}}}],["25",{"_index":1266,"t":{"2687":{"position":[[682,2]]}}}],["253",{"_index":1088,"t":{"2638":{"position":[[30,3],[76,3],[130,3]]},"2642":{"position":[[392,3],[515,3],[631,3],[748,3]]},"2683":{"position":[[470,3]]},"2699":{"position":[[314,3],[463,3]]}}}],["254",{"_index":1245,"t":{"2683":{"position":[[496,3]]}}}],["256",{"_index":1240,"t":{"2683":{"position":[[364,3]]}}}],["3",{"_index":635,"t":{"2579":{"position":[[153,1]]},"2617":{"position":[[5291,2],[7742,2]]},"2644":{"position":[[455,2],[763,2]]}}}],["3.16",{"_index":1268,"t":{"2687":{"position":[[737,4]]}}}],["30",{"_index":976,"t":{"2617":{"position":[[5325,4]]}}}],["32",{"_index":1093,"t":{"2638":{"position":[[248,2],[320,2],[496,2]]},"2642":{"position":[[1035,2],[1170,2]]},"2668":{"position":[[211,2]]},"2699":{"position":[[649,2]]}}}],["4",{"_index":633,"t":{"2579":{"position":[[53,1]]},"2617":{"position":[[2846,1]]}}}],["5",{"_index":1043,"t":{"2626":{"position":[[29,2]]},"2644":{"position":[[333,1],[1398,2],[1438,2]]},"2687":{"position":[[744,1]]},"2691":{"position":[[120,1]]}}}],["50",{"_index":909,"t":{"2617":{"position":[[2928,4]]}}}],["5503045433092194285660061905880311622788666850989422096966288514930349325741",{"_index":1041,"t":{"2624":{"position":[[576,76]]}}}],["5^2",{"_index":800,"t":{"2603":{"position":[[895,6]]}}}],["6",{"_index":280,"t":{"2550":{"position":[[972,1]]}}}],["64",{"_index":1267,"t":{"2687":{"position":[[687,2],[818,3]]}}}],["7",{"_index":830,"t":{"2609":{"position":[[172,2]]},"2691":{"position":[[99,1]]}}}],["8",{"_index":1269,"t":{"2687":{"position":[[748,1],[871,2]]}}}],["856",{"_index":921,"t":{"2617":{"position":[[3375,6]]}}}],["9",{"_index":1265,"t":{"2687":{"position":[[678,1]]},"2691":{"position":[[73,1]]}}}],["99",{"_index":1263,"t":{"2687":{"position":[[565,2]]}}}],["_ecdhpubkey",{"_index":1062,"t":{"2632":{"position":[[93,13]]}}}],["_finalsaltedresult",{"_index":1072,"t":{"2634":{"position":[[100,20],[223,21],[615,19]]}}}],["_initialvoicecreditproxydata",{"_index":1051,"t":{"2628":{"position":[[313,28]]}}}],["_intermediatestateroot",{"_index":1070,"t":{"2634":{"position":[[28,23]]}}}],["_newresultscommit",{"_index":1071,"t":{"2634":{"position":[[60,22]]}}}],["_newstateroot",{"_index":1059,"t":{"2632":{"position":[[28,14]]}}}],["_proof",{"_index":1064,"t":{"2632":{"position":[[125,6],[206,8]]},"2634":{"position":[[139,6]]}}}],["_signupgatekeeperdata",{"_index":1048,"t":{"2628":{"position":[[113,21]]}}}],["_statetreeroot",{"_index":1060,"t":{"2632":{"position":[[60,16]]}}}],["abil",{"_index":341,"t":{"2552":{"position":[[304,7]]}}}],["abov",{"_index":604,"t":{"2577":{"position":[[428,5]]},"2581":{"position":[[270,5]]},"2583":{"position":[[204,6]]},"2644":{"position":[[1458,5]]},"2666":{"position":[[183,5]]},"2706":{"position":[[72,7]]}}}],["accept",{"_index":813,"t":{"2605":{"position":[[510,6]]},"2632":{"position":[[146,7]]}}}],["access",{"_index":855,"t":{"2617":{"position":[[166,10]]},"2634":{"position":[[785,6]]},"2678":{"position":[[155,6]]}}}],["accord",{"_index":1068,"t":{"2632":{"position":[[466,9]]}}}],["accordingli",{"_index":244,"t":{"2550":{"position":[[301,12]]},"2676":{"position":[[1559,11]]}}}],["account",{"_index":301,"t":{"2550":{"position":[[1320,8],[1466,8]]},"2585":{"position":[[253,7]]}}}],["accqueu",{"_index":749,"t":{"2597":{"position":[[555,8]]}}}],["accumul",{"_index":1073,"t":{"2634":{"position":[[316,11]]}}}],["achiev",{"_index":127,"t":{"2546":{"position":[[1365,8]]},"2552":{"position":[[1210,8]]},"2593":{"position":[[321,8]]},"2617":{"position":[[2808,7]]}}}],["act",{"_index":542,"t":{"2575":{"position":[[142,4]]}}}],["action",{"_index":422,"t":{"2558":{"position":[[266,7]]}}}],["activ",{"_index":861,"t":{"2617":{"position":[[373,6],[4179,8],[4287,6]]}}}],["actual",{"_index":484,"t":{"2566":{"position":[[1057,8]]},"2568":{"position":[[1043,8]]},"2575":{"position":[[291,6]]},"2601":{"position":[[952,6]]}}}],["ad",{"_index":583,"t":{"2575":{"position":[[3176,5]]},"2634":{"position":[[476,6]]}}}],["add",{"_index":524,"t":{"2573":{"position":[[454,3]]},"2617":{"position":[[3451,3]]},"2628":{"position":[[539,4]]},"2668":{"position":[[241,3]]},"2676":{"position":[[457,4]]},"2691":{"position":[[1181,4]]}}}],["addit",{"_index":350,"t":{"2552":{"position":[[557,10],[965,10]]},"2617":{"position":[[2195,10],[3730,10]]}}}],["addition",{"_index":1085,"t":{"2636":{"position":[[483,13]]},"2674":{"position":[[115,13]]},"2683":{"position":[[506,13]]},"2687":{"position":[[1110,13]]}}}],["address",{"_index":55,"t":{"2544":{"position":[[685,10]]},"2552":{"position":[[460,9]]},"2575":{"position":[[201,8]]},"2581":{"position":[[588,7]]},"2601":{"position":[[427,7]]},"2605":{"position":[[639,10]]},"2628":{"position":[[89,8]]},"2674":{"position":[[607,7]]}}}],["admin",{"_index":802,"t":{"2605":{"position":[[95,5]]}}}],["admin'",{"_index":804,"t":{"2605":{"position":[[154,7]]}}}],["adopt",{"_index":162,"t":{"2548":{"position":[[254,8]]},"2550":{"position":[[1624,8]]},"2552":{"position":[[789,7],[1665,8]]},"2560":{"position":[[295,8]]},"2595":{"position":[[1188,7]]},"2617":{"position":[[819,8],[4084,8],[5656,8],[6728,5],[6853,8]]}}}],["advanc",{"_index":211,"t":{"2548":{"position":[[1118,9]]}}}],["adversari",{"_index":1143,"t":{"2654":{"position":[[5,9],[154,9]]}}}],["adversary'",{"_index":1144,"t":{"2654":{"position":[[129,11]]}}}],["affect",{"_index":741,"t":{"2597":{"position":[[364,6]]}}}],["against",{"_index":603,"t":{"2577":{"position":[[407,7]]},"2599":{"position":[[156,7]]}}}],["agil",{"_index":959,"t":{"2617":{"position":[[4663,5]]}}}],["aim",{"_index":851,"t":{"2617":{"position":[[35,4],[1917,4]]}}}],["algorithm",{"_index":1246,"t":{"2683":{"position":[[542,9]]}}}],["alic",{"_index":1118,"t":{"2644":{"position":[[317,5]]},"2646":{"position":[[28,6],[218,5]]},"2674":{"position":[[25,6],[632,5],[1077,5],[1273,5],[1334,5],[1391,5]]},"2691":{"position":[[3,5]]}}}],["alice'",{"_index":1131,"t":{"2646":{"position":[[360,7]]}}}],["align",{"_index":256,"t":{"2550":{"position":[[544,5]]}}}],["alleg",{"_index":277,"t":{"2550":{"position":[[920,7]]}}}],["alloc",{"_index":173,"t":{"2548":{"position":[[394,8]]},"2603":{"position":[[419,9]]},"2617":{"position":[[751,8],[4843,8],[5957,10]]},"2636":{"position":[[545,8]]},"2687":{"position":[[300,9]]}}}],["allow",{"_index":326,"t":{"2552":{"position":[[60,5],[197,6],[453,6]]},"2556":{"position":[[81,6]]},"2560":{"position":[[150,5]]},"2566":{"position":[[99,6]]},"2568":{"position":[[85,6]]},"2575":{"position":[[1801,6]]},"2577":{"position":[[23,5]]},"2581":{"position":[[483,6],[796,6]]},"2597":{"position":[[347,7]]},"2601":{"position":[[190,5]]},"2607":{"position":[[222,6]]},"2617":{"position":[[4708,5]]},"2620":{"position":[[51,6]]},"2628":{"position":[[199,5],[846,5]]},"2634":{"position":[[151,6]]},"2658":{"position":[[387,6],[630,7]]},"2662":{"position":[[20,7],[507,8]]},"2676":{"position":[[1975,5]]},"2687":{"position":[[198,6],[1516,6]]},"2706":{"position":[[590,7]]}}}],["along",{"_index":1047,"t":{"2628":{"position":[[98,5]]}}}],["alreadi",{"_index":703,"t":{"2589":{"position":[[167,7]]},"2632":{"position":[[767,7]]},"2658":{"position":[[117,7]]},"2676":{"position":[[1002,7],[1915,7]]},"2706":{"position":[[19,7]]}}}],["altern",{"_index":1223,"t":{"2676":{"position":[[338,14]]}}}],["although",{"_index":106,"t":{"2546":{"position":[[945,8]]},"2570":{"position":[[1370,8]]},"2575":{"position":[[3681,8]]},"2595":{"position":[[990,8]]},"2632":{"position":[[791,8]]},"2672":{"position":[[321,8]]}}}],["ambigu",{"_index":1250,"t":{"2685":{"position":[[142,12]]}}}],["amongst",{"_index":655,"t":{"2581":{"position":[[458,7]]}}}],["amount",{"_index":550,"t":{"2575":{"position":[[412,7]]},"2589":{"position":[[298,6]]},"2601":{"position":[[1098,6]]},"2636":{"position":[[564,7]]},"2662":{"position":[[183,6]]},"2676":{"position":[[605,6]]},"2687":{"position":[[125,6]]}}}],["analysi",{"_index":987,"t":{"2617":{"position":[[5932,8]]}}}],["and/or",{"_index":1332,"t":{"2693":{"position":[[39,6]]}}}],["announc",{"_index":488,"t":{"2570":{"position":[[76,13]]},"2593":{"position":[[18,8]]}}}],["anonym",{"_index":420,"t":{"2558":{"position":[[67,9]]}}}],["anoth",{"_index":107,"t":{"2546":{"position":[[970,7]]},"2550":{"position":[[634,7]]},"2570":{"position":[[1395,7]]},"2581":{"position":[[599,7]]},"2595":{"position":[[1015,7]]},"2597":{"position":[[486,7]]},"2644":{"position":[[861,7]]},"2668":{"position":[[0,7]]},"2676":{"position":[[1937,7]]},"2685":{"position":[[52,7]]}}}],["answer",{"_index":593,"t":{"2577":{"position":[[57,6],[129,6],[337,7],[538,7]]}}}],["anti",{"_index":10,"t":{"2544":{"position":[[83,4]]},"2548":{"position":[[972,4]]},"2566":{"position":[[45,4]]},"2568":{"position":[[31,4]]},"2570":{"position":[[280,4]]},"2593":{"position":[[79,4]]},"2613":{"position":[[86,4]]},"2617":{"position":[[1043,4]]},"2620":{"position":[[517,4],[600,4]]},"2662":{"position":[[615,4]]},"2672":{"position":[[55,4]]}}}],["anyon",{"_index":601,"t":{"2577":{"position":[[345,6]]},"2587":{"position":[[781,6]]},"2630":{"position":[[177,6]]},"2632":{"position":[[800,6]]},"2634":{"position":[[812,6],[918,6]]}}}],["anyway",{"_index":1080,"t":{"2634":{"position":[[952,7]]},"2652":{"position":[[244,7]]}}}],["api",{"_index":431,"t":{"2560":{"position":[[256,4]]}}}],["app",{"_index":937,"t":{"2617":{"position":[[3818,3]]}}}],["appear",{"_index":290,"t":{"2550":{"position":[[1201,8]]}}}],["appli",{"_index":675,"t":{"2585":{"position":[[172,7]]},"2644":{"position":[[805,7]]}}}],["applic",{"_index":17,"t":{"2544":{"position":[[173,13]]},"2546":{"position":[[119,13],[221,12],[263,12],[304,12]]},"2548":{"position":[[538,12]]},"2552":{"position":[[397,11],[1487,12]]},"2554":{"position":[[205,12]]},"2562":{"position":[[133,12]]},"2566":{"position":[[82,11]]},"2568":{"position":[[68,11]]},"2595":{"position":[[11,11],[1330,12]]},"2603":{"position":[[71,13]]},"2607":{"position":[[33,11],[177,12]]},"2617":{"position":[[1158,12],[1721,13],[1889,12],[2014,12],[2271,12]]}}}],["appliedzkp/macirepositori",{"_index":36,"t":{"2544":{"position":[[389,25]]}}}],["approach",{"_index":782,"t":{"2601":{"position":[[876,9]]}}}],["approv",{"_index":411,"t":{"2556":{"position":[[141,8]]}}}],["approxim",{"_index":382,"t":{"2552":{"position":[[1309,11]]},"2570":{"position":[[535,11]]}}}],["area",{"_index":949,"t":{"2617":{"position":[[4263,5],[6405,5]]}}}],["argu",{"_index":252,"t":{"2550":{"position":[[476,6]]}}}],["around",{"_index":719,"t":{"2595":{"position":[[194,6]]},"2617":{"position":[[5892,6]]}}}],["articl",{"_index":502,"t":{"2570":{"position":[[437,8],[643,7],[785,9]]},"2595":{"position":[[1499,8]]}}}],["assert",{"_index":1327,"t":{"2691":{"position":[[1366,7],[1517,7]]}}}],["assert(computedvoteoptiontreeroot",{"_index":1321,"t":{"2691":{"position":[[1038,33]]}}}],["assert(decryptedcommand",{"_index":1362,"t":{"2701":{"position":[[550,23]]}}}],["assert(derivedcoordinatorpubkey",{"_index":1357,"t":{"2701":{"position":[[228,31]]}}}],["assert(generatedmsgtreeroot",{"_index":1365,"t":{"2703":{"position":[[95,28]]}}}],["assert(i",{"_index":1383,"t":{"2706":{"position":[[1647,8]]}}}],["assert(intermediatestateroot",{"_index":1308,"t":{"2691":{"position":[[258,28]]}}}],["assert(newstateleaf.voteoptionroot",{"_index":1393,"t":{"2706":{"position":[[2234,34]]}}}],["assert(noop",{"_index":1400,"t":{"2706":{"position":[[2944,11],[3483,11]]}}}],["assert(updatedstateroot",{"_index":1404,"t":{"2706":{"position":[[3368,23]]}}}],["assert(x",{"_index":1314,"t":{"2691":{"position":[[493,8]]},"2706":{"position":[[1333,8]]}}}],["assess",{"_index":859,"t":{"2617":{"position":[[256,6]]}}}],["assign",{"_index":1253,"t":{"2685":{"position":[[724,7]]}}}],["assist",{"_index":441,"t":{"2562":{"position":[[93,6]]}}}],["associ",{"_index":1082,"t":{"2636":{"position":[[376,10]]},"2642":{"position":[[152,10],[446,10]]},"2699":{"position":[[1279,10]]}}}],["assum",{"_index":796,"t":{"2603":{"position":[[544,7]]},"2658":{"position":[[0,8]]},"2699":{"position":[[1552,6]]}}}],["asymmetr",{"_index":125,"t":{"2546":{"position":[[1338,10]]}}}],["attack",{"_index":259,"t":{"2550":{"position":[[605,8],[1089,6],[1736,7],[1822,7]]},"2575":{"position":[[1652,6]]},"2597":{"position":[[825,6]]},"2642":{"position":[[1189,8]]},"2658":{"position":[[734,6]]},"2660":{"position":[[38,6]]},"2662":{"position":[[429,6]]},"2666":{"position":[[165,7]]},"2674":{"position":[[260,6]]}}}],["attest",{"_index":1154,"t":{"2658":{"position":[[559,9],[668,11]]}}}],["attract",{"_index":302,"t":{"2550":{"position":[[1332,7]]}}}],["audit",{"_index":39,"t":{"2544":{"position":[[453,7],[522,5]]},"2597":{"position":[[9,7],[58,5],[200,5]]},"2613":{"position":[[152,5]]}}}],["auditor",{"_index":50,"t":{"2544":{"position":[[616,8]]},"2548":{"position":[[1345,8]]}}}],["auryn",{"_index":165,"t":{"2548":{"position":[[300,5]]}}}],["author",{"_index":285,"t":{"2550":{"position":[[1129,6]]}}}],["autom",{"_index":1002,"t":{"2617":{"position":[[6586,8]]}}}],["autonom",{"_index":314,"t":{"2550":{"position":[[1647,10]]}}}],["avail",{"_index":952,"t":{"2617":{"position":[[4413,9],[4873,9]]},"2683":{"position":[[157,9]]}}}],["b",{"_index":483,"t":{"2566":{"position":[[997,2]]},"2568":{"position":[[983,2]]},"2575":{"position":[[2791,2],[2850,1],[3050,1]]},"2585":{"position":[[546,2],[601,2]]},"2644":{"position":[[414,3],[621,3],[681,3],[770,3],[1006,3],[1112,4],[1123,3],[1330,3],[1521,4]]},"2687":{"position":[[680,1],[742,1]]}}}],["backend",{"_index":806,"t":{"2605":{"position":[[233,7],[311,7],[492,7]]}}}],["balanc",{"_index":665,"t":{"2581":{"position":[[1101,7]]}}}],["bandwidth",{"_index":910,"t":{"2617":{"position":[[2949,9],[4043,9],[4857,9],[5346,9]]}}}],["barri",{"_index":1166,"t":{"2662":{"position":[[453,7]]},"2670":{"position":[[0,5]]}}}],["base",{"_index":174,"t":{"2548":{"position":[[422,5]]},"2617":{"position":[[1152,5]]},"2676":{"position":[[2596,5]]}}}],["basic",{"_index":499,"t":{"2570":{"position":[[355,5]]}}}],["batch",{"_index":689,"t":{"2585":{"position":[[1308,5]]},"2632":{"position":[[156,5],[505,5]]},"2634":{"position":[[261,7],[291,5],[508,5],[670,6]]},"2676":{"position":[[1392,5]]},"2687":{"position":[[1567,8]]},"2689":{"position":[[650,7],[791,5],[981,5],[1121,5],[1185,5],[1304,5],[1425,6]]},"2691":{"position":[[1216,7]]},"2693":{"position":[[243,5]]},"2699":{"position":[[1576,8]]}}}],["be",{"_index":757,"t":{"2597":{"position":[[919,5]]},"2644":{"position":[[43,5]]}}}],["becom",{"_index":262,"t":{"2550":{"position":[[713,7]]},"2589":{"position":[[305,7]]}}}],["befor",{"_index":355,"t":{"2552":{"position":[[749,7]]},"2573":{"position":[[591,6]]},"2575":{"position":[[0,6],[1968,6]]},"2593":{"position":[[219,6]]},"2597":{"position":[[912,6]]},"2644":{"position":[[219,6],[848,7]]},"2674":{"position":[[1609,6]]}}}],["behavior",{"_index":792,"t":{"2603":{"position":[[308,9]]}}}],["behaviour",{"_index":258,"t":{"2550":{"position":[[564,9]]}}}],["behind",{"_index":251,"t":{"2550":{"position":[[444,6]]},"2570":{"position":[[366,6]]}}}],["believ",{"_index":911,"t":{"2617":{"position":[[2962,7]]}}}],["below",{"_index":541,"t":{"2573":{"position":[[1123,6]]},"2575":{"position":[[740,6]]},"2579":{"position":[[985,6]]},"2595":{"position":[[357,5]]},"2642":{"position":[[1353,6]]},"2674":{"position":[[534,7]]}}}],["beneficiari",{"_index":289,"t":{"2550":{"position":[[1189,11]]}}}],["benefit",{"_index":71,"t":{"2546":{"position":[[321,7]]},"2552":{"position":[[1743,7]]},"2607":{"position":[[124,7]]},"2672":{"position":[[292,8]]}}}],["besid",{"_index":87,"t":{"2546":{"position":[[543,7]]},"2570":{"position":[[973,8]]},"2595":{"position":[[592,8]]}}}],["bespok",{"_index":435,"t":{"2560":{"position":[[337,7]]}}}],["better",{"_index":27,"t":{"2544":{"position":[[298,6]]},"2617":{"position":[[5980,6]]}}}],["between",{"_index":794,"t":{"2603":{"position":[[366,7],[484,7]]},"2620":{"position":[[311,7]]},"2624":{"position":[[172,7]]},"2676":{"position":[[2175,7]]},"2685":{"position":[[345,7]]}}}],["bia",{"_index":1247,"t":{"2683":{"position":[[570,5]]}}}],["bit",{"_index":1086,"t":{"2638":{"position":[[5,4],[476,4]]},"2642":{"position":[[189,4],[579,4],[865,4]]},"2683":{"position":[[368,4],[474,4],[500,5]]},"2699":{"position":[[343,4],[492,4],[652,5]]}}}],["block",{"_index":1058,"t":{"2630":{"position":[[39,5]]}}}],["blockchain",{"_index":122,"t":{"2546":{"position":[[1299,11]]},"2566":{"position":[[478,10]]},"2568":{"position":[[464,10]]},"2573":{"position":[[124,10],[624,11]]},"2577":{"position":[[885,10],[1135,10]]},"2676":{"position":[[104,10]]}}}],["blog",{"_index":710,"t":{"2591":{"position":[[20,5]]}}}],["board",{"_index":942,"t":{"2617":{"position":[[3955,5]]},"2668":{"position":[[70,5],[262,6]]}}}],["bob",{"_index":574,"t":{"2575":{"position":[[2068,3],[2099,3],[2179,3],[2248,3],[2591,3],[2768,3],[2794,3],[2869,3],[2975,3]]},"2644":{"position":[[895,3],[925,3],[1047,3]]},"2674":{"position":[[32,4],[1051,4],[1308,3],[1434,4]]},"2691":{"position":[[46,3]]}}}],["bob’",{"_index":578,"t":{"2575":{"position":[[2422,5],[2509,5],[3077,5],[3157,5]]}}}],["born",{"_index":372,"t":{"2552":{"position":[[1078,5]]}}}],["both",{"_index":565,"t":{"2575":{"position":[[1555,5]]},"2601":{"position":[[727,4]]},"2624":{"position":[[96,4]]},"2640":{"position":[[57,5]]},"2683":{"position":[[852,4]]}}}],["bounti",{"_index":972,"t":{"2617":{"position":[[5195,9]]}}}],["box",{"_index":885,"t":{"2617":{"position":[[1829,3]]}}}],["branch",{"_index":35,"t":{"2544":{"position":[[375,6]]},"2556":{"position":[[227,7]]}}}],["bribari",{"_index":1168,"t":{"2662":{"position":[[520,8]]}}}],["bribe",{"_index":465,"t":{"2566":{"position":[[270,5],[439,8],[607,5]]},"2568":{"position":[[256,5],[425,8],[593,5]]},"2575":{"position":[[3398,6]]},"2601":{"position":[[216,5]]},"2644":{"position":[[888,6]]},"2664":{"position":[[413,5]]},"2674":{"position":[[287,6],[1005,5],[1070,6]]},"2676":{"position":[[936,7],[1983,6]]}}}],["bribee'",{"_index":1215,"t":{"2674":{"position":[[1033,8]]}}}],["briber",{"_index":236,"t":{"2550":{"position":[[208,6]]},"2566":{"position":[[546,6],[810,7],[918,6],[1084,6]]},"2568":{"position":[[532,6],[796,7],[904,6],[1070,6]]},"2573":{"position":[[845,7]]},"2575":{"position":[[1689,6],[1740,6],[1885,8],[1898,7],[2008,8],[2744,6],[2989,6],[3294,6]]},"2642":{"position":[[1260,6]]},"2658":{"position":[[71,6],[230,6],[638,6]]},"2674":{"position":[[391,7],[971,6]]}}}],["briberi",{"_index":82,"t":{"2546":{"position":[[494,8]]},"2550":{"position":[[622,8],[1728,7]]},"2566":{"position":[[336,7]]},"2568":{"position":[[322,7]]},"2570":{"position":[[928,7]]},"2575":{"position":[[1644,7]]},"2595":{"position":[[549,8]]},"2617":{"position":[[1414,8]]},"2662":{"position":[[574,8]]}}}],["bring",{"_index":217,"t":{"2548":{"position":[[1216,5]]},"2593":{"position":[[134,6]]}}}],["broader",{"_index":990,"t":{"2617":{"position":[[6032,7]]}}}],["broadli",{"_index":245,"t":{"2550":{"position":[[319,8]]}}}],["broken",{"_index":631,"t":{"2579":{"position":[[36,6]]}}}],["bug",{"_index":225,"t":{"2548":{"position":[[1361,5]]},"2611":{"position":[[61,4]]}}}],["build",{"_index":63,"t":{"2546":{"position":[[93,5],[257,5]]},"2554":{"position":[[199,5]]},"2617":{"position":[[548,8],[1542,5],[1647,5],[1978,8],[2483,5],[2642,5],[2719,5],[3032,5],[3812,5],[5362,8],[5817,5]]}}}],["built",{"_index":686,"t":{"2585":{"position":[[1118,5]]},"2656":{"position":[[32,5]]},"2672":{"position":[[167,5]]}}}],["bulletin",{"_index":1182,"t":{"2668":{"position":[[61,8]]}}}],["bundl",{"_index":546,"t":{"2575":{"position":[[333,6]]}}}],["burn",{"_index":1188,"t":{"2668":{"position":[[282,4]]}}}],["buterin",{"_index":141,"t":{"2548":{"position":[[48,8]]},"2550":{"position":[[410,7]]},"2672":{"position":[[124,7]]}}}],["buy",{"_index":1206,"t":{"2674":{"position":[[253,6]]}}}],["c",{"_index":1122,"t":{"2644":{"position":[[444,3],[602,3],[1371,3]]},"2687":{"position":[[685,1],[746,1],[816,1]]}}}],["calcul",{"_index":744,"t":{"2597":{"position":[[397,11],[474,11]]},"2691":{"position":[[1113,9]]}}}],["call",{"_index":447,"t":{"2562":{"position":[[387,5]]},"2575":{"position":[[452,6]]},"2581":{"position":[[125,7],[676,5],[715,4],[962,5],[1001,4]]},"2583":{"position":[[100,4]]},"2585":{"position":[[859,5]]},"2587":{"position":[[285,4]]},"2601":{"position":[[506,7],[686,4]]},"2617":{"position":[[6383,7]]},"2620":{"position":[[380,6]]},"2630":{"position":[[202,4]]},"2632":{"position":[[811,4]]},"2683":{"position":[[946,4]]}}}],["calldata",{"_index":239,"t":{"2550":{"position":[[238,9]]}}}],["candid",{"_index":273,"t":{"2550":{"position":[[871,10]]}}}],["can’t",{"_index":530,"t":{"2573":{"position":[[562,5]]}}}],["capabl",{"_index":514,"t":{"2570":{"position":[[707,7]]}}}],["capac",{"_index":352,"t":{"2552":{"position":[[607,8]]}}}],["capit",{"_index":988,"t":{"2617":{"position":[[5949,7]]},"2662":{"position":[[418,7]]}}}],["care",{"_index":1099,"t":{"2642":{"position":[[3,7]]}}}],["carri",{"_index":819,"t":{"2607":{"position":[[48,5]]}}}],["case",{"_index":387,"t":{"2552":{"position":[[1512,6]]},"2597":{"position":[[1166,5]]},"2638":{"position":[[527,5]]},"2642":{"position":[[1066,5]]},"2668":{"position":[[12,4]]},"2676":{"position":[[2536,5]]},"2685":{"position":[[1003,5]]},"2699":{"position":[[543,5]]}}}],["cast",{"_index":98,"t":{"2546":{"position":[[825,4],[939,5],[965,4]]},"2570":{"position":[[1251,4],[1364,5],[1390,4]]},"2575":{"position":[[18,4],[280,7]]},"2595":{"position":[[871,4],[984,5],[1010,4]]},"2644":{"position":[[1051,5],[1106,5],[1244,4],[1508,7]]},"2674":{"position":[[638,5],[1192,4]]}}}],["ceas",{"_index":833,"t":{"2609":{"position":[[251,5]]}}}],["censor",{"_index":92,"t":{"2546":{"position":[[751,6]]},"2570":{"position":[[1178,6]]},"2595":{"position":[[798,6]]},"2650":{"position":[[19,7]]},"2672":{"position":[[439,6]]}}}],["censorship",{"_index":877,"t":{"2617":{"position":[[1402,11]]},"2672":{"position":[[248,10]]}}}],["central",{"_index":1203,"t":{"2674":{"position":[[140,7]]}}}],["certain",{"_index":346,"t":{"2552":{"position":[[482,7]]},"2570":{"position":[[863,7]]},"2595":{"position":[[484,7]]},"2597":{"position":[[80,7]]},"2674":{"position":[[1093,7]]}}}],["chain",{"_index":460,"t":{"2566":{"position":[[126,5],[226,5]]},"2568":{"position":[[112,5],[212,5]]},"2573":{"position":[[1054,6]]},"2579":{"position":[[843,5]]},"2585":{"position":[[671,5],[1256,5]]},"2589":{"position":[[59,5]]},"2595":{"position":[[65,5]]},"2605":{"position":[[405,6]]},"2607":{"position":[[61,5]]},"2617":{"position":[[657,5],[1204,5]]},"2652":{"position":[[58,5]]},"2683":{"position":[[286,5]]}}}],["chang",{"_index":523,"t":{"2573":{"position":[[430,6]]},"2575":{"position":[[1526,6],[1817,6]]},"2581":{"position":[[361,6]]},"2617":{"position":[[7123,6]]},"2640":{"position":[[30,6]]},"2642":{"position":[[676,6],[793,6]]},"2644":{"position":[[1207,7],[1483,7]]},"2658":{"position":[[125,7],[407,7],[511,7],[618,7]]},"2674":{"position":[[512,6],[803,6],[875,6],[1250,8]]}}}],["channel",{"_index":966,"t":{"2617":{"position":[[5060,8],[7492,9]]}}}],["charbonnet",{"_index":848,"t":{"2613":{"position":[[67,10]]}}}],["charg",{"_index":720,"t":{"2595":{"position":[[259,6]]}}}],["charli",{"_index":1202,"t":{"2674":{"position":[[41,7]]}}}],["check",{"_index":577,"t":{"2575":{"position":[[2375,6]]},"2581":{"position":[[746,5],[1040,5],[1167,7]]},"2676":{"position":[[403,6]]},"2706":{"position":[[1030,5],[1442,8]]}}}],["cheng",{"_index":159,"t":{"2548":{"position":[[217,5]]},"2670":{"position":[[48,5]]}}}],["chih",{"_index":158,"t":{"2548":{"position":[[212,4]]},"2670":{"position":[[43,4]]}}}],["choic",{"_index":354,"t":{"2552":{"position":[[736,7]]},"2577":{"position":[[1291,8]]},"2646":{"position":[[457,6]]},"2685":{"position":[[631,7]]}}}],["chose",{"_index":1258,"t":{"2687":{"position":[[70,5]]}}}],["circom",{"_index":365,"t":{"2552":{"position":[[924,7],[1002,6]]},"2620":{"position":[[495,6]]}}}],["circomlib",{"_index":366,"t":{"2552":{"position":[[936,10]]}}}],["circuit",{"_index":61,"t":{"2546":{"position":[[52,8],[1219,9]]},"2552":{"position":[[877,8]]},"2560":{"position":[[224,8]]},"2562":{"position":[[290,7]]},"2597":{"position":[[256,9]]},"2603":{"position":[[838,7]]},"2620":{"position":[[23,8],[219,7],[711,8],[752,7]]},"2652":{"position":[[157,8]]},"2676":{"position":[[2546,7]]},"2687":{"position":[[1315,7]]},"2691":{"position":[[1622,7]]},"2695":{"position":[[5,7]]},"2706":{"position":[[450,7]]}}}],["claim",{"_index":1234,"t":{"2676":{"position":[[2003,5]]}}}],["clear",{"_index":53,"t":{"2544":{"position":[[666,5]]},"2676":{"position":[[1188,5]]}}}],["cleartext",{"_index":1218,"t":{"2674":{"position":[[1409,9]]}}}],["cli",{"_index":820,"t":{"2607":{"position":[[192,3]]}}}],["client",{"_index":386,"t":{"2552":{"position":[[1480,6]]}}}],["close",{"_index":948,"t":{"2617":{"position":[[4224,7],[4462,5]]}}}],["clr.fund",{"_index":170,"t":{"2548":{"position":[[343,9],[485,8],[551,8]]},"2552":{"position":[[1533,8]]},"2562":{"position":[[192,8]]},"2589":{"position":[[203,9],[540,9]]},"2595":{"position":[[1232,8]]},"2607":{"position":[[423,8]]},"2617":{"position":[[2110,9],[4952,8]]}}}],["code",{"_index":33,"t":{"2544":{"position":[[357,4]]},"2597":{"position":[[1048,4]]},"2605":{"position":[[199,4]]},"2607":{"position":[[457,5]]},"2609":{"position":[[80,4]]},"2615":{"position":[[34,4]]},"2617":{"position":[[3455,4],[4356,5]]},"2620":{"position":[[502,5]]}}}],["codebas",{"_index":144,"t":{"2548":{"position":[[83,8]]},"2556":{"position":[[322,9]]},"2617":{"position":[[3395,8]]}}}],["coercer",{"_index":267,"t":{"2550":{"position":[[799,7]]}}}],["coercion",{"_index":266,"t":{"2550":{"position":[[780,8]]}}}],["collabor",{"_index":226,"t":{"2548":{"position":[[1371,13]]},"2552":{"position":[[1410,13],[1701,14]]},"2617":{"position":[[196,13],[517,13],[5138,13],[6148,13],[6214,13]]}}}],["collis",{"_index":1172,"t":{"2664":{"position":[[45,9]]}}}],["collud",{"_index":305,"t":{"2550":{"position":[[1399,9]]},"2589":{"position":[[375,7]]},"2603":{"position":[[105,7]]}}}],["collus",{"_index":11,"t":{"2544":{"position":[[88,9],[134,9]]},"2546":{"position":[[99,9],[360,9],[1374,9]]},"2548":{"position":[[977,10]]},"2550":{"position":[[129,10],[328,9],[462,10],[595,9],[939,9],[1763,9]]},"2564":{"position":[[65,9]]},"2566":{"position":[[50,9],[170,9]]},"2568":{"position":[[36,9],[156,9]]},"2570":{"position":[[285,9],[795,9]]},"2589":{"position":[[42,9],[118,10]]},"2593":{"position":[[84,9]]},"2595":{"position":[[37,9],[417,9],[1371,10]]},"2599":{"position":[[164,9]]},"2603":{"position":[[40,9],[252,9],[474,9]]},"2613":{"position":[[91,9]]},"2617":{"position":[[711,9],[1048,9],[1423,10],[1673,9]]},"2620":{"position":[[522,9],[605,9]]},"2672":{"position":[[60,9],[188,9],[347,9]]}}}],["come",{"_index":1117,"t":{"2644":{"position":[[213,5]]}}}],["command",{"_index":551,"t":{"2575":{"position":[[461,10],[497,7],[606,7],[821,7],[866,7],[2118,7],[2194,7],[2266,7],[2401,7],[2808,7],[2884,7]]},"2583":{"position":[[370,8]]},"2632":{"position":[[483,8],[583,8]]},"2636":{"position":[[212,8],[268,8],[317,7]]},"2638":{"position":[[363,7]]},"2640":{"position":[[5,7],[96,9]]},"2642":{"position":[[56,8],[123,9],[1501,7]]},"2646":{"position":[[8,7],[204,8]]},"2654":{"position":[[193,7]]},"2664":{"position":[[129,8]]},"2674":{"position":[[882,8],[1486,7],[1601,7]]},"2676":{"position":[[746,7],[1264,7],[1344,8],[1401,9],[1510,8],[1590,8]]},"2678":{"position":[[32,9],[168,9]]},"2683":{"position":[[576,7],[679,7],[900,7]]},"2685":{"position":[[168,7],[268,7]]},"2687":{"position":[[635,9]]},"2699":{"position":[[1163,7],[1175,7],[1328,7],[1439,8],[1588,8],[1616,7]]},"2701":{"position":[[577,9]]},"2706":{"position":[[219,8],[2704,8]]}}}],["command.newpublickeyi",{"_index":1370,"t":{"2706":{"position":[[316,22]]}}}],["command.newpublickeyx",{"_index":1369,"t":{"2706":{"position":[[293,22]]}}}],["command.nonc",{"_index":1371,"t":{"2706":{"position":[[389,13]]}}}],["command.voteoptionindex",{"_index":1390,"t":{"2706":{"position":[[2132,24],[2617,23]]}}}],["command.voteoptionpath",{"_index":1391,"t":{"2706":{"position":[[2157,23]]}}}],["command.voteweight",{"_index":1392,"t":{"2706":{"position":[[2181,19]]}}}],["command1",{"_index":616,"t":{"2577":{"position":[[746,8]]}}}],["command2",{"_index":618,"t":{"2577":{"position":[[768,8]]}}}],["command3",{"_index":620,"t":{"2577":{"position":[[790,8]]}}}],["commands/vot",{"_index":624,"t":{"2577":{"position":[[971,14]]}}}],["comment",{"_index":839,"t":{"2611":{"position":[[122,7]]},"2617":{"position":[[3460,8]]},"2638":{"position":[[10,8],[481,8]]},"2642":{"position":[[194,8]]}}}],["commit",{"_index":1292,"t":{"2689":{"position":[[852,10],[943,10],[1518,10]]},"2691":{"position":[[1318,10]]}}}],["common",{"_index":463,"t":{"2566":{"position":[[194,6]]},"2568":{"position":[[180,6]]},"2617":{"position":[[1466,6]]}}}],["commun",{"_index":172,"t":{"2548":{"position":[[381,9]]},"2550":{"position":[[1595,11]]},"2552":{"position":[[1729,9]]},"2617":{"position":[[231,10],[861,9],[4000,9],[4130,9],[4520,9],[4754,9],[4901,9],[5434,11],[5481,9],[5673,9],[6138,9],[6870,9],[7685,9]]},"2687":{"position":[[153,9]]}}}],["comparison",{"_index":381,"t":{"2552":{"position":[[1295,10]]}}}],["complet",{"_index":180,"t":{"2548":{"position":[[564,9]]},"2556":{"position":[[28,10],[241,9]]},"2562":{"position":[[210,9]]}}}],["complex",{"_index":553,"t":{"2575":{"position":[[673,7]]}}}],["complic",{"_index":608,"t":{"2577":{"position":[[595,11]]}}}],["compon",{"_index":501,"t":{"2570":{"position":[[404,9]]},"2577":{"position":[[1318,10]]}}}],["compris",{"_index":907,"t":{"2617":{"position":[[2871,8]]}}}],["compromis",{"_index":201,"t":{"2548":{"position":[[948,12]]}}}],["comput",{"_index":195,"t":{"2548":{"position":[[859,13]]},"2595":{"position":[[323,9]]},"2620":{"position":[[405,8]]},"2634":{"position":[[544,8]]},"2676":{"position":[[2394,8]]},"2687":{"position":[[1326,7]]},"2691":{"position":[[1636,8]]}}}],["computednewvoteoptionroot",{"_index":1367,"t":{"2706":{"position":[[228,26],[339,26],[2086,25],[2272,26],[2330,25],[2713,26]]}}}],["computedresult",{"_index":1315,"t":{"2691":{"position":[[616,15]]}}}],["computedresults[j",{"_index":1325,"t":{"2691":{"position":[[1243,18]]}}}],["computedvoteoptiontreeroot",{"_index":1319,"t":{"2691":{"position":[[986,26]]}}}],["concentr",{"_index":1261,"t":{"2687":{"position":[[501,12]]}}}],["concern",{"_index":329,"t":{"2552":{"position":[[107,9]]},"2617":{"position":[[7353,9]]}}}],["concurr",{"_index":338,"t":{"2552":{"position":[[275,13]]},"2617":{"position":[[2519,10],[2679,10],[2754,10]]}}}],["condit",{"_index":1331,"t":{"2693":{"position":[[0,9]]},"2708":{"position":[[0,9]]}}}],["confer",{"_index":969,"t":{"2617":{"position":[[5166,11]]}}}],["confus",{"_index":573,"t":{"2575":{"position":[[2035,9]]},"2642":{"position":[[18,7]]}}}],["consecut",{"_index":1279,"t":{"2687":{"position":[[1674,14]]}}}],["consensi",{"_index":505,"t":{"2570":{"position":[[495,9]]}}}],["consid",{"_index":276,"t":{"2550":{"position":[[908,8]]},"2573":{"position":[[958,10]]},"2575":{"position":[[641,10],[948,10]]},"2620":{"position":[[368,8]]},"2687":{"position":[[1127,8]]}}}],["constant",{"_index":1052,"t":{"2628":{"position":[[467,8]]}}}],["constraint",{"_index":1306,"t":{"2691":{"position":[[145,10],[328,10],[788,10],[1298,10],[1470,10]]},"2701":{"position":[[151,10],[493,10]]},"2706":{"position":[[2884,10],[3187,10],[3424,10]]}}}],["construct",{"_index":555,"t":{"2575":{"position":[[713,11]]}}}],["contain",{"_index":544,"t":{"2575":{"position":[[233,7],[2131,8],[2821,8]]},"2583":{"position":[[385,8]]},"2585":{"position":[[784,8]]},"2587":{"position":[[224,7]]},"2636":{"position":[[16,8]]},"2642":{"position":[[277,8],[1271,7],[1518,7]]}}}],["continu",{"_index":177,"t":{"2548":{"position":[[462,9]]}}}],["contract",{"_index":58,"t":{"2546":{"position":[[23,9],[1190,9]]},"2550":{"position":[[98,8]]},"2552":{"position":[[47,9],[1134,9]]},"2560":{"position":[[91,9]]},"2573":{"position":[[150,10],[1029,8]]},"2575":{"position":[[116,9],[2322,9],[2965,9]]},"2577":{"position":[[1427,10]]},"2579":{"position":[[166,9],[226,9],[283,8],[466,8],[513,8],[569,8],[663,8],[748,9],[795,8]]},"2581":{"position":[[63,9],[494,8],[613,8],[807,8],[887,8]]},"2583":{"position":[[73,9],[450,8]]},"2585":{"position":[[96,8],[1018,8],[1070,9],[1093,8],[1208,8]]},"2587":{"position":[[493,8],[589,8],[907,9]]},"2597":{"position":[[564,9],[579,8],[714,8]]},"2601":{"position":[[138,9],[275,8]]},"2605":{"position":[[630,8]]},"2622":{"position":[[21,8]]},"2624":{"position":[[41,9]]},"2628":{"position":[[154,9],[245,8],[372,8]]},"2632":{"position":[[821,8]]},"2634":{"position":[[750,8]]},"2662":{"position":[[246,8]]},"2666":{"position":[[43,8]]},"2672":{"position":[[310,10]]},"2674":{"position":[[105,9],[435,8],[778,9],[930,9]]},"2676":{"position":[[80,8],[184,8],[385,8],[690,9],[1201,8],[1768,9],[2216,8]]},"2683":{"position":[[182,9]]},"2689":{"position":[[116,8],[182,8],[269,8],[372,8],[587,8],[895,8],[1037,8]]},"2697":{"position":[[33,9]]}}}],["contract'",{"_index":1222,"t":{"2676":{"position":[[308,10]]},"2687":{"position":[[1233,10]]}}}],["contribut",{"_index":187,"t":{"2548":{"position":[[661,14],[765,14]]},"2550":{"position":[[1050,10]]},"2603":{"position":[[374,14]]},"2617":{"position":[[4161,13]]}}}],["contributor",{"_index":786,"t":{"2603":{"position":[[92,12],[492,13]]}}}],["control",{"_index":1201,"t":{"2672":{"position":[[549,8]]}}}],["convers",{"_index":863,"t":{"2617":{"position":[[409,12]]}}}],["convey",{"_index":1098,"t":{"2640":{"position":[[17,6]]}}}],["convinc",{"_index":78,"t":{"2546":{"position":[[427,9]]}}}],["coordin",{"_index":77,"t":{"2546":{"position":[[407,12],[558,12],[627,12],[720,12],[1046,12]]},"2550":{"position":[[1437,12]]},"2552":{"position":[[208,11],[671,11],[1280,12]]},"2558":{"position":[[133,11],[206,11]]},"2560":{"position":[[51,12]]},"2570":{"position":[[841,11],[989,12],[1056,11],[1147,12],[1470,12]]},"2573":{"position":[[89,12],[169,11],[238,12],[387,11],[492,11],[703,11],[814,12]]},"2575":{"position":[[973,11],[2336,11],[2484,11],[3056,11],[3536,11]]},"2577":{"position":[[933,11],[1026,11]]},"2579":{"position":[[819,11]]},"2583":{"position":[[215,11],[300,11]]},"2585":{"position":[[49,11],[346,11],[553,11],[608,11],[713,11],[847,11],[1271,11],[1331,11]]},"2587":{"position":[[52,11],[109,11],[706,11]]},"2595":{"position":[[224,12],[241,11],[462,11],[608,12],[675,11],[767,12],[1090,12]]},"2597":{"position":[[940,12]]},"2599":{"position":[[195,11],[222,11]]},"2601":{"position":[[377,11]]},"2605":{"position":[[27,11],[112,12],[416,11],[710,11]]},"2607":{"position":[[229,12]]},"2617":{"position":[[3759,11],[6487,11],[6542,11],[6628,11],[7837,11]]},"2620":{"position":[[62,11]]},"2632":{"position":[[412,11],[849,11]]},"2634":{"position":[[162,11]]},"2638":{"position":[[53,11],[99,11]]},"2642":{"position":[[402,10],[525,10],[658,11],[775,11],[1395,11],[1609,11]]},"2646":{"position":[[241,11]]},"2650":{"position":[[7,11]]},"2652":{"position":[[4,11],[173,11]]},"2654":{"position":[[93,11]]},"2662":{"position":[[207,11],[440,12]]},"2664":{"position":[[23,11],[195,11],[293,11],[385,11]]},"2672":{"position":[[380,11],[415,11]]},"2674":{"position":[[148,11]]},"2676":{"position":[[51,11],[1314,11],[2199,12],[2317,11]]},"2678":{"position":[[4,11]]},"2681":{"position":[[33,12]]},"2683":{"position":[[61,12],[206,11]]},"2687":{"position":[[1527,11]]},"2689":{"position":[[483,11],[674,11],[797,11],[1143,11],[1229,11],[1327,11]]},"2699":{"position":[[34,12]]},"2706":{"position":[[1085,11]]}}}],["coordinator'",{"_index":742,"t":{"2597":{"position":[[373,13]]},"2676":{"position":[[851,13]]},"2683":{"position":[[111,13],[818,13]]},"2697":{"position":[[93,13]]},"2699":{"position":[[1471,13]]},"2701":{"position":[[14,13],[185,13]]}}}],["coordinatorprivkey",{"_index":1354,"t":{"2699":{"position":[[1448,18]]}}}],["coordinatorpubkey",{"_index":1333,"t":{"2697":{"position":[[71,17]]},"2701":{"position":[[263,19]]}}}],["copi",{"_index":1238,"t":{"2683":{"position":[[99,4],[232,4]]}}}],["cordin",{"_index":801,"t":{"2605":{"position":[[75,10]]}}}],["core",{"_index":500,"t":{"2570":{"position":[[399,4]]},"2577":{"position":[[1313,4]]},"2617":{"position":[[124,4],[496,4],[1105,4]]}}}],["cori",{"_index":218,"t":{"2548":{"position":[[1225,4]]}}}],["correct",{"_index":109,"t":{"2546":{"position":[[998,7],[1409,7]]},"2570":{"position":[[1422,7]]},"2575":{"position":[[1008,7],[1481,7]]},"2577":{"position":[[1233,8]]},"2587":{"position":[[346,7],[859,7]]},"2595":{"position":[[1043,7]]},"2597":{"position":[[1186,11]]},"2620":{"position":[[87,11]]},"2634":{"position":[[187,11],[692,7]]},"2672":{"position":[[274,7]]},"2691":{"position":[[193,7],[839,7],[1358,7],[1509,7]]},"2695":{"position":[[24,11]]},"2706":{"position":[[867,7],[1431,7],[2030,7]]}}}],["correctli",{"_index":642,"t":{"2579":{"position":[[863,9]]},"2585":{"position":[[135,9],[188,9],[774,9],[1283,9]]},"2587":{"position":[[722,9]]},"2620":{"position":[[172,9]]},"2632":{"position":[[428,9]]},"2634":{"position":[[553,10]]},"2676":{"position":[[2030,9]]},"2701":{"position":[[530,9]]}}}],["correctnonc",{"_index":1376,"t":{"2706":{"position":[[879,12],[2790,12]]}}}],["correl",{"_index":793,"t":{"2603":{"position":[[354,11]]}}}],["correspond",{"_index":100,"t":{"2546":{"position":[[849,13]]},"2570":{"position":[[1275,13]]},"2595":{"position":[[895,13]]}}}],["corrupt",{"_index":521,"t":{"2573":{"position":[[402,8],[484,7]]}}}],["cost",{"_index":371,"t":{"2552":{"position":[[1072,5],[1256,5],[1325,5]]},"2662":{"position":[[45,4],[155,4],[378,5]]}}}],["count",{"_index":559,"t":{"2575":{"position":[[990,5],[1318,7],[3262,7]]},"2585":{"position":[[299,8],[575,5]]},"2587":{"position":[[1045,8]]}}}],["counter",{"_index":473,"t":{"2566":{"position":[[627,8]]},"2568":{"position":[[613,8]]},"2575":{"position":[[1632,7]]},"2630":{"position":[[100,8]]},"2632":{"position":[[303,8],[717,7]]}}}],["counti",{"_index":891,"t":{"2617":{"position":[[2349,10]]}}}],["cover",{"_index":628,"t":{"2577":{"position":[[1347,8]]}}}],["creat",{"_index":299,"t":{"2550":{"position":[[1306,8]]},"2570":{"position":[[140,7]]},"2575":{"position":[[1845,6],[2108,7],[2798,7]]},"2577":{"position":[[312,6]]},"2585":{"position":[[198,6],[730,7]]},"2587":{"position":[[121,7]]},"2593":{"position":[[310,7]]},"2595":{"position":[[107,7]]},"2617":{"position":[[1666,6],[4108,6],[5449,6],[7411,6]]},"2664":{"position":[[169,6],[262,6],[318,6]]},"2674":{"position":[[851,7]]},"2676":{"position":[[267,7]]},"2687":{"position":[[1296,7]]},"2706":{"position":[[1107,6]]}}}],["creator",{"_index":489,"t":{"2570":{"position":[[122,9]]}}}],["creator/own",{"_index":656,"t":{"2581":{"position":[[503,13],[816,13]]},"2583":{"position":[[34,13]]}}}],["credit",{"_index":409,"t":{"2556":{"position":[[114,7]]},"2581":{"position":[[197,6],[1024,6],[1094,6],[1227,7],[1329,7]]},"2599":{"position":[[27,6],[55,7]]},"2601":{"position":[[90,7],[898,6],[959,6],[1091,6]]},"2628":{"position":[[413,7],[512,7],[699,8]]},"2636":{"position":[[116,7],[581,7]]},"2638":{"position":[[281,7],[570,7]]},"2642":{"position":[[1119,7]]},"2646":{"position":[[528,7]]},"2685":{"position":[[853,7],[892,6],[1056,7]]},"2687":{"position":[[336,8],[430,7],[574,8],[658,7],[828,9],[920,7],[1074,7],[1203,7]]},"2691":{"position":[[35,7],[75,7],[592,7]]},"2699":{"position":[[596,7]]},"2706":{"position":[[1751,7]]},"2708":{"position":[[47,7]]}}}],["criteria",{"_index":1232,"t":{"2676":{"position":[[1962,9]]}}}],["cross",{"_index":929,"t":{"2617":{"position":[[3540,5]]}}}],["crypto",{"_index":312,"t":{"2550":{"position":[[1588,6]]}}}],["cryptoeconom",{"_index":248,"t":{"2550":{"position":[[378,14],[505,14]]}}}],["cryptograph",{"_index":876,"t":{"2617":{"position":[[1370,13]]}}}],["culmul",{"_index":1075,"t":{"2634":{"position":[[521,11]]},"2689":{"position":[[1091,9]]}}}],["cumul",{"_index":1276,"t":{"2687":{"position":[[1151,11]]}}}],["current",{"_index":190,"t":{"2548":{"position":[[706,9]]},"2556":{"position":[[254,9]]},"2558":{"position":[[119,9]]},"2601":{"position":[[337,7]]},"2603":{"position":[[771,9]]},"2605":{"position":[[602,7]]},"2624":{"position":[[156,7]]},"2630":{"position":[[31,7]]},"2634":{"position":[[500,7]]},"2642":{"position":[[721,7],[838,7]]},"2646":{"position":[[368,7],[591,7]]},"2676":{"position":[[1080,7]]},"2689":{"position":[[783,7]]},"2691":{"position":[[1336,7]]},"2697":{"position":[[139,7],[433,7]]},"2699":{"position":[[175,7],[280,7]]},"2706":{"position":[[971,7],[1385,7]]},"2708":{"position":[[469,7],[550,7]]}}}],["currentresult",{"_index":1293,"t":{"2689":{"position":[[880,14],[1022,14]]},"2691":{"position":[[634,14]]}}}],["currentresults[n",{"_index":1288,"t":{"2689":{"position":[[596,17]]}}}],["currentresultscommit",{"_index":1291,"t":{"2689":{"position":[[809,24]]},"2691":{"position":[[1427,24]]}}}],["currentresultssalt",{"_index":1290,"t":{"2689":{"position":[[686,18]]},"2691":{"position":[[1404,19]]}}}],["currentstateroot",{"_index":1334,"t":{"2697":{"position":[[118,16]]},"2706":{"position":[[1345,17],[3060,17]]}}}],["currentvoteoptionpathelements[n",{"_index":1340,"t":{"2699":{"position":[[194,32]]}}}],["currentvoteweight",{"_index":1343,"t":{"2699":{"position":[[497,17]]}}}],["custom",{"_index":345,"t":{"2552":{"position":[[430,6]]}}}],["cut",{"_index":471,"t":{"2566":{"position":[[415,3]]},"2568":{"position":[[401,3]]}}}],["d",{"_index":1123,"t":{"2644":{"position":[[474,3],[593,4],[1411,3]]}}}],["dao",{"_index":316,"t":{"2550":{"position":[[1672,6]]},"2617":{"position":[[1770,3],[2251,4]]}}}],["data",{"_index":535,"t":{"2573":{"position":[[889,4]]},"2581":{"position":[[178,4],[210,4]]},"2583":{"position":[[150,5]]},"2585":{"position":[[697,4]]},"2638":{"position":[[0,4],[471,4]]},"2642":{"position":[[184,4]]},"2683":{"position":[[879,4],[992,5]]},"2685":{"position":[[188,4]]},"2699":{"position":[[788,4]]}}}],["date",{"_index":761,"t":{"2597":{"position":[[1106,4]]}}}],["dave",{"_index":1204,"t":{"2674":{"position":[[160,5],[1302,5]]}}}],["dave'",{"_index":1212,"t":{"2674":{"position":[[723,6]]}}}],["deadlin",{"_index":1055,"t":{"2628":{"position":[[807,9]]}}}],["decentralis",{"_index":16,"t":{"2544":{"position":[[159,13]]},"2550":{"position":[[1633,13]]},"2564":{"position":[[78,13]]}}}],["decrypt",{"_index":89,"t":{"2546":{"position":[[658,7]]},"2558":{"position":[[156,7]]},"2570":{"position":[[1086,7]]},"2575":{"position":[[1720,8],[2348,8],[3000,9],[3068,8],[3548,9]]},"2577":{"position":[[993,10]]},"2583":{"position":[[343,7]]},"2585":{"position":[[145,9]]},"2595":{"position":[[705,7]]},"2646":{"position":[[329,9]]},"2664":{"position":[[66,12],[96,7]]},"2678":{"position":[[20,7],[68,7],[122,7],[208,7]]},"2701":{"position":[[401,7],[540,9]]},"2706":{"position":[[37,9]]}}}],["decrypt(ecdhsharedkey",{"_index":1361,"t":{"2701":{"position":[[444,22]]}}}],["decryptedcommand",{"_index":1360,"t":{"2701":{"position":[[425,16]]},"2706":{"position":[[50,16],[797,17]]}}}],["decryptedcommand.currentvoteoptionpathel",{"_index":1380,"t":{"2706":{"position":[[1528,47]]}}}],["decryptedcommand.currentvoteweight",{"_index":1382,"t":{"2706":{"position":[[1610,34],[1824,35]]}}}],["decryptedcommand.newvoteweight",{"_index":1386,"t":{"2706":{"position":[[1867,31],[2201,30]]}}}],["decryptedcommand.nonc",{"_index":1377,"t":{"2706":{"position":[[894,22]]}}}],["decryptedcommand.voteoptionindex",{"_index":1381,"t":{"2706":{"position":[[1576,33]]}}}],["deeper",{"_index":630,"t":{"2577":{"position":[[1378,6]]}}}],["defend",{"_index":284,"t":{"2550":{"position":[[1100,6]]}}}],["defin",{"_index":781,"t":{"2601":{"position":[[815,7]]},"2676":{"position":[[1809,7]]},"2683":{"position":[[307,6]]},"2685":{"position":[[523,7]]}}}],["defint",{"_index":1220,"t":{"2676":{"position":[[26,10]]}}}],["delet",{"_index":105,"t":{"2546":{"position":[[913,6]]},"2570":{"position":[[1338,6]]},"2595":{"position":[[958,6]]}}}],["demand",{"_index":268,"t":{"2550":{"position":[[807,7]]}}}],["democrat",{"_index":872,"t":{"2617":{"position":[[886,10]]}}}],["denial",{"_index":755,"t":{"2597":{"position":[[807,6]]}}}],["denot",{"_index":1255,"t":{"2685":{"position":[[914,7]]}}}],["depend",{"_index":1105,"t":{"2642":{"position":[[584,9],[870,9]]}}}],["deploy",{"_index":426,"t":{"2560":{"position":[[82,8]]},"2579":{"position":[[446,6]]},"2583":{"position":[[53,6]]},"2617":{"position":[[1904,7]]},"2676":{"position":[[63,7],[172,7]]}}}],["deposit",{"_index":377,"t":{"2552":{"position":[[1160,7]]},"2601":{"position":[[308,9],[487,8],[1105,9]]},"2660":{"position":[[54,7]]}}}],["depth",{"_index":1101,"t":{"2642":{"position":[[225,5],[936,5]]},"2646":{"position":[[783,6]]},"2689":{"position":[[158,5],[232,5]]},"2706":{"position":[[2469,6]]}}}],["deriv",{"_index":671,"t":{"2583":{"position":[[275,6]]},"2701":{"position":[[3,6]]}}}],["derivedcoordinatorpubkey",{"_index":1355,"t":{"2701":{"position":[[69,24]]}}}],["describ",{"_index":249,"t":{"2550":{"position":[[418,9]]},"2620":{"position":[[269,8]]},"2666":{"position":[[173,9]]},"2676":{"position":[[2503,9]]},"2683":{"position":[[411,9]]}}}],["descript",{"_index":554,"t":{"2575":{"position":[[681,11]]},"2595":{"position":[[405,11],[1432,11]]},"2599":{"position":[[8,11]]},"2601":{"position":[[1188,12]]},"2617":{"position":[[474,12],[7507,11]]},"2689":{"position":[[36,11]]},"2697":{"position":[[59,11]]},"2699":{"position":[[63,11]]}}}],["design",{"_index":304,"t":{"2550":{"position":[[1391,7]]},"2573":{"position":[[744,8]]},"2575":{"position":[[1620,8]]},"2620":{"position":[[464,10]]},"2656":{"position":[[19,8]]}}}],["despit",{"_index":914,"t":{"2617":{"position":[[3047,7]]}}}],["detail",{"_index":643,"t":{"2579":{"position":[[927,6]]},"2595":{"position":[[1423,8]]},"2597":{"position":[[187,8]]},"2601":{"position":[[1179,8]]},"2603":{"position":[[700,8]]},"2607":{"position":[[295,7]]},"2642":{"position":[[1318,8]]},"2699":{"position":[[1212,7]]}}}],["determin",{"_index":659,"t":{"2581":{"position":[[627,10],[901,10]]},"2628":{"position":[[170,10],[387,10]]}}}],["develop",{"_index":28,"t":{"2544":{"position":[[305,9]]},"2546":{"position":[[78,10],[242,10]]},"2548":{"position":[[244,9]]},"2552":{"position":[[316,10],[409,10],[955,9],[976,9],[1465,11]]},"2554":{"position":[[93,10]]},"2564":{"position":[[200,9]]},"2617":{"position":[[1633,10],[1846,10],[2430,11],[2901,9],[3635,9],[3931,11],[4498,10],[4675,11],[5230,11],[6425,11],[7589,11],[7615,9]]}}}],["dickson",{"_index":219,"t":{"2548":{"position":[[1230,7]]}}}],["differ",{"_index":446,"t":{"2562":{"position":[[340,9],[399,9]]},"2573":{"position":[[36,9]]},"2575":{"position":[[1082,9]]},"2579":{"position":[[55,9]]},"2589":{"position":[[452,11]]},"2595":{"position":[[1199,9]]},"2597":{"position":[[640,9]]},"2599":{"position":[[100,9]]},"2603":{"position":[[641,9]]},"2617":{"position":[[7214,9]]},"2620":{"position":[[300,10]]},"2628":{"position":[[502,9]]},"2636":{"position":[[554,9]]},"2664":{"position":[[119,9]]},"2676":{"position":[[2589,6]]}}}],["difficult",{"_index":229,"t":{"2550":{"position":[[11,9]]},"2672":{"position":[[217,10]]}}}],["diffus",{"_index":1262,"t":{"2687":{"position":[[518,7]]}}}],["direct",{"_index":962,"t":{"2617":{"position":[[4795,10]]}}}],["disapprov",{"_index":412,"t":{"2556":{"position":[[177,12]]}}}],["discontinu",{"_index":824,"t":{"2609":{"position":[[25,13]]}}}],["discord",{"_index":846,"t":{"2611":{"position":[[295,8]]},"2617":{"position":[[5069,9],[7477,7]]}}}],["discov",{"_index":731,"t":{"2597":{"position":[[69,10]]}}}],["discuss",{"_index":862,"t":{"2617":{"position":[[380,10],[436,10]]}}}],["dishonest",{"_index":1198,"t":{"2672":{"position":[[405,9]]}}}],["disincentivis",{"_index":1189,"t":{"2668":{"position":[[300,15]]}}}],["disproportion",{"_index":1271,"t":{"2687":{"position":[[777,16]]}}}],["distinct",{"_index":533,"t":{"2573":{"position":[[792,8]]},"2579":{"position":[[734,8]]}}}],["dive",{"_index":629,"t":{"2577":{"position":[[1373,4]]},"2593":{"position":[[229,4]]}}}],["doc",{"_index":817,"t":{"2605":{"position":[[753,4]]},"2607":{"position":[[287,3]]}}}],["docker",{"_index":812,"t":{"2605":{"position":[[462,6]]}}}],["document",{"_index":220,"t":{"2548":{"position":[[1271,14]]},"2593":{"position":[[196,13]]},"2601":{"position":[[1222,9]]},"2603":{"position":[[916,10]]},"2607":{"position":[[359,13]]},"2617":{"position":[[26,8],[320,8],[2599,13],[3617,13],[3675,13],[4362,13]]}}}],["docusauru",{"_index":933,"t":{"2617":{"position":[[3700,11]]}}}],["doesn’t",{"_index":701,"t":{"2589":{"position":[[81,7]]}}}],["dollar",{"_index":1179,"t":{"2668":{"position":[[39,6]]}}}],["don't",{"_index":1150,"t":{"2658":{"position":[[277,5]]}}}],["done",{"_index":672,"t":{"2585":{"position":[[19,4]]}}}],["down",{"_index":632,"t":{"2579":{"position":[[43,4]]}}}],["drive",{"_index":432,"t":{"2560":{"position":[[284,5]]}}}],["dub",{"_index":1095,"t":{"2638":{"position":[[442,3]]}}}],["due",{"_index":1259,"t":{"2687":{"position":[[109,3]]}}}],["dure",{"_index":752,"t":{"2597":{"position":[[744,6]]},"2601":{"position":[[1127,6]]},"2628":{"position":[[23,6]]},"2706":{"position":[[2557,6]]}}}],["dx",{"_index":908,"t":{"2617":{"position":[[2922,5],[4245,2],[7636,4]]}}}],["e",{"_index":881,"t":{"2617":{"position":[[1564,1]]},"2644":{"position":[[503,3],[588,4]]}}}],["e.g",{"_index":928,"t":{"2617":{"position":[[3534,5],[7105,5],[7190,5],[7244,5]]},"2662":{"position":[[114,5]]}}}],["each",{"_index":476,"t":{"2566":{"position":[[684,4]]},"2568":{"position":[[670,4]]},"2575":{"position":[[3558,4]]},"2579":{"position":[[389,4],[706,4],[882,4]]},"2585":{"position":[[155,4]]},"2601":{"position":[[840,4]]},"2603":{"position":[[118,4]]},"2620":{"position":[[102,4]]},"2624":{"position":[[280,4]]},"2634":{"position":[[286,4]]},"2636":{"position":[[0,4],[350,4],[592,4]]},"2640":{"position":[[0,4]]},"2642":{"position":[[93,4],[1220,4]]},"2644":{"position":[[189,4]]},"2662":{"position":[[0,4],[124,4]]},"2666":{"position":[[107,4]]},"2668":{"position":[[355,4]]},"2672":{"position":[[526,4]]},"2674":{"position":[[483,4],[788,4]]},"2676":{"position":[[257,4],[700,4],[1387,4],[1499,4],[2183,4]]},"2678":{"position":[[42,4]]},"2683":{"position":[[16,4],[240,4]]},"2685":{"position":[[353,4],[714,4]]},"2687":{"position":[[612,5],[1617,4]]},"2689":{"position":[[1286,4]]},"2691":{"position":[[571,4],[710,4],[863,4],[1144,4]]},"2695":{"position":[[39,4]]},"2699":{"position":[[1611,4]]}}}],["earli",{"_index":148,"t":{"2548":{"position":[[121,5],[1179,5]]}}}],["earlier",{"_index":653,"t":{"2581":{"position":[[334,7]]}}}],["eas",{"_index":930,"t":{"2617":{"position":[[3568,4]]}}}],["easi",{"_index":263,"t":{"2550":{"position":[[726,5]]},"2560":{"position":[[244,4]]},"2566":{"position":[[256,4]]},"2568":{"position":[[242,4]]},"2617":{"position":[[3252,4],[3275,4]]}}}],["easier",{"_index":424,"t":{"2560":{"position":[[40,6]]},"2599":{"position":[[245,6]]},"2617":{"position":[[6718,6],[6975,6],[7018,6]]}}}],["easili",{"_index":237,"t":{"2550":{"position":[[219,6],[1413,6]]},"2566":{"position":[[526,6]]},"2568":{"position":[[512,6]]}}}],["ecdh",{"_index":1069,"t":{"2632":{"position":[[877,4]]},"2676":{"position":[[906,5]]},"2683":{"position":[[747,4]]},"2699":{"position":[[1393,4]]},"2701":{"position":[[299,4],[382,4]]}}}],["ecdhsharedkey",{"_index":1358,"t":{"2701":{"position":[[312,13]]}}}],["ecosystem",{"_index":212,"t":{"2548":{"position":[[1156,10]]},"2617":{"position":[[2043,9],[2088,9],[5116,9],[6040,9],[7557,9]]}}}],["eddsa",{"_index":1132,"t":{"2646":{"position":[[376,5]]},"2676":{"position":[[278,5]]},"2683":{"position":[[34,5],[317,5],[717,5]]}}}],["eddsaderivepubkey(coordinatorprivkey",{"_index":1356,"t":{"2701":{"position":[[96,38]]}}}],["educ",{"_index":900,"t":{"2617":{"position":[[2615,11],[3658,9],[4378,11]]}}}],["effect",{"_index":81,"t":{"2546":{"position":[[477,13]]},"2570":{"position":[[911,13]]},"2595":{"position":[[532,13],[1275,9]]},"2674":{"position":[[1019,6]]}}}],["effici",{"_index":1011,"t":{"2617":{"position":[[7321,10]]},"2683":{"position":[[532,9]]}}}],["effort",{"_index":743,"t":{"2597":{"position":[[387,6]]},"2617":{"position":[[136,7],[6006,7]]}}}],["eighth",{"_index":192,"t":{"2548":{"position":[[727,6]]}}}],["eip197",{"_index":1243,"t":{"2683":{"position":[[424,7]]}}}],["elabor",{"_index":260,"t":{"2550":{"position":[[651,11]]}}}],["elect",{"_index":337,"t":{"2552":{"position":[[242,9]]},"2617":{"position":[[2339,9],[2404,9]]}}}],["element",{"_index":1285,"t":{"2689":{"position":[[433,8]]},"2699":{"position":[[119,8],[714,8],[924,8],[1026,8]]}}}],["elgam",{"_index":417,"t":{"2558":{"position":[[38,7]]},"2617":{"position":[[7111,7]]}}}],["empow",{"_index":884,"t":{"2617":{"position":[[1625,7]]}}}],["empti",{"_index":1028,"t":{"2624":{"position":[[262,5]]},"2628":{"position":[[740,5]]},"2676":{"position":[[221,5]]}}}],["enabl",{"_index":14,"t":{"2544":{"position":[[126,7]]},"2550":{"position":[[764,6]]},"2601":{"position":[[168,7]]},"2617":{"position":[[5474,6]]}}}],["encourag",{"_index":829,"t":{"2609":{"position":[[116,10]]},"2617":{"position":[[4188,11]]}}}],["encpubkey",{"_index":1352,"t":{"2699":{"position":[[1336,9]]},"2701":{"position":[[359,11]]}}}],["encpublickeyi",{"_index":1104,"t":{"2642":{"position":[[501,13]]}}}],["encpublickeyx",{"_index":1102,"t":{"2642":{"position":[[378,13]]}}}],["encrypt",{"_index":126,"t":{"2546":{"position":[[1349,11]]},"2558":{"position":[[108,10]]},"2573":{"position":[[642,7],[936,9],[1100,10]]},"2575":{"position":[[579,8],[2252,8],[2911,8]]},"2577":{"position":[[1096,7]]},"2583":{"position":[[164,10],[248,10],[486,10]]},"2632":{"position":[[902,7]]},"2642":{"position":[[480,7]]},"2674":{"position":[[695,8],[891,8],[1224,10],[1591,9]]},"2676":{"position":[[912,7]]},"2683":{"position":[[596,11],[651,7],[844,7],[982,9]]},"2685":{"position":[[258,9]]},"2699":{"position":[[1427,7]]}}}],["encrypt([command",{"_index":1252,"t":{"2685":{"position":[[290,18]]}}}],["encrypt(command1",{"_index":610,"t":{"2577":{"position":[[657,17]]}}}],["encrypt(command2",{"_index":612,"t":{"2577":{"position":[[686,17]]}}}],["encrypt(command3",{"_index":614,"t":{"2577":{"position":[[715,17]]}}}],["end",{"_index":774,"t":{"2601":{"position":[[358,3],[676,5],[772,6],[823,6]]},"2617":{"position":[[7029,3]]},"2628":{"position":[[783,4]]},"2676":{"position":[[586,4],[1377,5],[2307,5]]}}}],["enforc",{"_index":1167,"t":{"2662":{"position":[[480,7]]}}}],["engag",{"_index":944,"t":{"2617":{"position":[[4010,11],[4317,10],[5100,6],[7695,10]]}}}],["engin",{"_index":865,"t":{"2617":{"position":[[531,11]]}}}],["enhanc",{"_index":766,"t":{"2599":{"position":[[136,8]]}}}],["enough",{"_index":788,"t":{"2603":{"position":[[192,6]]},"2646":{"position":[[515,6]]},"2706":{"position":[[1735,6]]}}}],["enoughvoicecredit",{"_index":1387,"t":{"2706":{"position":[[1908,18],[2767,19]]}}}],["enquiri",{"_index":843,"t":{"2611":{"position":[[216,8]]}}}],["ensur",{"_index":123,"t":{"2546":{"position":[[1311,7]]},"2575":{"position":[[2385,6]]},"2587":{"position":[[505,6]]},"2601":{"position":[[791,7]]},"2605":{"position":[[183,6]]},"2630":{"position":[[14,7]]},"2687":{"position":[[1643,6]]},"2691":{"position":[[132,6],[315,6],[775,6],[1285,6],[1457,6]]},"2701":{"position":[[138,6],[480,6]]},"2706":{"position":[[2898,6],[3174,6],[3438,6]]}}}],["entiti",{"_index":797,"t":{"2603":{"position":[[608,6]]}}}],["entropi",{"_index":1145,"t":{"2654":{"position":[[141,8]]}}}],["environ",{"_index":917,"t":{"2617":{"position":[[3140,12]]}}}],["ephemer",{"_index":1103,"t":{"2642":{"position":[[420,9],[543,9]]},"2676":{"position":[[820,11]]},"2683":{"position":[[795,9]]}}}],["epherem",{"_index":1227,"t":{"2676":{"position":[[1160,9]]}}}],["ephermer",{"_index":1353,"t":{"2699":{"position":[[1350,10]]}}}],["equal",{"_index":1040,"t":{"2624":{"position":[[566,5]]},"2646":{"position":[[171,6],[668,5],[723,5],[801,5]]},"2706":{"position":[[3209,5]]}}}],["equat",{"_index":595,"t":{"2577":{"position":[[91,9],[159,8],[251,8],[419,8],[477,9],[573,8],[646,10]]}}}],["erc721",{"_index":1224,"t":{"2676":{"position":[[440,6]]}}}],["especi",{"_index":402,"t":{"2554":{"position":[[151,10]]},"2595":{"position":[[1298,10]]}}}],["essenti",{"_index":474,"t":{"2566":{"position":[[663,11]]},"2568":{"position":[[649,11]]},"2577":{"position":[[0,12]]}}}],["establish",{"_index":965,"t":{"2617":{"position":[[5030,9]]}}}],["etc",{"_index":893,"t":{"2617":{"position":[[2371,4]]},"2685":{"position":[[242,4]]}}}],["eth",{"_index":293,"t":{"2550":{"position":[[1224,3]]},"2662":{"position":[[193,4],[273,3]]},"2668":{"position":[[289,4]]}}}],["ethdenv",{"_index":163,"t":{"2548":{"position":[[266,9]]}}}],["ethereum",{"_index":118,"t":{"2546":{"position":[[1175,8],[1290,8]]},"2548":{"position":[[153,8],[372,8],[413,8],[1128,8]]},"2550":{"position":[[166,8]]},"2552":{"position":[[1720,8]]},"2554":{"position":[[237,9]]},"2617":{"position":[[1143,8],[4511,8]]},"2622":{"position":[[12,8]]},"2672":{"position":[[567,8]]},"2676":{"position":[[95,8],[1786,8]]},"2685":{"position":[[505,8]]}}}],["ethereum.org",{"_index":510,"t":{"2570":{"position":[[625,12]]}}}],["ethresear.ch",{"_index":138,"t":{"2548":{"position":[[19,12]]},"2672":{"position":[[140,12]]}}}],["ev",{"_index":1125,"t":{"2644":{"position":[[884,3],[1082,4],[1173,3]]}}}],["evalu",{"_index":982,"t":{"2617":{"position":[[5826,10]]}}}],["even",{"_index":91,"t":{"2546":{"position":[[703,4],[1029,4]]},"2552":{"position":[[757,4]]},"2570":{"position":[[1130,4],[1453,4]]},"2573":{"position":[[377,4]]},"2595":{"position":[[750,4],[1073,4]]},"2654":{"position":[[81,4]]},"2674":{"position":[[1383,4]]},"2676":{"position":[[2040,4]]},"2687":{"position":[[750,4]]}}}],["event",{"_index":176,"t":{"2548":{"position":[[452,6]]},"2668":{"position":[[177,5]]}}}],["everyon",{"_index":623,"t":{"2577":{"position":[[841,8]]},"2585":{"position":[[1236,8]]}}}],["exactli",{"_index":1083,"t":{"2636":{"position":[[392,7]]}}}],["examin",{"_index":238,"t":{"2550":{"position":[[226,7]]}}}],["exampl",{"_index":278,"t":{"2550":{"position":[[928,7]]},"2566":{"position":[[890,8]]},"2568":{"position":[[876,8]]},"2575":{"position":[[2059,8]]},"2577":{"position":[[172,8]]},"2585":{"position":[[453,8]]},"2644":{"position":[[308,8],[869,8],[1464,8]]},"2658":{"position":[[314,7]]}}}],["exce",{"_index":680,"t":{"2585":{"position":[[686,6]]}}}],["except",{"_index":75,"t":{"2546":{"position":[[390,6],[610,6]]},"2570":{"position":[[824,6],[1039,6]]},"2595":{"position":[[445,6],[658,6]]}}}],["exchang",{"_index":294,"t":{"2550":{"position":[[1231,8]]}}}],["excit",{"_index":453,"t":{"2564":{"position":[[137,7]]},"2617":{"position":[[6448,7]]}}}],["exclud",{"_index":1137,"t":{"2650":{"position":[[42,9]]}}}],["execut",{"_index":110,"t":{"2546":{"position":[[1006,10],[1417,9]]},"2552":{"position":[[1340,8]]},"2570":{"position":[[1430,10]]},"2595":{"position":[[1051,9]]},"2672":{"position":[[282,9],[466,10]]}}}],["exist",{"_index":430,"t":{"2560":{"position":[[215,8]]},"2699":{"position":[[263,9]]},"2706":{"position":[[1459,6]]}}}],["expand",{"_index":991,"t":{"2617":{"position":[[6059,6]]}}}],["experi",{"_index":29,"t":{"2544":{"position":[[315,10]]},"2617":{"position":[[2911,10],[5312,12],[7625,10],[7763,11]]}}}],["expertis",{"_index":977,"t":{"2617":{"position":[[5409,9]]}}}],["explain",{"_index":296,"t":{"2550":{"position":[[1265,7]]},"2579":{"position":[[909,9]]},"2581":{"position":[[321,9]]},"2583":{"position":[[182,9]]},"2603":{"position":[[709,12]]},"2620":{"position":[[580,10],[663,10]]}}}],["explor",{"_index":3,"t":{"2544":{"position":[[22,12]]},"2611":{"position":[[276,12]]},"2617":{"position":[[599,12],[6130,7],[6196,9],[7149,13]]}}}],["express",{"_index":391,"t":{"2552":{"position":[[1643,9]]},"2687":{"position":[[214,7]]}}}],["extent",{"_index":912,"t":{"2617":{"position":[[3002,6]]}}}],["extern",{"_index":227,"t":{"2548":{"position":[[1390,8]]},"2617":{"position":[[2206,8]]}}}],["extra",{"_index":525,"t":{"2573":{"position":[[458,5]]}}}],["extract",{"_index":787,"t":{"2603":{"position":[[139,7]]}}}],["face",{"_index":68,"t":{"2546":{"position":[[214,6]]}}}],["fail",{"_index":1142,"t":{"2652":{"position":[[213,4]]}}}],["failur",{"_index":919,"t":{"2617":{"position":[[3171,8]]}}}],["fair",{"_index":709,"t":{"2589":{"position":[[479,8]]}}}],["fake",{"_index":300,"t":{"2550":{"position":[[1315,4]]}}}],["fals",{"_index":112,"t":{"2546":{"position":[[1087,5]]},"2570":{"position":[[1511,5]]},"2573":{"position":[[576,5]]},"2595":{"position":[[1131,5]]},"2706":{"position":[[2938,5],[2959,6]]}}}],["faster",{"_index":359,"t":{"2552":{"position":[[815,6]]},"2617":{"position":[[4602,6]]}}}],["favor",{"_index":570,"t":{"2575":{"position":[[1872,5]]}}}],["feasibl",{"_index":896,"t":{"2617":{"position":[[2499,11],[2658,11],[2735,11]]}}}],["featur",{"_index":566,"t":{"2575":{"position":[[1566,8]]},"2591":{"position":[[105,9]]},"2593":{"position":[[168,9]]},"2599":{"position":[[0,7]]},"2609":{"position":[[52,7],[96,9]]}}}],["februari",{"_index":164,"t":{"2548":{"position":[[279,8]]},"2609":{"position":[[163,8]]}}}],["feedback",{"_index":54,"t":{"2544":{"position":[[672,8]]},"2617":{"position":[[459,9],[4574,8],[7332,9],[7884,8]]}}}],["feel",{"_index":834,"t":{"2611":{"position":[[66,4]]},"2617":{"position":[[7398,4]]}}}],["few",{"_index":547,"t":{"2575":{"position":[[342,3],[426,3]]}}}],["field",{"_index":1242,"t":{"2683":{"position":[[397,5]]},"2685":{"position":[[199,6]]},"2691":{"position":[[957,5]]}}}],["figur",{"_index":1235,"t":{"2676":{"position":[[2148,6]]}}}],["final",{"_index":213,"t":{"2548":{"position":[[1167,8]]},"2550":{"position":[[1550,8]]},"2552":{"position":[[1034,8],[1375,8]]},"2566":{"position":[[728,5]]},"2568":{"position":[[714,5]]},"2573":{"position":[[219,5],[290,5]]},"2575":{"position":[[3277,5]]},"2579":{"position":[[758,8]]},"2587":{"position":[[0,8],[800,5]]},"2603":{"position":[[745,8]]},"2617":{"position":[[1267,5]]},"2634":{"position":[[664,5]]},"2650":{"position":[[64,5]]},"2687":{"position":[[1491,5],[1552,5]]},"2689":{"position":[[80,5]]},"2691":{"position":[[1490,5]]}}}],["find",{"_index":606,"t":{"2577":{"position":[[526,4]]},"2603":{"position":[[959,7]]},"2664":{"position":[[38,4]]}}}],["first",{"_index":674,"t":{"2585":{"position":[[108,5]]},"2597":{"position":[[730,5]]},"2636":{"position":[[305,5]]},"2644":{"position":[[1140,6]]},"2674":{"position":[[358,5],[464,5],[1129,5]]},"2687":{"position":[[87,5]]}}}],["fit",{"_index":989,"t":{"2617":{"position":[[6014,3]]}}}],["fix",{"_index":43,"t":{"2544":{"position":[[511,6]]},"2548":{"position":[[1357,3]]},"2597":{"position":[[121,5],[1016,6]]},"2617":{"position":[[3195,3]]},"2676":{"position":[[599,5]]}}}],["flag",{"_index":1141,"t":{"2652":{"position":[[100,4]]},"2699":{"position":[[1248,4]]},"2706":{"position":[[1066,5],[2920,4],[3460,4]]},"2708":{"position":[[15,4]]}}}],["flexibl",{"_index":198,"t":{"2548":{"position":[[913,11]]},"2552":{"position":[[78,10]]}}}],["focu",{"_index":735,"t":{"2597":{"position":[[136,5]]},"2603":{"position":[[950,5]]},"2609":{"position":[[195,5]]},"2617":{"position":[[633,5],[1969,5]]}}}],["focus",{"_index":906,"t":{"2617":{"position":[[2835,7],[4252,7]]}}}],["fold",{"_index":1007,"t":{"2617":{"position":[[7174,7]]}}}],["folk",{"_index":403,"t":{"2554":{"position":[[162,5]]}}}],["follow",{"_index":72,"t":{"2546":{"position":[[338,9]]},"2552":{"position":[[1366,8]]},"2570":{"position":[[427,9],[732,9]]},"2577":{"position":[[149,9],[636,9]]},"2581":{"position":[[1262,9]]},"2583":{"position":[[140,9]]},"2601":{"position":[[1007,10]]},"2622":{"position":[[56,9]]},"2642":{"position":[[30,9]]},"2676":{"position":[[1428,9]]},"2683":{"position":[[612,9]]}}}],["fool",{"_index":1111,"t":{"2642":{"position":[[1253,4]]}}}],["form",{"_index":265,"t":{"2550":{"position":[[771,5],[1754,5]]},"2566":{"position":[[354,4]]},"2568":{"position":[[340,4]]},"2617":{"position":[[1444,5]]}}}],["fortun",{"_index":216,"t":{"2548":{"position":[[1203,9]]}}}],["forward",{"_index":385,"t":{"2552":{"position":[[1399,7]]},"2589":{"position":[[20,7]]}}}],["foster",{"_index":856,"t":{"2617":{"position":[[184,6]]}}}],["found",{"_index":42,"t":{"2544":{"position":[[495,5],[542,5]]},"2579":{"position":[[243,5]]}}}],["foundat",{"_index":151,"t":{"2548":{"position":[[162,11]]}}}],["framework",{"_index":983,"t":{"2617":{"position":[[5837,9]]}}}],["free",{"_index":835,"t":{"2611":{"position":[[71,4]]},"2617":{"position":[[7403,4]]}}}],["freeness",{"_index":84,"t":{"2546":{"position":[[511,9]]},"2570":{"position":[[944,9]]},"2595":{"position":[[566,8]]}}}],["full",{"_index":935,"t":{"2617":{"position":[[3792,4]]},"2634":{"position":[[424,4]]},"2685":{"position":[[384,4],[769,4]]},"2691":{"position":[[381,4]]},"2693":{"position":[[186,4]]}}}],["fullstateroot",{"_index":1280,"t":{"2689":{"position":[[55,13]]}}}],["fullstatetreedepth",{"_index":1281,"t":{"2689":{"position":[[125,18],[1437,18]]}}}],["function",{"_index":661,"t":{"2581":{"position":[[701,8],[987,8]]},"2587":{"position":[[425,9],[450,8],[545,8],[662,8]]},"2601":{"position":[[583,8],[700,8]]},"2617":{"position":[[6952,14]]},"2628":{"position":[[60,8],[292,8]]},"2630":{"position":[[5,8],[149,8]]},"2632":{"position":[[137,8],[655,8],[830,9]]},"2634":{"position":[[800,8]]},"2676":{"position":[[328,9],[394,8],[1237,9],[2225,10]]},"2687":{"position":[[1265,8],[1580,8]]},"2706":{"position":[[122,8],[191,8]]}}}],["fund",{"_index":21,"t":{"2544":{"position":[[221,7]]},"2546":{"position":[[169,7]]},"2548":{"position":[[403,5],[603,8]]},"2550":{"position":[[1018,7],[1117,8],[1253,6],[1349,5],[1501,6]]},"2564":{"position":[[113,7]]},"2589":{"position":[[263,8],[290,7],[409,6]]},"2595":{"position":[[1390,7]]},"2599":{"position":[[187,7]]},"2601":{"position":[[302,5],[406,5],[456,4]]},"2603":{"position":[[63,7],[166,7],[199,6]]},"2617":{"position":[[919,7],[979,7],[1750,7],[5304,7],[5683,7],[6880,7],[7283,8],[7755,7]]}}}],["fundament",{"_index":324,"t":{"2550":{"position":[[1839,11]]}}}],["further",{"_index":816,"t":{"2605":{"position":[[691,7]]},"2658":{"position":[[606,7]]}}}],["furthermor",{"_index":361,"t":{"2552":{"position":[[840,12]]}}}],["futur",{"_index":996,"t":{"2617":{"position":[[6302,6],[6474,7],[7821,6]]},"2650":{"position":[[165,6]]}}}],["ga",{"_index":30,"t":{"2544":{"position":[[330,3]]},"2548":{"position":[[851,3]]},"2552":{"position":[[1068,3],[1252,3],[1321,3]]},"2617":{"position":[[7292,3],[7317,3]]},"2662":{"position":[[374,3]]}}}],["game",{"_index":306,"t":{"2550":{"position":[[1429,4]]}}}],["gate",{"_index":343,"t":{"2552":{"position":[[364,4]]}}}],["gatekeep",{"_index":650,"t":{"2581":{"position":[[167,10],[558,10],[732,10]]}}}],["gather",{"_index":956,"t":{"2617":{"position":[[4551,6]]}}}],["genecdhkey(coordinatorprivkey",{"_index":1359,"t":{"2701":{"position":[[328,30]]}}}],["gener",{"_index":360,"t":{"2552":{"position":[[828,11]]},"2560":{"position":[[165,8]]},"2570":{"position":[[6,7],[668,7]]},"2579":{"position":[[4,7]]},"2597":{"position":[[1040,7]]},"2603":{"position":[[323,11],[803,8]]},"2617":{"position":[[6104,8],[6691,10]]},"2652":{"position":[[221,8]]},"2676":{"position":[[496,9],[879,8],[1445,8],[1632,8],[2360,9],[2562,8]]},"2683":{"position":[[4,11],[735,8]]},"2689":{"position":[[336,9]]},"2693":{"position":[[91,9],[149,9],[279,9]]},"2699":{"position":[[1380,8]]},"2701":{"position":[[286,8]]},"2706":{"position":[[131,9],[2969,8],[3140,8]]},"2708":{"position":[[513,9],[600,9]]}}}],["generatedmsgtreeroot",{"_index":1363,"t":{"2703":{"position":[[4,20]]}}}],["generatemerkleroot",{"_index":1311,"t":{"2691":{"position":[[405,19]]},"2706":{"position":[[1240,19],[1508,19]]}}}],["generatemerkleroot(msgtreepathel",{"_index":1364,"t":{"2703":{"position":[[27,39]]}}}],["generatestateleaf",{"_index":1366,"t":{"2706":{"position":[[200,18],[2685,18]]}}}],["gentre",{"_index":1330,"t":{"2691":{"position":[[1594,7]]}}}],["gentree(result",{"_index":1302,"t":{"2689":{"position":[[1615,17]]}}}],["gentree(stateleav",{"_index":1309,"t":{"2691":{"position":[[290,21]]}}}],["gentree(voteleaves[i",{"_index":1320,"t":{"2691":{"position":[[1015,22]]}}}],["get",{"_index":456,"t":{"2564":{"position":[[232,7]]},"2581":{"position":[[940,5]]},"2658":{"position":[[645,4]]},"2691":{"position":[[94,4]]}}}],["gh",{"_index":964,"t":{"2617":{"position":[[5016,2]]}}}],["gitcoin",{"_index":281,"t":{"2550":{"position":[[977,7],[1141,7],[1484,7]]}}}],["github",{"_index":637,"t":{"2579":{"position":[[261,6]]},"2613":{"position":[[5,6]]},"2615":{"position":[[42,6]]},"2617":{"position":[[429,6],[4986,6],[6287,6],[6734,6],[7046,6],[7434,6]]}}}],["give",{"_index":470,"t":{"2566":{"position":[[404,4]]},"2568":{"position":[[390,4]]},"2575":{"position":[[3620,5]]},"2644":{"position":[[774,5]]},"2658":{"position":[[206,5]]}}}],["given",{"_index":663,"t":{"2581":{"position":[[929,5]]},"2587":{"position":[[254,5]]},"2601":{"position":[[989,5],[1159,5]]},"2632":{"position":[[499,5],[628,5]]},"2646":{"position":[[0,5]]},"2689":{"position":[[353,5]]},"2701":{"position":[[210,5]]},"2706":{"position":[[1488,5]]}}}],["glossari",{"_index":1219,"t":{"2676":{"position":[[13,8]]},"2685":{"position":[[105,8]]}}}],["go",{"_index":511,"t":{"2570":{"position":[[656,2]]},"2579":{"position":[[415,5]]}}}],["goal",{"_index":194,"t":{"2548":{"position":[[830,4]]},"2617":{"position":[[1796,4],[2053,6],[2442,6],[3209,4],[5749,5],[7567,5],[7601,5],[7780,4]]}}}],["good",{"_index":175,"t":{"2548":{"position":[[435,6],[597,5]]},"2550":{"position":[[1071,7]]},"2575":{"position":[[3439,4]]},"2595":{"position":[[1405,6]]},"2601":{"position":[[468,6]]},"2617":{"position":[[1086,4]]}}}],["gosl",{"_index":406,"t":{"2556":{"position":[[16,7]]}}}],["govern",{"_index":317,"t":{"2550":{"position":[[1685,6]]},"2617":{"position":[[897,10],[1210,11],[1774,10],[2260,10]]}}}],["grant",{"_index":282,"t":{"2550":{"position":[[985,6],[1183,5]]},"2556":{"position":[[41,5]]},"2617":{"position":[[992,5]]}}}],["grante",{"_index":150,"t":{"2548":{"position":[[135,8]]}}}],["great",{"_index":503,"t":{"2570":{"position":[[450,5]]}}}],["greater",{"_index":327,"t":{"2552":{"position":[[70,7],[599,7]]}}}],["greatli",{"_index":462,"t":{"2566":{"position":[[152,7]]},"2568":{"position":[[138,7]]},"2617":{"position":[[693,7]]}}}],["group",{"_index":307,"t":{"2550":{"position":[[1452,5],[1543,6]]},"2577":{"position":[[373,5]]},"2585":{"position":[[645,6]]},"2617":{"position":[[7250,5]]}}}],["grow",{"_index":397,"t":{"2554":{"position":[[37,4]]}}}],["guarante",{"_index":202,"t":{"2548":{"position":[[1008,11]]}}}],["guid",{"_index":934,"t":{"2617":{"position":[[3771,6],[4767,5]]}}}],["gurkan",{"_index":1195,"t":{"2670":{"position":[[35,7]]}}}],["hackathon",{"_index":971,"t":{"2617":{"position":[[5185,9]]}}}],["handl",{"_index":644,"t":{"2581":{"position":[[32,7]]},"2617":{"position":[[1925,6]]},"2699":{"position":[[1604,6]]}}}],["happen",{"_index":1146,"t":{"2656":{"position":[[69,7]]}}}],["hard",{"_index":451,"t":{"2564":{"position":[[38,4]]}}}],["hardcod",{"_index":775,"t":{"2601":{"position":[[417,9]]},"2689":{"position":[[144,9],[218,9]]},"2706":{"position":[[2547,9]]}}}],["harder",{"_index":702,"t":{"2589":{"position":[[150,7]]}}}],["hardwar",{"_index":357,"t":{"2552":{"position":[[776,9]]},"2658":{"position":[[253,9],[346,9],[373,8],[550,8],[786,9]]}}}],["hash",{"_index":684,"t":{"2585":{"position":[[920,4]]},"2587":{"position":[[334,4]]},"2597":{"position":[[688,4]]},"2624":{"position":[[337,4]]},"2628":{"position":[[658,4]]},"2634":{"position":[[601,7]]},"2676":{"position":[[1253,6]]},"2683":{"position":[[670,4],[696,4]]},"2689":{"position":[[731,4],[1077,4],[1536,4]]}}}],["hash(gentree(computedresult",{"_index":1329,"t":{"2691":{"position":[[1525,30]]}}}],["hash(gentree(currentresult",{"_index":1328,"t":{"2691":{"position":[[1374,29]]}}}],["hash(root",{"_index":1303,"t":{"2689":{"position":[[1633,10]]}}}],["hashcloack",{"_index":728,"t":{"2597":{"position":[[20,10]]}}}],["hashcloak",{"_index":40,"t":{"2544":{"position":[[464,10]]}}}],["have",{"_index":764,"t":{"2599":{"position":[[75,6]]},"2687":{"position":[[969,6]]}}}],["hear",{"_index":1015,"t":{"2617":{"position":[[7383,4]]}}}],["help",{"_index":490,"t":{"2570":{"position":[[155,7]]},"2575":{"position":[[3744,8]]},"2577":{"position":[[1362,7]]},"2617":{"position":[[4543,4],[5755,4]]},"2685":{"position":[[121,4]]}}}],["helper",{"_index":367,"t":{"2552":{"position":[[1009,6]]}}}],["here",{"_index":45,"t":{"2544":{"position":[[548,5]]},"2575":{"position":[[2048,4]]},"2577":{"position":[[835,5]]},"2603":{"position":[[927,4]]},"2615":{"position":[[0,4]]},"2617":{"position":[[4449,4],[5738,5]]}}}],["hide",{"_index":475,"t":{"2566":{"position":[[675,4]]},"2568":{"position":[[661,4]]},"2634":{"position":[[568,5]]}}}],["high",{"_index":732,"t":{"2597":{"position":[[88,4],[219,4]]},"2617":{"position":[[2027,4],[2414,4],[7541,4],[7573,4]]},"2687":{"position":[[120,4]]}}}],["highli",{"_index":47,"t":{"2544":{"position":[[581,6]]}}}],["highlight",{"_index":286,"t":{"2550":{"position":[[1149,10]]}}}],["histori",{"_index":487,"t":{"2570":{"position":[[28,7]]}}}],["hold",{"_index":773,"t":{"2601":{"position":[[289,4]]}}}],["homepag",{"_index":1180,"t":{"2668":{"position":[[46,8]]}}}],["honest",{"_index":1197,"t":{"2672":{"position":[[395,7]]}}}],["hope",{"_index":392,"t":{"2552":{"position":[[1683,4]]},"2560":{"position":[[264,4]]},"2562":{"position":[[85,4]]},"2617":{"position":[[4444,4]]}}}],["http",{"_index":808,"t":{"2605":{"position":[[290,4]]}}}],["https://www.vitalik.ca/general/2019/10/01/story.html",{"_index":1158,"t":{"2658":{"position":[[819,52]]}}}],["huge",{"_index":700,"t":{"2589":{"position":[[10,4]]}}}],["human",{"_index":1004,"t":{"2617":{"position":[[6622,5]]}}}],["i.",{"_index":803,"t":{"2605":{"position":[[101,5],[134,5]]},"2664":{"position":[[79,4]]},"2706":{"position":[[559,5]]}}}],["idea",{"_index":208,"t":{"2548":{"position":[[1082,6]]},"2554":{"position":[[61,6]]},"2570":{"position":[[227,4],[361,4]]},"2575":{"position":[[3444,4]]},"2617":{"position":[[7363,6]]}}}],["iden3’",{"_index":358,"t":{"2552":{"position":[[797,7]]}}}],["ident",{"_index":543,"t":{"2575":{"position":[[156,8]]},"2603":{"position":[[560,8],[651,11]]},"2672":{"position":[[504,8]]}}}],["identifi",{"_index":968,"t":{"2617":{"position":[[5129,8]]}}}],["ignor",{"_index":1229,"t":{"2676":{"position":[[1571,6]]},"2691":{"position":[[747,6]]}}}],["illustr",{"_index":274,"t":{"2550":{"position":[[885,10]]},"2573":{"position":[[1079,12]]},"2575":{"position":[[728,11]]}}}],["imag",{"_index":1183,"t":{"2668":{"position":[[123,7]]}}}],["immedi",{"_index":1207,"t":{"2674":{"position":[[294,11]]}}}],["imo",{"_index":1160,"t":{"2660":{"position":[[45,4]]}}}],["impact",{"_index":401,"t":{"2554":{"position":[[135,9]]},"2687":{"position":[[844,6]]}}}],["implement",{"_index":351,"t":{"2552":{"position":[[584,11]]},"2562":{"position":[[106,12]]},"2603":{"position":[[729,15]]},"2607":{"position":[[80,11],[324,9]]},"2617":{"position":[[3343,9],[3872,15],[5583,14],[6780,14]]},"2642":{"position":[[601,15],[887,15]]},"2672":{"position":[[29,14]]}}}],["implic",{"_index":1116,"t":{"2644":{"position":[[79,12]]}}}],["import",{"_index":247,"t":{"2550":{"position":[[364,9],[1567,9]]},"2570":{"position":[[44,10]]},"2575":{"position":[[3473,9]]},"2589":{"position":[[496,9]]},"2617":{"position":[[6395,9]]},"2644":{"position":[[69,9]]}}}],["imposs",{"_index":1171,"t":{"2664":{"position":[[6,10],[144,10],[237,10]]},"2674":{"position":[[954,10]]}}}],["improv",{"_index":178,"t":{"2548":{"position":[[497,7],[901,7]]},"2595":{"position":[[170,9]]},"2617":{"position":[[3408,8],[3497,7],[3518,7],[4235,9],[4346,9],[4612,7],[6900,12],[7063,13],[7871,12]]}}}],["improve/cr",{"_index":931,"t":{"2617":{"position":[[3602,14]]}}}],["inbound",{"_index":994,"t":{"2617":{"position":[[6113,7]]}}}],["incent",{"_index":254,"t":{"2550":{"position":[[520,9]]},"2566":{"position":[[1109,9]]},"2568":{"position":[[1095,9]]},"2589":{"position":[[362,9]]}}}],["incentiv",{"_index":585,"t":{"2575":{"position":[[3376,12]]}}}],["incept",{"_index":722,"t":{"2595":{"position":[[1163,10]]}}}],["includ",{"_index":549,"t":{"2575":{"position":[[358,9]]},"2591":{"position":[[77,9]]},"2605":{"position":[[9,8]]},"2683":{"position":[[884,8]]},"2685":{"position":[[206,7]]},"2699":{"position":[[1195,8]]}}}],["inclus",{"_index":1397,"t":{"2706":{"position":[[2476,10]]}}}],["incomplet",{"_index":738,"t":{"2597":{"position":[[266,10]]}}}],["incorrect",{"_index":746,"t":{"2597":{"position":[[441,9]]}}}],["increas",{"_index":320,"t":{"2550":{"position":[[1783,8]]},"2566":{"position":[[160,9]]},"2568":{"position":[[146,9]]},"2617":{"position":[[701,9],[5864,8]]},"2644":{"position":[[244,10]]},"2662":{"position":[[172,10]]}}}],["increasingli",{"_index":313,"t":{"2550":{"position":[[1611,12]]}}}],["increment",{"_index":374,"t":{"2552":{"position":[[1110,11]]},"2630":{"position":[[77,10]]},"2632":{"position":[[532,10]]}}}],["inde",{"_index":1133,"t":{"2646":{"position":[[448,6]]},"2674":{"position":[[1344,6]]}}}],["independ",{"_index":1379,"t":{"2706":{"position":[[1039,11]]}}}],["index",{"_index":778,"t":{"2601":{"position":[[566,6]]},"2628":{"position":[[588,5],[600,5]]},"2632":{"position":[[560,5]]},"2642":{"position":[[235,5],[946,5]]},"2646":{"position":[[706,5],[760,5]]},"2676":{"position":[[2103,5]]},"2687":{"position":[[1608,5]]},"2689":{"position":[[540,5]]},"2697":{"position":[[239,5],[315,5],[380,5]]},"2699":{"position":[[831,5]]},"2706":{"position":[[541,5],[1494,5],[2399,5],[3127,5]]},"2708":{"position":[[315,5],[391,5]]}}}],["indic",{"_index":388,"t":{"2552":{"position":[[1551,9]]},"2632":{"position":[[725,9]]}}}],["individu",{"_index":520,"t":{"2573":{"position":[[354,11],[767,10]]},"2577":{"position":[[960,10]]},"2587":{"position":[[956,10]]},"2617":{"position":[[1234,10]]}}}],["individual’",{"_index":627,"t":{"2577":{"position":[[1273,12]]}}}],["influenc",{"_index":1208,"t":{"2674":{"position":[[375,10]]},"2687":{"position":[[988,9]]}}}],["info",{"_index":668,"t":{"2581":{"position":[[1277,4]]},"2617":{"position":[[341,4]]}}}],["inform",{"_index":648,"t":{"2581":{"position":[[108,11]]},"2605":{"position":[[583,11]]},"2642":{"position":[[1441,11],[1526,11]]},"2685":{"position":[[396,11],[781,11]]}}}],["infrastructur",{"_index":12,"t":{"2544":{"position":[[98,14]]},"2560":{"position":[[345,15]]},"2566":{"position":[[60,15]]},"2568":{"position":[[46,15]]},"2570":{"position":[[295,15]]},"2593":{"position":[[94,14]]},"2613":{"position":[[101,14]]},"2617":{"position":[[1058,15],[1119,14],[1943,14],[5381,15]]},"2620":{"position":[[532,15],[615,15]]},"2672":{"position":[[70,14]]}}}],["inherit",{"_index":119,"t":{"2546":{"position":[[1232,8]]}}}],["initi",{"_index":143,"t":{"2548":{"position":[[75,7]]},"2579":{"position":[[366,7]]},"2581":{"position":[[183,7],[1010,7]]},"2597":{"position":[[533,14],[751,15]]},"2601":{"position":[[890,7]]},"2617":{"position":[[927,12],[3306,11],[4806,11],[5726,11],[5780,11],[7641,11],[7706,11],[7785,11]]},"2628":{"position":[[442,10]]},"2658":{"position":[[47,7],[428,7],[763,7]]},"2683":{"position":[[353,10]]}}}],["initialvoicecreditproxi",{"_index":662,"t":{"2581":{"position":[[840,26]]},"2628":{"position":[[348,23]]}}}],["input",{"_index":428,"t":{"2560":{"position":[[191,6]]},"2585":{"position":[[972,5]]},"2617":{"position":[[4739,5],[5285,5]]},"2620":{"position":[[319,6],[419,7],[458,5]]},"2632":{"position":[[226,6]]},"2689":{"position":[[25,5]]},"2697":{"position":[[11,6]]},"2699":{"position":[[12,6]]},"2701":{"position":[[222,5]]},"2706":{"position":[[1422,5],[2529,6],[3269,6]]}}}],["insert",{"_index":751,"t":{"2597":{"position":[[665,9]]},"2601":{"position":[[597,6]]},"2638":{"position":[[354,8]]},"2646":{"position":[[542,9]]},"2676":{"position":[[1276,7],[2079,6]]},"2691":{"position":[[884,8]]}}}],["insid",{"_index":679,"t":{"2585":{"position":[[426,6]]}}}],["insight",{"_index":957,"t":{"2617":{"position":[[4558,10]]}}}],["instanc",{"_index":233,"t":{"2550":{"position":[[144,9]]},"2552":{"position":[[174,8],[387,9],[1523,9]]},"2562":{"position":[[182,9]]},"2605":{"position":[[353,9],[469,10]]},"2628":{"position":[[230,9]]},"2636":{"position":[[225,9]]},"2674":{"position":[[1060,9]]},"2687":{"position":[[541,9]]},"2689":{"position":[[1598,9]]}}}],["instead",{"_index":440,"t":{"2562":{"position":[[73,8]]},"2644":{"position":[[956,8]]}}}],["insuffici",{"_index":1405,"t":{"2708":{"position":[[28,12]]}}}],["integ",{"_index":739,"t":{"2597":{"position":[[313,7]]}}}],["integr",{"_index":179,"t":{"2548":{"position":[[514,9],[1303,11]]},"2550":{"position":[[76,10]]},"2595":{"position":[[1314,10]]},"2617":{"position":[[1868,9],[2071,10],[2131,10],[2178,10],[2289,12],[3103,10],[3283,9],[3576,11],[4146,12],[4486,11],[4924,12],[4966,12],[5608,9],[6262,13],[6805,9],[7201,12]]}}}],["intent",{"_index":842,"t":{"2611":{"position":[[177,9]]}}}],["interact",{"_index":810,"t":{"2605":{"position":[[329,8]]},"2617":{"position":[[4468,12]]}}}],["intercept",{"_index":747,"t":{"2597":{"position":[[457,12]]}}}],["interchang",{"_index":1249,"t":{"2685":{"position":[[83,16]]}}}],["interest",{"_index":311,"t":{"2550":{"position":[[1522,10]]},"2552":{"position":[[1653,8]]},"2554":{"position":[[119,11]]},"2564":{"position":[[218,10]]},"2617":{"position":[[6121,8]]},"2687":{"position":[[135,8],[526,10]]}}}],["interfac",{"_index":425,"t":{"2560":{"position":[[67,9]]},"2622":{"position":[[66,10]]}}}],["intermedi",{"_index":1074,"t":{"2634":{"position":[[336,12],[392,12]]},"2687":{"position":[[1430,12],[1622,12]]},"2689":{"position":[[245,12],[311,12]]},"2691":{"position":[[165,12],[348,12]]},"2693":{"position":[[46,12],[211,12]]}}}],["intermediatepathel",{"_index":1312,"t":{"2691":{"position":[[425,25]]}}}],["intermediatepathelements[k",{"_index":1284,"t":{"2689":{"position":[[381,27]]}}}],["intermediatepathindex",{"_index":1287,"t":{"2689":{"position":[[495,21]]},"2691":{"position":[[451,22],[666,21]]}}}],["intermediateroot",{"_index":1313,"t":{"2691":{"position":[[474,16]]}}}],["intermediatestateroot",{"_index":1283,"t":{"2689":{"position":[[278,21],[447,21],[551,21]]}}}],["intermediatestatetreedepth",{"_index":1282,"t":{"2689":{"position":[[191,26],[1458,26]]}}}],["introduc",{"_index":789,"t":{"2603":{"position":[[228,10]]}}}],["introduct",{"_index":458,"t":{"2566":{"position":[[0,13]]},"2570":{"position":[[467,12],[547,12]]},"2575":{"position":[[3717,12]]},"2595":{"position":[[1486,12]]},"2613":{"position":[[35,12]]}}}],["invalid",{"_index":561,"t":{"2575":{"position":[[1302,7],[1852,7],[3233,7],[3353,8]]},"2624":{"position":[[111,7]]},"2628":{"position":[[624,7]]},"2644":{"position":[[288,7],[688,7],[1160,8],[1262,10]]},"2652":{"position":[[77,8]]},"2654":{"position":[[204,8]]},"2674":{"position":[[1522,10]]},"2676":{"position":[[1582,7],[1842,7]]},"2693":{"position":[[18,7],[101,7],[159,7]]},"2706":{"position":[[1117,7]]},"2708":{"position":[[100,7],[159,7],[222,7],[296,7],[366,7],[442,7],[523,7]]}}}],["invalu",{"_index":228,"t":{"2548":{"position":[[1414,10]]}}}],["invest",{"_index":135,"t":{"2546":{"position":[[1541,10]]}}}],["invok",{"_index":1221,"t":{"2676":{"position":[[296,7],[666,6]]}}}],["involv",{"_index":457,"t":{"2564":{"position":[[240,8]]},"2611":{"position":[[23,8]]}}}],["issu",{"_index":52,"t":{"2544":{"position":[[645,6]]},"2579":{"position":[[693,7],[711,5]]},"2597":{"position":[[229,6],[511,5],[966,6],[1029,6]]},"2603":{"position":[[907,5]]},"2609":{"position":[[221,6]]},"2611":{"position":[[112,6],[144,5]]},"2617":{"position":[[7421,5]]},"2674":{"position":[[620,6]]}}}],["iter",{"_index":860,"t":{"2617":{"position":[[265,7],[4594,7]]}}}],["it’",{"_index":586,"t":{"2575":{"position":[[3468,4]]},"2617":{"position":[[6372,4]]}}}],["j",{"_index":1323,"t":{"2691":{"position":[[1160,1]]}}}],["jie",{"_index":157,"t":{"2548":{"position":[[203,4]]},"2570":{"position":[[106,4]]},"2620":{"position":[[562,4],[645,4]]},"2662":{"position":[[539,4]]},"2670":{"position":[[73,3]]}}}],["jie’",{"_index":517,"t":{"2570":{"position":[[779,5]]}}}],["join",{"_index":468,"t":{"2566":{"position":[[362,5]]},"2568":{"position":[[348,5]]},"2617":{"position":[[400,4]]}}}],["k",{"_index":1299,"t":{"2689":{"position":[[1432,1]]}}}],["keccak256",{"_index":1032,"t":{"2624":{"position":[[327,9]]}}}],["keen",{"_index":399,"t":{"2554":{"position":[[75,4]]}}}],["keep",{"_index":204,"t":{"2548":{"position":[[1053,4]]},"2552":{"position":[[369,4]]},"2579":{"position":[[311,7]]},"2585":{"position":[[244,5],[367,4]]},"2687":{"position":[[1589,5]]}}}],["kendrick",{"_index":153,"t":{"2548":{"position":[[181,8]]},"2670":{"position":[[16,8]]}}}],["kept",{"_index":340,"t":{"2552":{"position":[[295,4]]}}}],["key",{"_index":97,"t":{"2546":{"position":[[817,3],[870,4]]},"2570":{"position":[[1243,3],[1296,3]]},"2573":{"position":[[676,3],[730,3],[801,3]]},"2575":{"position":[[71,3],[138,3],[270,4],[377,4],[521,3],[854,4],[923,4],[1056,3],[1119,4],[1181,3],[1267,4],[1366,3],[1546,3],[1602,3],[1787,3],[1837,3],[1963,4],[2093,3],[2173,3],[2214,3],[2225,3],[2437,3],[2450,3],[2556,3],[2570,3],[2720,3],[2863,3],[2904,3],[3149,3],[3172,3]]},"2579":{"position":[[381,3]]},"2581":{"position":[[155,3],[226,3],[253,3],[380,3],[428,3],[1319,3]]},"2583":{"position":[[175,3],[259,3],[291,4],[336,3],[497,3]]},"2595":{"position":[[314,4],[863,3],[916,4]]},"2599":{"position":[[115,3]]},"2601":{"position":[[255,5]]},"2605":{"position":[[671,4]]},"2617":{"position":[[7119,3]]},"2624":{"position":[[187,4]]},"2628":{"position":[[677,4]]},"2632":{"position":[[889,4]]},"2636":{"position":[[41,4],[369,3]]},"2640":{"position":[[26,3]]},"2642":{"position":[[297,3],[437,4],[465,3],[560,4],[729,4],[846,4]]},"2646":{"position":[[390,4]]},"2658":{"position":[[25,3],[62,4],[139,4],[221,3],[403,3],[443,3],[465,3],[595,3],[614,3],[771,3]]},"2672":{"position":[[584,4]]},"2674":{"position":[[90,3],[179,3],[525,3],[690,4],[737,4],[871,3],[1142,3],[1246,3],[1482,3],[1538,4]]},"2676":{"position":[[764,3],[832,3],[872,3],[897,3],[988,3],[1095,3],[1177,3],[1894,3],[1945,4],[2071,4]]},"2683":{"position":[[0,3],[132,4],[259,4],[331,3],[450,3],[731,3],[759,3],[786,3],[805,4],[839,4],[924,3],[1017,4],[1040,4]]},"2685":{"position":[[232,4],[321,5],[372,3]]},"2697":{"position":[[114,3]]},"2699":{"position":[[1275,3],[1307,3],[1368,3],[1405,3],[1493,4]]},"2701":{"position":[[35,3],[61,3],[206,3],[304,3],[394,3]]}}}],["key'",{"_index":1089,"t":{"2638":{"position":[[45,5],[91,5]]},"2642":{"position":[[650,5],[767,5]]}}}],["keypair",{"_index":1213,"t":{"2674":{"position":[[814,7]]},"2676":{"position":[[284,7]]},"2683":{"position":[[40,8]]}}}],["kind",{"_index":270,"t":{"2550":{"position":[[827,4]]},"2603":{"position":[[244,4]]}}}],["know",{"_index":532,"t":{"2573":{"position":[[719,5]]},"2575":{"position":[[3315,7],[3486,4]]},"2577":{"position":[[49,4],[211,4],[453,4],[945,5],[1068,4]]},"2632":{"position":[[868,4]]},"2642":{"position":[[1463,4]]},"2654":{"position":[[24,4]]}}}],["knowledg",{"_index":60,"t":{"2546":{"position":[[42,9],[1209,9]]},"2548":{"position":[[1146,9]]},"2605":{"position":[[655,9]]}}}],["known",{"_index":1205,"t":{"2674":{"position":[[186,5]]}}}],["kobi",{"_index":1194,"t":{"2670":{"position":[[30,4]]}}}],["koh",{"_index":155,"t":{"2548":{"position":[[195,3]]},"2620":{"position":[[554,3],[637,3]]},"2670":{"position":[[65,3]]}}}],["kyle",{"_index":847,"t":{"2613":{"position":[[62,4]]}}}],["lack",{"_index":748,"t":{"2597":{"position":[[525,4]]}}}],["landscap",{"_index":986,"t":{"2617":{"position":[[5922,9]]}}}],["larg",{"_index":704,"t":{"2589":{"position":[[318,6],[356,5]]},"2683":{"position":[[373,6]]}}}],["larger",{"_index":799,"t":{"2603":{"position":[[883,6],[1000,6]]}}}],["last",{"_index":183,"t":{"2548":{"position":[[616,4]]},"2644":{"position":[[135,4]]}}}],["lastli",{"_index":496,"t":{"2570":{"position":[[311,7]]}}}],["late",{"_index":146,"t":{"2548":{"position":[[107,4],[811,4]]}}}],["later",{"_index":654,"t":{"2581":{"position":[[384,5]]},"2585":{"position":[[390,5],[501,5]]},"2628":{"position":[[819,5]]},"2644":{"position":[[1087,6]]},"2674":{"position":[[202,5]]}}}],["latest",{"_index":363,"t":{"2552":{"position":[[896,6]]},"2609":{"position":[[138,6]]},"2644":{"position":[[747,6]]},"2697":{"position":[[402,6]]},"2699":{"position":[[144,6],[1139,6]]}}}],["launch",{"_index":993,"t":{"2617":{"position":[[6094,6]]}}}],["leader",{"_index":871,"t":{"2617":{"position":[[871,7]]}}}],["leaf",{"_index":1024,"t":{"2624":{"position":[[203,4]]},"2628":{"position":[[550,4],[646,4]]},"2636":{"position":[[11,4],[410,5],[421,4]]},"2642":{"position":[[40,4],[80,4],[178,5],[248,4],[362,4],[959,4],[1008,4]]},"2646":{"position":[[577,4],[701,4],[755,4]]},"2654":{"position":[[113,4]]},"2676":{"position":[[512,4],[1554,4],[1606,4],[1627,4],[2095,4]]},"2691":{"position":[[754,4],[873,4],[976,5]]},"2697":{"position":[[310,4],[421,4]]},"2699":{"position":[[163,4],[300,5],[449,5],[765,4],[878,4],[974,4],[1062,4],[1090,4],[1158,4],[1227,5]]},"2706":{"position":[[149,4],[536,4],[979,4],[1412,6],[2076,5],[3119,4]]},"2708":{"position":[[82,4],[141,4],[204,4],[278,4],[310,4],[348,4],[424,4]]}}}],["leaf'",{"_index":1388,"t":{"2706":{"position":[[1991,6]]}}}],["learn",{"_index":404,"t":{"2554":{"position":[[186,5]]}}}],["leav",{"_index":1029,"t":{"2624":{"position":[[268,7]]},"2626":{"position":[[32,6]]},"2628":{"position":[[632,8]]},"2634":{"position":[[278,7],[306,6]]},"2638":{"position":[[401,6],[451,7]]},"2654":{"position":[[52,6]]},"2687":{"position":[[1373,7],[1415,6]]},"2689":{"position":[[365,6],[667,6],[766,6],[990,6],[1136,6],[1194,6],[1275,6],[1319,7],[1410,6],[1574,7]]},"2691":{"position":[[1236,6],[1674,7]]},"2693":{"position":[[32,6],[121,6]]}}}],["left",{"_index":321,"t":{"2550":{"position":[[1795,4]]},"2636":{"position":[[134,5]]},"2646":{"position":[[536,5]]}}}],["legitim",{"_index":1200,"t":{"2672":{"position":[[531,10]]}}}],["length",{"_index":1301,"t":{"2689":{"position":[[1502,6]]}}}],["leq",{"_index":1372,"t":{"2706":{"position":[[571,3]]}}}],["less",{"_index":1010,"t":{"2617":{"position":[[7296,4]]},"2646":{"position":[[715,4]]}}}],["let'",{"_index":714,"t":{"2593":{"position":[[252,5]]}}}],["level",{"_index":887,"t":{"2617":{"position":[[2032,5],[2419,5],[7546,5],[7578,5]]}}}],["liang",{"_index":160,"t":{"2548":{"position":[[223,6]]},"2670":{"position":[[54,6]]}}}],["life",{"_index":1186,"t":{"2668":{"position":[[172,4]]}}}],["lifecycl",{"_index":936,"t":{"2617":{"position":[[3802,9]]}}}],["likewis",{"_index":1239,"t":{"2683":{"position":[[192,9]]}}}],["limit",{"_index":681,"t":{"2585":{"position":[[702,6]]},"2662":{"position":[[493,5]]},"2685":{"position":[[1032,7]]},"2687":{"position":[[312,7]]}}}],["link",{"_index":849,"t":{"2615":{"position":[[10,4]]}}}],["list",{"_index":592,"t":{"2575":{"position":[[3703,6]]},"2691":{"position":[[1666,4]]}}}],["live",{"_index":807,"t":{"2605":{"position":[[254,5]]}}}],["lock",{"_index":1147,"t":{"2658":{"position":[[18,6],[754,4]]}}}],["logic",{"_index":342,"t":{"2552":{"position":[[355,5],[437,5]]},"2617":{"position":[[1991,5]]},"2650":{"position":[[86,5]]},"2706":{"position":[[458,6]]}}}],["long",{"_index":557,"t":{"2575":{"position":[[797,4]]},"2597":{"position":[[902,4]]},"2617":{"position":[[1502,4]]},"2674":{"position":[[1556,4]]}}}],["longer",{"_index":1226,"t":{"2676":{"position":[[659,6]]}}}],["look",{"_index":384,"t":{"2552":{"position":[[1391,7]]}}}],["love",{"_index":1014,"t":{"2617":{"position":[[7375,4]]}}}],["m",{"_index":1298,"t":{"2689":{"position":[[1385,1]]},"2691":{"position":[[738,2]]}}}],["maci",{"_index":13,"t":{"2544":{"position":[[113,7],[121,4],[440,4]]},"2546":{"position":[[0,4],[188,4],[1131,4],[1459,4]]},"2548":{"position":[[0,4],[230,4],[505,4]]},"2550":{"position":[[451,4],[1559,4]]},"2552":{"position":[[186,5],[515,4],[659,4],[1608,4],[1674,5]]},"2554":{"position":[[29,4]]},"2556":{"position":[[317,4]]},"2558":{"position":[[23,4]]},"2560":{"position":[[307,4]]},"2562":{"position":[[27,4],[119,4],[262,5],[371,4]]},"2566":{"position":[[14,5],[509,5],[622,4]]},"2568":{"position":[[0,5],[495,5],[608,4]]},"2570":{"position":[[58,5],[90,4],[196,5],[235,5],[417,5],[688,4]]},"2573":{"position":[[7,4],[139,4],[1018,4]]},"2575":{"position":[[105,4],[2311,4],[2954,4],[3456,4]]},"2577":{"position":[[563,5],[1332,4],[1394,4]]},"2579":{"position":[[178,5],[256,4],[278,4],[564,4],[658,4]]},"2581":{"position":[[24,4],[478,4],[786,4],[1158,4],[1246,4]]},"2583":{"position":[[29,4]]},"2585":{"position":[[1132,4]]},"2589":{"position":[[0,4],[158,4],[430,4]]},"2591":{"position":[[15,4]]},"2593":{"position":[[64,4],[286,4]]},"2595":{"position":[[0,4],[180,4],[390,5],[1174,4],[1285,4],[1447,5]]},"2597":{"position":[[0,4],[149,4]]},"2599":{"position":[[110,4],[252,4]]},"2605":{"position":[[0,4],[107,4],[343,5]]},"2607":{"position":[[0,4],[260,5],[334,4],[443,4]]},"2609":{"position":[[0,4],[39,4],[232,4]]},"2611":{"position":[[37,4]]},"2613":{"position":[[0,4],[51,4]]},"2617":{"position":[[0,4],[60,4],[491,4],[645,5],[1006,4],[1029,4],[1228,5],[1517,4],[1658,4],[1912,4],[2038,4],[2066,4],[2126,4],[2173,4],[2229,4],[2308,4],[2382,4],[2425,4],[2463,4],[2574,4],[2896,4],[2975,4],[3025,4],[3041,5],[3068,5],[3114,4],[3244,4],[3365,4],[3899,4],[3926,4],[3961,4],[3995,4],[4096,5],[4620,4],[4919,4],[5010,5],[5618,4],[6482,4],[6713,4],[6815,4],[7058,4],[7301,4],[7485,6],[7519,4],[7552,4],[7584,4],[7610,4],[7680,4],[7832,4],[7866,4]]},"2620":{"position":[[35,5],[575,4],[658,4]]},"2622":{"position":[[30,6]]},"2624":{"position":[[36,4],[356,7]]},"2628":{"position":[[836,4]]},"2666":{"position":[[38,4]]},"2668":{"position":[[21,4]]},"2672":{"position":[[85,7],[178,4],[330,4],[487,4]]},"2674":{"position":[[219,4]]},"2676":{"position":[[75,4]]},"2687":{"position":[[104,4],[1228,4]]}}}],["maci.deploypol",{"_index":641,"t":{"2579":{"position":[[479,18]]}}}],["maci.signup",{"_index":649,"t":{"2581":{"position":[[133,14],[682,14],[968,14]]}}}],["maci.sol",{"_index":645,"t":{"2581":{"position":[[48,8]]}}}],["maci/qf",{"_index":995,"t":{"2617":{"position":[[6254,7]]}}}],["maci’",{"_index":222,"t":{"2548":{"position":[[1296,6]]},"2552":{"position":[[34,6]]}}}],["macmillan",{"_index":166,"t":{"2548":{"position":[[306,9]]}}}],["main",{"_index":415,"t":{"2556":{"position":[[312,4]]},"2579":{"position":[[155,4]]},"2595":{"position":[[371,4]]},"2706":{"position":[[445,4]]}}}],["maintain",{"_index":1021,"t":{"2624":{"position":[[3,8]]}}}],["mainten",{"_index":950,"t":{"2617":{"position":[[4294,12],[4998,11]]}}}],["major",{"_index":23,"t":{"2544":{"position":[[256,5]]},"2617":{"position":[[2848,5]]},"2662":{"position":[[303,8]]}}}],["make",{"_index":423,"t":{"2560":{"position":[[31,5]]},"2579":{"position":[[141,4]]},"2589":{"position":[[137,4],[445,4]]},"2597":{"position":[[431,6]]},"2617":{"position":[[147,4],[3239,4],[6706,6],[6967,4],[7010,4]]},"2644":{"position":[[1150,5]]},"2646":{"position":[[482,4]]},"2672":{"position":[[183,4]]},"2674":{"position":[[945,5]]}}}],["malici",{"_index":753,"t":{"2597":{"position":[[769,9]]},"2601":{"position":[[198,9]]},"2662":{"position":[[319,9]]}}}],["manag",{"_index":369,"t":{"2552":{"position":[[1025,8]]},"2560":{"position":[[105,6]]}}}],["mandat",{"_index":1209,"t":{"2674":{"position":[[447,7]]}}}],["mani",{"_index":336,"t":{"2552":{"position":[[237,4]]},"2581":{"position":[[916,4],[1050,4],[1216,4]]},"2617":{"position":[[1138,4]]},"2628":{"position":[[402,4]]},"2662":{"position":[[53,4]]},"2685":{"position":[[617,4],[842,4]]},"2687":{"position":[[27,4],[1063,4]]}}}],["manipul",{"_index":878,"t":{"2617":{"position":[[1453,12]]}}}],["map",{"_index":1023,"t":{"2624":{"position":[[164,7]]},"2685":{"position":[[337,7]]}}}],["mark",{"_index":448,"t":{"2564":{"position":[[13,5]]},"2575":{"position":[[1292,6]]}}}],["match",{"_index":295,"t":{"2550":{"position":[[1244,8],[1340,8],[1492,8]]},"2575":{"position":[[3128,5]]},"2617":{"position":[[7224,8],[7261,8]]},"2691":{"position":[[921,7]]},"2701":{"position":[[170,7]]}}}],["mathemat",{"_index":594,"t":{"2577":{"position":[[78,12]]}}}],["matter",{"_index":1077,"t":{"2634":{"position":[[734,6]]}}}],["maximum",{"_index":1135,"t":{"2646":{"position":[[741,7]]},"2697":{"position":[[302,7]]},"2706":{"position":[[582,7]]}}}],["maxstateleafindex",{"_index":1337,"t":{"2697":{"position":[[280,17]]},"2706":{"position":[[656,17]]}}}],["mean",{"_index":1067,"t":{"2632":{"position":[[397,5]]},"2685":{"position":[[160,7]]},"2687":{"position":[[1168,5]]}}}],["meant",{"_index":658,"t":{"2581":{"position":[[572,5]]},"2642":{"position":[[1244,5]]}}}],["measur",{"_index":985,"t":{"2617":{"position":[[5906,7]]}}}],["mechan",{"_index":255,"t":{"2550":{"position":[[530,10]]},"2552":{"position":[[1174,10],[1200,9]]},"2617":{"position":[[7130,10],[7233,10]]},"2662":{"position":[[625,10]]},"2676":{"position":[[364,9]]},"2687":{"position":[[55,11]]}}}],["media",{"_index":974,"t":{"2617":{"position":[[5212,6]]}}}],["member",{"_index":955,"t":{"2617":{"position":[[4530,7]]},"2672":{"position":[[542,6]]}}}],["memori",{"_index":715,"t":{"2593":{"position":[[271,6]]},"2632":{"position":[[53,6],[86,6],[118,6]]},"2634":{"position":[[93,6],[132,6]]}}}],["mention",{"_index":652,"t":{"2581":{"position":[[257,9]]}}}],["mere",{"_index":1272,"t":{"2687":{"position":[[884,6]]}}}],["merg",{"_index":37,"t":{"2544":{"position":[[427,6]]},"2556":{"position":[[296,6]]},"2628":{"position":[[895,6]]}}}],["merkl",{"_index":375,"t":{"2552":{"position":[[1122,6]]},"2581":{"position":[[1299,6]]},"2583":{"position":[[518,6]]},"2597":{"position":[[702,6]]},"2624":{"position":[[16,6]]},"2626":{"position":[[17,6]]},"2634":{"position":[[369,6]]},"2636":{"position":[[50,6],[635,6]]},"2638":{"position":[[138,6]]},"2642":{"position":[[1550,6]]},"2689":{"position":[[86,6],[324,6],[421,6],[528,6],[1546,6]]},"2691":{"position":[[201,6],[909,6],[1647,6]]},"2693":{"position":[[167,6]]},"2697":{"position":[[174,6],[227,6],[368,6]]},"2699":{"position":[[107,6],[231,6],[381,6],[702,6],[819,6],[912,6],[1014,6]]},"2706":{"position":[[1002,6],[1156,6],[1199,6]]},"2708":{"position":[[450,6],[531,6]]}}}],["merkletreeupd",{"_index":1402,"t":{"2706":{"position":[[3006,17],[3299,17]]}}}],["messag",{"_index":537,"t":{"2573":{"position":[[971,9],[1005,7]]},"2575":{"position":[[220,7],[654,8],[702,7],[937,7],[1276,7],[1702,8],[1860,8],[2281,7],[2362,8],[2462,7],[2924,7],[3010,7],[3083,7],[3198,8],[3222,7],[3563,7]]},"2577":{"position":[[869,8],[1008,9],[1111,8]]},"2579":{"position":[[89,7],[105,8],[550,9],[949,8]]},"2583":{"position":[[156,7],[355,7],[432,8],[474,7],[510,7]]},"2585":{"position":[[160,7],[332,9],[372,8],[418,7],[519,7],[633,8],[808,9],[1317,9],[1374,8]]},"2587":{"position":[[18,8],[95,9],[163,8],[209,8],[881,8]]},"2597":{"position":[[304,8],[605,8],[736,7]]},"2601":{"position":[[118,7],[612,7],[629,7],[749,8]]},"2605":{"position":[[394,7]]},"2624":{"position":[[84,8]]},"2630":{"position":[[92,7],[130,7]]},"2632":{"position":[[295,7],[514,9],[547,7],[709,7],[753,8],[914,9]]},"2642":{"position":[[318,8],[492,8],[1225,8],[1236,7]]},"2644":{"position":[[0,8],[146,7],[200,7],[335,9],[538,8],[579,8]]},"2646":{"position":[[339,7]]},"2650":{"position":[[29,7],[146,7],[172,7]]},"2662":{"position":[[58,8],[140,7],[233,8]]},"2664":{"position":[[58,7],[106,7],[178,7],[271,7]]},"2674":{"position":[[364,7],[470,7],[1259,7]]},"2676":{"position":[[1136,8],[1296,7],[1850,7],[2130,7],[2270,7]]},"2678":{"position":[[86,9],[143,8],[220,9]]},"2683":{"position":[[661,8]]},"2685":{"position":[[247,7]]},"2689":{"position":[[1494,7]]},"2697":{"position":[[193,7],[252,7],[267,7]]},"2699":{"position":[[658,7],[670,7],[730,7],[757,7]]},"2701":{"position":[[413,7],[467,9],[513,7]]},"2703":{"position":[[85,9]]},"2706":{"position":[[4,7]]}}}],["message'",{"_index":1139,"t":{"2652":{"position":[[34,9]]}}}],["message1",{"_index":611,"t":{"2577":{"position":[[677,8]]}}}],["message2",{"_index":613,"t":{"2577":{"position":[[706,8]]}}}],["message3",{"_index":615,"t":{"2577":{"position":[[735,8]]}}}],["messagetre",{"_index":1022,"t":{"2624":{"position":[[72,11]]}}}],["mileston",{"_index":943,"t":{"2617":{"position":[[3982,9]]}}}],["million",{"_index":1178,"t":{"2668":{"position":[[31,7]]}}}],["mind",{"_index":1127,"t":{"2644":{"position":[[1221,5],[1497,4]]}}}],["mine",{"_index":309,"t":{"2550":{"position":[[1478,5]]}}}],["minim",{"_index":9,"t":{"2544":{"position":[[75,7]]},"2566":{"position":[[37,7]]},"2568":{"position":[[23,7]]},"2570":{"position":[[272,7]]},"2593":{"position":[[71,7]]},"2613":{"position":[[78,7]]},"2617":{"position":[[1034,8],[6640,8]]}}}],["minimum",{"_index":1020,"t":{"2620":{"position":[[508,8],[591,8]]},"2672":{"position":[[47,7]]}}}],["minor",{"_index":759,"t":{"2597":{"position":[[1023,5]]}}}],["minu",{"_index":1130,"t":{"2646":{"position":[[287,5]]}}}],["mission",{"_index":874,"t":{"2617":{"position":[[1011,7],[2820,8],[5524,7],[7524,7]]}}}],["mitig",{"_index":1177,"t":{"2666":{"position":[[137,11]]},"2674":{"position":[[237,8]]}}}],["modifi",{"_index":104,"t":{"2546":{"position":[[903,6]]},"2552":{"position":[[1151,8]]},"2570":{"position":[[1328,6]]},"2595":{"position":[[948,6]]}}}],["modular",{"_index":925,"t":{"2617":{"position":[[3440,10]]}}}],["modulo",{"_index":1241,"t":{"2683":{"position":[[380,6],[563,6]]}}}],["mongodb",{"_index":814,"t":{"2605":{"position":[[544,7]]}}}],["month",{"_index":737,"t":{"2597":{"position":[[171,7]]}}}],["more",{"_index":184,"t":{"2548":{"position":[[634,4],[745,4]]},"2550":{"position":[[314,4]]},"2552":{"position":[[713,4]]},"2560":{"position":[[290,4]]},"2575":{"position":[[668,4],[3739,4]]},"2577":{"position":[[590,4]]},"2579":{"position":[[922,4]]},"2593":{"position":[[143,4]]},"2595":{"position":[[1418,4]]},"2597":{"position":[[182,4],[1095,4],[1147,4]]},"2603":{"position":[[349,4],[695,4]]},"2609":{"position":[[68,4]]},"2617":{"position":[[161,4],[191,4],[5708,4]]},"2642":{"position":[[1313,4]]},"2662":{"position":[[360,4]]},"2683":{"position":[[486,4]]}}}],["motiv",{"_index":250,"t":{"2550":{"position":[[432,11]]}}}],["msgtreepathel",{"_index":1344,"t":{"2699":{"position":[[678,19]]}}}],["msgtreepathindex",{"_index":1336,"t":{"2697":{"position":[[206,16]]},"2703":{"position":[[67,17]]}}}],["msgtreeroot",{"_index":1335,"t":{"2697":{"position":[[158,11]]},"2703":{"position":[[124,13]]}}}],["mt",{"_index":1318,"t":{"2691":{"position":[[901,3]]}}}],["much",{"_index":590,"t":{"2575":{"position":[[3638,4],[3734,4]]},"2577":{"position":[[585,4]]},"2589":{"position":[[145,4]]},"2593":{"position":[[184,4]]}}}],["multipl",{"_index":332,"t":{"2552":{"position":[[143,8]]},"2560":{"position":[[124,8]]},"2579":{"position":[[594,8],[684,8]]},"2601":{"position":[[39,8],[928,8]]},"2617":{"position":[[2242,8]]},"2636":{"position":[[523,8]]},"2642":{"position":[[114,8]]}}}],["municip",{"_index":890,"t":{"2617":{"position":[[2329,9]]}}}],["n",{"_index":1136,"t":{"2650":{"position":[[37,1]]},"2689":{"position":[[1339,1]]},"2691":{"position":[[1170,2]]}}}],["n+1",{"_index":1138,"t":{"2650":{"position":[[154,3]]}}}],["n/a",{"_index":1406,"t":{"2708":{"position":[[488,3],[575,3]]}}}],["naiv",{"_index":230,"t":{"2550":{"position":[[25,5]]}}}],["name",{"_index":152,"t":{"2548":{"position":[[174,6]]},"2674":{"position":[[19,5]]},"2689":{"position":[[11,4]]},"2697":{"position":[[54,4]]},"2699":{"position":[[58,4]]}}}],["name=barri",{"_index":1157,"t":{"2658":{"position":[[704,12]]},"2660":{"position":[[0,12]]}}}],["name=kobi",{"_index":1149,"t":{"2658":{"position":[[263,11]]}}}],["name=wei",{"_index":1169,"t":{"2662":{"position":[[529,9]]}}}],["nation",{"_index":895,"t":{"2617":{"position":[[2395,8]]}}}],["natspec",{"_index":927,"t":{"2617":{"position":[[3485,8]]}}}],["natur",{"_index":297,"t":{"2550":{"position":[[1277,6]]},"2676":{"position":[[2620,6]]}}}],["necessari",{"_index":815,"t":{"2605":{"position":[[573,9]]},"2642":{"position":[[1289,9]]}}}],["need",{"_index":434,"t":{"2560":{"position":[[328,4]]},"2581":{"position":[[79,4],[304,4]]},"2583":{"position":[[232,4]]},"2593":{"position":[[189,6]]},"2595":{"position":[[205,4]]},"2601":{"position":[[536,4]]},"2617":{"position":[[5277,5]]},"2674":{"position":[[1448,5]]},"2683":{"position":[[632,6]]},"2699":{"position":[[243,6],[393,6]]}}}],["neg",{"_index":407,"t":{"2556":{"position":[[59,8],[211,8]]},"2644":{"position":[[268,8]]}}}],["network",{"_index":978,"t":{"2617":{"position":[[5423,7]]}}}],["never",{"_index":528,"t":{"2573":{"position":[[523,5]]}}}],["new",{"_index":206,"t":{"2548":{"position":[[1066,3]]},"2552":{"position":[[1196,3],[1504,3]]},"2554":{"position":[[57,3]]},"2575":{"position":[[1146,3],[1170,3],[2682,3]]},"2581":{"position":[[1143,3]]},"2585":{"position":[[515,3]]},"2591":{"position":[[87,3],[101,3],[125,5]]},"2593":{"position":[[122,3],[164,3]]},"2603":{"position":[[22,3]]},"2607":{"position":[[97,3]]},"2615":{"position":[[22,3]]},"2628":{"position":[[546,3]]},"2642":{"position":[[639,3],[756,3]]},"2644":{"position":[[1249,3]]},"2646":{"position":[[641,3]]},"2666":{"position":[[58,3]]},"2676":{"position":[[508,3],[1031,3],[1456,3]]},"2697":{"position":[[469,3]]},"2699":{"position":[[844,3],[868,3],[940,3],[964,3],[1042,3],[1080,3]]},"2706":{"position":[[526,3],[1987,3],[2982,3],[3151,3],[3225,3]]},"2708":{"position":[[230,3]]}}}],["newer",{"_index":678,"t":{"2585":{"position":[[412,5]]}}}],["newest",{"_index":828,"t":{"2609":{"position":[[89,6]]}}}],["newli",{"_index":1134,"t":{"2646":{"position":[[556,5]]}}}],["newpublickeyi",{"_index":1107,"t":{"2642":{"position":[[734,13]]}}}],["newpublickeyx",{"_index":1106,"t":{"2642":{"position":[[617,13]]}}}],["newresultscommit",{"_index":1294,"t":{"2689":{"position":[[904,20]]},"2691":{"position":[[1565,20]]}}}],["newstateleaf",{"_index":1399,"t":{"2706":{"position":[[2670,12],[3046,13]]}}}],["newstateleaf.voteoptionroot",{"_index":1394,"t":{"2706":{"position":[[2299,27]]}}}],["newstateroot",{"_index":1066,"t":{"2632":{"position":[[355,13]]},"2646":{"position":[[94,12],[677,13]]},"2697":{"position":[[452,12]]},"2706":{"position":[[3395,13]]}}}],["newstatetreepathel",{"_index":1347,"t":{"2699":{"position":[[883,24]]},"2706":{"position":[[3078,24]]}}}],["newstatetreepathelementstozero",{"_index":1348,"t":{"2699":{"position":[[979,30]]},"2706":{"position":[[3335,30]]}}}],["newstatetreepathindex",{"_index":1346,"t":{"2699":{"position":[[793,21]]},"2706":{"position":[[631,21],[677,21],[3024,21]]}}}],["newvoicecreditbal",{"_index":1368,"t":{"2706":{"position":[[255,21],[366,22],[1763,21],[1929,21],[2740,21]]}}}],["newvoteoptionpathelements[n",{"_index":1342,"t":{"2699":{"position":[[348,28]]}}}],["newvoteweight",{"_index":1109,"t":{"2642":{"position":[[1021,13]]}}}],["next",{"_index":587,"t":{"2575":{"position":[[3607,4]]},"2628":{"position":[[530,5]]}}}],["node",{"_index":1044,"t":{"2626":{"position":[[43,5]]}}}],["non",{"_index":102,"t":{"2546":{"position":[[875,3]]},"2570":{"position":[[1300,3]]},"2595":{"position":[[921,3]]},"2662":{"position":[[315,3]]}}}],["nonc",{"_index":1053,"t":{"2628":{"position":[[712,5]]},"2636":{"position":[[148,6],[159,5],[283,5],[341,5]]},"2638":{"position":[[314,5],[327,5]]},"2642":{"position":[[1164,5],[1283,5],[1346,6]]},"2644":{"position":[[109,6],[177,5],[255,6],[296,7],[388,6],[418,6],[448,6],[478,6],[507,6],[754,5],[782,5],[828,5],[969,6],[1010,6],[1293,6],[1334,6],[1375,6],[1415,6]]},"2646":{"position":[[165,5],[317,7]]},"2706":{"position":[[858,5]]},"2708":{"position":[[108,5]]}}}],["noop",{"_index":1350,"t":{"2699":{"position":[[1233,4]]},"2706":{"position":[[1061,4],[1181,4]]},"2708":{"position":[[10,4]]}}}],["notabl",{"_index":723,"t":{"2595":{"position":[[1224,7]]},"2597":{"position":[[494,7]]}}}],["note",{"_index":131,"t":{"2546":{"position":[[1449,4]]},"2556":{"position":[[197,4]]},"2601":{"position":[[858,4]]},"2603":{"position":[[519,5],[761,4]]},"2620":{"position":[[205,4]]},"2672":{"position":[[477,4]]},"2676":{"position":[[1700,5]]},"2683":{"position":[[928,4]]},"2685":{"position":[[468,4]]},"2706":{"position":[[1015,4]]}}}],["noth",{"_index":1030,"t":{"2624":{"position":[[295,7]]}}}],["notifi",{"_index":841,"t":{"2611":{"position":[[153,6]]}}}],["nova",{"_index":1008,"t":{"2617":{"position":[[7196,4]]}}}],["now",{"_index":536,"t":{"2573":{"position":[[954,3]]},"2575":{"position":[[637,3],[1133,3],[2751,3]]},"2577":{"position":[[1300,3]]},"2599":{"position":[[44,3]]},"2601":{"position":[[61,3],[261,4]]},"2605":{"position":[[5,3]]},"2617":{"position":[[6931,3]]},"2674":{"position":[[1177,3]]}}}],["nullifi",{"_index":108,"t":{"2546":{"position":[[986,7]]},"2570":{"position":[[1411,7]]},"2595":{"position":[[1031,7]]}}}],["number",{"_index":602,"t":{"2577":{"position":[[382,8]]},"2581":{"position":[[1126,6]]},"2632":{"position":[[573,6]]},"2636":{"position":[[100,6]]},"2638":{"position":[[255,6]]},"2642":{"position":[[1103,6]]},"2646":{"position":[[188,6]]},"2662":{"position":[[107,6]]},"2685":{"position":[[1040,6]]},"2687":{"position":[[320,6],[353,6],[414,6]]},"2689":{"position":[[1348,6],[1394,6]]},"2699":{"position":[[580,6]]}}}],["nutshel",{"_index":509,"t":{"2570":{"position":[[614,8]]}}}],["occur",{"_index":279,"t":{"2550":{"position":[[954,8]]},"2628":{"position":[[17,5]]}}}],["offer",{"_index":291,"t":{"2550":{"position":[[1213,5]]},"2575":{"position":[[3392,5]]}}}],["offici",{"_index":438,"t":{"2562":{"position":[[49,8]]}}}],["offlin",{"_index":771,"t":{"2601":{"position":[[229,7]]}}}],["offload",{"_index":433,"t":{"2560":{"position":[[316,7]]},"2617":{"position":[[6574,7]]}}}],["oftentim",{"_index":466,"t":{"2566":{"position":[[320,10]]},"2568":{"position":[[306,10]]}}}],["old",{"_index":1128,"t":{"2644":{"position":[[1279,3]]},"2676":{"position":[[977,3],[2060,3]]}}}],["oldstateroot",{"_index":1129,"t":{"2646":{"position":[[76,12],[273,13],[615,12]]}}}],["on",{"_index":74,"t":{"2546":{"position":[[385,4],[605,4],[694,4],[895,3],[1020,4]]},"2570":{"position":[[111,3],[820,3],[1035,3],[1121,3],[1320,3],[1444,3]]},"2579":{"position":[[560,3]]},"2595":{"position":[[441,3],[578,3],[654,3],[740,3],[940,3],[1064,4]]},"2605":{"position":[[480,3],[532,3]]},"2620":{"position":[[41,3]]},"2636":{"position":[[400,3]]},"2640":{"position":[[77,3]]},"2642":{"position":[[168,3]]},"2644":{"position":[[1283,5]]},"2646":{"position":[[293,4]]},"2664":{"position":[[373,3]]},"2674":{"position":[[399,3]]},"2676":{"position":[[1035,4],[1862,3]]},"2678":{"position":[[181,3]]},"2685":{"position":[[48,3],[606,3],[899,3]]},"2687":{"position":[[20,3]]},"2699":{"position":[[1624,3]]}}}],["onboard",{"_index":932,"t":{"2617":{"position":[[3645,10]]}}}],["onc",{"_index":348,"t":{"2552":{"position":[[507,4]]},"2581":{"position":[[390,4],[1153,4]]},"2583":{"position":[[0,4],[404,4]]},"2585":{"position":[[0,4],[818,4]]},"2587":{"position":[[9,4],[642,4]]},"2628":{"position":[[902,4]]}}}],["ongo",{"_index":1056,"t":{"2628":{"position":[[852,7]]}}}],["onlin",{"_index":953,"t":{"2617":{"position":[[4423,6]]}}}],["onward",{"_index":1225,"t":{"2676":{"position":[[637,8]]}}}],["op",{"_index":1140,"t":{"2652":{"position":[[97,2]]},"2699":{"position":[[1245,2]]},"2706":{"position":[[2917,2],[3457,2]]}}}],["open",{"_index":838,"t":{"2611":{"position":[[104,4],[139,4]]},"2617":{"position":[[219,4],[4118,4]]}}}],["oper",{"_index":383,"t":{"2552":{"position":[[1349,10]]},"2617":{"position":[[5397,11],[6986,9]]},"2666":{"position":[[86,8]]}}}],["opportun",{"_index":136,"t":{"2546":{"position":[[1552,12]]},"2548":{"position":[[1038,11]]},"2617":{"position":[[5152,13],[6162,13],[6228,13]]}}}],["optim",{"_index":760,"t":{"2597":{"position":[[1053,14]]}}}],["option",{"_index":353,"t":{"2552":{"position":[[645,8]]},"2556":{"position":[[160,7]]},"2566":{"position":[[312,7],[559,6],[773,6],[878,7],[950,6],[990,6],[1040,6]]},"2568":{"position":[[298,7],[545,6],[759,6],[864,7],[936,6],[976,6],[1026,6]]},"2573":{"position":[[907,6]]},"2575":{"position":[[393,7],[2153,6],[2524,6],[2622,6],[2784,6],[2843,6],[3043,6]]},"2585":{"position":[[482,6],[539,6],[594,6]]},"2603":{"position":[[865,7],[1012,8]]},"2628":{"position":[[751,6]]},"2636":{"position":[[83,6],[470,6],[532,8],[597,7]]},"2638":{"position":[[183,7],[420,6],[593,7]]},"2642":{"position":[[924,6],[976,6],[1586,6]]},"2644":{"position":[[376,7],[655,6],[911,6],[947,6],[996,7],[1037,7],[1320,7],[1361,7],[1401,7],[1441,7]]},"2646":{"position":[[438,6]]},"2662":{"position":[[85,8]]},"2666":{"position":[[124,6]]},"2676":{"position":[[232,6]]},"2685":{"position":[[420,7],[561,7],[599,6],[670,6],[740,8],[805,7],[969,7]]},"2687":{"position":[[275,8],[381,6],[452,7],[645,6],[714,6],[809,6],[1090,6],[1214,6]]},"2689":{"position":[[1358,7]]},"2691":{"position":[[604,7],[1149,6]]},"2693":{"position":[[114,6]]},"2699":{"position":[[293,6],[419,6]]},"2706":{"position":[[1398,6],[2003,6],[2069,6],[2392,6],[2454,6]]},"2708":{"position":[[239,6],[379,6],[563,6]]}}}],["order",{"_index":349,"t":{"2552":{"position":[[523,5]]},"2575":{"position":[[2639,5],[3424,5]]},"2583":{"position":[[266,5]]},"2644":{"position":[[34,5],[572,6]]},"2646":{"position":[[139,5],[256,5]]},"2676":{"position":[[1530,6]]}}}],["organ",{"_index":705,"t":{"2589":{"position":[[335,13]]},"2617":{"position":[[5491,10]]}}}],["organis",{"_index":315,"t":{"2550":{"position":[[1658,13]]}}}],["origin",{"_index":493,"t":{"2570":{"position":[[213,6]]},"2575":{"position":[[530,10]]},"2581":{"position":[[237,8]]},"2595":{"position":[[96,10]]},"2672":{"position":[[93,10]]}}}],["other",{"_index":167,"t":{"2548":{"position":[[320,6]]},"2575":{"position":[[430,6]]},"2601":{"position":[[222,6]]}}}],["otherwis",{"_index":725,"t":{"2595":{"position":[[1352,9]]},"2676":{"position":[[1040,10]]}}}],["out",{"_index":607,"t":{"2577":{"position":[[531,3]]},"2607":{"position":[[54,3]]},"2611":{"position":[[238,3]]},"2617":{"position":[[1818,3],[4656,3],[6391,3],[7450,3]]},"2666":{"position":[[103,3]]},"2685":{"position":[[610,3],[1021,3]]}}}],["outcom",{"_index":379,"t":{"2552":{"position":[[1228,8]]},"2687":{"position":[[694,7]]},"2693":{"position":[[10,7]]},"2708":{"position":[[20,7]]}}}],["outlin",{"_index":852,"t":{"2617":{"position":[[43,7]]}}}],["output",{"_index":429,"t":{"2560":{"position":[[202,7]]},"2620":{"position":[[287,8],[330,7],[387,7],[481,6]]}}}],["outsiz",{"_index":1273,"t":{"2687":{"position":[[979,8]]}}}],["over",{"_index":512,"t":{"2570":{"position":[[659,4]]},"2617":{"position":[[288,4]]},"2644":{"position":[[1545,5]]},"2687":{"position":[[477,4]]}}}],["overflow",{"_index":740,"t":{"2597":{"position":[[321,8]]}}}],["overrid",{"_index":556,"t":{"2575":{"position":[[765,8],[1188,8],[2648,8]]}}}],["overridden",{"_index":677,"t":{"2585":{"position":[[396,10]]}}}],["oversimplifi",{"_index":591,"t":{"2575":{"position":[[3643,14]]}}}],["overview",{"_index":486,"t":{"2570":{"position":[[14,9],[184,8]]},"2575":{"position":[[3658,8]]}}}],["own",{"_index":1184,"t":{"2668":{"position":[[142,4]]},"2676":{"position":[[422,4]]},"2683":{"position":[[26,4]]}}}],["owner",{"_index":94,"t":{"2546":{"position":[[791,5]]},"2570":{"position":[[1217,5]]},"2595":{"position":[[837,5]]}}}],["p",{"_index":1300,"t":{"2689":{"position":[[1485,1]]}}}],["packag",{"_index":117,"t":{"2546":{"position":[[1165,9]]},"2607":{"position":[[196,7]]}}}],["page",{"_index":638,"t":{"2579":{"position":[[268,5]]}}}],["pairwis",{"_index":765,"t":{"2599":{"position":[[119,8]]},"2603":{"position":[[0,8]]},"2613":{"position":[[126,8]]}}}],["paper",{"_index":1231,"t":{"2676":{"position":[[1831,7]]},"2685":{"position":[[545,6]]}}}],["parallel",{"_index":1005,"t":{"2617":{"position":[[6665,13]]}}}],["paramet",{"_index":445,"t":{"2562":{"position":[[298,11],[357,10]]},"2585":{"position":[[978,11]]},"2603":{"position":[[873,9]]},"2632":{"position":[[4,10]]},"2634":{"position":[[4,10]]}}}],["pariti",{"_index":826,"t":{"2609":{"position":[[60,7]]}}}],["part",{"_index":706,"t":{"2589":{"position":[[394,5]]},"2617":{"position":[[112,4]]},"2687":{"position":[[1469,4]]},"2691":{"position":[[369,4]]},"2706":{"position":[[987,4]]}}}],["parti",{"_index":1304,"t":{"2691":{"position":[[19,5],[60,5],[86,5]]}}}],["particip",{"_index":257,"t":{"2550":{"position":[[550,13]]},"2552":{"position":[[532,11]]},"2672":{"position":[[204,12]]},"2674":{"position":[[488,11]]},"2678":{"position":[[47,11]]}}}],["particular",{"_index":330,"t":{"2552":{"position":[[120,11]]},"2566":{"position":[[301,10]]},"2568":{"position":[[287,10]]},"2638":{"position":[[202,10]]},"2676":{"position":[[429,10],[2609,10]]},"2685":{"position":[[958,10]]}}}],["particulari",{"_index":246,"t":{"2550":{"position":[[352,11]]}}}],["particularli",{"_index":18,"t":{"2544":{"position":[[187,12]]},"2550":{"position":[[47,12]]}}}],["pass",{"_index":1045,"t":{"2628":{"position":[[69,6],[306,6]]},"2652":{"position":[[117,4]]},"2683":{"position":[[970,4]]},"2691":{"position":[[232,6]]},"2706":{"position":[[3240,6]]}}}],["password",{"_index":564,"t":{"2575":{"position":[[1451,9]]}}}],["past",{"_index":736,"t":{"2597":{"position":[[166,4]]},"2630":{"position":[[53,4]]}}}],["path",{"_index":1114,"t":{"2642":{"position":[[1557,4]]},"2689":{"position":[[428,4],[535,4]]},"2693":{"position":[[174,4]]},"2697":{"position":[[234,4],[375,4]]},"2699":{"position":[[114,4],[238,4],[388,4],[709,4],[826,4],[919,4],[1021,4]]},"2708":{"position":[[457,4],[538,4]]}}}],["pay",{"_index":485,"t":{"2566":{"position":[[1122,3]]},"2568":{"position":[[1108,3]]},"2662":{"position":[[352,3]]}}}],["penal",{"_index":791,"t":{"2603":{"position":[[294,8]]}}}],["peopl",{"_index":913,"t":{"2617":{"position":[[3014,6]]}}}],["per",{"_index":66,"t":{"2546":{"position":[[193,3]]},"2626":{"position":[[39,3]]},"2628":{"position":[[520,3],[907,3]]},"2644":{"position":[[154,3]]},"2668":{"position":[[228,3]]},"2685":{"position":[[458,3],[876,3]]},"2687":{"position":[[377,3]]},"2691":{"position":[[600,3]]}}}],["perform",{"_index":754,"t":{"2597":{"position":[[795,9]]},"2617":{"position":[[3590,11],[6605,9]]},"2676":{"position":[[1416,7]]}}}],["period",{"_index":779,"t":{"2601":{"position":[[669,6],[1145,6]]},"2628":{"position":[[41,7],[776,6]]},"2630":{"position":[[69,7]]},"2674":{"position":[[322,6]]},"2676":{"position":[[138,7],[579,6],[1370,6],[2300,6]]}}}],["permiss",{"_index":1395,"t":{"2706":{"position":[[2420,11]]}}}],["perpetu",{"_index":1175,"t":{"2666":{"position":[[2,9]]}}}],["person",{"_index":477,"t":{"2566":{"position":[[689,6]]},"2568":{"position":[[675,6]]}}}],["phase",{"_index":634,"t":{"2579":{"position":[[65,7],[134,6]]}}}],["pictur",{"_index":1187,"t":{"2668":{"position":[[247,7],[360,7]]}}}],["piec",{"_index":647,"t":{"2581":{"position":[[98,6]]},"2617":{"position":[[1110,5]]}}}],["pk2pk2pk2",{"_index":1153,"t":{"2658":{"position":[[469,9],[522,10],[694,9]]}}}],["pkpkpk",{"_index":1152,"t":{"2658":{"position":[[447,6],[499,6]]}}}],["place",{"_index":640,"t":{"2579":{"position":[[429,6]]},"2603":{"position":[[582,5]]}}}],["plaintext",{"_index":1237,"t":{"2676":{"position":[[2441,9]]}}}],["plan",{"_index":858,"t":{"2617":{"position":[[245,4],[3921,4]]}}}],["platform",{"_index":65,"t":{"2546":{"position":[[177,10]]},"2550":{"position":[[107,10],[995,8]]},"2617":{"position":[[1758,9],[2544,8],[2704,8],[2779,8],[3546,8]]}}}],["plausibl",{"_index":1233,"t":{"2676":{"position":[[1993,9]]}}}],["pleas",{"_index":130,"t":{"2546":{"position":[[1442,6]]},"2556":{"position":[[190,6]]},"2564":{"position":[[167,6]]},"2593":{"position":[[7,7]]},"2595":{"position":[[1453,6]]},"2601":{"position":[[851,6],[1201,6]]},"2603":{"position":[[663,6],[754,6]]},"2605":{"position":[[732,6]]},"2607":{"position":[[266,6]]},"2611":{"position":[[225,6]]},"2617":{"position":[[393,6]]}}}],["plenti",{"_index":395,"t":{"2554":{"position":[[9,6]]}}}],["plu",{"_index":1163,"t":{"2662":{"position":[[94,4]]},"2689":{"position":[[997,4]]}}}],["poap",{"_index":1185,"t":{"2668":{"position":[[149,4]]}}}],["point",{"_index":275,"t":{"2550":{"position":[[901,6]]},"2575":{"position":[[2584,6],[2735,6]]},"2642":{"position":[[343,5]]},"2644":{"position":[[711,5]]},"2676":{"position":[[631,5]]}}}],["poll",{"_index":333,"t":{"2552":{"position":[[152,5],[547,6]]},"2560":{"position":[[133,6]]},"2579":{"position":[[184,4],[455,4],[502,4],[603,6],[743,4]]},"2581":{"position":[[472,5],[1147,5]]},"2583":{"position":[[62,4],[445,4]]},"2585":{"position":[[39,5]]},"2587":{"position":[[902,4]]},"2597":{"position":[[650,6],[837,5],[875,4]]},"2601":{"position":[[133,4],[270,4],[345,5],[367,5],[845,5],[937,6],[995,4]]},"2607":{"position":[[67,6]]},"2617":{"position":[[1483,7],[3797,4]]}}}],["poll.publishmessag",{"_index":670,"t":{"2583":{"position":[[105,21]]}}}],["pollid",{"_index":785,"t":{"2601":{"position":[[1165,7]]}}}],["pollprocessandtally",{"_index":673,"t":{"2585":{"position":[[74,21]]}}}],["pollprocessorandtally",{"_index":636,"t":{"2579":{"position":[[193,26],[771,23]]},"2585":{"position":[[994,23]]}}}],["pollprocessorandtallyer.processmessag",{"_index":683,"t":{"2585":{"position":[[865,42]]}}}],["pollprocessorandtallyer.tallyvot",{"_index":692,"t":{"2587":{"position":[[290,36]]}}}],["pool",{"_index":469,"t":{"2566":{"position":[[372,4]]},"2568":{"position":[[358,4]]},"2603":{"position":[[174,4]]}}}],["portion",{"_index":869,"t":{"2617":{"position":[[774,7]]}}}],["possess",{"_index":1113,"t":{"2642":{"position":[[1476,7]]}}}],["possibl",{"_index":507,"t":{"2570":{"position":[[581,8]]},"2589":{"position":[[101,13],[281,8]]},"2601":{"position":[[65,8]]},"2603":{"position":[[791,8]]},"2617":{"position":[[3296,9]]},"2634":{"position":[[905,8]]},"2685":{"position":[[622,8]]}}}],["post",{"_index":139,"t":{"2548":{"position":[[32,4]]},"2550":{"position":[[642,5]]},"2570":{"position":[[264,4]]},"2591":{"position":[[48,4]]},"2595":{"position":[[131,5]]},"2603":{"position":[[214,5],[684,4]]},"2668":{"position":[[92,4]]},"2672":{"position":[[153,5]]}}}],["potenti",{"_index":288,"t":{"2550":{"position":[[1173,9]]},"2617":{"position":[[1095,9]]}}}],["power",{"_index":915,"t":{"2617":{"position":[[3059,5]]}}}],["practic",{"_index":114,"t":{"2546":{"position":[[1109,11]]},"2617":{"position":[[809,9],[5646,9],[6843,9]]}}}],["predefin",{"_index":1054,"t":{"2628":{"position":[[796,10]]}}}],["prefer",{"_index":272,"t":{"2550":{"position":[[861,9]]},"2566":{"position":[[868,9]]},"2568":{"position":[[854,9]]},"2687":{"position":[[244,11],[794,10]]}}}],["present",{"_index":625,"t":{"2577":{"position":[[1120,7]]}}}],["presum",{"_index":1199,"t":{"2672":{"position":[[492,8]]}}}],["prevent",{"_index":232,"t":{"2550":{"position":[[121,7],[1362,9]]},"2564":{"position":[[54,10]]},"2573":{"position":[[832,8]]},"2589":{"position":[[31,10],[89,7]]},"2603":{"position":[[591,7]]},"2617":{"position":[[1394,7]]},"2642":{"position":[[1173,8]]},"2650":{"position":[[117,7]]},"2660":{"position":[[76,10]]},"2683":{"position":[[555,7]]},"2687":{"position":[[950,8]]}}}],["previou",{"_index":443,"t":{"2562":{"position":[[242,8]]},"2575":{"position":[[780,8],[838,8],[907,8],[1103,8],[1203,8],[1251,8],[2428,8],[3163,8],[3189,8]]},"2632":{"position":[[744,8]]},"2691":{"position":[[1207,8]]}}}],["previous",{"_index":1217,"t":{"2674":{"position":[[1283,10],[1503,10]]}}}],["primari",{"_index":1001,"t":{"2617":{"position":[[6512,7]]}}}],["prior",{"_index":1289,"t":{"2689":{"position":[[644,5]]}}}],["priorit",{"_index":998,"t":{"2617":{"position":[[6324,11]]}}}],["privaci",{"_index":0,"t":{"2544":{"position":[[4,7]]},"2546":{"position":[[593,8],[1396,8]]},"2570":{"position":[[1023,8]]},"2595":{"position":[[643,7]]},"2611":{"position":[[256,7]]},"2617":{"position":[[581,7],[734,8],[1182,7],[1695,7],[7097,7]]}}}],["privat",{"_index":96,"t":{"2546":{"position":[[809,7]]},"2570":{"position":[[1235,7]]},"2595":{"position":[[855,7]]},"2617":{"position":[[1255,7]]},"2642":{"position":[[457,7]]},"2646":{"position":[[382,7]]},"2672":{"position":[[576,7]]},"2674":{"position":[[682,7]]},"2683":{"position":[[323,7],[723,7],[778,7]]},"2689":{"position":[[409,7],[614,7],[705,7],[1051,7],[1173,7],[1258,7]]},"2699":{"position":[[4,7],[1299,7],[1485,7]]},"2701":{"position":[[53,7]]}}}],["privileg",{"_index":1260,"t":{"2687":{"position":[[482,10]]}}}],["proactiv",{"_index":945,"t":{"2617":{"position":[[4064,11],[5088,11]]}}}],["problem",{"_index":452,"t":{"2564":{"position":[[43,7]]},"2566":{"position":[[201,7]]},"2568":{"position":[[187,7]]}}}],["process",{"_index":461,"t":{"2566":{"position":[[139,7],[239,9]]},"2568":{"position":[[125,7],[225,9]]},"2579":{"position":[[21,7],[97,7],[898,7],[941,7]]},"2581":{"position":[[12,7]]},"2585":{"position":[[317,10],[625,7],[1293,9],[1356,7],[1393,10]]},"2587":{"position":[[37,10],[201,7],[1031,9]]},"2589":{"position":[[513,9]]},"2595":{"position":[[78,10]]},"2597":{"position":[[293,10]]},"2617":{"position":[[1491,10],[5019,10],[5242,9]]},"2632":{"position":[[285,9],[598,10],[699,9],[780,10]]},"2644":{"position":[[13,9],[551,9],[732,10],[1130,9]]},"2646":{"position":[[148,12],[224,9]]},"2650":{"position":[[135,10]]},"2654":{"position":[[183,9]]},"2662":{"position":[[219,9]]},"2664":{"position":[[222,8]]},"2666":{"position":[[20,7]]},"2676":{"position":[[1326,9]]},"2687":{"position":[[1664,9]]},"2699":{"position":[[1186,8]]}}}],["processmessag",{"_index":694,"t":{"2587":{"position":[[409,15]]},"2650":{"position":[[95,16]]}}}],["produc",{"_index":111,"t":{"2546":{"position":[[1077,7]]},"2570":{"position":[[1501,7]]},"2595":{"position":[[1121,7]]},"2634":{"position":[[827,7]]},"2646":{"position":[[265,7],[562,8]]}}}],["product",{"_index":712,"t":{"2593":{"position":[[155,8]]},"2597":{"position":[[1080,7]]},"2617":{"position":[[5,7],[72,7],[3129,10],[3505,12],[4630,8],[4787,7]]}}}],["profession",{"_index":48,"t":{"2544":{"position":[[588,12]]}}}],["project",{"_index":25,"t":{"2544":{"position":[[277,7]]},"2548":{"position":[[1432,8]]},"2550":{"position":[[1035,8]]},"2552":{"position":[[1435,8],[1629,8]]},"2562":{"position":[[17,9]]},"2589":{"position":[[243,8]]},"2591":{"position":[[68,8]]},"2595":{"position":[[1209,9],[1256,8]]},"2603":{"position":[[437,8]]},"2607":{"position":[[101,8],[346,8]]},"2617":{"position":[[565,8],[2098,7],[2151,7],[2215,7],[3087,7],[5542,7],[5968,8],[6206,7]]}}}],["promin",{"_index":1191,"t":{"2668":{"position":[[333,10]]}}}],["prone",{"_index":726,"t":{"2595":{"position":[[1362,5]]}}}],["proof",{"_index":271,"t":{"2550":{"position":[[835,5]]},"2552":{"position":[[822,5]]},"2560":{"position":[[174,6]]},"2575":{"position":[[3021,5]]},"2585":{"position":[[827,5],[960,5],[1041,5],[1146,6]]},"2587":{"position":[[385,6],[473,5],[615,5],[828,5]]},"2605":{"position":[[665,5]]},"2617":{"position":[[1384,6],[6685,5]]},"2620":{"position":[[705,5]]},"2632":{"position":[[200,5],[266,6],[376,5],[643,6]]},"2634":{"position":[[445,5],[843,5]]},"2652":{"position":[[151,5],[238,5]]},"2664":{"position":[[336,5]]},"2676":{"position":[[1652,5],[2379,5],[2576,5]]},"2687":{"position":[[1290,5]]},"2693":{"position":[[78,5],[136,5],[266,5]]},"2706":{"position":[[1125,5],[1163,5],[1206,5]]},"2708":{"position":[[66,6],[125,6],[188,6],[262,6],[332,6],[408,6],[500,5],[587,5]]}}}],["properli",{"_index":558,"t":{"2575":{"position":[[877,8],[3593,9]]},"2587":{"position":[[1022,8]]}}}],["properti",{"_index":73,"t":{"2546":{"position":[[348,11]]},"2595":{"position":[[376,10],[396,8]]},"2607":{"position":[[141,11]]}}}],["propos",{"_index":790,"t":{"2603":{"position":[[271,8]]},"2672":{"position":[[104,8]]}}}],["protect",{"_index":708,"t":{"2589":{"position":[[467,7]]},"2599":{"position":[[145,10]]},"2617":{"position":[[1190,10],[1703,10]]}}}],["protocol",{"_index":171,"t":{"2548":{"position":[[355,8]]},"2603":{"position":[[282,8]]},"2617":{"position":[[670,8]]}}}],["proud",{"_index":5,"t":{"2544":{"position":[[43,5]]}}}],["provabl",{"_index":264,"t":{"2550":{"position":[[732,11]]}}}],["prove",{"_index":86,"t":{"2546":{"position":[[536,6]]},"2550":{"position":[[674,5]]},"2566":{"position":[[533,5],[761,5],[1028,5]]},"2568":{"position":[[519,5],[747,5],[1014,5]]},"2570":{"position":[[967,5]]},"2573":{"position":[[273,5]]},"2575":{"position":[[3521,5]]},"2577":{"position":[[38,5],[198,5],[437,5],[1057,5],[1202,5],[1263,5]]},"2579":{"position":[[834,5]]},"2585":{"position":[[114,5],[660,7],[749,7]]},"2587":{"position":[[140,7],[190,7]]},"2595":{"position":[[586,5],[1265,5]]},"2617":{"position":[[6649,7]]},"2620":{"position":[[77,5],[150,6]]},"2634":{"position":[[177,5]]},"2687":{"position":[[1391,6],[1542,5]]},"2695":{"position":[[13,6]]},"2699":{"position":[[253,5]]},"2706":{"position":[[949,5],[1366,5]]}}}],["provid",{"_index":26,"t":{"2544":{"position":[[289,8],[656,9]]},"2546":{"position":[[1136,8]]},"2552":{"position":[[330,7]]},"2570":{"position":[[718,9]]},"2575":{"position":[[1038,8],[1469,7]]},"2585":{"position":[[908,9]]},"2595":{"position":[[28,8]]},"2607":{"position":[[207,8]]},"2609":{"position":[[260,7]]},"2617":{"position":[[684,8],[1807,7]]},"2622":{"position":[[43,8]]},"2642":{"position":[[1433,7]]},"2672":{"position":[[339,7]]}}}],["provinc",{"_index":892,"t":{"2617":{"position":[[2360,10]]}}}],["proxi",{"_index":651,"t":{"2581":{"position":[[204,5],[1031,5]]}}}],["pse",{"_index":845,"t":{"2611":{"position":[[289,5]]},"2617":{"position":[[612,6],[2147,3],[7473,3]]}}}],["pseudocod",{"_index":1018,"t":{"2620":{"position":[[227,10]]},"2689":{"position":[[0,10]]},"2691":{"position":[[1605,10]]},"2697":{"position":[[43,10]]},"2699":{"position":[[47,10]]}}}],["pubkey",{"_index":1061,"t":{"2632":{"position":[[77,8]]}}}],["public",{"_index":101,"t":{"2546":{"position":[[863,6]]},"2548":{"position":[[428,6],[590,6]]},"2550":{"position":[[1064,6]]},"2566":{"position":[[493,7]]},"2568":{"position":[[479,7]]},"2570":{"position":[[1289,6]]},"2575":{"position":[[64,6],[131,6],[263,6],[370,6],[514,6],[847,6],[916,6],[1049,6],[1112,6],[1174,6],[1260,6],[1359,6],[1539,6],[1595,6],[1780,6],[1830,6],[1956,6],[2086,6],[2166,6],[2207,6],[2443,6],[2549,6],[2563,6],[2713,6],[2856,6],[2897,6],[3142,6]]},"2579":{"position":[[374,6]]},"2581":{"position":[[148,6],[219,6],[246,6],[373,6],[421,6],[1312,6]]},"2595":{"position":[[307,6],[909,6],[1398,6]]},"2601":{"position":[[461,6]]},"2603":{"position":[[159,6]]},"2617":{"position":[[94,6],[912,6],[1079,6],[1285,7],[1476,6],[5053,6],[6087,6]]},"2620":{"position":[[451,6]]},"2624":{"position":[[180,6]]},"2628":{"position":[[670,6]]},"2630":{"position":[[166,6]]},"2632":{"position":[[219,6]]},"2636":{"position":[[34,6],[362,6]]},"2638":{"position":[[38,6],[84,6]]},"2642":{"position":[[290,6],[430,6],[553,6],[643,6],[760,6]]},"2658":{"position":[[55,6],[214,6],[436,6],[458,6],[588,6]]},"2674":{"position":[[83,6],[172,6],[730,6],[1135,6]]},"2676":{"position":[[865,6],[981,6],[1088,6],[1170,6],[1887,6],[2064,6]]},"2683":{"position":[[125,6],[252,6],[832,6],[1010,6],[1033,6]]},"2685":{"position":[[225,6],[365,6]]},"2689":{"position":[[69,6],[300,6],[517,6],[834,6],[925,6]]},"2697":{"position":[[4,6],[107,6]]},"2699":{"position":[[1268,6],[1361,6]]},"2701":{"position":[[28,6],[199,6]]}}}],["publickeyi",{"_index":1090,"t":{"2638":{"position":[[65,10]]}}}],["publickeyx",{"_index":1087,"t":{"2638":{"position":[[19,10]]}}}],["publish",{"_index":529,"t":{"2573":{"position":[[529,10],[568,7]]},"2579":{"position":[[81,7]]},"2583":{"position":[[416,9]]},"2595":{"position":[[292,10]]},"2605":{"position":[[381,10]]},"2636":{"position":[[250,9]]},"2644":{"position":[[49,10],[323,9]]},"2662":{"position":[[31,7]]},"2683":{"position":[[275,7]]}}}],["publishmessag",{"_index":1228,"t":{"2676":{"position":[[1220,16]]},"2683":{"position":[[951,15]]}}}],["punish",{"_index":243,"t":{"2550":{"position":[[289,6]]}}}],["purpos",{"_index":1316,"t":{"2691":{"position":[[764,7]]}}}],["put",{"_index":1165,"t":{"2662":{"position":[[411,3]]}}}],["q1",{"_index":898,"t":{"2617":{"position":[[2562,3]]}}}],["qf",{"_index":822,"t":{"2607":{"position":[[436,2]]},"2617":{"position":[[987,4],[2163,3],[2286,2],[5509,2],[5539,2],[5723,2],[5850,2],[5944,2],[6070,2],[6185,2],[6746,2],[6921,2],[7857,2]]}}}],["qf/qv",{"_index":981,"t":{"2617":{"position":[[5767,5]]}}}],["qfi",{"_index":724,"t":{"2595":{"position":[[1245,4]]}}}],["quadrat",{"_index":20,"t":{"2544":{"position":[[211,9]]},"2546":{"position":[[159,9]]},"2550":{"position":[[1008,9],[1107,9]]},"2564":{"position":[[103,9]]},"2599":{"position":[[177,9]]},"2603":{"position":[[53,9]]},"2617":{"position":[[945,9],[969,9],[1740,9],[5294,9],[7273,9],[7745,9]]},"2620":{"position":[[728,9]]},"2634":{"position":[[700,9]]},"2638":{"position":[[506,9]]},"2642":{"position":[[1045,9]]},"2668":{"position":[[101,13]]},"2676":{"position":[[2515,9]]},"2685":{"position":[[982,9]]},"2687":{"position":[[0,9],[181,9],[460,9]]},"2699":{"position":[[522,9]]}}}],["quadraticvotet",{"_index":1277,"t":{"2687":{"position":[[1244,20]]}}}],["qualiti",{"_index":923,"t":{"2617":{"position":[[3417,8]]}}}],["queri",{"_index":427,"t":{"2560":{"position":[[185,5]]}}}],["question",{"_index":1012,"t":{"2617":{"position":[[7342,10]]}}}],["queue",{"_index":378,"t":{"2552":{"position":[[1168,5]]},"2601":{"position":[[637,5]]}}}],["quick",{"_index":589,"t":{"2575":{"position":[[3628,5]]}}}],["quickli",{"_index":886,"t":{"2617":{"position":[[1860,7],[5255,7]]}}}],["quinari",{"_index":1042,"t":{"2626":{"position":[[9,7]]}}}],["quit",{"_index":572,"t":{"2575":{"position":[[2029,5]]}}}],["qv",{"_index":873,"t":{"2617":{"position":[[962,4],[6949,2]]}}}],["r",{"_index":1278,"t":{"2687":{"position":[[1508,2]]}}}],["r&d",{"_index":997,"t":{"2617":{"position":[[6309,4],[7828,3]]}}}],["random",{"_index":1027,"t":{"2624":{"position":[[228,6]]},"2676":{"position":[[813,6],[1620,6],[2088,6]]},"2683":{"position":[[340,6],[771,6],[1026,6]]},"2689":{"position":[[715,6],[1061,6]]},"2699":{"position":[[781,6]]}}}],["randomis",{"_index":419,"t":{"2558":{"position":[[49,13],[187,14]]}}}],["randomleaf",{"_index":1345,"t":{"2699":{"position":[[770,10]]},"2706":{"position":[[3320,11]]}}}],["rang",{"_index":1396,"t":{"2706":{"position":[[2432,5]]}}}],["rapidli",{"_index":210,"t":{"2548":{"position":[[1110,7]]},"2617":{"position":[[4720,7]]}}}],["re",{"_index":418,"t":{"2558":{"position":[[46,2],[184,2]]},"2617":{"position":[[253,2]]}}}],["reach",{"_index":844,"t":{"2611":{"position":[[232,5]]},"2617":{"position":[[7444,5]]}}}],["react",{"_index":975,"t":{"2617":{"position":[[5263,5]]}}}],["read",{"_index":421,"t":{"2558":{"position":[[168,4]]},"2573":{"position":[[865,7]]},"2575":{"position":[[3694,8]]},"2585":{"position":[[1127,4]]},"2605":{"position":[[699,7]]},"2617":{"position":[[5703,4]]}}}],["readabl",{"_index":924,"t":{"2617":{"position":[[3426,11]]}}}],["readi",{"_index":682,"t":{"2585":{"position":[[836,6]]}}}],["real",{"_index":308,"t":{"2550":{"position":[[1461,4]]},"2668":{"position":[[167,4]]}}}],["realiti",{"_index":482,"t":{"2566":{"position":[[967,7]]},"2568":{"position":[[953,7]]}}}],["rearchitect",{"_index":325,"t":{"2552":{"position":[[20,13]]}}}],["reason",{"_index":1151,"t":{"2658":{"position":[[293,9]]}}}],["receipt",{"_index":83,"t":{"2546":{"position":[[503,7]]},"2570":{"position":[[936,7]]},"2595":{"position":[[558,7]]}}}],["receiv",{"_index":472,"t":{"2566":{"position":[[595,7]]},"2568":{"position":[[581,7]]},"2589":{"position":[[255,7],[386,7]]},"2644":{"position":[[662,8]]},"2668":{"position":[[199,7],[425,9]]}}}],["recent",{"_index":442,"t":{"2562":{"position":[[201,8]]},"2636":{"position":[[199,6]]},"2638":{"position":[[345,8]]}}}],["recommend",{"_index":497,"t":{"2570":{"position":[[325,11]]}}}],["record",{"_index":579,"t":{"2575":{"position":[[2501,7]]},"2579":{"position":[[352,9]]},"2706":{"position":[[496,6],[706,6],[830,6],[1698,6],[1959,6],[2359,6]]}}}],["reduc",{"_index":80,"t":{"2546":{"position":[[464,8]]},"2548":{"position":[[838,8]]},"2552":{"position":[[1060,7]]},"2570":{"position":[[898,8]]},"2595":{"position":[[519,8]]},"2603":{"position":[[33,6],[454,7]]}}}],["refactor",{"_index":922,"t":{"2617":{"position":[[3382,8],[3909,11],[3973,8]]}}}],["refer",{"_index":567,"t":{"2575":{"position":[[1583,5]]},"2595":{"position":[[1460,5]]},"2601":{"position":[[1208,5]]},"2603":{"position":[[670,5]]},"2605":{"position":[[739,5]]},"2607":{"position":[[273,5],[387,10]]},"2617":{"position":[[3862,9],[3888,10],[5573,9],[6276,10],[6770,9]]},"2642":{"position":[[1013,7]]},"2676":{"position":[[0,5],[1724,6]]},"2685":{"position":[[492,5]]}}}],["refresh",{"_index":713,"t":{"2593":{"position":[[210,8],[258,7]]}}}],["regist",{"_index":798,"t":{"2603":{"position":[[620,11]]},"2658":{"position":[[484,9]]},"2674":{"position":[[49,8],[1154,10]]},"2676":{"position":[[1109,11]]}}}],["reject",{"_index":780,"t":{"2601":{"position":[[717,9]]}}}],["relat",{"_index":947,"t":{"2617":{"position":[[4216,7]]}}}],["relationship",{"_index":1236,"t":{"2676":{"position":[[2162,12]]}}}],["releas",{"_index":6,"t":{"2544":{"position":[[52,7],[243,7]]},"2552":{"position":[[8,8]]},"2564":{"position":[[5,7]]},"2570":{"position":[[68,7]]},"2573":{"position":[[206,8],[326,9]]},"2591":{"position":[[91,9]]},"2593":{"position":[[31,7],[126,7]]},"2615":{"position":[[26,7],[58,8]]},"2617":{"position":[[2455,7],[2566,7],[3355,7]]}}}],["reliabl",{"_index":481,"t":{"2566":{"position":[[825,8],[1012,8]]},"2568":{"position":[[811,8],[998,8]]}}}],["remain",{"_index":805,"t":{"2605":{"position":[[204,7]]},"2638":{"position":[[265,9]]}}}],["repeat",{"_index":690,"t":{"2585":{"position":[[1343,7]]}}}],["replac",{"_index":373,"t":{"2552":{"position":[[1096,9]]},"2676":{"position":[[1015,8],[1923,8]]}}}],["replay",{"_index":1110,"t":{"2642":{"position":[[1182,6]]}}}],["repo",{"_index":963,"t":{"2617":{"position":[[4993,4],[6741,4],[7053,4]]}}}],["report",{"_index":44,"t":{"2544":{"position":[[528,6]]},"2611":{"position":[[52,6]]}}}],["repositori",{"_index":837,"t":{"2611":{"position":[[89,10]]},"2613":{"position":[[12,10]]}}}],["repres",{"_index":134,"t":{"2546":{"position":[[1528,9]]},"2550":{"position":[[187,10]]},"2579":{"position":[[717,11]]},"2581":{"position":[[872,10]]},"2624":{"position":[[61,10]]},"2636":{"position":[[608,9]]},"2638":{"position":[[168,10]]},"2685":{"position":[[754,10]]},"2687":{"position":[[622,10]]}}}],["repudi",{"_index":103,"t":{"2546":{"position":[[879,12]]},"2570":{"position":[[1304,12]]},"2595":{"position":[[925,11]]}}}],["request",{"_index":809,"t":{"2605":{"position":[[295,8],[522,9]]},"2640":{"position":[[37,8]]}}}],["requir",{"_index":196,"t":{"2548":{"position":[[873,13]]},"2617":{"position":[[4279,7]]},"2642":{"position":[[686,9],[803,9]]},"2666":{"position":[[73,8]]}}}],["requr",{"_index":769,"t":{"2601":{"position":[[12,8]]}}}],["research",{"_index":495,"t":{"2570":{"position":[[255,8]]},"2617":{"position":[[6414,8]]}}}],["reserv",{"_index":1026,"t":{"2624":{"position":[[213,8]]},"2628":{"position":[[611,8]]}}}],["reset",{"_index":666,"t":{"2581":{"position":[[1112,5]]}}}],["resist",{"_index":15,"t":{"2544":{"position":[[144,10]]},"2546":{"position":[[109,9],[370,11],[1384,11]]},"2550":{"position":[[338,10],[1381,9]]},"2566":{"position":[[180,11]]},"2568":{"position":[[166,11]]},"2570":{"position":[[805,11]]},"2595":{"position":[[47,10],[427,10]]},"2617":{"position":[[721,10],[1683,9]]},"2672":{"position":[[259,10],[357,10]]}}}],["resolv",{"_index":758,"t":{"2597":{"position":[[996,9]]},"2609":{"position":[[211,9]]},"2685":{"position":[[129,7]]}}}],["resourc",{"_index":504,"t":{"2570":{"position":[[456,10]]},"2617":{"position":[[2627,8],[3741,9],[4390,9]]}}}],["respond",{"_index":961,"t":{"2617":{"position":[[4728,7],[4886,7],[5042,7]]}}}],["respons",{"_index":49,"t":{"2544":{"position":[[605,10]]},"2579":{"position":[[295,11]]},"2605":{"position":[[162,14]]},"2617":{"position":[[6520,14]]}}}],["restrict",{"_index":1078,"t":{"2634":{"position":[[776,8]]}}}],["result",{"_index":480,"t":{"2566":{"position":[[739,7]]},"2568":{"position":[[725,7]]},"2573":{"position":[[225,8],[302,6],[544,8],[582,8]]},"2577":{"position":[[828,6],[916,7],[1163,6],[1223,6]]},"2579":{"position":[[120,7],[968,7]]},"2587":{"position":[[266,7],[360,7],[812,7],[845,7],[867,6]]},"2597":{"position":[[859,8],[880,7]]},"2617":{"position":[[1273,7],[1342,7]]},"2634":{"position":[[466,6],[533,7],[578,7],[944,7]]},"2646":{"position":[[628,7]]},"2674":{"position":[[758,6]]},"2676":{"position":[[1484,6],[2403,6]]},"2683":{"position":[[437,7]]},"2687":{"position":[[1005,7],[1338,7]]},"2689":{"position":[[1511,6]]},"2691":{"position":[[1344,7],[1496,6]]},"2706":{"position":[[2038,6]]}}}],["retain",{"_index":1196,"t":{"2672":{"position":[[234,9]]}}}],["retriev",{"_index":667,"t":{"2581":{"position":[[1202,9]]}}}],["return",{"_index":687,"t":{"2585":{"position":[[1217,7]]},"2587":{"position":[[598,7]]},"2662":{"position":[[262,6]]},"2706":{"position":[[284,6]]}}}],["reus",{"_index":1176,"t":{"2666":{"position":[[28,5]]}}}],["revamp",{"_index":221,"t":{"2548":{"position":[[1286,9]]},"2617":{"position":[[2590,8],[3668,6],[4979,6]]}}}],["reveal",{"_index":479,"t":{"2566":{"position":[[714,9]]},"2568":{"position":[[700,9]]},"2577":{"position":[[109,9],[268,9]]},"2597":{"position":[[206,8]]},"2617":{"position":[[1309,6]]},"2674":{"position":[[1397,7]]},"2676":{"position":[[2427,9]]}}}],["revers",{"_index":1115,"t":{"2644":{"position":[[26,7],[564,7]]},"2676":{"position":[[1522,7]]}}}],["review",{"_index":821,"t":{"2607":{"position":[[409,9]]}}}],["revisit",{"_index":717,"t":{"2595":{"position":[[156,9]]}}}],["revolv",{"_index":718,"t":{"2595":{"position":[[185,8]]}}}],["reward",{"_index":242,"t":{"2550":{"position":[[279,6]]},"2566":{"position":[[426,7],[613,8]]},"2568":{"position":[[412,7],[599,8]]}}}],["rewrot",{"_index":362,"t":{"2552":{"position":[[856,7]]}}}],["risk",{"_index":733,"t":{"2597":{"position":[[93,4],[224,4]]},"2603":{"position":[[466,4]]}}}],["roadmap",{"_index":850,"t":{"2617":{"position":[[13,7],[80,8],[101,7],[280,7],[350,7],[2884,8],[4777,7]]}}}],["robust",{"_index":827,"t":{"2609":{"position":[[73,6]]}}}],["role",{"_index":519,"t":{"2573":{"position":[[46,6]]},"2605":{"position":[[62,5]]},"2681":{"position":[[14,6]]}}}],["roll",{"_index":958,"t":{"2617":{"position":[[4648,7]]}}}],["root",{"_index":1016,"t":{"2620":{"position":[[113,4],[689,4]]},"2624":{"position":[[23,5],[56,4]]},"2628":{"position":[[729,4]]},"2630":{"position":[[138,5]]},"2632":{"position":[[175,4],[334,4],[461,4]]},"2634":{"position":[[355,5],[376,4],[411,5],[435,5]]},"2636":{"position":[[57,4]]},"2638":{"position":[[145,4],[552,4]]},"2642":{"position":[[1091,4],[1569,4]]},"2646":{"position":[[663,4]]},"2664":{"position":[[353,4]]},"2668":{"position":[[398,5]]},"2676":{"position":[[562,5],[1466,4],[1674,4],[1718,5],[1738,4],[1801,4]]},"2687":{"position":[[402,4],[902,4],[1443,4],[1503,4],[1635,4]]},"2689":{"position":[[93,4],[331,4],[1553,4],[1608,4]]},"2691":{"position":[[178,4],[208,4],[361,4],[562,5],[916,4],[1654,4]]},"2693":{"position":[[65,4],[197,4],[230,4]]},"2695":{"position":[[50,4]]},"2697":{"position":[[153,4],[181,4],[447,4],[479,4]]},"2699":{"position":[[189,4],[431,4],[568,4],[743,4],[854,4],[950,4],[1052,4]]},"2706":{"position":[[2018,4],[2992,5],[3164,5],[3235,4]]},"2708":{"position":[[246,4],[483,4],[570,4]]}}}],["roughli",{"_index":1244,"t":{"2683":{"position":[[462,7]]}}}],["round",{"_index":182,"t":{"2548":{"position":[[580,6],[734,5]]},"2550":{"position":[[966,5]]},"2552":{"position":[[693,5]]},"2617":{"position":[[998,7],[5512,7],[5773,6],[5853,7],[6188,7],[7003,6]]}}}],["row",{"_index":1264,"t":{"2687":{"position":[[618,3]]}}}],["rule",{"_index":660,"t":{"2581":{"position":[[642,5]]},"2642":{"position":[[1369,4]]}}}],["run",{"_index":191,"t":{"2548":{"position":[[716,7]]},"2552":{"position":[[223,3],[687,3]]},"2562":{"position":[[149,3]]},"2617":{"position":[[882,3],[5505,3],[5760,3],[6176,8],[6999,3]]}}}],["s",{"_index":1401,"t":{"2706":{"position":[[3002,1],[3332,2]]}}}],["sake",{"_index":1210,"t":{"2674":{"position":[[550,4]]},"2699":{"position":[[1506,4]]}}}],["salt",{"_index":1076,"t":{"2634":{"position":[[589,7]]},"2689":{"position":[[845,6],[936,6],[1046,4],[1588,5],[1644,6]]},"2691":{"position":[[1556,5]]}}}],["same",{"_index":356,"t":{"2552":{"position":[[771,4],[1223,4]]},"2601":{"position":[[767,4]]},"2603":{"position":[[603,4]]},"2644":{"position":[[371,4],[800,4]]},"2658":{"position":[[175,4]]},"2676":{"position":[[150,4]]}}}],["sampl",{"_index":767,"t":{"2599":{"position":[[215,6]]},"2605":{"position":[[20,6]]}}}],["samuel",{"_index":405,"t":{"2556":{"position":[[9,6]]}}}],["satisfi",{"_index":600,"t":{"2577":{"position":[[239,7]]}}}],["save",{"_index":31,"t":{"2544":{"position":[[334,7]]}}}],["saw",{"_index":161,"t":{"2548":{"position":[[240,3],[630,3]]}}}],["scalabl",{"_index":979,"t":{"2617":{"position":[[5458,8]]}}}],["scale",{"_index":2,"t":{"2544":{"position":[[14,7]]},"2611":{"position":[[268,7]]},"2617":{"position":[[591,7],[7141,7]]},"2668":{"position":[[368,6]]}}}],["scenario",{"_index":1148,"t":{"2658":{"position":[[149,8]]}}}],["schema",{"_index":1094,"t":{"2638":{"position":[[390,6]]},"2640":{"position":[[81,6]]},"2642":{"position":[[45,6],[85,7]]}}}],["scheme",{"_index":298,"t":{"2550":{"position":[[1292,7]]},"2573":{"position":[[734,6]]},"2617":{"position":[[7182,7]]}}}],["scrum",{"_index":960,"t":{"2617":{"position":[[4669,5]]}}}],["se",{"_index":67,"t":{"2546":{"position":[[197,2]]}}}],["second",{"_index":1155,"t":{"2658":{"position":[[581,6]]}}}],["secretli",{"_index":1126,"t":{"2644":{"position":[[1097,8]]}}}],["section",{"_index":588,"t":{"2575":{"position":[[3612,7]]},"2579":{"position":[[976,8]]},"2581":{"position":[[276,8],[342,9]]},"2583":{"position":[[195,8]]},"2642":{"position":[[1335,7]]},"2646":{"position":[[306,7]]}}}],["secur",{"_index":120,"t":{"2546":{"position":[[1241,8]]},"2548":{"position":[[988,9]]},"2593":{"position":[[148,6]]},"2597":{"position":[[502,8],[1115,6]]},"2613":{"position":[[143,8]]},"2617":{"position":[[1557,6]]}}}],["see",{"_index":269,"t":{"2550":{"position":[[818,3]]},"2570":{"position":[[64,3],[205,3],[241,3]]},"2573":{"position":[[897,3]]},"2575":{"position":[[1750,3],[3095,4]]},"2577":{"position":[[861,3]]},"2585":{"position":[[1249,3]]},"2587":{"position":[[792,3],[944,3]]},"2620":{"position":[[674,4]]},"2642":{"position":[[1327,3]]},"2646":{"position":[[298,3]]},"2674":{"position":[[529,4]]},"2706":{"position":[[67,4]]}}}],["seen",{"_index":540,"t":{"2573":{"position":[[1118,4]]},"2589":{"position":[[178,4]]},"2644":{"position":[[843,4]]}}}],["sell",{"_index":261,"t":{"2550":{"position":[[695,7]]}}}],["semant",{"_index":1019,"t":{"2620":{"position":[[346,9]]}}}],["send",{"_index":531,"t":{"2573":{"position":[[598,7],[994,5]]},"2575":{"position":[[52,7],[1975,7],[2672,4]]},"2581":{"position":[[87,4]]},"2583":{"position":[[131,4]]},"2585":{"position":[[507,5],[1032,4]]},"2587":{"position":[[464,4]]},"2601":{"position":[[101,7]]},"2605":{"position":[[285,4]]},"2674":{"position":[[69,7],[500,5],[908,5]]}}}],["sender",{"_index":241,"t":{"2550":{"position":[[261,6]]}}}],["sender'",{"_index":1046,"t":{"2628":{"position":[[80,8]]}}}],["sent",{"_index":698,"t":{"2587":{"position":[[890,4]]},"2674":{"position":[[1294,4]]}}}],["separ",{"_index":328,"t":{"2552":{"position":[[93,10]]},"2585":{"position":[[1052,8]]}}}],["seriou",{"_index":1159,"t":{"2660":{"position":[[30,7]]}}}],["serv",{"_index":940,"t":{"2617":{"position":[[3853,5],[5562,5],[6759,5]]}}}],["server",{"_index":768,"t":{"2599":{"position":[[234,6]]},"2605":{"position":[[319,6],[500,6]]}}}],["servic",{"_index":756,"t":{"2597":{"position":[[817,7]]},"2599":{"position":[[207,7]]},"2605":{"position":[[39,8],[86,8],[241,8],[428,7],[552,7],[722,9]]},"2617":{"position":[[6499,8],[6554,7],[7849,7]]}}}],["set",{"_index":56,"t":{"2546":{"position":[[10,3],[1147,3]]},"2552":{"position":[[348,3]]},"2562":{"position":[[283,3],[350,3]]},"2581":{"position":[[520,3],[833,3]]},"2595":{"position":[[269,7]]},"2644":{"position":[[126,4]]},"2652":{"position":[[86,3]]},"2685":{"position":[[389,3],[774,3]]},"2687":{"position":[[1360,3]]},"2689":{"position":[[48,3]]},"2697":{"position":[[22,3]]},"2699":{"position":[[23,3]]},"2706":{"position":[[1173,7],[2931,3],[3471,3]]}}}],["setup",{"_index":439,"t":{"2562":{"position":[[66,6],[171,6],[230,5],[417,6]]},"2706":{"position":[[2579,6]]}}}],["seven",{"_index":181,"t":{"2548":{"position":[[574,5]]}}}],["share",{"_index":454,"t":{"2564":{"position":[[148,5]]},"2573":{"position":[[669,6],[783,6]]},"2581":{"position":[[451,6]]},"2583":{"position":[[284,6],[329,6]]},"2601":{"position":[[914,6]]},"2632":{"position":[[882,6]]},"2676":{"position":[[890,6]]},"2683":{"position":[[752,6],[917,6]]},"2699":{"position":[[1398,6]]},"2701":{"position":[[387,6]]}}}],["shift",{"_index":380,"t":{"2552":{"position":[[1240,6]]}}}],["short",{"_index":883,"t":{"2617":{"position":[[1596,5]]},"2674":{"position":[[1546,6]]}}}],["show",{"_index":569,"t":{"2575":{"position":[[1679,5],[2979,5]]},"2634":{"position":[[451,5]]},"2644":{"position":[[1070,5]]},"2674":{"position":[[1461,4]]}}}],["shown",{"_index":571,"t":{"2575":{"position":[[1995,5]]},"2687":{"position":[[167,5]]}}}],["sign",{"_index":347,"t":{"2552":{"position":[[499,4]]},"2575":{"position":[[41,4],[309,7],[487,5],[549,4],[810,4],[886,6],[1155,6],[2072,5],[2183,5],[2240,4],[2412,6],[2873,5]]},"2579":{"position":[[73,4],[641,6]]},"2581":{"position":[[4,4],[159,4],[440,4],[550,4],[651,4],[724,4],[777,4],[1291,4]]},"2599":{"position":[[85,4]]},"2601":{"position":[[31,4]]},"2605":{"position":[[366,7]]},"2628":{"position":[[217,4],[768,4],[860,4]]},"2642":{"position":[[309,4]]},"2646":{"position":[[350,6]]},"2666":{"position":[[12,4]]},"2668":{"position":[[187,4]]},"2674":{"position":[[658,5],[863,5]]},"2676":{"position":[[130,4],[248,4],[735,4],[783,6],[960,4],[1875,6]]},"2683":{"position":[[295,4],[584,7],[642,4],[687,4],[1002,7]]},"2699":{"position":[[1319,4]]}}}],["signal",{"_index":410,"t":{"2556":{"position":[[134,6]]}}}],["signatur",{"_index":545,"t":{"2575":{"position":[[243,9],[592,9],[1225,9],[1427,9],[1489,10],[2698,9],[3109,9]]},"2646":{"position":[[399,9]]},"2652":{"position":[[44,9]]},"2674":{"position":[[708,9]]},"2683":{"position":[[861,9]]},"2685":{"position":[[280,9],[309,11]]},"2706":{"position":[[734,9]]},"2708":{"position":[[167,9]]}}}],["signific",{"_index":868,"t":{"2617":{"position":[[762,11]]}}}],["significantli",{"_index":370,"t":{"2552":{"position":[[1046,13]]}}}],["signup",{"_index":344,"t":{"2552":{"position":[[374,8],[620,8]]},"2579":{"position":[[341,7]]},"2628":{"position":[[0,7],[34,6],[53,6],[285,6]]},"2630":{"position":[[62,6]]},"2676":{"position":[[319,8],[572,6],[673,8]]}}}],["signupgatekeep",{"_index":657,"t":{"2581":{"position":[[526,19]]}}}],["signupgateway",{"_index":1049,"t":{"2628":{"position":[[140,13]]}}}],["similar",{"_index":1248,"t":{"2685":{"position":[[37,7]]}}}],["similarli",{"_index":693,"t":{"2587":{"position":[[392,9]]}}}],["simpl",{"_index":234,"t":{"2550":{"position":[[159,6]]},"2628":{"position":[[263,6]]}}}],["simpli",{"_index":534,"t":{"2573":{"position":[[858,6]]},"2575":{"position":[[1672,6]]},"2605":{"position":[[278,6]]},"2611":{"position":[[45,6]]},"2674":{"position":[[1114,6]]},"2687":{"position":[[1013,6]]}}}],["simplic",{"_index":1211,"t":{"2674":{"position":[[558,11]]},"2699":{"position":[[1514,11]]}}}],["simplifi",{"_index":539,"t":{"2573":{"position":[[1068,10]]}}}],["singl",{"_index":335,"t":{"2552":{"position":[[167,6]]},"2573":{"position":[[74,6]]},"2617":{"position":[[3080,6]]},"2636":{"position":[[433,6]]},"2658":{"position":[[396,6]]},"2674":{"position":[[1584,6]]}}}],["size",{"_index":1192,"t":{"2668":{"position":[[347,4]]},"2683":{"position":[[403,4],[454,4]]},"2699":{"position":[[306,4],[455,4],[641,4]]}}}],["sk2sk2sk2",{"_index":1156,"t":{"2658":{"position":[[650,9]]}}}],["sleev",{"_index":1031,"t":{"2624":{"position":[[309,6]]}}}],["small",{"_index":864,"t":{"2617":{"position":[[511,5]]},"2662":{"position":[[101,5]]}}}],["smaller",{"_index":795,"t":{"2603":{"position":[[393,7]]},"2617":{"position":[[2321,7]]}}}],["smart",{"_index":57,"t":{"2546":{"position":[[17,5],[1184,5]]},"2550":{"position":[[92,5]]},"2552":{"position":[[41,5]]},"2573":{"position":[[144,5],[1023,5]]},"2575":{"position":[[110,5],[2316,5],[2959,5]]},"2577":{"position":[[1421,5]]},"2579":{"position":[[160,5],[460,5],[507,5]]},"2581":{"position":[[57,5],[607,5]]},"2583":{"position":[[67,5]]},"2605":{"position":[[624,5]]},"2672":{"position":[[304,5]]},"2674":{"position":[[99,5],[772,5],[924,5]]},"2683":{"position":[[176,5]]}}}],["snark",{"_index":129,"t":{"2546":{"position":[[1434,7]]},"2552":{"position":[[871,5]]},"2554":{"position":[[226,6]]},"2566":{"position":[[653,6]]},"2568":{"position":[[639,6]]},"2570":{"position":[[376,7],[486,6],[517,6],[570,6]]},"2573":{"position":[[263,6]]},"2575":{"position":[[3502,6],[3673,7]]},"2577":{"position":[[16,6],[324,5],[364,5],[517,5],[1048,5],[1193,5]]},"2585":{"position":[[743,5],[954,5],[1140,5]]},"2587":{"position":[[134,5],[379,5]]},"2597":{"position":[[250,5]]},"2617":{"position":[[6679,5],[7168,5]]},"2620":{"position":[[17,5],[281,5]]},"2632":{"position":[[194,5],[243,6],[637,5]]},"2664":{"position":[[330,5]]},"2676":{"position":[[1646,5],[2373,5]]},"2683":{"position":[[391,5]]},"2689":{"position":[[19,5]]},"2691":{"position":[[252,5]]},"2706":{"position":[[3254,5]]}}}],["snark_scalar_field",{"_index":1035,"t":{"2624":{"position":[[372,18],[537,19]]}}}],["snarkj",{"_index":364,"t":{"2552":{"position":[[915,8]]}}}],["social",{"_index":973,"t":{"2617":{"position":[[5205,6]]}}}],["softwar",{"_index":283,"t":{"2550":{"position":[[1026,8]]}}}],["sole",{"_index":832,"t":{"2609":{"position":[[201,6]]}}}],["solid",{"_index":762,"t":{"2597":{"position":[[1133,9]]}}}],["solut",{"_index":605,"t":{"2577":{"position":[[460,8]]},"2597":{"position":[[1205,9]]},"2603":{"position":[[335,9],[535,8],[969,8]]},"2617":{"position":[[1573,8],[1833,8]]},"2658":{"position":[[800,8]]},"2674":{"position":[[403,8]]}}}],["someon",{"_index":1174,"t":{"2664":{"position":[[419,8]]}}}],["soon",{"_index":38,"t":{"2544":{"position":[[434,5]]}}}],["sophist",{"_index":984,"t":{"2617":{"position":[[5877,14]]}}}],["sourc",{"_index":857,"t":{"2617":{"position":[[224,6],[4123,6]]},"2636":{"position":[[440,6]]}}}],["space",{"_index":396,"t":{"2554":{"position":[[19,5]]}}}],["spam",{"_index":1170,"t":{"2662":{"position":[[620,4]]},"2668":{"position":[[316,5]]}}}],["spammer",{"_index":1164,"t":{"2662":{"position":[[397,8]]}}}],["speak",{"_index":115,"t":{"2546":{"position":[[1121,9]]}}}],["specif",{"_index":444,"t":{"2562":{"position":[[274,8]]},"2577":{"position":[[69,8],[1412,8]]},"2585":{"position":[[30,8],[1105,12]]},"2617":{"position":[[1997,8]]},"2620":{"position":[[246,13]]},"2672":{"position":[[5,13]]},"2674":{"position":[[584,13]]},"2676":{"position":[[2476,13],[2490,12]]},"2685":{"position":[[19,13]]},"2699":{"position":[[1534,14]]}}}],["specifi",{"_index":776,"t":{"2601":{"position":[[544,7]]},"2646":{"position":[[423,9]]}}}],["spend",{"_index":664,"t":{"2581":{"position":[[1070,6]]},"2601":{"position":[[978,5]]},"2638":{"position":[[307,6]]},"2642":{"position":[[1144,5]]},"2685":{"position":[[1068,5]]},"2687":{"position":[[592,5],[1054,5]]},"2699":{"position":[[621,5]]}}}],["spent",{"_index":1097,"t":{"2638":{"position":[[578,5]]},"2685":{"position":[[870,5]]},"2687":{"position":[[438,5],[666,5],[938,6],[1188,5]]}}}],["split",{"_index":310,"t":{"2550":{"position":[[1512,5]]}}}],["sprint",{"_index":941,"t":{"2617":{"position":[[3948,6]]}}}],["squar",{"_index":1096,"t":{"2638":{"position":[[545,6]]},"2642":{"position":[[1084,6]]},"2668":{"position":[[391,6]]},"2687":{"position":[[395,6],[895,6]]},"2691":{"position":[[555,6]]},"2699":{"position":[[561,6]]}}}],["stack",{"_index":389,"t":{"2552":{"position":[[1599,5]]},"2617":{"position":[[3689,5],[6749,6],[7860,5]]}}}],["stake",{"_index":1161,"t":{"2660":{"position":[[62,5]]}}}],["stand",{"_index":459,"t":{"2566":{"position":[[26,6]]},"2568":{"position":[[12,6]]}}}],["standalon",{"_index":818,"t":{"2607":{"position":[[22,10],[166,10]]}}}],["start",{"_index":168,"t":{"2548":{"position":[[327,7],[800,7]]},"2581":{"position":[[402,7]]},"2609":{"position":[[154,8]]},"2617":{"position":[[4937,9]]},"2628":{"position":[[574,8]]},"2642":{"position":[[1198,6]]},"2644":{"position":[[1539,5]]},"2674":{"position":[[329,7]]},"2676":{"position":[[119,6]]},"2685":{"position":[[1015,5]]},"2691":{"position":[[653,5],[693,5],[729,5]]}}}],["state",{"_index":676,"t":{"2585":{"position":[[216,5],[233,5],[437,5],[763,5],[932,5]]},"2587":{"position":[[179,5]]},"2601":{"position":[[830,5]]},"2605":{"position":[[610,5]]},"2620":{"position":[[107,5],[683,5]]},"2628":{"position":[[562,5],[875,5]]},"2632":{"position":[[169,5],[328,5],[450,5]]},"2634":{"position":[[272,5],[300,5],[349,5],[405,5],[429,5]]},"2636":{"position":[[5,5],[404,5]]},"2642":{"position":[[74,5],[172,5],[214,5],[260,5],[356,5],[1002,5]]},"2646":{"position":[[51,5],[571,5],[599,5],[645,5],[695,5],[749,5],[772,5]]},"2652":{"position":[[134,5]]},"2654":{"position":[[66,5]]},"2664":{"position":[[347,5]]},"2676":{"position":[[524,5],[551,5],[1460,5],[1548,5],[1668,5],[1711,6],[1750,5],[1795,5],[2251,5]]},"2685":{"position":[[327,5],[514,5]]},"2687":{"position":[[1367,5],[1409,5],[1497,5]]},"2689":{"position":[[105,5],[171,5],[258,5],[359,5],[661,5],[760,5],[1130,5],[1208,5],[1313,5],[1404,5]]},"2691":{"position":[[386,5],[970,5],[1230,5]]},"2693":{"position":[[26,5],[59,5],[191,5],[224,5]]},"2695":{"position":[[44,5]]},"2697":{"position":[[147,5],[328,5],[415,5],[441,5],[473,5]]},"2699":{"position":[[157,5],[183,5],[443,5],[848,5],[872,5],[944,5],[968,5],[1046,5],[1084,5],[1152,5]]},"2706":{"position":[[143,5],[530,5],[2986,5],[3155,5],[3229,5]]},"2708":{"position":[[304,5],[477,5]]}}}],["stateindex",{"_index":1100,"t":{"2642":{"position":[[203,10]]}}}],["stateleav",{"_index":1307,"t":{"2691":{"position":[[220,11]]}}}],["stateleaves[i].voteoptiontreeroot",{"_index":1322,"t":{"2691":{"position":[[1075,34]]}}}],["stateleaves[m][p",{"_index":1295,"t":{"2689":{"position":[[1155,17]]}}}],["stateroot",{"_index":1286,"t":{"2689":{"position":[[472,10],[576,10]]},"2691":{"position":[[505,10]]}}}],["statetre",{"_index":777,"t":{"2601":{"position":[[556,9]]},"2624":{"position":[[142,9]]}}}],["stem",{"_index":137,"t":{"2548":{"position":[[5,5]]}}}],["step",{"_index":449,"t":{"2564":{"position":[[21,4]]},"2587":{"position":[[218,5],[775,5]]},"2589":{"position":[[15,4]]},"2676":{"position":[[1438,6]]},"2683":{"position":[[622,5]]}}}],["still",{"_index":478,"t":{"2566":{"position":[[708,5]]},"2568":{"position":[[694,5]]},"2601":{"position":[[908,5]]},"2617":{"position":[[361,5]]}}}],["stop",{"_index":527,"t":{"2573":{"position":[[508,4]]}}}],["storag",{"_index":1065,"t":{"2632":{"position":[[342,7]]}}}],["store",{"_index":538,"t":{"2573":{"position":[[1044,6]]},"2581":{"position":[[1251,6]]},"2583":{"position":[[464,5]]},"2597":{"position":[[599,5]]},"2605":{"position":[[563,5]]},"2626":{"position":[[52,5]]},"2676":{"position":[[198,6]]},"2683":{"position":[[146,6]]},"2691":{"position":[[533,6]]}}}],["strength",{"_index":1256,"t":{"2685":{"position":[[926,8]]},"2687":{"position":[[226,8]]}}}],["string",{"_index":1033,"t":{"2624":{"position":[[349,6]]}}}],["style",{"_index":1181,"t":{"2668":{"position":[[55,5]]}}}],["submit",{"_index":560,"t":{"2575":{"position":[[1137,6],[1509,6],[2293,7],[2936,7]]},"2579":{"position":[[537,6]]},"2624":{"position":[[122,9]]},"2642":{"position":[[107,6]]},"2674":{"position":[[746,7],[1572,9]]},"2676":{"position":[[1121,6]]}}}],["subsequ",{"_index":142,"t":{"2548":{"position":[[57,13]]},"2552":{"position":[[259,12]]},"2662":{"position":[[129,10]]}}}],["subsidi",{"_index":745,"t":{"2597":{"position":[[413,7]]},"2599":{"position":[[128,7]]},"2603":{"position":[[9,7],[401,7],[830,7]]},"2613":{"position":[[135,7]]}}}],["subtot",{"_index":1324,"t":{"2691":{"position":[[1193,8]]}}}],["succe",{"_index":697,"t":{"2587":{"position":[[671,9]]}}}],["success",{"_index":696,"t":{"2587":{"position":[[562,10]]},"2617":{"position":[[5914,7]]}}}],["successfulli",{"_index":581,"t":{"2575":{"position":[[2599,12]]},"2597":{"position":[[983,12]]}}}],["such",{"_index":64,"t":{"2546":{"position":[[133,4],[299,4]]},"2550":{"position":[[614,4],[1817,4],[1868,4]]},"2552":{"position":[[994,4]]},"2589":{"position":[[491,4],[523,4]]},"2595":{"position":[[1382,4]]},"2605":{"position":[[616,4]]},"2620":{"position":[[359,5]]},"2638":{"position":[[465,5]]},"2642":{"position":[[1491,5],[1538,4]]},"2644":{"position":[[645,5]]},"2656":{"position":[[47,4]]},"2662":{"position":[[293,5]]},"2664":{"position":[[279,4]]},"2674":{"position":[[337,4]]},"2685":{"position":[[137,4]]},"2687":{"position":[[708,5]]},"2691":{"position":[[847,5]]},"2693":{"position":[[73,4],[131,4],[261,4]]},"2706":{"position":[[1075,5]]},"2708":{"position":[[495,4],[582,4]]}}}],["suggest",{"_index":416,"t":{"2558":{"position":[[2,9]]}}}],["suit",{"_index":224,"t":{"2548":{"position":[[1320,7]]}}}],["sum",{"_index":626,"t":{"2577":{"position":[[1146,3]]},"2587":{"position":[[243,3]]},"2668":{"position":[[384,3]]},"2691":{"position":[[544,3],[1127,3]]}}}],["summar",{"_index":609,"t":{"2577":{"position":[[618,10]]}}}],["summer",{"_index":729,"t":{"2597":{"position":[[38,6]]}}}],["support",{"_index":331,"t":{"2552":{"position":[[135,7],[704,8],[1448,10]]},"2603":{"position":[[992,7]]},"2609":{"position":[[268,7]]},"2617":{"position":[[797,7],[850,10],[1174,7],[3555,8],[4076,7],[4307,7],[4911,7],[5634,7],[6242,11],[6831,7],[6913,7],[6940,8]]}}}],["sure",{"_index":1214,"t":{"2674":{"position":[[989,4]]}}}],["surfac",{"_index":51,"t":{"2544":{"position":[[629,9]]}}}],["sustain",{"_index":867,"t":{"2617":{"position":[[623,9]]}}}],["switch",{"_index":568,"t":{"2575":{"position":[[1606,10],[1791,9],[1941,8]]}}}],["sybil",{"_index":303,"t":{"2550":{"position":[[1375,5]]}}}],["system",{"_index":22,"t":{"2544":{"position":[[229,8]]},"2546":{"position":[[148,7]]},"2550":{"position":[[38,8],[393,8],[488,7],[1873,8]]},"2564":{"position":[[121,8]]},"2595":{"position":[[284,7]]},"2603":{"position":[[569,6]]},"2646":{"position":[[494,7]]},"2656":{"position":[[4,6]]},"2672":{"position":[[159,7],[513,6]]},"2676":{"position":[[2641,7]]}}}],["take",{"_index":467,"t":{"2566":{"position":[[344,5]]},"2568":{"position":[[330,5]]},"2577":{"position":[[140,4]]},"2579":{"position":[[424,4]]},"2597":{"position":[[888,6]]},"2644":{"position":[[856,4]]}}}],["taken",{"_index":516,"t":{"2570":{"position":[[749,6]]}}}],["talk",{"_index":970,"t":{"2617":{"position":[[5178,6]]}}}],["talli",{"_index":113,"t":{"2546":{"position":[[1093,5]]},"2552":{"position":[[231,5]]},"2560":{"position":[[112,7]]},"2570":{"position":[[1517,5]]},"2573":{"position":[[181,7],[296,5]]},"2575":{"position":[[1337,6],[3283,6],[3575,7]]},"2577":{"position":[[822,5],[910,5],[1157,5],[1217,5]]},"2579":{"position":[[114,5],[873,8],[962,5]]},"2587":{"position":[[64,7],[260,5],[354,5],[732,7],[806,5]]},"2595":{"position":[[337,5],[1137,5]]},"2597":{"position":[[925,7]]},"2620":{"position":[[182,7],[743,8]]},"2634":{"position":[[213,5],[715,6],[867,5]]},"2650":{"position":[[75,6]]},"2676":{"position":[[2329,7]]},"2687":{"position":[[46,8],[363,7],[721,7],[858,7],[1349,8],[1558,5]]},"2689":{"position":[[631,5],[750,5],[966,5],[1011,5],[1106,5],[1222,6]]},"2691":{"position":[[101,7]]}}}],["tallyvot",{"_index":695,"t":{"2587":{"position":[[439,10],[534,10],[651,10]]}}}],["tamper",{"_index":1079,"t":{"2634":{"position":[[928,6]]},"2672":{"position":[[450,6]]},"2706":{"position":[[1134,9]]}}}],["tan",{"_index":154,"t":{"2548":{"position":[[190,4]]},"2670":{"position":[[25,4]]}}}],["target",{"_index":323,"t":{"2550":{"position":[[1830,6]]}}}],["task",{"_index":1003,"t":{"2617":{"position":[[6599,5]]}}}],["team",{"_index":4,"t":{"2544":{"position":[[35,4]]},"2548":{"position":[[1245,5],[1399,5]]},"2552":{"position":[[1542,4]]},"2562":{"position":[[100,5],[316,5]]},"2597":{"position":[[64,4],[154,4]]},"2603":{"position":[[940,4]]},"2609":{"position":[[185,4]]},"2611":{"position":[[164,4]]},"2617":{"position":[[65,4],[469,4],[501,4],[543,4],[3943,4],[4337,4],[4852,4],[7461,4],[7502,4]]}}}],["team'",{"_index":854,"t":{"2617":{"position":[[129,6]]}}}],["team’",{"_index":880,"t":{"2617":{"position":[[1522,6],[2936,6],[4030,6],[5333,6]]}}}],["technic",{"_index":727,"t":{"2595":{"position":[[1476,9]]},"2613":{"position":[[25,9]]},"2617":{"position":[[2489,9],[2648,9],[2725,9],[5371,9]]}}}],["techniqu",{"_index":207,"t":{"2548":{"position":[[1070,11]]}}}],["technolog",{"_index":870,"t":{"2617":{"position":[[836,10],[5691,11],[6888,11]]}}}],["tell",{"_index":240,"t":{"2550":{"position":[[248,4]]},"2558":{"position":[[239,4]]},"2566":{"position":[[911,4]]},"2568":{"position":[[897,4]]},"2575":{"position":[[1921,7]]},"2585":{"position":[[1157,4]]},"2644":{"position":[[1191,5]]},"2654":{"position":[[171,4]]},"2658":{"position":[[92,4]]},"2674":{"position":[[1326,4],[1645,4]]}}}],["templat",{"_index":938,"t":{"2617":{"position":[[3822,9]]}}}],["tenet",{"_index":515,"t":{"2570":{"position":[[742,6]]}}}],["term",{"_index":879,"t":{"2617":{"position":[[1507,5],[1602,5]]},"2676":{"position":[[40,6]]},"2685":{"position":[[5,5],[155,4]]}}}],["test",{"_index":223,"t":{"2548":{"position":[[1315,4]]},"2597":{"position":[[1161,4]]}}}],["thank",{"_index":46,"t":{"2544":{"position":[[571,5]]},"2556":{"position":[[3,5]]}}}],["themselv",{"_index":526,"t":{"2573":{"position":[[470,11]]}}}],["therefor",{"_index":414,"t":{"2556":{"position":[[278,9]]},"2566":{"position":[[585,9],[800,9]]},"2568":{"position":[[571,9],[786,9]]},"2573":{"position":[[366,10]]},"2575":{"position":[[1344,10],[3207,9]]},"2587":{"position":[[631,10]]},"2658":{"position":[[161,9]]}}}],["think",{"_index":1000,"t":{"2617":{"position":[[6366,5]]},"2658":{"position":[[283,5],[719,5]]}}}],["thorough",{"_index":763,"t":{"2597":{"position":[[1152,8]]}}}],["those",{"_index":231,"t":{"2550":{"position":[[60,5]]},"2577":{"position":[[283,5]]},"2589":{"position":[[531,5]]}}}],["though",{"_index":1270,"t":{"2687":{"position":[[755,6]]}}}],["thought",{"_index":562,"t":{"2575":{"position":[[1377,7]]}}}],["threat",{"_index":319,"t":{"2550":{"position":[[1718,6]]}}}],["three",{"_index":646,"t":{"2581":{"position":[[92,5]]}}}],["through",{"_index":318,"t":{"2550":{"position":[[1692,7]]},"2552":{"position":[[1693,7]]},"2560":{"position":[[233,7]]}}}],["thumb",{"_index":1112,"t":{"2642":{"position":[[1377,5]]}}}],["ti",{"_index":99,"t":{"2546":{"position":[[837,4]]},"2570":{"position":[[1263,4]]},"2595":{"position":[[883,4]]}}}],["time",{"_index":188,"t":{"2548":{"position":[[683,4]]},"2583":{"position":[[11,4]]},"2597":{"position":[[907,4]]},"2601":{"position":[[48,6],[779,5]]},"2617":{"position":[[293,5],[789,4],[6657,4]]},"2630":{"position":[[45,4]]},"2674":{"position":[[829,5]]},"2676":{"position":[[615,5]]},"2699":{"position":[[1633,5]]}}}],["timestamp",{"_index":669,"t":{"2581":{"position":[[1337,9]]}}}],["today’",{"_index":464,"t":{"2566":{"position":[[215,7]]},"2568":{"position":[[201,7]]}}}],["togeth",{"_index":552,"t":{"2575":{"position":[[614,8]]}}}],["token",{"_index":132,"t":{"2546":{"position":[[1493,6]]},"2550":{"position":[[1700,5]]},"2552":{"position":[[490,5]]},"2601":{"position":[[496,6]]},"2668":{"position":[[154,5],[221,6]]},"2676":{"position":[[447,5]]}}}],["took",{"_index":203,"t":{"2548":{"position":[[1028,4]]},"2558":{"position":[[255,4]]}}}],["tool",{"_index":209,"t":{"2548":{"position":[[1093,7]]},"2552":{"position":[[805,5],[986,7]]},"2560":{"position":[[18,7]]},"2617":{"position":[[1785,6],[3526,7]]}}}],["top",{"_index":69,"t":{"2546":{"position":[[279,3]]},"2597":{"position":[[1009,3]]},"2599":{"position":[[20,3],[48,3]]},"2601":{"position":[[77,3],[111,3]]}}}],["topup",{"_index":750,"t":{"2597":{"position":[[624,7]]},"2601":{"position":[[514,6],[577,5],[606,5],[694,5],[743,5]]}}}],["topupcredit",{"_index":784,"t":{"2601":{"position":[[1066,11]]}}}],["total",{"_index":622,"t":{"2577":{"position":[[816,5],[904,5]]},"2617":{"position":[[2943,5],[4037,5],[5340,5]]},"2646":{"position":[[182,5]]}}}],["totalcredit=initialcredit+topupcredit",{"_index":783,"t":{"2601":{"position":[[1018,37]]}}}],["touch",{"_index":455,"t":{"2564":{"position":[[181,5]]}}}],["toward",{"_index":450,"t":{"2564":{"position":[[26,7]]},"2575":{"position":[[1326,6]]}}}],["track",{"_index":639,"t":{"2579":{"position":[[319,5]]},"2687":{"position":[[1595,5]]}}}],["transact",{"_index":235,"t":{"2550":{"position":[[175,11]]},"2566":{"position":[[458,12]]},"2568":{"position":[[444,12]]},"2573":{"position":[[877,11]]},"2676":{"position":[[155,11]]}}}],["transfer",{"_index":772,"t":{"2601":{"position":[[240,8],[393,8]]}}}],["transit",{"_index":1017,"t":{"2620":{"position":[[118,11],[694,10]]},"2632":{"position":[[180,10]]},"2646":{"position":[[57,10]]},"2652":{"position":[[140,10]]},"2664":{"position":[[358,11]]},"2676":{"position":[[1679,10]]},"2695":{"position":[[55,11]]}}}],["tree",{"_index":376,"t":{"2552":{"position":[[1129,4]]},"2581":{"position":[[1306,5]]},"2583":{"position":[[525,5]]},"2585":{"position":[[222,5],[239,4],[443,5],[769,4],[938,4]]},"2587":{"position":[[185,4]]},"2597":{"position":[[709,4]]},"2624":{"position":[[51,4],[285,4]]},"2626":{"position":[[24,4]]},"2628":{"position":[[568,5],[758,5],[881,5]]},"2632":{"position":[[456,4],[555,4]]},"2636":{"position":[[90,5],[477,5],[642,5]]},"2638":{"position":[[157,4],[427,5]]},"2642":{"position":[[220,4],[266,4],[931,4],[983,4],[1593,5]]},"2646":{"position":[[605,4],[651,4],[778,4]]},"2654":{"position":[[72,5]]},"2666":{"position":[[131,5]]},"2676":{"position":[[239,5],[530,4],[557,4],[1304,5],[1756,4],[2257,4],[2278,5]]},"2685":{"position":[[677,4],[693,4]]},"2687":{"position":[[1481,4]]},"2689":{"position":[[111,4],[177,4],[264,4],[1214,4]]},"2691":{"position":[[392,4]]},"2697":{"position":[[201,4],[275,4],[334,4]]},"2699":{"position":[[426,4],[738,4]]},"2706":{"position":[[1009,5],[1476,4],[2013,4],[2461,4]]},"2708":{"position":[[386,4]]}}}],["tri",{"_index":582,"t":{"2575":{"position":[[2755,5]]}}}],["true",{"_index":688,"t":{"2585":{"position":[[1225,5]]},"2652":{"position":[[108,4]]},"2706":{"position":[[1189,5],[3478,4],[3498,5]]},"2708":{"position":[[55,4],[114,4],[177,4],[251,4],[321,4],[397,4]]}}}],["truli",{"_index":707,"t":{"2589":{"position":[[439,5]]}}}],["trust",{"_index":76,"t":{"2546":{"position":[[399,7],[619,7],[712,7],[1038,7]]},"2548":{"position":[[1002,5]]},"2562":{"position":[[58,7],[163,7],[222,7],[409,7]]},"2566":{"position":[[834,5]]},"2568":{"position":[[820,5]]},"2570":{"position":[[833,7],[1048,7],[1139,7],[1462,7]]},"2573":{"position":[[81,7]]},"2587":{"position":[[691,5],[994,5]]},"2595":{"position":[[216,7],[454,7],[667,7],[759,7],[1082,7]]},"2658":{"position":[[245,7],[338,7],[365,7],[542,7],[778,7]]},"2706":{"position":[[2568,7]]}}}],["trustlessli",{"_index":1173,"t":{"2664":{"position":[[401,11]]}}}],["truth",{"_index":1084,"t":{"2636":{"position":[[450,5]]}}}],["turn",{"_index":70,"t":{"2546":{"position":[[293,5]]},"2676":{"position":[[491,4]]}}}],["tutori",{"_index":939,"t":{"2617":{"position":[[3834,9]]}}}],["tweet",{"_index":287,"t":{"2550":{"position":[[1162,5]]}}}],["twitter",{"_index":967,"t":{"2617":{"position":[[5079,8]]}}}],["two",{"_index":518,"t":{"2573":{"position":[[32,3]]},"2577":{"position":[[289,3]]},"2597":{"position":[[215,3]]},"2603":{"position":[[88,3],[637,3]]},"2605":{"position":[[58,3],[458,3]]},"2620":{"position":[[10,3]]},"2624":{"position":[[12,3]]},"2681":{"position":[[10,3]]}}}],["type",{"_index":1257,"t":{"2687":{"position":[[32,5]]},"2689":{"position":[[31,4]]}}}],["typedoc",{"_index":926,"t":{"2617":{"position":[[3475,7]]}}}],["typescript",{"_index":116,"t":{"2546":{"position":[[1154,10]]}}}],["uint",{"_index":1037,"t":{"2624":{"position":[[472,4]]}}}],["uint256",{"_index":1034,"t":{"2624":{"position":[[364,7]]},"2632":{"position":[[20,7],[43,9]]},"2634":{"position":[[20,7],[52,7],[83,9]]}}}],["uint256(keccak256(abi.encodepacked('maci",{"_index":1039,"t":{"2624":{"position":[[490,44]]}}}],["uint256[8",{"_index":1063,"t":{"2632":{"position":[[107,10]]},"2634":{"position":[[121,10]]}}}],["unabl",{"_index":522,"t":{"2573":{"position":[[420,6]]},"2577":{"position":[[499,6]]},"2664":{"position":[[308,6]]}}}],["unaudit",{"_index":413,"t":{"2556":{"position":[[264,9]]}}}],["uncensor",{"_index":90,"t":{"2546":{"position":[[674,16],[1254,15]]},"2570":{"position":[[1101,16]]},"2595":{"position":[[721,15]]}}}],["uncheck",{"_index":322,"t":{"2550":{"position":[[1800,10]]}}}],["uncondit",{"_index":1006,"t":{"2617":{"position":[[7077,13]]}}}],["under",{"_index":840,"t":{"2611":{"position":[[130,5]]},"2617":{"position":[[367,5]]}}}],["underli",{"_index":121,"t":{"2546":{"position":[[1279,10]]}}}],["understand",{"_index":498,"t":{"2570":{"position":[[340,10]]},"2617":{"position":[[3260,10],[3781,10],[5987,10]]},"2662":{"position":[[585,10]]}}}],["unencrypt",{"_index":1251,"t":{"2685":{"position":[[176,11]]}}}],["unforg",{"_index":93,"t":{"2546":{"position":[[766,15],[1319,14]]},"2570":{"position":[[1192,15]]},"2595":{"position":[[813,14]]}}}],["uniqu",{"_index":1081,"t":{"2636":{"position":[[71,6]]},"2672":{"position":[[560,6]]},"2685":{"position":[[686,6]]}}}],["unit",{"_index":1254,"t":{"2685":{"position":[[903,4]]}}}],["unlik",{"_index":436,"t":{"2562":{"position":[[0,6]]}}}],["until",{"_index":691,"t":{"2585":{"position":[[1364,5]]},"2650":{"position":[[180,5]]}}}],["up",{"_index":205,"t":{"2548":{"position":[[1058,2]]},"2550":{"position":[[1420,2]]},"2552":{"position":[[504,2]]},"2573":{"position":[[189,2]]},"2575":{"position":[[46,2],[317,3],[554,3],[2078,2],[2245,2],[3134,2]]},"2579":{"position":[[78,2],[648,2]]},"2581":{"position":[[9,2],[164,2],[445,2],[555,2],[656,3],[729,2],[782,3],[1296,2]]},"2595":{"position":[[277,2]]},"2597":{"position":[[1100,2]]},"2599":{"position":[[24,2],[52,2],[90,2]]},"2601":{"position":[[36,2],[81,2],[115,2]]},"2605":{"position":[[374,2]]},"2624":{"position":[[303,2]]},"2628":{"position":[[222,3],[773,2],[865,3]]},"2662":{"position":[[415,2]]},"2666":{"position":[[17,2]]},"2668":{"position":[[192,2]]},"2676":{"position":[[135,2],[253,3],[790,2]]},"2683":{"position":[[300,3]]},"2689":{"position":[[773,2]]}}}],["upcom",{"_index":999,"t":{"2617":{"position":[[6342,8]]}}}],["updat",{"_index":580,"t":{"2575":{"position":[[2537,7]]},"2585":{"position":[[208,7]]},"2591":{"position":[[53,7]]},"2593":{"position":[[45,7],[243,8]]},"2597":{"position":[[1072,7]]},"2605":{"position":[[212,7]]},"2617":{"position":[[308,6],[5219,6],[6050,6]]},"2630":{"position":[[118,7]]},"2632":{"position":[[162,6],[273,7],[316,7],[438,7]]},"2642":{"position":[[370,7]]},"2654":{"position":[[105,7]]},"2674":{"position":[[1474,7]]},"2676":{"position":[[539,7],[1537,6],[1599,6]]},"2699":{"position":[[403,6],[1104,7]]},"2706":{"position":[[2048,8],[3108,6]]},"2708":{"position":[[92,7],[151,7],[214,7],[288,7],[358,7],[434,7]]}}}],["updatedstateroot",{"_index":1403,"t":{"2706":{"position":[[3280,16]]}}}],["updatemerkletre",{"_index":1389,"t":{"2706":{"position":[[2114,17]]}}}],["upgrad",{"_index":24,"t":{"2544":{"position":[[262,7]]},"2552":{"position":[[568,7],[1585,7]]},"2558":{"position":[[12,7]]}}}],["upon",{"_index":62,"t":{"2546":{"position":[[61,4]]}}}],["us",{"_index":253,"t":{"2550":{"position":[[501,3]]},"2552":{"position":[[886,5],[1508,3]]},"2556":{"position":[[98,3]]},"2558":{"position":[[34,3]]},"2560":{"position":[[252,3]]},"2562":{"position":[[334,3]]},"2566":{"position":[[644,5]]},"2568":{"position":[[630,5]]},"2573":{"position":[[256,3],[661,5]]},"2575":{"position":[[88,3],[541,4],[2232,4]]},"2577":{"position":[[356,3],[509,3],[1038,4],[1185,3],[1253,3]]},"2579":{"position":[[146,3],[585,4],[807,4]]},"2581":{"position":[[432,4]]},"2583":{"position":[[240,3],[321,3]]},"2585":{"position":[[66,3]]},"2589":{"position":[[192,3]]},"2597":{"position":[[591,4],[1088,4]]},"2599":{"position":[[257,3]]},"2601":{"position":[[448,4]]},"2607":{"position":[[12,4],[157,3],[256,3],[313,3],[380,4],[439,3]]},"2609":{"position":[[130,3]]},"2617":{"position":[[1222,5],[2234,4],[2313,4],[2387,4],[2988,6],[3021,3],[7042,3]]},"2626":{"position":[[3,3]]},"2632":{"position":[[894,4]]},"2638":{"position":[[523,3]]},"2642":{"position":[[301,4],[335,4],[472,4],[573,3],[859,3],[1062,3],[1362,6]]},"2658":{"position":[[689,4],[815,3]]},"2668":{"position":[[8,3]]},"2674":{"position":[[1121,3],[1514,4]]},"2676":{"position":[[754,5],[807,3],[968,5],[1067,3],[1210,5],[2053,3],[2532,3],[2554,4]]},"2683":{"position":[[523,3],[763,5]]},"2685":{"position":[[78,4],[999,3]]},"2687":{"position":[[1304,5]]},"2699":{"position":[[539,3],[1311,4],[1372,4],[1419,4]]},"2701":{"position":[[374,3]]},"2706":{"position":[[2878,3],[3418,3]]}}}],["us$20k",{"_index":193,"t":{"2548":{"position":[[755,6]]}}}],["us$6000",{"_index":185,"t":{"2548":{"position":[[644,7]]}}}],["usabl",{"_index":199,"t":{"2548":{"position":[[929,10]]}}}],["user",{"_index":32,"t":{"2544":{"position":[[346,6]]},"2546":{"position":[[209,4],[956,4]]},"2552":{"position":[[718,6],[1087,5],[1267,5],[1335,4]]},"2558":{"position":[[250,4]]},"2560":{"position":[[156,5]]},"2566":{"position":[[106,5],[847,4]]},"2568":{"position":[[92,5],[833,4]]},"2570":{"position":[[1381,4]]},"2573":{"position":[[53,5],[106,5],[636,5],[694,4],[778,4],[916,4],[989,4]]},"2575":{"position":[[9,4],[323,4],[482,4],[574,4],[747,5],[1033,4],[1667,4],[1768,4],[1808,5],[1936,4],[3414,6]]},"2577":{"position":[[29,5],[491,4],[1170,5]]},"2579":{"position":[[336,4],[394,5],[436,5],[531,5],[630,5]]},"2581":{"position":[[73,5],[294,4],[671,4],[760,4],[935,4],[957,4],[1184,4],[1272,4]]},"2583":{"position":[[89,5],[411,4]]},"2585":{"position":[[467,4]]},"2587":{"position":[[681,5],[921,5]]},"2589":{"position":[[223,5],[325,5]]},"2595":{"position":[[1001,4]]},"2597":{"position":[[355,5],[779,4]]},"2599":{"position":[[34,5]]},"2601":{"position":[[23,4],[208,4],[323,5],[482,4],[969,4],[1122,4]]},"2605":{"position":[[129,4],[264,4],[517,4]]},"2609":{"position":[[106,5]]},"2617":{"position":[[4569,4],[5272,4],[7033,5]]},"2624":{"position":[[135,6]]},"2628":{"position":[[209,4],[425,4],[490,6],[524,5]]},"2636":{"position":[[237,4],[505,4]]},"2638":{"position":[[213,4],[298,4],[380,5]]},"2642":{"position":[[98,4],[1129,4],[1418,4]]},"2644":{"position":[[158,4],[1202,4],[1478,4]]},"2646":{"position":[[23,4],[473,4],[506,4]]},"2658":{"position":[[104,4],[201,4],[328,4],[356,4],[419,4],[479,4],[506,4]]},"2662":{"position":[[5,4],[164,4],[284,5],[329,5]]},"2664":{"position":[[161,4],[254,4]]},"2668":{"position":[[82,5],[133,4]]},"2674":{"position":[[275,4]]},"2676":{"position":[[262,4],[417,4],[646,5],[705,4],[948,4],[1055,4],[1906,4],[2188,6]]},"2678":{"position":[[136,6]]},"2681":{"position":[[21,5]]},"2683":{"position":[[21,4],[80,4]]},"2685":{"position":[[579,4],[647,4],[719,4],[815,4],[1009,5]]},"2687":{"position":[[205,5],[290,5],[556,4],[766,4],[1183,4]]},"2689":{"position":[[1291,4]]},"2691":{"position":[[715,4],[831,4]]},"2699":{"position":[[606,4]]},"2706":{"position":[[1726,4]]}}}],["user'",{"_index":721,"t":{"2595":{"position":[[848,6]]},"2628":{"position":[[686,6]]},"2636":{"position":[[27,6],[355,6]]},"2658":{"position":[[40,6]]},"2666":{"position":[[112,6]]},"2683":{"position":[[245,6],[710,6]]},"2685":{"position":[[218,6],[358,6],[940,6]]},"2691":{"position":[[579,6]]},"2697":{"position":[[395,6]]},"2699":{"position":[[137,6],[1132,6]]},"2706":{"position":[[964,6]]}}}],["user1",{"_index":617,"t":{"2577":{"position":[[760,5]]}}}],["user2",{"_index":619,"t":{"2577":{"position":[[782,5]]}}}],["user3",{"_index":621,"t":{"2577":{"position":[[804,5]]}}}],["usercurrentleaf",{"_index":1349,"t":{"2699":{"position":[[1112,15]]},"2706":{"position":[[1315,15]]}}}],["usercurrentleaf.nonc",{"_index":1378,"t":{"2706":{"position":[[920,21]]}}}],["usercurrentleaf.voicecreditbal",{"_index":1385,"t":{"2706":{"position":[[1787,34]]}}}],["usercurrentleaf.voteoptiontreeroot",{"_index":1384,"t":{"2706":{"position":[[1659,35]]}}}],["usercurrentleafpathel",{"_index":1339,"t":{"2699":{"position":[[75,27]]},"2706":{"position":[[1260,28]]}}}],["usercurrentleafpathindex",{"_index":1338,"t":{"2697":{"position":[[339,24]]},"2706":{"position":[[1289,25]]}}}],["usernam",{"_index":563,"t":{"2575":{"position":[[1409,9]]}}}],["userpubkey",{"_index":1351,"t":{"2699":{"position":[[1253,10]]},"2706":{"position":[[815,11]]}}}],["user’",{"_index":95,"t":{"2546":{"position":[[802,6]]},"2566":{"position":[[747,6]]},"2568":{"position":[[733,6]]},"2570":{"position":[[1228,6]]},"2573":{"position":[[439,6]]},"2575":{"position":[[900,6],[1395,6]]},"2581":{"position":[[414,6],[1081,6]]}}}],["v1",{"_index":34,"t":{"2544":{"position":[[372,2]]},"2595":{"position":[[1473,2]]}}}],["v1.0",{"_index":390,"t":{"2552":{"position":[[1613,5]]},"2617":{"position":[[2468,4]]}}}],["v1.1.1",{"_index":711,"t":{"2593":{"position":[[109,7]]},"2615":{"position":[[51,6]]},"2617":{"position":[[3966,6]]}}}],["v1.2",{"_index":899,"t":{"2617":{"position":[[2579,5],[3370,4],[3904,4]]}}}],["v1.x",{"_index":916,"t":{"2617":{"position":[[3119,4],[4961,4]]}}}],["valid",{"_index":79,"t":{"2546":{"position":[[444,8]]},"2570":{"position":[[878,8]]},"2573":{"position":[[312,5]]},"2575":{"position":[[959,5],[2473,6],[3344,5]]},"2577":{"position":[[395,8]]},"2581":{"position":[[768,5],[1192,5]]},"2585":{"position":[[272,5],[802,5],[1174,5]]},"2587":{"position":[[89,5],[157,5],[523,6],[624,6],[751,5]]},"2595":{"position":[[499,8]]},"2597":{"position":[[277,10]]},"2624":{"position":[[101,5]]},"2632":{"position":[[385,6]]},"2634":{"position":[[837,5]]},"2636":{"position":[[206,5],[262,5],[311,5]]},"2644":{"position":[[140,5],[194,5],[610,6]]},"2646":{"position":[[110,5],[198,5],[412,6]]},"2652":{"position":[[232,5]]},"2674":{"position":[[1666,5]]},"2676":{"position":[[1504,5],[1693,6],[2141,6],[2413,5]]},"2697":{"position":[[409,5]]},"2699":{"position":[[151,5],[1146,5]]},"2706":{"position":[[553,5],[747,5],[1225,6]]},"2708":{"position":[[60,5],[119,5],[182,5],[256,5],[326,5],[402,5]]}}}],["validsignatur",{"_index":1374,"t":{"2706":{"position":[[757,14],[2806,14]]}}}],["validstateleafindex",{"_index":1373,"t":{"2706":{"position":[[609,19],[2824,19]]}}}],["validvoteoptiontreeindex",{"_index":1398,"t":{"2706":{"position":[[2590,24],[2847,24]]}}}],["valu",{"_index":599,"t":{"2577":{"position":[[218,7],[293,6]]},"2597":{"position":[[682,5]]},"2620":{"position":[[398,6]]},"2624":{"position":[[235,6],[251,5],[316,6]]},"2628":{"position":[[476,5]]},"2634":{"position":[[646,5]]},"2644":{"position":[[277,6]]},"2654":{"position":[[33,5]]},"2676":{"position":[[209,5]]},"2683":{"position":[[347,5]]},"2689":{"position":[[722,5],[870,6],[1068,5]]},"2706":{"position":[[598,6]]}}}],["var",{"_index":1310,"t":{"2691":{"position":[[397,3],[612,3],[649,3],[982,3]]},"2701":{"position":[[65,3],[308,3],[421,3]]},"2703":{"position":[[0,3]]},"2706":{"position":[[605,3],[753,3],[875,3],[1232,3],[1500,3],[1759,3],[1904,3],[2082,3],[2586,3],[2666,3],[2998,3],[3276,3]]}}}],["variabl",{"_index":548,"t":{"2575":{"position":[[346,9]]},"2691":{"position":[[524,8]]},"2706":{"position":[[508,8],[718,8],[842,8],[1710,8],[1971,8],[2371,8]]}}}],["variou",{"_index":866,"t":{"2617":{"position":[[557,7]]}}}],["veri",{"_index":215,"t":{"2548":{"position":[[1198,4]]},"2550":{"position":[[6,4],[721,4]]},"2570":{"position":[[150,4]]},"2573":{"position":[[1063,4]]},"2589":{"position":[[313,4]]},"2597":{"position":[[897,4]]},"2674":{"position":[[353,4]]}}}],["verifi",{"_index":685,"t":{"2585":{"position":[[1061,8],[1084,8],[1199,8]]},"2587":{"position":[[484,8],[580,8]]},"2597":{"position":[[1175,6]]},"2617":{"position":[[1354,10]]},"2620":{"position":[[436,8]]},"2632":{"position":[[253,8],[612,8]]},"2652":{"position":[[23,6]]},"2687":{"position":[[1281,6]]}}}],["verifyeddsa(signatur",{"_index":1375,"t":{"2706":{"position":[[774,22]]}}}],["versa",{"_index":394,"t":{"2552":{"position":[[1775,6]]}}}],["version",{"_index":7,"t":{"2544":{"position":[[60,7]]},"2548":{"position":[[788,7]]},"2552":{"position":[[903,8]]},"2562":{"position":[[251,7]]},"2593":{"position":[[53,7]]},"2597":{"position":[[1122,7]]},"2609":{"position":[[5,7],[145,8],[280,7]]},"2617":{"position":[[3717,10]]},"2628":{"position":[[825,7]]},"2674":{"position":[[208,7]]},"2687":{"position":[[93,7]]}}}],["via",{"_index":124,"t":{"2546":{"position":[[1334,3],[1427,3]]},"2573":{"position":[[135,3]]},"2579":{"position":[[475,3]]},"2581":{"position":[[40,3]]},"2611":{"position":[[248,3]]},"2617":{"position":[[3695,4]]},"2620":{"position":[[445,3]]},"2676":{"position":[[901,4]]},"2691":{"position":[[139,3],[322,3],[782,3],[1292,3],[1464,3]]},"2701":{"position":[[145,3],[487,3]]},"2706":{"position":[[3181,3]]}}}],["vice",{"_index":393,"t":{"2552":{"position":[[1770,4]]}}}],["video",{"_index":492,"t":{"2570":{"position":[[171,5]]}}}],["view",{"_index":918,"t":{"2617":{"position":[[3156,4]]}}}],["virtu",{"_index":1274,"t":{"2687":{"position":[[1023,6]]}}}],["vision",{"_index":875,"t":{"2617":{"position":[[1021,7],[1529,6],[1612,6],[7534,6]]}}}],["visit",{"_index":836,"t":{"2611":{"position":[[79,5]]}}}],["visual",{"_index":1190,"t":{"2668":{"position":[[326,6]]}}}],["vitalik",{"_index":140,"t":{"2548":{"position":[[40,7]]},"2550":{"position":[[402,7]]},"2570":{"position":[[592,7]]},"2603":{"position":[[220,7]]},"2613":{"position":[[118,7]]},"2672":{"position":[[116,7]]}}}],["vitalik'",{"_index":716,"t":{"2595":{"position":[[121,9]]}}}],["vitalik’",{"_index":494,"t":{"2570":{"position":[[245,9]]}}}],["voic",{"_index":408,"t":{"2556":{"position":[[108,5]]},"2581":{"position":[[191,5],[1018,5],[1088,5],[1221,5],[1323,5]]},"2601":{"position":[[84,5],[1085,5]]},"2628":{"position":[[407,5],[693,5]]},"2636":{"position":[[110,5],[575,5]]},"2638":{"position":[[275,5],[564,5]]},"2642":{"position":[[1113,5]]},"2646":{"position":[[522,5]]},"2685":{"position":[[847,5],[886,5],[1050,5]]},"2687":{"position":[[330,5],[424,5],[568,5],[652,5],[822,5],[914,5],[1068,5],[1197,5]]},"2691":{"position":[[586,5]]},"2699":{"position":[[590,5]]},"2706":{"position":[[1745,5]]},"2708":{"position":[[41,5]]}}}],["voicecreditbal",{"_index":1092,"t":{"2638":{"position":[[229,18]]}}}],["void",{"_index":1216,"t":{"2674":{"position":[[1181,4]]}}}],["vote",{"_index":19,"t":{"2544":{"position":[[200,6]]},"2546":{"position":[[141,6],[458,5],[586,6],[668,5],[760,5],[832,4],[922,4],[978,4],[1102,6]]},"2550":{"position":[[31,6],[200,5],[268,6],[688,6],[708,4],[747,5],[844,6],[1706,7]]},"2552":{"position":[[629,6],[640,4],[725,6]]},"2556":{"position":[[68,7],[155,4],[220,6]]},"2558":{"position":[[98,5]]},"2564":{"position":[[92,6]]},"2566":{"position":[[132,6],[232,6],[288,6],[377,5],[571,5],[696,5],[734,4],[785,5],[852,5],[939,6],[980,5],[1066,5],[1136,4]]},"2568":{"position":[[118,6],[218,6],[274,6],[363,5],[557,5],[682,5],[720,4],[771,5],[838,5],[925,6],[966,5],[1052,5],[1122,4]]},"2570":{"position":[[892,5],[1017,5],[1096,4],[1187,4],[1258,4],[1347,4],[1403,4],[1526,5]]},"2573":{"position":[[112,4],[196,5],[340,4],[446,4],[464,5],[515,4],[612,4],[656,4],[921,5],[946,4]]},"2575":{"position":[[25,5],[95,4],[170,7],[187,4],[298,4],[388,4],[407,4],[789,4],[1016,5],[1069,4],[1150,4],[1212,5],[1402,6],[1444,6],[1518,4],[1773,6],[1990,4],[2144,4],[2515,4],[2612,5],[2662,4],[2686,4],[2775,4],[2834,4],[3034,4],[3250,4],[3335,4],[3587,5]]},"2577":{"position":[[1084,5],[1286,4]]},"2579":{"position":[[407,4],[676,4],[887,5]]},"2581":{"position":[[312,5],[395,6],[921,5],[1055,5]]},"2583":{"position":[[19,5],[398,5]]},"2585":{"position":[[9,6],[278,5],[472,5],[530,4],[585,4]]},"2587":{"position":[[76,5],[232,5],[757,6],[967,6],[1011,5]]},"2589":{"position":[[65,6],[229,4],[506,6]]},"2595":{"position":[[71,6],[350,6],[513,5],[636,6],[715,5],[807,5],[878,4],[967,4],[1023,4],[1146,6]]},"2597":{"position":[[614,6]]},"2601":{"position":[[662,6],[732,6],[1138,6]]},"2603":{"position":[[860,4],[1007,4]]},"2617":{"position":[[663,6],[955,6],[1245,5],[1325,5],[1335,6],[1566,6],[1714,6],[1936,6]]},"2620":{"position":[[198,6],[738,4]]},"2624":{"position":[[196,6]]},"2626":{"position":[[58,6]]},"2628":{"position":[[746,4]]},"2634":{"position":[[208,4],[487,5],[710,4],[877,6]]},"2636":{"position":[[78,4],[465,4],[514,4],[624,5]]},"2638":{"position":[[218,5],[415,4],[446,4],[490,5],[516,6]]},"2640":{"position":[[48,5]]},"2642":{"position":[[919,4],[971,4],[1055,6],[1158,5],[1581,4]]},"2644":{"position":[[358,4],[398,4],[428,4],[458,4],[488,4],[517,4],[674,6],[902,4],[938,4],[979,4],[1020,4],[1057,4],[1253,5],[1303,4],[1344,4],[1385,4],[1425,4],[1516,4]]},"2646":{"position":[[433,4]]},"2650":{"position":[[70,4]]},"2662":{"position":[[80,4],[387,5]]},"2666":{"position":[[62,5],[119,4]]},"2668":{"position":[[115,4],[214,6],[411,5]]},"2674":{"position":[[61,4],[248,4],[315,6],[648,5],[668,4],[1042,5],[1086,4],[1199,5],[1216,4],[1351,5],[1426,4],[1620,5],[1658,4]]},"2676":{"position":[[227,4],[710,6],[1363,6],[2024,5],[2293,6],[2345,6],[2458,6],[2525,6],[2634,6]]},"2685":{"position":[[237,4],[433,5],[462,5],[552,4],[584,5],[594,4],[656,4],[665,4],[735,4],[824,5],[880,5],[947,4],[992,6],[1082,6]]},"2687":{"position":[[10,6],[41,4],[191,6],[266,4],[371,5],[470,6],[729,5],[866,4],[874,6],[1141,5]]},"2689":{"position":[[626,4],[745,4],[961,4],[1006,4],[1101,4],[1270,4],[1569,4]]},"2691":{"position":[[9,5],[50,5],[109,6],[122,6],[868,4],[1134,5]]},"2693":{"position":[[109,4],[252,5]]},"2699":{"position":[[288,4],[414,4],[532,6],[635,5]]},"2706":{"position":[[1393,4],[1998,4],[2064,4],[2387,4],[2449,4]]},"2708":{"position":[[234,4],[374,4],[558,4]]}}}],["vote_option_tree_depth",{"_index":1341,"t":{"2699":{"position":[[320,22],[469,22]]},"2706":{"position":[[2493,22],[2643,22]]}}}],["voteleav",{"_index":1317,"t":{"2691":{"position":[[808,10]]}}}],["voteleaves[i][j",{"_index":1326,"t":{"2691":{"position":[[1265,16]]}}}],["voteleaves[m][n",{"_index":1296,"t":{"2689":{"position":[[1241,16]]}}}],["voteoptionindex",{"_index":1108,"t":{"2642":{"position":[[903,15]]}}}],["voteoptiontre",{"_index":1297,"t":{"2689":{"position":[[1369,15]]}}}],["voteoptiontreeroot",{"_index":1091,"t":{"2638":{"position":[[111,18]]},"2691":{"position":[[936,20]]}}}],["voter",{"_index":85,"t":{"2546":{"position":[[523,5]]},"2556":{"position":[[88,6]]},"2558":{"position":[[80,7]]},"2566":{"position":[[276,6],[515,6],[901,5],[1051,5],[1126,6]]},"2568":{"position":[[262,6],[501,6],[887,5],[1037,5],[1112,6]]},"2570":{"position":[[957,5]]},"2573":{"position":[[59,8]]},"2605":{"position":[[142,7]]},"2607":{"position":[[246,6]]},"2617":{"position":[[1299,5],[2530,6],[2690,6],[2765,6],[3751,5],[7091,5],[7310,6]]},"2674":{"position":[[12,6],[793,5]]}}}],["vs",{"_index":951,"t":{"2617":{"position":[[4342,3]]}}}],["vulner",{"_index":41,"t":{"2544":{"position":[[479,15]]},"2550":{"position":[[581,10],[1851,13]]},"2597":{"position":[[98,16]]}}}],["want",{"_index":920,"t":{"2617":{"position":[[3187,4],[4056,4]]},"2674":{"position":[[1368,6]]}}}],["way",{"_index":88,"t":{"2546":{"position":[[577,3]]},"2564":{"position":[[256,4]]},"2566":{"position":[[387,4],[1021,3],[1147,4]]},"2568":{"position":[[373,4],[1007,3],[1133,4]]},"2570":{"position":[[1008,3]]},"2575":{"position":[[1760,3],[1914,3],[3308,3]]},"2595":{"position":[[627,3]]},"2603":{"position":[[26,3]]},"2617":{"position":[[5467,3]]},"2644":{"position":[[100,3],[1184,3]]},"2656":{"position":[[43,3]]},"2658":{"position":[[85,3]]},"2662":{"position":[[473,3]]},"2674":{"position":[[1101,4],[1319,3],[1361,3],[1638,3]]},"2687":{"position":[[608,3]]}}}],["weak",{"_index":1162,"t":{"2660":{"position":[[71,4]]}}}],["websit",{"_index":992,"t":{"2617":{"position":[[6073,8],[6294,7]]}}}],["week",{"_index":1057,"t":{"2628":{"position":[[911,5]]},"2668":{"position":[[232,5]]}}}],["wei",{"_index":156,"t":{"2548":{"position":[[199,3]]},"2570":{"position":[[102,3],[775,3]]},"2620":{"position":[[558,3],[641,3]]},"2670":{"position":[[69,3]]}}}],["weight",{"_index":1119,"t":{"2644":{"position":[[403,7],[433,7],[463,7],[493,7],[522,7],[984,7],[1025,7],[1308,7],[1349,7],[1390,7],[1430,7]]},"2685":{"position":[[451,6],[701,7]]},"2706":{"position":[[1405,6]]}}}],["welcom",{"_index":398,"t":{"2554":{"position":[[49,7]]},"2591":{"position":[[0,7]]}}}],["well",{"_index":197,"t":{"2548":{"position":[[890,4]]},"2601":{"position":[[810,4]]},"2607":{"position":[[401,4]]},"2617":{"position":[[5626,4],[6823,4]]},"2676":{"position":[[839,4],[1148,4],[2239,4]]},"2687":{"position":[[1454,4]]}}}],["we’d",{"_index":1013,"t":{"2617":{"position":[[7370,4]]}}}],["we’ll",{"_index":946,"t":{"2617":{"position":[[4102,5],[4639,5]]}}}],["we’r",{"_index":905,"t":{"2617":{"position":[[2829,5],[5356,5],[6442,5]]}}}],["we’v",{"_index":339,"t":{"2552":{"position":[[289,5]]}}}],["whether",{"_index":584,"t":{"2575":{"position":[[3323,7]]},"2628":{"position":[[181,7]]},"2676":{"position":[[2111,7]]}}}],["whitehat",{"_index":1193,"t":{"2670":{"position":[[6,9]]}}}],["whitelist",{"_index":1050,"t":{"2628":{"position":[[270,10]]},"2674":{"position":[[0,11]]},"2676":{"position":[[474,10]]}}}],["whose",{"_index":734,"t":{"2597":{"position":[[115,5]]},"2632":{"position":[[592,5]]},"2644":{"position":[[822,5]]},"2674":{"position":[[166,5]]},"2685":{"position":[[193,5]]}}}],["willing",{"_index":1275,"t":{"2687":{"position":[[1039,11]]}}}],["wise",{"_index":1009,"t":{"2617":{"position":[[7256,4]]}}}],["wish",{"_index":400,"t":{"2554":{"position":[[108,4]]},"2562":{"position":[[326,4]]},"2575":{"position":[[80,4]]},"2611":{"position":[[11,4]]},"2642":{"position":[[1134,6]]},"2699":{"position":[[611,6]]}}}],["withdraw",{"_index":770,"t":{"2601":{"position":[[148,11]]}}}],["within",{"_index":334,"t":{"2552":{"position":[[158,6]]},"2597":{"position":[[236,6]]},"2617":{"position":[[574,6],[3318,6],[4818,6],[5792,6],[6021,6],[7653,6],[7718,6],[7797,6]]},"2706":{"position":[[2411,6]]}}}],["without",{"_index":200,"t":{"2548":{"position":[[940,7]]},"2566":{"position":[[501,7]]},"2568":{"position":[[487,7]]},"2573":{"position":[[318,7]]},"2577":{"position":[[101,7],[260,7]]},"2597":{"position":[[657,7]]},"2658":{"position":[[237,7]]},"2662":{"position":[[499,7]]},"2676":{"position":[[2419,7]]}}}],["won’t",{"_index":699,"t":{"2587":{"position":[[927,5]]}}}],["word",{"_index":133,"t":{"2546":{"position":[[1509,6]]},"2570":{"position":[[756,4],[765,4]]},"2579":{"position":[[619,6]]}}}],["work",{"_index":169,"t":{"2548":{"position":[[335,4],[475,4],[780,4],[1255,4],[1328,7]]},"2552":{"position":[[1760,5]]},"2554":{"position":[[83,4],[145,5]]},"2556":{"position":[[51,4]]},"2560":{"position":[[7,7]]},"2564":{"position":[[158,4]]},"2575":{"position":[[3461,6]]},"2611":{"position":[[190,4]]},"2617":{"position":[[156,4],[6459,4]]},"2658":{"position":[[303,6]]}}}],["workflow",{"_index":513,"t":{"2570":{"position":[[676,8]]},"2573":{"position":[[12,9]]},"2577":{"position":[[1399,8]]},"2579":{"position":[[12,8]]},"2617":{"position":[[4687,8]]}}}],["workstream",{"_index":904,"t":{"2617":{"position":[[2793,11],[2854,11],[3222,10],[3330,12],[4205,10],[4830,12],[5804,12],[6351,11],[7665,11],[7730,11],[7809,11]]}}}],["world",{"_index":882,"t":{"2617":{"position":[[1589,6]]}}}],["worth",{"_index":186,"t":{"2548":{"position":[[652,5]]},"2617":{"position":[[6377,5]]}}}],["wrap",{"_index":811,"t":{"2605":{"position":[[445,7]]}}}],["write",{"_index":189,"t":{"2548":{"position":[[691,8],[1263,7]]},"2552":{"position":[[424,5]]}}}],["written",{"_index":145,"t":{"2548":{"position":[[96,7]]}}}],["x",{"_index":596,"t":{"2577":{"position":[[181,1],[226,1],[550,1]]},"2638":{"position":[[51,1]]},"2642":{"position":[[400,1],[656,1]]},"2691":{"position":[[401,1]]},"2706":{"position":[[1236,1]]}}}],["y",{"_index":597,"t":{"2577":{"position":[[185,1],[232,1],[556,2]]},"2638":{"position":[[97,1]]},"2642":{"position":[[523,1],[773,1]]},"2706":{"position":[[1504,1]]}}}],["yellow",{"_index":1230,"t":{"2676":{"position":[[1824,6]]},"2685":{"position":[[538,6]]}}}],["youtub",{"_index":491,"t":{"2570":{"position":[[163,7]]},"2620":{"position":[[567,7],[650,7]]}}}],["zcash",{"_index":506,"t":{"2570":{"position":[[526,5]]}}}],["zero",{"_index":59,"t":{"2546":{"position":[[37,4],[1204,4]]},"2548":{"position":[[1141,4]]},"2597":{"position":[[677,4]]},"2605":{"position":[[650,4]]},"2624":{"position":[[246,4]]},"2666":{"position":[[98,4]]}}}],["zero_valu",{"_index":1038,"t":{"2624":{"position":[[477,10]]}}}],["zk",{"_index":128,"t":{"2546":{"position":[[1431,2]]},"2552":{"position":[[868,2]]},"2554":{"position":[[223,2]]},"2566":{"position":[[650,2]]},"2568":{"position":[[636,2]]},"2570":{"position":[[373,2],[483,2],[514,2],[567,2]]},"2573":{"position":[[260,2]]},"2575":{"position":[[3499,2],[3670,2]]},"2577":{"position":[[13,2],[321,2],[1045,2]]},"2585":{"position":[[740,2],[951,2],[1137,2]]},"2587":{"position":[[131,2],[376,2]]},"2597":{"position":[[247,2]]},"2620":{"position":[[14,2],[278,2]]},"2632":{"position":[[191,2],[240,2],[634,2]]},"2664":{"position":[[327,2]]},"2676":{"position":[[1643,2],[2370,2]]},"2689":{"position":[[16,2]]}}}],["zkey",{"_index":368,"t":{"2552":{"position":[[1020,4]]},"2603":{"position":[[816,5]]}}}],["zkp",{"_index":437,"t":{"2562":{"position":[[13,3]]}}}],["zksnark",{"_index":508,"t":{"2570":{"position":[[600,8]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file diff --git a/docs/v0.x/state-root-transition-circuit/index.html b/docs/v0.x/state-root-transition-circuit/index.html index 7cf18deb87..9985e50abd 100644 --- a/docs/v0.x/state-root-transition-circuit/index.html +++ b/docs/v0.x/state-root-transition-circuit/index.html @@ -10,7 +10,7 @@ - + diff --git a/docs/versioning/index.html b/docs/versioning/index.html index 4175d0bb7a..05976a4eae 100644 --- a/docs/versioning/index.html +++ b/docs/versioning/index.html @@ -10,7 +10,7 @@ - + @@ -35,9 +35,9 @@

MACI Re
git clone https://github.com/privacy-scaling-explorations/maci
    -
  1. Switch to the master branch:
  2. +
  3. Switch to the dev branch:
-
git checkout master
+
git checkout dev
  1. Install required dependencies:
diff --git a/index.html b/index.html index dcb7bef3fd..e56615aa12 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ - + diff --git a/roadmap/index.html b/roadmap/index.html index b84449c68c..2a935878ac 100644 --- a/roadmap/index.html +++ b/roadmap/index.html @@ -10,7 +10,7 @@ - + diff --git a/search-index.json b/search-index.json index 9001098c6a..70c7e730c7 100644 --- a/search-index.json +++ b/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":1,"t":"","u":"/blog/archive","b":["Blog"]},{"i":2,"t":"MACI 1.0 Release","u":"/blog/maci-1-0-release","b":["Blog"]},{"i":24,"t":"A Technical Introduction to MACI 1.0","u":"/blog/maci-1-0-technical-introduction","b":["Blog"]},{"i":49,"t":"Maci v1.1.1 Release","u":"/blog/maci-v1-1-1-release","b":["Blog"]},{"i":73,"t":"Welcome to MACI","u":"/blog/welcome","b":["Blog"]},{"i":75,"t":"MACI Product Roadmap","u":"/roadmap","b":[]},{"i":77,"t":"Typedoc | MACI","u":"/typedoc","b":[]},{"i":78,"t":"Security Audits","u":"/docs/audit","b":[]},{"i":101,"t":"Continuous Integration (CI) Pipeline","u":"/docs/ci-pipeline","b":[]},{"i":112,"t":"Circuits","u":"/docs/circuits","b":[]},{"i":144,"t":"Command-line interface","u":"/docs/cli","b":[]},{"i":207,"t":"Smart Contracts","u":"/docs/contracts","b":[]},{"i":235,"t":"Coordinator local processing","u":"/docs/coordinator-processing","b":[]},{"i":243,"t":"Installation","u":"/docs/installation","b":[]},{"i":258,"t":"Integrating MACI","u":"/docs/integrating","b":[]},{"i":264,"t":"Introduction","u":"/docs/introduction","b":[]},{"i":268,"t":"Module: core/ts","u":"/docs/typedoc/modules/core_ts","b":["index","modules"]},{"i":303,"t":"MACI Key Change","u":"/docs/key-change","b":[]},{"i":311,"t":"MACI Overview","u":"/docs/overview","b":[]},{"i":319,"t":"Testing","u":"/docs/testing-in-details","b":[]},{"i":334,"t":"Troubleshooting","u":"/docs/troubleshooting","b":[]},{"i":338,"t":"Interface: IJsonMaciState","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","b":["index","interfaces"]},{"i":356,"t":"Interface: BatchSizes","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","b":["index","interfaces"]},{"i":368,"t":"Interface: IProcessMessagesCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","b":["index","interfaces"]},{"i":416,"t":"Interface: ISubsidyCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","b":["index","interfaces"]},{"i":456,"t":"Interface: MaxValues","u":"/docs/typedoc/interfaces/core_ts.MaxValues","b":["index","interfaces"]},{"i":466,"t":"Interface: ITallyCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","b":["index","interfaces"]},{"i":512,"t":"Interface: TreeDepths","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","b":["index","interfaces"]},{"i":526,"t":"Interface: Keypair","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","b":["index","interfaces"]},{"i":536,"t":"Interface: PoseidonFuncs","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","b":["index","interfaces"]},{"i":552,"t":"Interface: Signature","u":"/docs/typedoc/interfaces/crypto_ts.Signature","b":["index","interfaces"]},{"i":564,"t":"Interface: ICommand","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","b":["index","interfaces"]},{"i":580,"t":"Interface: IG1ContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","b":["index","interfaces"]},{"i":590,"t":"Interface: IG2ContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","b":["index","interfaces"]},{"i":600,"t":"Interface: IJsonCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","b":["index","interfaces"]},{"i":610,"t":"Interface: IJsonBallot","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","b":["index","interfaces"]},{"i":622,"t":"Interface: IJsonKeyPair","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","b":["index","interfaces"]},{"i":632,"t":"Interface: IJsonPCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","b":["index","interfaces"]},{"i":656,"t":"Interface: IJsonStateLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","b":["index","interfaces"]},{"i":668,"t":"Interface: IJsonTCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","b":["index","interfaces"]},{"i":684,"t":"Interface: IStateLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","b":["index","interfaces"]},{"i":696,"t":"Interface: IStateLeafContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","b":["index","interfaces"]},{"i":708,"t":"Interface: Queue","u":"/docs/typedoc/interfaces/crypto_ts.Queue","b":["index","interfaces"]},{"i":718,"t":"Interface: IMessageContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","b":["index","interfaces"]},{"i":728,"t":"Interface: IVkContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","b":["index","interfaces"]},{"i":744,"t":"Interface: IVkObjectParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","b":["index","interfaces"]},{"i":768,"t":"Interface: Proof","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","b":["index","interfaces"]},{"i":780,"t":"Module: cli/ts","u":"/docs/typedoc/modules/cli_ts","b":["index","modules"]},{"i":823,"t":"Module: domainobjs/ts","u":"/docs/typedoc/modules/domainobjs_ts","b":["index","modules"]},{"i":847,"t":"Interface: VoteOptionTreeLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf","b":["index","interfaces"]},{"i":855,"t":"Module: crypto/ts","u":"/docs/typedoc/modules/crypto_ts","b":["index","modules"]},{"i":948,"t":"MACI versioning and release process","u":"/docs/versioning","b":[]},{"i":956,"t":"MACI Primitives","u":"/docs/primitives","b":[]},{"i":979,"t":"HasherBenchmarks","u":"/docs/solidity-docs/benchmarks/HasherBenchmarks","b":["solidity-docs","benchmarks"]},{"i":985,"t":"Hasher","u":"/docs/solidity-docs/crypto/Hasher","b":["solidity-docs","crypto"]},{"i":999,"t":"IVerifier","u":"/docs/solidity-docs/crypto/IVerifier","b":["solidity-docs","crypto"]},{"i":1003,"t":"MockVerifier","u":"/docs/solidity-docs/crypto/MockVerifier","b":["solidity-docs","crypto"]},{"i":1007,"t":"Pairing","u":"/docs/solidity-docs/crypto/Pairing","b":["solidity-docs","crypto"]},{"i":1029,"t":"PoseidonT3","u":"/docs/solidity-docs/crypto/PoseidonT3","b":["solidity-docs","crypto"]},{"i":1033,"t":"PoseidonT4","u":"/docs/solidity-docs/crypto/PoseidonT4","b":["solidity-docs","crypto"]},{"i":1037,"t":"PoseidonT5","u":"/docs/solidity-docs/crypto/PoseidonT5","b":["solidity-docs","crypto"]},{"i":1041,"t":"PoseidonT6","u":"/docs/solidity-docs/crypto/PoseidonT6","b":["solidity-docs","crypto"]},{"i":1045,"t":"SnarkCommon","u":"/docs/solidity-docs/crypto/SnarkCommon","b":["solidity-docs","crypto"]},{"i":1049,"t":"SnarkConstants","u":"/docs/solidity-docs/crypto/SnarkConstants","b":["solidity-docs","crypto"]},{"i":1059,"t":"Verifier","u":"/docs/solidity-docs/crypto/Verifier","b":["solidity-docs","crypto"]},{"i":1073,"t":"FreeForAllGatekeeper","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","b":["solidity-docs","gatekeepers"]},{"i":1081,"t":"SignUpGatekeeper","u":"/docs/solidity-docs/gatekeepers/SignUpGatekeeper","b":["solidity-docs","gatekeepers"]},{"i":1087,"t":"SignUpTokenGatekeeper","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","b":["solidity-docs","gatekeepers"]},{"i":1107,"t":"InitialVoiceCreditProxy","u":"/docs/solidity-docs/initialVoiceCreditProxy/","b":["solidity-docs","InitialVoiceCreditProxy"]},{"i":1111,"t":"ConstantInitialVoiceCreditProxy","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","b":["solidity-docs","InitialVoiceCreditProxy"]},{"i":1119,"t":"IMACI","u":"/docs/solidity-docs/interfaces/IMACI","b":["solidity-docs","interfaces"]},{"i":1132,"t":"MACI","u":"/docs/solidity-docs/MACI","b":["solidity-docs"]},{"i":1196,"t":"MessageProcessor","u":"/docs/solidity-docs/MessageProcessor","b":["solidity-docs"]},{"i":1240,"t":"Poll","u":"/docs/solidity-docs/Poll","b":["solidity-docs"]},{"i":1318,"t":"PollFactory","u":"/docs/solidity-docs/PollFactory","b":["solidity-docs"]},{"i":1328,"t":"SignUpToken","u":"/docs/solidity-docs/SignUpToken","b":["solidity-docs"]},{"i":1334,"t":"Subsidy","u":"/docs/solidity-docs/Subsidy","b":["solidity-docs"]},{"i":1378,"t":"Tally","u":"/docs/solidity-docs/Tally","b":["solidity-docs"]},{"i":1422,"t":"TopupCredit","u":"/docs/solidity-docs/TopupCredit","b":["solidity-docs"]},{"i":1436,"t":"AccQueue","u":"/docs/solidity-docs/trees/AccQueue","b":["solidity-docs","trees"]},{"i":1526,"t":"AccQueueBinary","u":"/docs/solidity-docs/trees/AccQueueBinary","b":["solidity-docs","trees"]},{"i":1536,"t":"AccQueueBinary0","u":"/docs/solidity-docs/trees/AccQueueBinary0","b":["solidity-docs","trees"]},{"i":1542,"t":"AccQueueBinaryMaci","u":"/docs/solidity-docs/trees/AccQueueBinaryMaci","b":["solidity-docs","trees"]},{"i":1548,"t":"AccQueueQuinary","u":"/docs/solidity-docs/trees/AccQueueQuinary","b":["solidity-docs","trees"]},{"i":1558,"t":"AccQueueQuinary0","u":"/docs/solidity-docs/trees/AccQueueQuinary0","b":["solidity-docs","trees"]},{"i":1564,"t":"AccQueueQuinaryBlankSl","u":"/docs/solidity-docs/trees/AccQueueQuinaryBlankSl","b":["solidity-docs","trees"]},{"i":1570,"t":"AccQueueQuinaryMaci","u":"/docs/solidity-docs/trees/AccQueueQuinaryMaci","b":["solidity-docs","trees"]},{"i":1576,"t":"EmptyBallotRoots","u":"/docs/solidity-docs/trees/EmptyBallotRoots","b":["solidity-docs","trees"]},{"i":1581,"t":"Utilities","u":"/docs/solidity-docs/utilities/","b":["solidity-docs","Utilities"]},{"i":1591,"t":"CommonUtilities","u":"/docs/solidity-docs/utilities/CommonUtilities","b":["solidity-docs","Utilities"]},{"i":1597,"t":"DomainObjs","u":"/docs/solidity-docs/utilities/DomainObjs","b":["solidity-docs","Utilities"]},{"i":1607,"t":"Params","u":"/docs/solidity-docs/utilities/Params","b":["solidity-docs","Utilities"]},{"i":1617,"t":"VkRegistry","u":"/docs/solidity-docs/VkRegistry","b":["solidity-docs"]},{"i":1685,"t":"MACI v1.0 Specification","u":"/docs/spec","b":[]},{"i":1753,"t":"Testing","u":"/docs/testing","b":[]},{"i":1774,"t":"Trusted setup","u":"/docs/trusted-setup","b":[]},{"i":1776,"t":"Minimal Anti Collusion Infrastructure (MACI)","u":"/docs/typedoc/","b":["index"]},{"i":1780,"t":"Class: MaciState","u":"/docs/typedoc/classes/core_ts.MaciState","b":["index","classes"]},{"i":1824,"t":"Class: Poll","u":"/docs/typedoc/classes/core_ts.Poll","b":["index","classes"]},{"i":1956,"t":"Class: AccQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","b":["index","classes"]},{"i":2032,"t":"Class: G1Point","u":"/docs/typedoc/classes/crypto_ts.G1Point","b":["index","classes"]},{"i":2054,"t":"Class: G2Point","u":"/docs/typedoc/classes/crypto_ts.G2Point","b":["index","classes"]},{"i":2078,"t":"Class: IncrementalQuinTree","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","b":["index","classes"]},{"i":2144,"t":"Class: Ballot","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","b":["index","classes"]},{"i":2182,"t":"Class: Keypair","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","b":["index","classes"]},{"i":2210,"t":"Class: Message","u":"/docs/typedoc/classes/domainobjs_ts.Message","b":["index","classes"]},{"i":2246,"t":"Class: PCommand","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","b":["index","classes"]},{"i":2300,"t":"Class: PrivKey","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","b":["index","classes"]},{"i":2330,"t":"Class: PubKey","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","b":["index","classes"]},{"i":2368,"t":"Class: StateLeaf","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","b":["index","classes"]},{"i":2414,"t":"Class: TCommand","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","b":["index","classes"]},{"i":2446,"t":"Class: VerifyingKey","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","b":["index","classes"]},{"i":2482,"t":"Interface: DeployedContracts","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","b":["index","interfaces"]},{"i":2510,"t":"Interface: PollContracts","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","b":["index","interfaces"]},{"i":2524,"t":"Interface: TallyData","u":"/docs/typedoc/interfaces/cli_ts.TallyData","b":["index","interfaces"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[]],["t/2",[0,1.599,1,2.951,2,2.693]],["t/24",[0,1.353,1,2.497,3,2.83,4,2.497]],["t/49",[0,1.599,2,2.693,5,3.344]],["t/73",[0,1.955,6,4.088]],["t/75",[0,1.599,7,3.344,8,3.344]],["t/77",[0,1.599,9,3.344,10,3.344]],["t/78",[11,4.088,12,4.088]],["t/101",[13,2.83,14,2.497,15,2.83,16,2.83]],["t/112",[17,5.256]],["t/144",[18,3.344,19,3.344,20,1.003]],["t/207",[21,4.088,22,4.088]],["t/235",[23,3.344,24,3.344,25,2.951]],["t/243",[26,5.256]],["t/258",[0,1.955,14,3.607]],["t/264",[4,4.638]],["t/268",[27,3.055,28,4.088]],["t/303",[0,1.599,29,3.344,30,3.344]],["t/311",[0,1.955,31,4.088]],["t/319",[32,4.638]],["t/334",[33,5.256]],["t/338",[20,1.226,34,4.088]],["t/356",[20,1.226,35,4.088]],["t/368",[20,1.226,36,4.088]],["t/416",[20,1.226,37,4.088]],["t/456",[20,1.226,38,4.088]],["t/466",[20,1.226,39,4.088]],["t/512",[20,1.226,40,4.088]],["t/526",[20,1.226,41,3.607]],["t/536",[20,1.226,42,4.088]],["t/552",[20,1.226,43,4.088]],["t/564",[20,1.226,44,4.088]],["t/580",[20,1.226,45,4.088]],["t/590",[20,1.226,46,4.088]],["t/600",[20,1.226,47,4.088]],["t/610",[20,1.226,48,4.088]],["t/622",[20,1.226,49,4.088]],["t/632",[20,1.226,50,4.088]],["t/656",[20,1.226,51,4.088]],["t/668",[20,1.226,52,4.088]],["t/684",[20,1.226,53,4.088]],["t/696",[20,1.226,54,4.088]],["t/708",[20,1.226,55,4.088]],["t/718",[20,1.226,56,4.088]],["t/728",[20,1.226,57,4.088]],["t/744",[20,1.226,58,4.088]],["t/768",[20,1.226,59,4.088]],["t/780",[27,3.055,60,4.088]],["t/823",[27,3.055,61,4.088]],["t/847",[20,1.226,62,4.088]],["t/855",[27,3.055,63,4.088]],["t/948",[0,1.353,2,2.278,25,2.497,64,2.83]],["t/956",[0,1.955,65,4.088]],["t/979",[66,5.256]],["t/985",[67,5.256]],["t/999",[68,5.256]],["t/1003",[69,5.256]],["t/1007",[70,5.256]],["t/1029",[71,5.256]],["t/1033",[72,5.256]],["t/1037",[73,5.256]],["t/1041",[74,5.256]],["t/1045",[75,5.256]],["t/1049",[76,5.256]],["t/1059",[77,5.256]],["t/1073",[78,5.256]],["t/1081",[79,5.256]],["t/1087",[80,5.256]],["t/1107",[81,5.256]],["t/1111",[82,5.256]],["t/1119",[83,5.256]],["t/1132",[0,2.513]],["t/1196",[84,5.256]],["t/1240",[85,4.638]],["t/1318",[86,5.256]],["t/1328",[87,5.256]],["t/1334",[88,5.256]],["t/1378",[89,5.256]],["t/1422",[90,5.256]],["t/1436",[91,4.638]],["t/1526",[92,5.256]],["t/1536",[93,5.256]],["t/1542",[94,5.256]],["t/1548",[95,5.256]],["t/1558",[96,5.256]],["t/1564",[97,5.256]],["t/1570",[98,5.256]],["t/1576",[99,5.256]],["t/1581",[100,5.256]],["t/1591",[101,5.256]],["t/1597",[102,5.256]],["t/1607",[103,5.256]],["t/1617",[104,5.256]],["t/1685",[0,1.599,105,3.344,106,3.344]],["t/1753",[32,4.638]],["t/1774",[107,4.088,108,4.088]],["t/1776",[0,1.173,109,2.452,110,2.452,111,2.452,112,2.452]],["t/1780",[113,1.892,114,4.088]],["t/1824",[85,3.607,113,1.892]],["t/1956",[91,3.607,113,1.892]],["t/2032",[113,1.892,115,4.088]],["t/2054",[113,1.892,116,4.088]],["t/2078",[113,1.892,117,4.088]],["t/2144",[113,1.892,118,4.088]],["t/2182",[41,3.607,113,1.892]],["t/2210",[113,1.892,119,4.088]],["t/2246",[113,1.892,120,4.088]],["t/2300",[113,1.892,121,4.088]],["t/2330",[113,1.892,122,4.088]],["t/2368",[113,1.892,123,4.088]],["t/2414",[113,1.892,124,4.088]],["t/2446",[113,1.892,125,4.088]],["t/2482",[20,1.226,126,4.088]],["t/2510",[20,1.226,127,4.088]],["t/2524",[20,1.226,128,4.088]]],"invertedIndex":[["",{"_index":10,"t":{"77":{"position":[[8,1]]}}}],["1.0",{"_index":1,"t":{"2":{"position":[[5,3]]},"24":{"position":[[33,3]]}}}],["accqueu",{"_index":91,"t":{"1436":{"position":[[0,8]]},"1956":{"position":[[7,8]]}}}],["accqueuebinari",{"_index":92,"t":{"1526":{"position":[[0,14]]}}}],["accqueuebinary0",{"_index":93,"t":{"1536":{"position":[[0,15]]}}}],["accqueuebinarymaci",{"_index":94,"t":{"1542":{"position":[[0,18]]}}}],["accqueuequinari",{"_index":95,"t":{"1548":{"position":[[0,15]]}}}],["accqueuequinary0",{"_index":96,"t":{"1558":{"position":[[0,16]]}}}],["accqueuequinaryblanksl",{"_index":97,"t":{"1564":{"position":[[0,22]]}}}],["accqueuequinarymaci",{"_index":98,"t":{"1570":{"position":[[0,19]]}}}],["anti",{"_index":110,"t":{"1776":{"position":[[8,4]]}}}],["audit",{"_index":12,"t":{"78":{"position":[[9,6]]}}}],["ballot",{"_index":118,"t":{"2144":{"position":[[7,6]]}}}],["batchsiz",{"_index":35,"t":{"356":{"position":[[11,10]]}}}],["chang",{"_index":30,"t":{"303":{"position":[[9,6]]}}}],["ci",{"_index":15,"t":{"101":{"position":[[23,4]]}}}],["circuit",{"_index":17,"t":{"112":{"position":[[0,8]]}}}],["class",{"_index":113,"t":{"1780":{"position":[[0,6]]},"1824":{"position":[[0,6]]},"1956":{"position":[[0,6]]},"2032":{"position":[[0,6]]},"2054":{"position":[[0,6]]},"2078":{"position":[[0,6]]},"2144":{"position":[[0,6]]},"2182":{"position":[[0,6]]},"2210":{"position":[[0,6]]},"2246":{"position":[[0,6]]},"2300":{"position":[[0,6]]},"2330":{"position":[[0,6]]},"2368":{"position":[[0,6]]},"2414":{"position":[[0,6]]},"2446":{"position":[[0,6]]}}}],["cli/t",{"_index":60,"t":{"780":{"position":[[8,6]]}}}],["collus",{"_index":111,"t":{"1776":{"position":[[13,9]]}}}],["command",{"_index":18,"t":{"144":{"position":[[0,7]]}}}],["commonutil",{"_index":101,"t":{"1591":{"position":[[0,15]]}}}],["constantinitialvoicecreditproxi",{"_index":82,"t":{"1111":{"position":[[0,31]]}}}],["continu",{"_index":13,"t":{"101":{"position":[[0,10]]}}}],["contract",{"_index":22,"t":{"207":{"position":[[6,9]]}}}],["coordin",{"_index":23,"t":{"235":{"position":[[0,11]]}}}],["core/t",{"_index":28,"t":{"268":{"position":[[8,7]]}}}],["crypto/t",{"_index":63,"t":{"855":{"position":[[8,9]]}}}],["deployedcontract",{"_index":126,"t":{"2482":{"position":[[11,17]]}}}],["domainobj",{"_index":102,"t":{"1597":{"position":[[0,10]]}}}],["domainobjs/t",{"_index":61,"t":{"823":{"position":[[8,13]]}}}],["emptyballotroot",{"_index":99,"t":{"1576":{"position":[[0,16]]}}}],["freeforallgatekeep",{"_index":78,"t":{"1073":{"position":[[0,20]]}}}],["g1point",{"_index":115,"t":{"2032":{"position":[[7,7]]}}}],["g2point",{"_index":116,"t":{"2054":{"position":[[7,7]]}}}],["hasher",{"_index":67,"t":{"985":{"position":[[0,6]]}}}],["hasherbenchmark",{"_index":66,"t":{"979":{"position":[[0,16]]}}}],["icommand",{"_index":44,"t":{"564":{"position":[[11,8]]}}}],["ig1contractparam",{"_index":45,"t":{"580":{"position":[[11,17]]}}}],["ig2contractparam",{"_index":46,"t":{"590":{"position":[[11,17]]}}}],["ijsonballot",{"_index":48,"t":{"610":{"position":[[11,11]]}}}],["ijsoncommand",{"_index":47,"t":{"600":{"position":[[11,12]]}}}],["ijsonkeypair",{"_index":49,"t":{"622":{"position":[[11,12]]}}}],["ijsonmacist",{"_index":34,"t":{"338":{"position":[[11,14]]}}}],["ijsonpcommand",{"_index":50,"t":{"632":{"position":[[11,13]]}}}],["ijsonstateleaf",{"_index":51,"t":{"656":{"position":[[11,14]]}}}],["ijsontcommand",{"_index":52,"t":{"668":{"position":[[11,13]]}}}],["imaci",{"_index":83,"t":{"1119":{"position":[[0,5]]}}}],["imessagecontractparam",{"_index":56,"t":{"718":{"position":[[11,22]]}}}],["incrementalquintre",{"_index":117,"t":{"2078":{"position":[[7,19]]}}}],["infrastructur",{"_index":112,"t":{"1776":{"position":[[23,14]]}}}],["initialvoicecreditproxi",{"_index":81,"t":{"1107":{"position":[[0,23]]}}}],["instal",{"_index":26,"t":{"243":{"position":[[0,12]]}}}],["integr",{"_index":14,"t":{"101":{"position":[[11,11]]},"258":{"position":[[0,11]]}}}],["interfac",{"_index":20,"t":{"144":{"position":[[13,9]]},"338":{"position":[[0,10]]},"356":{"position":[[0,10]]},"368":{"position":[[0,10]]},"416":{"position":[[0,10]]},"456":{"position":[[0,10]]},"466":{"position":[[0,10]]},"512":{"position":[[0,10]]},"526":{"position":[[0,10]]},"536":{"position":[[0,10]]},"552":{"position":[[0,10]]},"564":{"position":[[0,10]]},"580":{"position":[[0,10]]},"590":{"position":[[0,10]]},"600":{"position":[[0,10]]},"610":{"position":[[0,10]]},"622":{"position":[[0,10]]},"632":{"position":[[0,10]]},"656":{"position":[[0,10]]},"668":{"position":[[0,10]]},"684":{"position":[[0,10]]},"696":{"position":[[0,10]]},"708":{"position":[[0,10]]},"718":{"position":[[0,10]]},"728":{"position":[[0,10]]},"744":{"position":[[0,10]]},"768":{"position":[[0,10]]},"847":{"position":[[0,10]]},"2482":{"position":[[0,10]]},"2510":{"position":[[0,10]]},"2524":{"position":[[0,10]]}}}],["introduct",{"_index":4,"t":{"24":{"position":[[12,12]]},"264":{"position":[[0,12]]}}}],["iprocessmessagescircuitinput",{"_index":36,"t":{"368":{"position":[[11,29]]}}}],["istateleaf",{"_index":53,"t":{"684":{"position":[[11,10]]}}}],["istateleafcontractparam",{"_index":54,"t":{"696":{"position":[[11,24]]}}}],["isubsidycircuitinput",{"_index":37,"t":{"416":{"position":[[11,21]]}}}],["itallycircuitinput",{"_index":39,"t":{"466":{"position":[[11,19]]}}}],["iverifi",{"_index":68,"t":{"999":{"position":[[0,9]]}}}],["ivkcontractparam",{"_index":57,"t":{"728":{"position":[[11,17]]}}}],["ivkobjectparam",{"_index":58,"t":{"744":{"position":[[11,15]]}}}],["key",{"_index":29,"t":{"303":{"position":[[5,3]]}}}],["keypair",{"_index":41,"t":{"526":{"position":[[11,7]]},"2182":{"position":[[7,7]]}}}],["line",{"_index":19,"t":{"144":{"position":[[8,4]]}}}],["local",{"_index":24,"t":{"235":{"position":[[12,5]]}}}],["maci",{"_index":0,"t":{"2":{"position":[[0,4]]},"24":{"position":[[28,4]]},"49":{"position":[[0,4]]},"73":{"position":[[11,4]]},"75":{"position":[[0,4]]},"77":{"position":[[10,4]]},"258":{"position":[[12,4]]},"303":{"position":[[0,4]]},"311":{"position":[[0,4]]},"948":{"position":[[0,4]]},"956":{"position":[[0,4]]},"1132":{"position":[[0,4]]},"1685":{"position":[[0,4]]},"1776":{"position":[[38,6]]}}}],["macist",{"_index":114,"t":{"1780":{"position":[[7,9]]}}}],["maxvalu",{"_index":38,"t":{"456":{"position":[[11,9]]}}}],["messag",{"_index":119,"t":{"2210":{"position":[[7,7]]}}}],["messageprocessor",{"_index":84,"t":{"1196":{"position":[[0,16]]}}}],["minim",{"_index":109,"t":{"1776":{"position":[[0,7]]}}}],["mockverifi",{"_index":69,"t":{"1003":{"position":[[0,12]]}}}],["modul",{"_index":27,"t":{"268":{"position":[[0,7]]},"780":{"position":[[0,7]]},"823":{"position":[[0,7]]},"855":{"position":[[0,7]]}}}],["overview",{"_index":31,"t":{"311":{"position":[[5,8]]}}}],["pair",{"_index":70,"t":{"1007":{"position":[[0,7]]}}}],["param",{"_index":103,"t":{"1607":{"position":[[0,6]]}}}],["pcommand",{"_index":120,"t":{"2246":{"position":[[7,8]]}}}],["pipelin",{"_index":16,"t":{"101":{"position":[[28,8]]}}}],["poll",{"_index":85,"t":{"1240":{"position":[[0,4]]},"1824":{"position":[[7,4]]}}}],["pollcontract",{"_index":127,"t":{"2510":{"position":[[11,13]]}}}],["pollfactori",{"_index":86,"t":{"1318":{"position":[[0,11]]}}}],["poseidonfunc",{"_index":42,"t":{"536":{"position":[[11,13]]}}}],["poseidont3",{"_index":71,"t":{"1029":{"position":[[0,10]]}}}],["poseidont4",{"_index":72,"t":{"1033":{"position":[[0,10]]}}}],["poseidont5",{"_index":73,"t":{"1037":{"position":[[0,10]]}}}],["poseidont6",{"_index":74,"t":{"1041":{"position":[[0,10]]}}}],["primit",{"_index":65,"t":{"956":{"position":[[5,10]]}}}],["privkey",{"_index":121,"t":{"2300":{"position":[[7,7]]}}}],["process",{"_index":25,"t":{"235":{"position":[[18,10]]},"948":{"position":[[28,7]]}}}],["product",{"_index":7,"t":{"75":{"position":[[5,7]]}}}],["proof",{"_index":59,"t":{"768":{"position":[[11,5]]}}}],["pubkey",{"_index":122,"t":{"2330":{"position":[[7,6]]}}}],["queue",{"_index":55,"t":{"708":{"position":[[11,5]]}}}],["releas",{"_index":2,"t":{"2":{"position":[[9,7]]},"49":{"position":[[12,7]]},"948":{"position":[[20,7]]}}}],["roadmap",{"_index":8,"t":{"75":{"position":[[13,7]]}}}],["secur",{"_index":11,"t":{"78":{"position":[[0,8]]}}}],["setup",{"_index":108,"t":{"1774":{"position":[[8,5]]}}}],["signature out; } And then used it to constrain the index input signal: greaterThan[i] = SafeGreaterThan(3); greaterThan[i].in[0] <== i; greaterThan[i].in[1] <== index;","s":"Issue 2","u":"/docs/audit","h":"#issue-2","p":78},{"i":100,"t":"Description In the template QuinGeneratePathIndices, the constrains of the signal n[levels + 1] don't perform well for division and modulo counting. Code Location incrementalQuinTree.circom Fix The updated code uses the SafeLessThen template, as shown below: for (var i = 0; i < levels; i++) { // Check that each output element is less than the base leq[i] = SafeLessThan(3); leq[i].in[0] <== out[i]; leq[i].in[1] <== BASE; leq[i].out === 1; // Re-compute the total sum sum.nums[i] <== out[i] * (BASE ** i); }","s":"Issue 3","u":"/docs/audit","h":"#issue-3","p":78},{"i":102,"t":"CI (Continuous Integration) pipeline is an automated workflow to ensure that software is always in a working state. An event like opening a pull request causes a pipeline to run. The pipeline consists of an automated build process and a suite of automated tests (See Testing for more details).","s":"Continuous Integration (CI) Pipeline","u":"/docs/ci-pipeline","h":"","p":101},{"i":105,"t":"Each commit (i.e. a merged PR) to the main branch triggers the pipeline. The pipeline creates packages that can be deployed to any environment. Packages are uploaded to an artifact repository (e.g. npm).","s":"Commit to Main Branch","u":"/docs/ci-pipeline","h":"#commit-to-main-branch","p":101},{"i":107,"t":"When a pull request has been created (or updated), it triggers the PR pipeline. It gives the reviewer confidence that the software works as expected with the introduced code changes.","s":"Pull Request (PR)","u":"/docs/ci-pipeline","h":"#pull-request-pr","p":101},{"i":109,"t":"Nightly build runs every midnight. It is to ensure that all required dependencies are present and to show no bugs have been introduced.","s":"Nightly","u":"/docs/ci-pipeline","h":"#nightly","p":101},{"i":111,"t":"When a tag has been pushed, it triggers a release pipeline. It will draft a release note with an auto-generated changelog and publish npm package(s).","s":"Tag Push","u":"/docs/ci-pipeline","h":"#tag-push","p":101},{"i":113,"t":"MACI has three main zk-SNARK circuits: ProcessMessages.circom, which takes a batch of encrypted messages, decrypts them, and generates a proof that the coordinator's local processing was performed correctly. TallyVotes.circom, which counts votes from users' ballots, batch by batch. Subsidy.circom, which implements pairwise subsidy. The rest of the circuits are utilities templates that are required for the main circuits to work correctly. These include utilities such as float math, conversion of private keys, and Poseidon hashing/encryption. Each circuit is parameterised and it is important to set the right parameters that matches your use case. For example, if you want to support up to 3125 messages, the message tree depth parameter should be set to 5 (as 55=31255^5 = 312555=3125).","s":"Circuits","u":"/docs/circuits","h":"","p":112},{"i":116,"t":"zk-SNARKs are a type of zero-knowledge proof which allows a \"prover\" to prove to a \"verifier\" that they know a secret without revealing the secret itself. In MACI, the prover is the coordinator. MACI uses zk-SNARKs to prove that the coordinator has correctly processed the batches of messages and that all votes have been tallied correctly. A smart contract acts as the verifier to check the proof from the coordinator. Users can also verify that the process was done correctly at any point after the proof generation.","s":"zk-SNARKs","u":"/docs/circuits","h":"#zk-snarks","p":112},{"i":118,"t":"MACI's circuits are written using Circom, a domain-specific language (DSL) used to write zk-SNARK circuits. Circom syntax resembles JavaScript, and it currently is one of the most popular DSL in use by zk developers. Please refer to their documentation to learn more about the language.","s":"Circom","u":"/docs/circuits","h":"#circom","p":112},{"i":120,"t":"MACI uses Groth16 as its proving system. Groth16 is a zk-SNARK proving system that allows for the generation of proofs that are small and fast to verify.","s":"Proving system","u":"/docs/circuits","h":"#proving-system","p":112},{"i":122,"t":"The circuits are used by the coordinator (the prover) to prove that they have correctly processed a batch of messages and tallied the votes correctly. This happens after a Poll has completed, and the coordinator has merged the state and message trees. The coordinator then generates a proof for each batch of messages, and submits them to the contract. The contract then verifies the proofs and updates the commitments on chain.","s":"How are the circuits used?","u":"/docs/circuits","h":"#how-are-the-circuits-used","p":112},{"i":126,"t":"This circuit allows the coordinator to prove that they have correctly processed each message in reverse order, in a consecutive batch of 5 ^ msgBatchDepth messages to the respective state leaf within the state tree. Coordinators would use this circuit to prove correct execution at the end of each Poll. The processMessages circuit will try to decrypt the messages, and based on the content of the message, update within itself the trees, to generate a proof that the coordinator's off-chain processing was done correctly. In other words, the circuit takes a final state, an initial state, and the leaves (messages and user signups) - it process these messages via the different state transitions to finally check that the expected state is correct. The pre-requisites for this circuit are: the related Poll has ended the state tree has been merged the message tree has been merged This circuit requires the coordinator's private key, hence a proof for this circuit can only be generated by the coordinator. The private key is needed in order to generate the ECDH shared key used to decrypt the messages. Parameters​ # Parameter Description 0 State tree depth Allows (5n)(5^{n})(5n) signups. 1 Message tree depth Allows (5n)(5^{n})(5n) votes or key-change messages. 2 Message batch tree depth Allows (5n)(5^{n})(5n) messages to be processed per batch. 3 Vote option tree depth Allows (5n)(5^{n})(5n) vote options. Inputs​ Input signal Description inputHash The SHA256 hash of inputs supplied by the contract packedVals Described below pollEndTimestamp The Unix timestamp at which the poll ends msgRoot The root of the message tree msgs The batch of messages as an array of arrays msgSubrootPathElements Described below coordinatorPubKeyHash poseidon2([cPkx,cPky])poseidon_2([cPk_x, cPk_y])poseidon2​([cPkx​,cPky​]) newSbCommitment Described below coordPrivKey The coordinator's private key coordPubKey The coordinator's public key encPubKeys The public keys used to generate shared ECDH encryption keys to encrypt the messages currentStateRoot The state root before the commands are applied currentStateLeaves The state leaves upon which messages are applied currentStateLeavesPathElements The Merkle path to each incremental state root currentSbCommitment Described below currentSbSalt Described below newSbCommitment Described below newSbSalt Described below currentBallotRoot The root of the ballot tree before messages are applied currentBallots The ballots upon which ballots are applied currentBallotsPathElements The Merkle path to each incremental ballot root currentVoteWeights The existing vote weight for the vote option in the ballot which each command refers to currentVoteWeightsPathElements The Merkle path from each vote weight to the vote option root in its ballot inputHash​ All inputs to this circuit are private except for inputHash. To save gas during verification, the MessageProcessor contract hashes the following values using SHA256 and uses the hash as the sole element of icicic: packedVals coordinatorPubKeyHash msgRoot currentSbCommitment newSbCommitment pollEndTimestamp The hash is computed using the sha256 Solidity function and is then subject to modulo ppp. packedVals​ packedVals is the following values represented as one field element. Consider that a field element is roughly 253 bits. The big-endian bit-representation is as such: Bits Value 1st 53 bits 0 2nd 50 bits batchEndIndex 3rd 50 bits currentMessageBatchIndex 4th 50 bits numSignUps 5th 50 bits maxVoteOptions For instance, if maxVoteOptions is 25 and batchEndIndex is 5, and all other values are 0, the following is the packedVals representation in hexadecimal: 140000000000000000000000000000000000019 currentSbCommitment and newSbCommitment​ The currentSbCommitment is the poseidon3poseidon_3poseidon3​ hash of the state tree root, the ballot tree root, and a random salt. The purpose of the random salt, which should be unique to each batch, is to ensure that the value of currentSbCommitment always changes even if all the commands in a batch are invalid and therefore do not change the state tree or ballot tree root. The result of applying a batch of messages to currentSbCommitment is newSbCommitment. currentSbSalt​ The salt used to produce currentSbCommitment (see above). newSbSalt​ The salt used to produce newSbCommitment (see above). msgSubrootPathElements​ The index of each message in msgs is consecutive. As such, in order to prove that each message in msgs is indeed a leaf of the message tree, we compute the subtree root of msgs, and then verify that the subtree root is indeed a subroot of msgRoot. A simplified example using a tree of arity 2: r / \\ s ... / \\ o o / \\ / \\ a b c d To prove that a...d are leaves of the tree with root r, we prove that the leaves have the subroot s with depth 2, and then prove that s is a member of r at depth 1. The implementation for this is in the QuinBatchLeavesExists circuit in https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/trees/incrementalQuinTree.circom. This method requires fewer circuit constraints than if we verified a Merkle proof for each leaf. Statements that the circuit proves​ That the prover knows the preimage to inputHash (see above) That the prover knows the preimage to currentSbCommitment (that is, the state root, ballot root, and currentSbSalt) That maxVoteOptions <= (5 ^ voteOptionTreeDepth) That numSignUps <= (5 ^ stateTreeDepth) That coordPubKey is correctly derived from coordPrivKey That coordPubKey is the preimage to the Poseidon hash of coordPubKey (provided by the contract) That each message in msgs exists in the message tree That after decrypting and applying each message, in reverse order, to the corresponding state and ballot leaves, the new state root, new ballot root, and newSbSalt are the preimage to newSbCommitment","s":"Message processing (processMessages)","u":"/docs/circuits","h":"#message-processing-processmessages","p":112},{"i":128,"t":"Parameters​ # Parameter Description 0 State tree depth Allows (5n)(5^{n})(5n) signups. 1 State leaf batch depth Allows (5n)(5^{n})(5n) users' votes to be processed per batch. 2 Vote option tree depth Allows (5n)(5^{n})(5n) vote options. Input signals​ Input signal Description inputHash The SHA256 hash of inputs supplied by the contract packedVals Described below sbCommitment Described below currentTallyCommitment Described below newTallyCommitment Described below stateRoot The root of the state tree after all messages have been applied ballotRoot The root of the ballot tree after all messages have been applied sbSalt The salt used to produce sbCommitment ballots The ballots in the batch being tallied ballotPathElements The Merkle path to each ballot leaf votes The votes in each ballot cast per result currentResults The current tally of votes per vote option currentResultsRootSalt A random value currentSpentVoiceCreditSubtotal The subtotal of voice credits spent across all vote options currentSpentVoiceCreditSubtotalSalt A random value currentPerVOSpentVoiceCredits The voice credits spent on each vote option so far currentPerVOSpentVoiceCreditsRootSalt A random value newResultsRootSalt A random value newPerVOSpentVoiceCreditsRootSalt A random value newSpentVoiceCreditSubtotalSalt A random value inputHash​ All inputs to this circuit are private except for inputHash. To save gas during verification, the Tally contract hashes the following values using SHA256 and uses the hash as the sole element of icicic: packedVals sbCommitment currentTallyCommitment newTallyCommitment The hash is computed using the sha256 Solidity function and is then subject to modulo ppp. packedVals​ packedVals is the following values represented as one field element. Consider that a field element is roughly 253 bits. The big-endian bit-representation is as such: Bits Value 1st 53 bits 0 2nd 50 bits 0 3rd 50 bits 0 4th 50 bits numSignUps 5th 50 bits batchStartIndex numSignUps, a value provided by the contract, is the number of users who have signed up. This is one less than the number of leaves inserted in the state tree (since the 0th state leaf is a blank state leaf [2.8.1]). batchStartIndex is the ballot tree index at which the batch begins. For instance, if numSignUps is 25 and the batch index is 5, and all other values are 0, the following is the packedVals representation in hexadecimal: 64000000000005 sbCommitment​ The commitment to stateRoot, ballotRoot, and sbSalt: poseidon3([stateRoot,ballotRoot,sbSalt])poseidon_3([stateRoot, ballotRoot, sbSalt])poseidon3​([stateRoot,ballotRoot,sbSalt]) Proving preimage of sbCommitment is one out of the several steps required to prove that the votes were tallied correctly. By establishing that the coordinator knows ballotRoot, the coordinator can (using other parts of the circuit) prove that that they know the preimage of the ballot leaves in the batch being tallied. currentTallyCommitment and newTallyCommitment​ A tally is represented by a tally commitment, which is the poseidon_3$ hash of: tcrtc_rtcr​: a commitment to the votes per option This is the hash of the Merkle root rrr_rrr​ of the votes and a salt rsr_srs​, computed as poseidon2([rr,rs])poseidon_2([r_r, r_s])poseidon2​([rr​,rs​]) tcttc_ttct​: a commitment to the total spent voice credits This is the hash of the total spent voice credits tct_ctc​ and a salt tst_sts​, computed as poseidon2([tc,ts])poseidon_2([t_c, t_s])poseidon2​([tc​,ts​]) tcptc_ptcp​: a commitment to the spent voice credits per vote option This is the hash of the Merkle root of the spent voice credits per vote option pvp_vpv​ and a salt psp_sps​, computed as poseidon2([pv,ps])poseidon_2([p_v, p_s])poseidon2​([pv​,ps​]) The tally commitment is computed as such: poseidon3([tcr,tct,tcp])poseidon_3([tc_r, tc_t, tc_p])poseidon3​([tcr​,tct​,tcp​]) Statements that the circuit proves​ That the coordinator knows the preimage of sbCommitment That the coordinator knows the preimage of inputHash That batchStartIndex is less than or equal to numSignUps That each ballot in ballots is in a member of the ballot tree with the Merkle root ballotRoot at indices batchStartIndex to batchStartIndex + (5 ** intStateTreeDepth) That each set of votes (votes[i]) has the Merkle root bltrblt_rbltr​ whose value equals ballots[i][1] That the tally is valid, which is: That the sum of votes per vote option is correct","s":"Tally Votes (tallyVotes)","u":"/docs/circuits","h":"#tally-votes-tallyvotes","p":112},{"i":130,"t":"This circuit is an optional feature - it's not required for MACI to function. The subsidy circuit is used to implement pairwise subsidy. This is a technique that can be used to detect voters collusion. It currently is not optimized for production and the team will work on a more efficient implementation in the future. Parameters​ # Parameter Description 0 State tree depth Allows (5n)(5^{n})(5n) signups. 1 State leaf batch depth Allows (5n)(5^{n})(5n) users' votes to be processed per batch. 2 Vote option tree depth Allows (5n)(5^{n})(5n) vote options.","s":"Subsisdy (subsidy)","u":"/docs/circuits","h":"#subsisdy-subsidy","p":112},{"i":132,"t":"Process Messages Input Hasher​ An utility circuit used by the main processMessages circuit to hash its inputs. It outputs one field element, which is the SHA256 hash of the following inputs: packedVals pollEndTimestamp msgRoot coordinatorPubKeyHash newSbCommitment currentSbCommitment Tally Votes Input Hasher​ An utility template that generates a sha256 hash of the provided tally inputs. It outputs one field element, which is the SHA256 hash of the following inputs: packedVals sbCommitment currentTallyCommitment newTallyCommitment ResultsCommitmentVerifier​ An utility circuit used by the main tallyVotes circuit to verify that the results commitment is correct. QuinCheckRoot​ Utility circuit that given a quin Merkle root and a list of leaves, check if the root is the correct result of inserting all the leaves into the tree in the given order. CalculateTotal​ Utility circuit used to calculate the sum of an array of elements. ECDH​ Utility circuit used to generate a shared key from a private key and a public key. Poseidon​ Utility circuit used to generate a Poseidon hash. In this case, it supports up to 13 inputs. MessageToCommand​ Utility circuit used to convert a message into a command, this involves decrypting the message. MessageValidator​ Utility circuit used to validate a message. This performs several checks: stateTreeIndex is valid voteOptionIndex is valid nonce is valid the signatuer is valid the user signed up before poll end timestamp the user had enough voice credits PrivToPubKey​ Utility circuit used to generate a public key from a private key. VerifySignature​ Utility circuit used to verify a EdDSA signature UnpackElement​ Utility circuit used to unpack an input element. QuinSelector​ Utility circuit used to select one element from an array of n elements at a given index. Splicer​ Utility circuit used to insert one element in an array at position index. QuinBatchLeavesExists​ Utility circuit used to check if a batch of leaves exists in a quinary tree. QuinGeneratePathIndices​ Utility circuit used to generate the indices needed to traverse the tree until we find the leaf we are looking for. ProcessTopup​ Utility circuit used to process a topup message. ProcessOne​ Utility circuit used to process one message.","s":"Utility circuits","u":"/docs/circuits","h":"#utility-circuits","p":112},{"i":135,"t":"Before building the project, make sure you have the following dependencies installed: circom","s":"Prerequisites","u":"/docs/circuits","h":"#prerequisites","p":112},{"i":137,"t":"To build the two main circuits of MACI, run the following commands: circom --r1cs --sym --wasm --output ./build circom/test/processMessages_test.circom circom --r1cs --sym --wasm --output ./build circom/test/tallyVotes_test.circom Please note that the circuit is configured with testing purpose parameters, which means it can only handle a limited amount of messages (up to 25 messages). For more information on the parameters and how to configure them, refer to this page.","s":"Building MACI circuits","u":"/docs/circuits","h":"#building-maci-circuits","p":112},{"i":139,"t":"Run: pnpm exec zkey-manager compile -c ./zkeys.config.yml The larger the trees, the more time this process may take. You may also need a machine with a very large amount of memory. Note that you will have to modify the parameters inside the zkeys.config.yml file to match your use case. For example, if you want to support up to 3125 messages, the message tree depth parameter should be set to 5 (as 55=31255^5 = 312555=3125). Measure the circuit sizes​ The size of a circuit is denoted by its number of constraints. The larger this number, the more time it takes to compile it, generate its .zkey file, and perform phase 2 contributions. Run this command to measure a circuit: pnpm exec snarkjs r1cs info CIRCUIT_NAME.circom Download the .ptau file​ This file should be the result of the Perpetual Powers of Tau trusted setup contribution which Hermez Network selected. Run: pnpm exec zkey-manager downloadPtau -c ./zkeys.config.yml zkey-manager will select the smallest .ptau file that fits the largest circuit specified in zkeys.config.yml.","s":"Generating zKeys","u":"/docs/circuits","h":"#generating-zkeys","p":112},{"i":141,"t":"To generate and validate ZK proofs from the artifacts produced by circom, you will need snarkjs.","s":"Generating and Validating ZK Proofs","u":"/docs/circuits","h":"#generating-and-validating-zk-proofs","p":112},{"i":143,"t":"To test the circuits package, please use pnpm run test. This will run all of the tests inside the tests folder. To run individual tests, you can use the following commands (for all other circuits please refer to the package.json scripts section): pnpm run test-processMessages to run the tests for the processMessages circuit. pnpm run test-tallyVotes to run the tests for the tallyVotes circuit. More details on testing are provided in the testing section of the documentation.","s":"Testing","u":"/docs/circuits","h":"#testing","p":112},{"i":145,"t":"MACI provides a command-line interface that allows for effective deployment and testing. Applications that build on top of MACI, such as clr.fund, implement their own web UIs. Note that all the example commands default to a local Ethereum testnet at http://localhost:8545, and use the Ethereum private key 0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3. Do not send any real funds to the address generated by this key. For testing purposes, you can run: # in maci/contracts pnpm run hardhat Note that you will need a hardhat.config file in your current directory to be able to run the cli.","s":"Command-line interface","u":"/docs/cli","h":"","p":144},{"i":147,"t":"Command Description Options create Deploy the contracts -v, --vkRegistryAddress : The vk registry contract address -i, --initialVoiceCredits : The initial voice credits -p, --initialVoiceCreditsProxyAddress : The initial voice credits proxy contract address -g, --signupGatekeeperAddress : The signup gatekeeper contract address -q, --quiet: Whether to print values to the console -s, --stateTreeDepth : The state tree depth checkVerifyingKeys Check that the verifying keys in the contract match the local ones -q, --quiet: Whether to print values to the console -vk, --vk-contract : The VkRegistry contract address -s, --state-tree-depth : The state tree depth -i, --int-state-tree-depth : The intermediate state tree depth -m, --msg-tree-depth : The message tree depth -v, --vote-option-tree-depth : The vote option tree depth -b, --msg-batch-depth : The message batch depth -p, --process-messages-zkey : The process messages zkey path -t, --tally-votes-zkey : The tally votes zkey path -ss, --subsidy-zkey : The subsidy zkey path genMaciPubKey Generate a new MACI public key -sk, --privkey : The private key genMaciKeyPair Generate a new MACI key pair No options airdrop Airdrop topup credits to the coordinator -a, --amount : The amount of topup -x, --contract : The MACI contract address -o, --poll-id : Poll id -t, --token-address : The token address -q, --quiet: Whether to print values to the console deployVkRegistry Deploy a new verification key registry contract -q, --quiet: Whether to print values to the console show Show the deployed contract addresses No options deployPoll Deploy a new poll -t, --duration : The poll duration -g, --max-messages : The max messages -mv, --max-vote-options : The max vote options -i, --int-state-tree-depth : The int state tree depth -b, --msg-batch-depth : The message tree sub depth -m, --msg-tree-depth : The message tree depth -v, --vote-option-tree-depth : The vote option tree depth -pk, --pubkey : The coordinator public key -x, --maci-address : The MACI contract address -q, --quiet: Whether to print values to the console setVerifyingKeys Set the verifying keys -s, --state-tree-depth : The state tree depth -i, --int-state-tree-depth : The intermediate state tree depth -m, --msg-tree-depth : The message tree depth -v, --vote-option-tree-depth : The vote option tree depth -b, --msg-batch-depth : The message batch depth -p, --process-messages-zkey : The process messages zkey path -t, --tally-votes-zkey : The tally votes zkey path -k, --vk-registry : The vk registry contract address -q, --quiet: Whether to print values to the console -ss, --subsidy-zkey : The subsidy zkey path publish Publish a new message to a MACI Poll contract -p, --pubkey : The MACI public key which should replace the user's public key in the state tree -x, --contract : The MACI contract address -sk, --privkey : Your serialized MACI private key -i, --state-index : The user's state index -v, --vote-option-index : The vote option index -n, --nonce : The message nonce -s, --salt : The message salt -o, --poll-id : The poll id -w, --new-vote-weight : The new vote weight -q, --quiet: Whether to print values to the console mergeMessages Merge the message accumulator queue -q, --quiet: Whether to print values to the console -x, --maci-contract-address : The MACI contract address -o, --poll-id : The poll id -n, --num-queue-ops : The number of queue operations mergeSignups Merge the signups accumulator queue -q, --quiet: Whether to print values to the console -x, --maci-contract-address : The MACI contract address -o, --poll-id : The poll id -n, --num-queue-ops : The number of queue operations timeTravel Fast-forward the time (only works for local hardhat testing) -s, --seconds : The number of seconds to fast-forward -q, --quiet: Whether to print values to the console signup Sign up to a MACI contract -p, --pubkey : The MACI public key -x, --maci-address : The MACI contract address -s, --sg-data : The signup gateway data -i, --ivcp-data : The initial voice credit proxy data -q, --quiet: Whether to print values to the console topup Top up an account with voice credits -a, --amount : The amount of topup -x, --maci-address : The MACI contract address -i, --state-index : State leaf index -o, --poll-id : Poll id -q, --quiet: Whether to print values to the console fundWallet Fund a wallet with Ether -a, --amount : The amount of Ether -w, --address
: The address to fund -q, --quiet: Whether to print values to the console verify Verify the results of a poll and optionally the subsidy results -o, --poll-id : The poll id -t, --tally-file : The tally file -s, --subsidy-file : The subsidy file -x, --contract : The MACI contract address -tc, --tally-contract : The tally contract address -sc, --subsidy-contract : The subsidy contract address -q, --quiet: Whether to print values to the console genProofs Generate the proofs for a poll -sk, --privkey : Your serialized MACI private key -x, --contract : The MACI contract address -o, --poll-id : The poll id -t, --tally-file : The tally file -s, --subsidy-file : The subsidy file -r, --rapidsnark : The path to the rapidsnark binary -wp, --process-witnessgen : The path to the process witness generation binary -wt, --tally-witnessgen : The path to the tally witness generation binary -ws, --subsidy-witnessgen : The path to the subsidy witness generation binary -zp, --process-zkey : The path to the tally zkey -zs, --subsidy-zkey : The path to the subsidy zkey -q, --quiet: Whether to print values to the console -f, --output : The output directory for proofs -tx, --transaction-hash : Transaction hash of MACI contract creation -w, --wasm: Whether to use the wasm binaries -pw, --process-wasm : The path to the process witness generation wasm binary -tw, --tally-wasm : The path to the tally witness generation wasm binary -sw, --subsidy-wasm : The path to the subsidy witness generation wasm binary proveOnChain Prove the results of a poll on chain -o, --poll-id : The poll id -q, --quiet: Whether to print values to the console -x, --contract : The MACI contract address -p, --message-processor-address : The message processor contract address -t, --tally-contract : The tally contract address -s, --subsidy-contract : The subsidy contract address -f, --proof-dir : The proof output directory from the genProofs subcommand","s":"Subcommands","u":"/docs/cli","h":"#subcommands","p":144},{"i":149,"t":"MACI uses private keys in the BabyJub field for operations which occur within zk-SNARKs, such as decrypting messages or signing commands. As MACI is deployed on Ethereum, we seek to avoid confusing BabyJub private keys with Ethereum private keys. To that end, users should pass serialized formats of public and private keys to this CLI. We use maci-domainobj's PrivKey.serialize and PubKey.serialize functions to do so. Examples of serialized public and private keys: Private key: macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e Public key: macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330","s":"Public and private key format","u":"/docs/cli","h":"#public-and-private-key-format","p":144},{"i":151,"t":"This command deploys an instance of a VkRegistry contract. Multiple MACI contracts can refer to the same VkRegistry as long as they are all owned (via Ownable.sol) by the same account. Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js deployVkRegistry Example output: [✓] VkRegistry deployed at: 0x6b5A4751307F6751E265c194244552A9995B6B3D","s":"Coordinator: Deploy VkRegistry","u":"/docs/cli","h":"#coordinator-deploy-vkregistry","p":144},{"i":153,"t":"Note that the filename of the .zkey files must follow this format: ProcessMessages_---_test..zkey TallyVotes_-->_test.>.zkey Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js setVerifyingKeys \\ -s 10 -i 1 -m 2 -v 2 -b 1 \\ -p ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ -t ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ Example output: [i] Setting verifying keys... [i] Transaction hash: 0x6b5b2959ba5161497d5499a0f9d9c69f773cd5f9b82f80a79253797b066863e3 [✓] Verifying keys set successfully","s":"Coordinator: Set verifying keys","u":"/docs/cli","h":"#coordinator-set-verifying-keys","p":144},{"i":155,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js create -s 10 Example output: [✓] MACI deployed at: 0xB08CEd0f34940a3E576Cf023b287f9Db2f306a1f","s":"Coordinator: Create MACI instance","u":"/docs/cli","h":"#coordinator-create-maci-instance","p":144},{"i":157,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node ./build/index.js deployPoll \\ -pk macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 \\ -t 30 -g 25 -mv 25 -i 1 -m 2 -b 1 -v 2 Example output: [i] Poll ID: 0 [i] Poll contract: 0xB6389Da0285c7B1FC0ba352F5A1D5fb1A492a786 [i] Message processor contract: 0xE0bF6021e023a197DBb3fABE64efA880E13D3f4b [i] Tally contract: 0x3f21BC64076e7c9ed8695d053DCCBE6D8d5E6f43 [i] Subsidy contract: 0xb848ef765E289762e9BE66a38006DDc4D23AeF24","s":"Coordinator: Deploy poll","u":"/docs/cli","h":"#coordinator-deploy-poll","p":144},{"i":159,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node ./build/index.js signup \\ -p macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 Example output: [i] Transaction hash: 0x4c7c9f65187fcf6e243804b75555bda48cbae4c317bb312f1b9f95ac4b7697b1 [✓] State index: 1","s":"User: sign up","u":"/docs/cli","h":"#user-sign-up","p":144},{"i":161,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js publish \\ -p macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 \\ -sk macisk.2ae4f199bf3925a2407f7c775c9261f351ab861d8e9ecbb84622bdd3f6d41b08 \\ -i 1 -v 0 -w 9 -n 1 -o 0 Example output: [i] Transaction hash: 0xa2ab91c821bf7fa73fedcf19a5371a0f0866ae0747d22f82f1685afca0e5db49 [i] Ephemeral private key: macisk.2631d585e46f059e4909ab35172451542ed7723a1ace120fcf49d68e27f935b0 ### (Testing only) Coordinator: Time travel Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js timeTravel -s 1000 Example output: [✓] Fast-forwarded 1000 seconds","s":"User: publish message","u":"/docs/cli","h":"#user-publish-message","p":144},{"i":163,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js mergeSignups -o 0 Example output: [i] Merging state subroots 1 / 1 [i] Transaction hash: 0xd7e7312f70831ec05bb23f23f506ef37d6ce0c2056c1b72f7bb989653d1c8a42 [✓] Executed mergeMaciStateAqSubRoots(); gas used: 720061 [✓] All state subtrees have been merged. [i] Merging subroots to a main state root... [i] Transaction hash: 0xb5e98d328b066d91e1b7aa35775fe624be446b540a00bcb4b27a02477636b569 [✓] Executed mergeStateAq(); gas used: 1004720","s":"Coordinator: merge state tree","u":"/docs/cli","h":"#coordinator-merge-state-tree","p":144},{"i":165,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js mergeMessages -o 0 Example output: [i] Merging message subroots 1 / 1 [✓] Executed mergeMessageAqSubRoots(); gas used: 602448 [i] Transaction hash: 0xdf9d11c6b35fcccff82dafa3aa15f760e3f7694a72b07007fbdb359d44df0bea [✓] All message subtrees have been merged. [i] Merging subroots to a main message root... [✓] Executed mergeMessageAq(); gas used: 173346 [i] Transaction hash: 0x1f18ec08fd14db90a0d1d02d1ed27c0bfd3bc138701e812c4c3382572fc4d151 [✓] The message tree has been merged.","s":"Coordinator: merge message tree","u":"/docs/cli","h":"#coordinator-merge-message-tree","p":144},{"i":167,"t":"Example usage to generate the state locally from the smart contracts events: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genLocalState \\ --poll-id 0 \\ --output localState.json \\ --privkey macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ --blocks-per-batch 50 Example output: [i] Fetching logs from 0 till 228 and generating the offline maci state [✓] The state has been written to localState.json","s":"Coordinator: generate Maci state offchain","u":"/docs/cli","h":"#coordinator-generate-maci-state-offchain","p":144},{"i":169,"t":"Example usage: C++ witness parameters HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs -x 0x89962fa216d39fCcaaC11e1e462340d80ab6Cf4D \\ -sk macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ -o 0 \\ -t tally.json \\ -f proofs \\ -r ~/rapidsnark/build/prover \\ -wp ./zkeys/ProcessMessages_10-2-1-2_test \\ -wt ./zkeys/TallyVotes_10-1-2_test \\ -zp ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ -zt ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ WASM Parameters HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs \\ -sk macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ -o 0 \\ -t tally.json \\ -f proofs \\ -zp ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ -zt ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ -tw ./zkeys/TallyVotes_10-1-2_test_js/TallyVotes_10-1-2_test.wasm \\ -pw ./zkeys/ProcessMessages_10-2-1-2_test_js/ProcessMessages_10-2-1-2_test.wasm \\ -w true Example output: [i] starting to fetch logs from block 0 [i] Generating proofs of message processing... [i] Progress: 1 / 1 [i] gen processMessage proof took 17.322 seconds [i] Generating proofs of vote tallying... [i] Progress: 1 / 1 [✓] The tally commitment is correct [i] gen tally proof took 4.951 seconds","s":"Coordinator: generate proofs","u":"/docs/cli","h":"#coordinator-generate-proofs","p":144},{"i":171,"t":"Example usage to generate the proofs locally from the local state file created with genLocalState: C++ witness parameters HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs \\ --privkey macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ --poll-id 0 \\ --rapidsnark ~/rapidsnark/build/prover \\ --process-witnessgen ./zkeys/ProcessMessages_10-2-1-2_test \\ --tally-witnessgen ./zkeys/TallyVotes_10-1-2_test \\ --process-zkey /zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ --tally-zkey ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ --tally-file tally.json \\ --output proofs/ \\ --state-file localState.json WASM Params HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs \\ --privkey macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ --poll-id 0 \\ --process-zkey ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ --tally-zkey ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ --tally-file tally.json \\ --output proofs/ \\ --state-file localState.json \\ -tw ./zkeys/TallyVotes_10-1-2_test_js/TallyVotes_10-1-2_test.wasm \\ -pw ./zkeys/ProcessMessages_10-2-1-2_test_js/ProcessMessages_10-2-1-2_test.wasm \\ -w true Example output: [i] Generating proofs of message processing... [i] Progress: 1 / 1 [i] gen processMessage proof took 17.053 seconds [i] Generating proofs of vote tallying... [i] Progress: 1 / 1 [✓] The tally commitment is correct [i] gen tally proof took 4.746 seconds","s":"Coordinator: generate proofs using a local state file","u":"/docs/cli","h":"#coordinator-generate-proofs-using-a-local-state-file","p":144},{"i":173,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js proveOnChain \\ -o 0 \\ -f proofs/ Example output: [i] Submitting proofs of message processing... [i] Transaction hash: 0xa8acf67d6520ceaf5eef8acbf4cda7f5c2657122e2a72a092b9f4503282d70b9 [i] Progress: 1 / 1 [✓] All message processing proofs have been submitted. [i] Submitting proofs of vote tallying... [i] Progress: 1 / 1 [i] Transaction hash: 0x691687ab6fb504919859901f297cdb7d8c4d736756d2d4edf345d721bb82365b [✓] All vote tallying proofs have been submitted.","s":"Coordinator: prove on chain","u":"/docs/cli","h":"#coordinator-prove-on-chain","p":144},{"i":175,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js verify \\ -o 0 \\ -t tally.json Example output: [i] on-chain tally commitment: 83601b7979c13506317b58e859950e9e92e1e6d326810d89332cc13909833ec [✓] The on-chain tally commitment matches. [i] The on-chain tally matches the off-chain tally.","s":"Anyone: verify tally","u":"/docs/cli","h":"#anyone-verify-tally","p":144},{"i":178,"t":"Alice votes for Party A Alice changes her key Eve tries to bribe Alice to change her vote to Party B Alice submits an invalid vote for Party B The coordinator processes the votes, computes, and verifies the final tally The expected result is: Party A has some votes and Party B has 0 votes. Implication: Alice's invalid vote was not counted, and Eve had no way to tell.","s":"Scenario:","u":"/docs/cli","h":"#scenario","p":144},{"i":180,"t":"Coordinator: Private key: macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e Public key: macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 Alice: Private key: macisk.fd7aa614ec4a82716ffc219c24fd7e7b52a2b63b5afb17e81c22fe21515539c Public key: macipk.3e7bb2d7f0a1b7e980f1b6f363d1e3b7a12b9ae354c2cd60a9cfa9fd12917391","s":"Examples of serialized public and private keys:","u":"/docs/cli","h":"#examples-of-serialized-public-and-private-keys","p":144},{"i":182,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js deployVkRegistry Output: [✓] VkRegistry deployed at: 0x7607Cfe2fA0d62F725537e55d83C693Cc3C76EF2","s":"Coordinator: Deploy VkRegistry","u":"/docs/cli","h":"#coordinator-deploy-vkregistry-1","p":144},{"i":184,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js setVerifyingKeys \\ --state-tree-depth 10 \\ --int-state-tree-depth 1 \\ --msg-tree-depth 2 \\ --vote-option-tree-depth 2 \\ --msg-batch-depth 1 \\ --process-messages-zkey ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ --tally-votes-zkey ./zkeys/TallyVotes_10-1-2_test.0.zkey Output: [i] Setting verifying keys... [i] Transaction hash: 0xbd5d06935537fb59903c27b9bdb19a41d422f75e1dfd6eb61f028bf3a7b82c76 [✓] Verifying keys set successfully","s":"Coordinator: Set verifying keys","u":"/docs/cli","h":"#coordinator-set-verifying-keys-1","p":144},{"i":186,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js create -s 10 Output: [✓] MACI deployed at: 0xC131D3eeD9D6D410A7bfc200d81b9795f1bb5ed6","s":"Coordinator: Create MACI instance","u":"/docs/cli","h":"#coordinator-create-maci-instance-1","p":144},{"i":188,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node ./build/index.js deployPoll \\ -pk macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 \\ -t 1000 -g 25 -mv 25 -i 1 -m 2 -b 1 -v 2 Output: [i] Poll ID: 0 [i] Poll contract: 0x2c3Adf2852788662148038511aD80962aaf631D7 [i] Message processor contract: 0xd3C3C6530fE4073292D6EAfdEAdEeAbf1A3DC19B [i] Tally contract: 0x06c1939F6cBb68D42333F140CAE815cc36D341b0 [i] Subsidy contract: 0xCB74254716c96B07c812c73A5945e68aa1de4569","s":"Coordinator: Deploy poll","u":"/docs/cli","h":"#coordinator-deploy-poll-1","p":144},{"i":190,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node ./build/index.js signup \\ --pubkey macipk.3e7bb2d7f0a1b7e980f1b6f363d1e3b7a12b9ae354c2cd60a9cfa9fd12917391 Output: [i] Transaction hash: 0x7ab4c2d23686049432d19bb64c8ee4e8776fff134d971dcf27e1f513b4fdb97f [✓] State index: 1","s":"Alice: sign up","u":"/docs/cli","h":"#alice-sign-up","p":144},{"i":192,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js publish \\ --pubkey macipk.3e7bb2d7f0a1b7e980f1b6f363d1e3b7a12b9ae354c2cd60a9cfa9fd12917391 \\ --privkey macisk.fd7aa614ec4a82716ffc219c24fd7e7b52a2b63b5afb17e81c22fe21515539c \\ --state-index 1 \\ --vote-option-index 0 \\ --new-vote-weight 9 \\ --nonce 1 \\ --poll-id 0 Output: [i] Transaction hash: 0x60936cfb0b25c8618d3cb8d0f5497106d5f6e3776f3212932975442d874eddbd [i] Ephemeral private key: macisk.103b8c4c98700d06f47522892032fce54bd03cd197cee495ede3802730409910","s":"Alice: votes for Party A (option index 0)","u":"/docs/cli","h":"#alice-votes-for-party-a-option-index-0","p":144},{"i":194,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js publish \\ --pubkey macipk.d5788ea6ccf1ec295df99aaef859031fe7bd359e7e03acb80eb6e8a192f2ce19 \\ --privkey macisk.fd7aa614ec4a82716ffc219c24fd7e7b52a2b63b5afb17e81c22fe21515539c \\ --state-index 1 \\ --vote-option-index 1 \\ --new-vote-weight 9 \\ --nonce 2 \\ --poll-id 0 Output: [i] Transaction hash: 0x73f74b13d276cd311ce5421a145debc71e97e48abc8be2f9a0a548b26f7920f9 [i] Ephemeral private key: macisk.1e490d67477b4c5f08806973fca2bea81e723c60deba6bdeacab56f7a4bd867b","s":"Alice: submits an invalid vote for Party B (option index 1) with different public key","u":"/docs/cli","h":"#alice-submits-an-invalid-vote-for-party-b-option-index-1-with-different-public-key","p":144},{"i":196,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js timeTravel -s 1000 Output: [✓] Fast-forwarded 1000 seconds","s":"Coordinator: Time Travel","u":"/docs/cli","h":"#coordinator-time-travel","p":144},{"i":198,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js mergeSignups --poll-id 0 Output: [i] Merging state subroots 1 / 1 [i] Transaction hash: 0xd01932e8dfad251f9b0d288290ac17f12bc449ea859a6921f63edf6b4b06f4c9 [✓] Executed mergeMaciStateAqSubRoots(); gas used: 720061 [✓] All state subtrees have been merged. [i] Merging subroots to a main state root... [i] Transaction hash: 0x25f60a9b5a24d11b87c41d8a4f681e3fd895b3bdf78ea86755b9800005662ce6 [✓] Executed mergeStateAq(); gas used: 1004720","s":"Coordinator: merge state tree","u":"/docs/cli","h":"#coordinator-merge-state-tree-1","p":144},{"i":200,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js mergeMessages --poll-id 0 Output: [i] Merging message subroots 1 / 1 [✓] Executed mergeMessageAqSubRoots(); gas used: 600520 [i] Transaction hash: 0xac0e8a01277db1b6282f8fb3763a8a4aeeebb3e12a41dd0dee9fc2804a4c9e81 [✓] All message subtrees have been merged. [i] Merging subroots to a main message root... [✓] Executed mergeMessageAq(); gas used: 173346 [i] Transaction hash: 0x472f0fd515c7cd2a02c430189e4ee92a6843bd6b19807484ce454cb7dab0e931 [✓] The message tree has been merged.","s":"Coordinator: merge message tree","u":"/docs/cli","h":"#coordinator-merge-message-tree-1","p":144},{"i":202,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs \\ --privkey macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ --poll-id 0 \\ --process-zkey ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ --tally-zkey ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ --tally-file tally.json \\ --output proofs/ \\ -tw ./zkeys/TallyVotes_10-1-2_test_js/TallyVotes_10-1-2_test.wasm \\ -pw ./zkeys/ProcessMessages_10-2-1-2_test_js/ProcessMessages_10-2-1-2_test.wasm \\ -w true Output: [i] Generating proofs of message processing... [i] Progress: 1 / 1 [i] gen processMessage proof took 16.644 seconds [i] Generating proofs of vote tallying... [i] Progress: 1 / 1 [✓] The tally commitment is correct [i] gen tally proof took 4.809 seconds","s":"Coordinator: generate proofs","u":"/docs/cli","h":"#coordinator-generate-proofs-1","p":144},{"i":204,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js proveOnChain \\ --poll-id 0 \\ --proof-dir proofs/ Output: [i] Submitting proofs of message processing... [i] Transaction hash: 0x9c3280af80de2436f9a886e4cd94218e01fe35ea3d3e671aad97b5aa5d6108ed [i] Progress: 1 / 1 [✓] All message processing proofs have been submitted. [i] Submitting proofs of vote tallying... [i] Progress: 1 / 1 [i] Transaction hash: 0x3e82ae3ad04215d4f357455ab5a610eba082796d2abc698aad91b046d16b9350 [✓] All vote tallying proofs have been submitted.","s":"Coordinator: prove on chain","u":"/docs/cli","h":"#coordinator-prove-on-chain-1","p":144},{"i":206,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js verify \\ --poll-id 0 \\ --tally-file tally.json Output: [i] on-chain tally commitment: 1ed004ac21a5397a512cbe749e7110934a434837f4818265043fd2e2e9cbec91 [✓] The on-chain tally commitment matches.","s":"Anyone: verify","u":"/docs/cli","h":"#anyone-verify","p":144},{"i":208,"t":"MACI is composed of multiple smart contracts, which together with the zk-SNARK circuits, can be used to carry out on-chain voting. The main contracts are presented and explained below.","s":"Smart Contracts","u":"/docs/contracts","h":"","p":207},{"i":210,"t":"MACI.sol is the core contract of the project, as it provides the base layer for user signups and Polls to be created. The constructor shown below accepts three arguments, a PollFactory contract, a SignUpGatekeeper contract, and an InitialVoiceCreditProxy contract. constructor( PollFactory _pollFactory, SignUpGatekeeper _signUpGatekeeper, InitialVoiceCreditProxy _initialVoiceCreditProxy ) { // Deploy the state AccQueue stateAq = new AccQueueQuinaryBlankSl(STATE_TREE_SUBDEPTH); stateAq.enqueue(BLANK_STATE_LEAF_HASH); pollFactory = _pollFactory; signUpGatekeeper = _signUpGatekeeper; initialVoiceCreditProxy = _initialVoiceCreditProxy; signUpTimestamp = block.timestamp; // Verify linked poseidon libraries require( hash2([uint256(1), uint256(1)]) != 0, \"MACI: poseidon hash libraries not linked\" ); } Upon deployment, the contract will deploy a new AccQueueQuinaryBlankSl contract using the STATE_TREE_SUBDEPTH. By default, this is defined as uint8 internal constant STATE_TREE_SUBDEPTH = 2;. Should this be changed, it will be necessary to amend the contracts/ts/genEmptyBallotRootsContract.ts file to reflect the change. The first action on this deployed contract, is to enqueue (add) an empty hash (defined as 6769006970205099520508948723718471724660867171122235270773600567925038008762). After this, the contracts will be stored to state, the current time taken and then the contract will perform a simple sanity check to ensure that the Poseidon hash libraries were linked successfully. Once the contract is deployed, the owner (set as the deployer address of MACI), is required to call the init function, which is shown below: function init( VkRegistry _vkRegistry, MessageAqFactory _messageAqFactory, TopupCredit _topupCredit ) public onlyOwner { require(!isInitialised, \"MACI: already initialised\"); isInitialised = true; vkRegistry = _vkRegistry; messageAqFactory = _messageAqFactory; topupCredit = _topupCredit; // Check that the factory contracts have correct access controls before // allowing any functions in MACI to run (via the afterInit modifier) require( pollFactory.owner() == address(this), \"MACI: PollFactory owner incorrectly set\" ); // The PollFactory needs to store the MessageAqFactory address pollFactory.setMessageAqFactory(messageAqFactory); // The MessageAQFactory owner must be the PollFactory contract require( messageAqFactory.owner() == address(pollFactory), \"MACI: MessageAqFactory owner incorrectly set\" ); // The VkRegistry owner must be the owner of this contract require( vkRegistry.owner() == owner(), \"MACI: VkRegistry owner incorrectly set\" ); emit Init(_vkRegistry, _messageAqFactory); } This function accepts three arguments: VkRegistry - the contract holding the verifying keys MessageAqFactory - the factory contract for deploying new MessageAq contracts TopupCredit - the contract responsible for topping up voting credits In more details, the init function will check/do the following: That the PollFactory contract's owner has been set to be the MACI contract Set the messageAqFactory contract on the pollFactory contract Check that the owner of the messageAqFactory is the pollFactory contract Confirm that the vkRegistry owner is the same as the MACI owner Finally, it will emit an event. Next, we have the signUp function, which allows users to signUp using a SignUpGatekeeper contract. This contract can use any mean necessary to gatekeep access to MACI's polls. For instance, only wallets with access to a specific ERC721 token can be allowed to sign up. Please note that this function can only be called after the contract is initialized (thanks to the afterInit modifier). This function does the following: checks that the maximum number of signups have not been reached. As of now, this will be 5∗∗10−15 ** 10 - 15∗∗10−1 due to circuit limitations. checks that the provided public key is within the allowed boundaries increases the number of signups registers the user using the sign up gatekeeper contract. It is important that whichever gatekeeper is used, it reverts if an user tries to sign up twice. calls the voice credit proxy to retrieve the number of allocated voice credits for the calling account hashes the voice credits alongside the calling address and the current time enqueues this hashed data into the stateAq contract function signUp( PubKey memory _pubKey, bytes memory _signUpGatekeeperData, bytes memory _initialVoiceCreditProxyData ) public afterInit { // The circuits only support up to (5 ** 10 - 1) signups require( numSignUps < STATE_TREE_ARITY**stateTreeDepth, \"MACI: maximum number of signups reached\" ); require( _pubKey.x < SNARK_SCALAR_FIELD && _pubKey.y < SNARK_SCALAR_FIELD, \"MACI: _pubKey values should be less than the snark scalar field\" ); // Increment the number of signups numSignUps++; // Register the user via the sign-up gatekeeper. This function should // throw if the user has already registered or if ineligible to do so. signUpGatekeeper.register(msg.sender, _signUpGatekeeperData); // Get the user's voice credit balance. uint256 voiceCreditBalance = initialVoiceCreditProxy.getVoiceCredits( msg.sender, _initialVoiceCreditProxyData ); uint256 timestamp = block.timestamp; // Create a state leaf and enqueue it. uint256 stateLeaf = hashStateLeaf( StateLeaf(_pubKey, voiceCreditBalance, timestamp) ); uint256 stateIndex = stateAq.enqueue(stateLeaf); emit SignUp(stateIndex, _pubKey, voiceCreditBalance, timestamp); } Once everything has been setup, polls can be deployed using the deployPoll function. This function is not protected by access control, therefore any user can deploy one. It should be noted however, that previous poll should have been closed out first, and this can only be done by the owner of the contract, which is the MACI contract itself. function deployPoll( uint256 _duration, MaxValues memory _maxValues, TreeDepths memory _treeDepths, PubKey memory _coordinatorPubKey ) public afterInit { uint256 pollId = nextPollId; // Increment the poll ID for the next poll nextPollId++; if (pollId > 0) { require( stateAq.treeMerged(), \"MACI: previous poll must be completed before using a new instance\" ); } // The message batch size and the tally batch size BatchSizes memory batchSizes = BatchSizes( MESSAGE_TREE_ARITY**uint8(_treeDepths.messageTreeSubDepth), STATE_TREE_ARITY**uint8(_treeDepths.intStateTreeDepth), STATE_TREE_ARITY**uint8(_treeDepths.intStateTreeDepth) ); Poll p = pollFactory.deploy( _duration, _maxValues, _treeDepths, batchSizes, _coordinatorPubKey, vkRegistry, this, topupCredit, owner() ); polls[pollId] = p; emit DeployPoll(pollId, address(p), _coordinatorPubKey); }","s":"MACI.sol","u":"/docs/contracts","h":"#macisol","p":207},{"i":212,"t":"This contract allows users to vote on a Poll. The main functions of the contract are as follows: topup - This function accepts two parameters, a stateIndex, and an amount. It can only be called before the voting deadline. After checking whether the deadline has passed or not, it will validate that the contract has not reached the maximum number of messages, if the checks passes, it will increase the number of messages by 1. It will then try to transfer the amount of topUpCredit tokens. Finally, it will create a new Message object that will be hashed and enqueued in the messageAq contract. This messageAq contract is reserved for this one poll only and will only contain its messages. publishMessage - This function allows anyone to publish a message, and it accepts the message object as well as an ephemeral public key. This key together with the coordinator public key will be used to generate a shared ECDH key that will encrypt the message. Before saving the message, the function will check that the voting deadline has not passed, as well as the max number of messages was not reached. The mergeMaciStateAqSubRoots function can be called by the contract admin after the voting deadline and looks like the following: function mergeMaciStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) public onlyOwner isAfterVotingDeadline { // This function can only be called once per Poll require(!stateAqMerged, ERROR_STATE_AQ_ALREADY_MERGED); if (!extContracts.maci.stateAq().subTreesMerged()) { extContracts.maci.mergeStateAqSubRoots(_numSrQueueOps, _pollId); } emit MergeMaciStateAqSubRoots(_numSrQueueOps); } If the subtrees have not been merged on the MACI contract's stateAq, then it will merge it by calling mergeStateAqSubroots. It accepts two parameters: _numSrQueueOps - the number of operations required _pollId - the id of the poll The next function, is presented below: function mergeMaciStateAq(uint256 _pollId) public onlyOwner isAfterVotingDeadline { // This function can only be called once per Poll after the voting // deadline require(!stateAqMerged, ERROR_STATE_AQ_ALREADY_MERGED); stateAqMerged = true; require( extContracts.maci.stateAq().subTreesMerged(), ERROR_STATE_AQ_SUBTREES_NEED_MERGE ); mergedStateRoot = extContracts.maci.mergeStateAq(_pollId); // Set currentSbCommitment uint256[3] memory sb; sb[0] = mergedStateRoot; sb[1] = emptyBallotRoots[treeDepths.voteOptionTreeDepth - 1]; sb[2] = uint256(0); currentSbCommitment = hash3(sb); emit MergeMaciStateAq(mergedStateRoot); } This function only accepts one parameter, and can be called by the owner only, and after the voting deadline. The parameter is the pollId for which we want to perform the operation. This function can only be called once per poll, and it will check that the sub trees have been merged on MACI's AccQueue contract. Finally it will merge the whole AccQueue to generate the state root, and store the current commitment comprised of: the Poseidon hash of the merkle root, an empty ballot root stored in the emptyBallotRoots mapping (shown below), and a zero. emptyBallotRoots[0] = uint256(6579820437991406069687396372962263845395426835385368878767605633903648955255); emptyBallotRoots[1] = uint256(9105453741665960449792281626882014222103501499246287334255160659262747058842); emptyBallotRoots[2] = uint256(14830222164980158319423900821611648302565544940504586015002280367515043751869); emptyBallotRoots[3] = uint256(12031563002271722465187541954825013132282571927669361737331626664787916495335); emptyBallotRoots[4] = uint256(5204612805325639173251450278876337947880680931527922506745154187077640790699); In order for the processMessages circuit to access the message root, the following two functions need to be called (only by the owner): mergeMessageAqSubRoots - merges the Poll's messages tree subroot mergeMessageAq - merges the Poll's messages tree","s":"Poll.sol","u":"/docs/contracts","h":"#pollsol","p":207},{"i":214,"t":"PollFactory is a smart contract that is used to deploy new Polls. This is used by MACI inside the deployPoll function. It only contains two functions: setMessageAqFactory - owner only function which allows to set the address of the MessageAqFactory (a contract used to deploy new AccQueue contracts) deploy - owner only function which allows to deploy a new Poll The arguments required to deploy a new Poll are the following: uint256 _duration, MaxValues memory _maxValues, TreeDepths memory _treeDepths, BatchSizes memory _batchSizes, PubKey memory _coordinatorPubKey, VkRegistry _vkRegistry, IMACI _maci, TopupCredit _topupCredit, address _pollOwner Upon deployment, the ownership of the messageAq contract will be transferred to the deployed poll, as well as the ownership of the new Poll contract be transferred to the poll owner, which in MACI is set as the owner of MACI.","s":"PollFactory.sol","u":"/docs/contracts","h":"#pollfactorysol","p":207},{"i":216,"t":"This contract is used to prepare parameters for the zk-SNARK circuits as well as for verifying proofs. It should be deployed alongside MACI and ownership assigned to the coordinator.","s":"PollProcessorAndTallyer","u":"/docs/contracts","h":"#pollprocessorandtallyer","p":207},{"i":218,"t":"This is a simple factory contract which allows to deploy new AccQueueQuinaryMaci contracts. It exposes one function, deploy, which can only be called by the contract owner. After deployment of the contract, it will transfer its ownership to the same owner as the factory contract. contract MessageAqFactory is Ownable { function deploy(uint256 _subDepth) public onlyOwner returns (AccQueue) { AccQueue aq = new AccQueueQuinaryMaci(_subDepth); aq.transferOwnership(owner()); return aq; } }","s":"MessageAqFactory","u":"/docs/contracts","h":"#messageaqfactory","p":207},{"i":220,"t":"This contract should be used by the SignUpGateKeeper to determine whether a user is allowed to register. The default contract provided with MACI is a simple ERC721 token. Coordinators can use this contract to mint a token for each of the participants in the voting process.","s":"SignUpToken","u":"/docs/contracts","h":"#signuptoken","p":207},{"i":222,"t":"MACI requires a signup gatekeeper to ensure that only designed users register. It is up to MACI's deployer how they wish to allow sign-ups, therefore they can implement their own GateKeeper. The repository comes with two presets: FreeForAllSignUpGatekeeper - This allows anyone to signup on MACI. SignUpTokenGatekeeper - This makes use of a ERC721 token to gatekeep the signup function. An abstract contract to inherit from is also provided, with two function signatures as shown below: abstract contract SignUpGatekeeper { function setMaciInstance(MACI _maci) public virtual {} function register(address _user, bytes memory _data) public virtual {} } The MACI contract will need to call register inside the signUp function.","s":"SignUpGatekeeper","u":"/docs/contracts","h":"#signupgatekeeper","p":207},{"i":224,"t":"The VoiceCreditProxy contract is used to assign voice credits to users. Whichever implementation should the MACI deployers use, this must implement a view function that returns the balance for a user, such as the one below: function getVoiceCredits(address _user, bytes memory _data) public virtual view returns (uint256) {}","s":"VoiceCreditProxy","u":"/docs/contracts","h":"#voicecreditproxy","p":207},{"i":226,"t":"This contract exposes methods to hash different number of parameters with the Poseidon hash.","s":"Hasher","u":"/docs/contracts","h":"#hasher","p":207},{"i":228,"t":"The VkRegistry is a contract that holds the verifying keys for the zk-SNARK circuits. It holds three different sets of keys: processVks - The keys for the processMessages circuit tallyVks - The keys for the tallyVotes circuit subsidyVk - The keys for the subsidy circuit Each circuit will have a signature which is its compile-time constants represented as a uint256.","s":"VkRegistry","u":"/docs/contracts","h":"#vkregistry","p":207},{"i":230,"t":"A contract holding three structs: struct TreeDepths { uint8 intStateTreeDepth; uint8 messageTreeSubDepth; uint8 messageTreeDepth; uint8 voteOptionTreeDepth; } struct BatchSizes { uint24 messageBatchSize; uint24 tallyBatchSize; uint24 subsidyBatchSize; } struct MaxValues { uint256 maxMessages; uint256 maxVoteOptions; } These are stored separately to avoid a stack overlow error during compilation of the contracts using them.","s":"Params","u":"/docs/contracts","h":"#params","p":207},{"i":232,"t":"The AccQueue contract represents a Merkle Tree where each leaf insertion only updates a subtree. To obtain the main tree root, the subtrees must be merged together by the contract owner. This requires at least two operations, a mergeSubRoots and a merge. The contract can be initialized to work as a traditional Merkle Tree (2 leaves per node) or a Quinary Tree (5 leaves per node). This can be achieved by passing either two or five as parameter to the constructor (_hashLength). Any other values should not be accepted. Below are presented the most important functions of the smart contract: enqueue - Allows to add a leaf to the queue for the current subtree. Only one parameter is accepted and that is the leaf to insert. insertSubTree - Admin only function which allows to insert a full subtree (batch enqueue) mergeSubRoots - Allows the contract owner to merge all of the subtrees to form the shortest possible tree. The argument _numSrQueueOps can be used to perform the operation in multiple transactions (as this might trigger the block gas limit). merge - Allows the contract admin to form a main tree with the desired depth. The depth must fit all of the leaves.","s":"AccQueue","u":"/docs/contracts","h":"#accqueue","p":207},{"i":234,"t":"This contract contains the roots of Ballot trees of five leaf configurations. emptyBallotRoots[0] = uint256(6579820437991406069687396372962263845395426835385368878767605633903648955255); emptyBallotRoots[1] = uint256(9105453741665960449792281626882014222103501499246287334255160659262747058842); emptyBallotRoots[2] = uint256(14830222164980158319423900821611648302565544940504586015002280367515043751869); emptyBallotRoots[3] = uint256(12031563002271722465187541954825013132282571927669361737331626664787916495335); emptyBallotRoots[4] = uint256(5204612805325639173251450278876337947880680931527922506745154187077640790699);","s":"EmptyBallotRoots","u":"/docs/contracts","h":"#emptyballotroots","p":207},{"i":236,"t":"The coordinator is responsible for processing and tallying messages locally, before generating proofs that this was done correctly using the zk-SNARK circuits. To summarize, the coordinator's goal here is to process all of the messages that were submitted by MACI's voters, then tally the votes based on the valid vote messages. Furthermore, each batch processed should be able to be verified by a zk-SNARK proof.","s":"Coordinator local processing","u":"/docs/coordinator-processing","h":"","p":235},{"i":238,"t":"The following diagram, shows which components are involved and at which step of the way","s":"Which MACI's components are involved","u":"/docs/coordinator-processing","h":"#which-macis-components-are-involved","p":235},{"i":240,"t":"Zooming in.. Message processing Vote tallying","s":"What does the process look like?","u":"/docs/coordinator-processing","h":"#what-does-the-process-look-like","p":235},{"i":242,"t":"Process of completing a Poll Process of generating proofs Tally commitments","s":"What does the process look like when including the zk-SNARK proofs","u":"/docs/coordinator-processing","h":"#what-does-the-process-look-like-when-including-the-zk-snark-proofs","p":235},{"i":245,"t":"You need the following to use MACI: Node.js: use nvm to install it. MACI has been tested with Node 14, 16, 18 and 20. We do however recommend to use Node 18 or Node 20 as Node 14 is deprecated and Node 16 will soon be deprecated too. The rapidsnark tool if running on an intel chip (this allows for faster proof generation vs snarkjs). Note that MACI works on Linux and MacOS. It has not been tested on Windows, however it should work on Windows Subsystem for Linux (WSL). Keep in mind that when using MACI e2e on a non intel chip, tests will run using snarkjs with WASM. This will result in slower proof generation.","s":"Requirements","u":"/docs/installation","h":"#requirements","p":243},{"i":247,"t":"First, install dependencies: sudo apt-get install build-essential libgmp-dev libsodium-dev nasm git Next, clone rapidsnark and build it: git clone https://github.com/iden3/rapidsnark.git && \\ cd rapidsnark && \\ git checkout 1c13721de4a316b0b254c310ccec9341f5e2208e pnpm install && \\ git submodule init && \\ git submodule update && \\ pnpm exec task createFieldSources && \\ pnpm exec task buildProver Note the location of the rapidsnark binary (e.g. /home/user/rapidsnark/build/prover).","s":"Install rapidsnark (if on an intel chip)","u":"/docs/installation","h":"#install-rapidsnark-if-on-an-intel-chip","p":243},{"i":249,"t":"https://docs.circom.io/ Note the location of the circom binary (e.g. $HOME/.cargo/bin/circom), as you will need it later.","s":"Install circom v2:","u":"/docs/installation","h":"#install-circom-v2","p":243},{"i":251,"t":"git clone https://github.com/privacy-scaling-explorations/maci.git && \\ cd maci && \\ pnpm i && \\ pnpm run build On intel chips​ Install dependencies for and zkey-manager: sudo apt-get install libgmp-dev nlohmann-json3-dev nasm g++ Note that on an ARM macbook you won't need the above. However, you will not be able to compile the c++ witness generator.","s":"Install MACI","u":"/docs/installation","h":"#install-maci","p":243},{"i":253,"t":"Edit cli/zkeys.config.yml to include the relative path to the circom binary. --- circomPath: \"RELATIVE_PATH_TO_CIRCOM\"","s":"Configure zkey-manager","u":"/docs/installation","h":"#configure-zkey-manager","p":243},{"i":255,"t":"MACI has two main zk-SNARK circuits (plus an optional Subsidy circuit). Each circuit is parameterised. There should one .zkey file for each circuit and set of parameters. Unless you wish to generate a fresh set of .zkey files, you should obtain them from someone who has performed a multi-party trusted setup for said circuits. For more details on which artifacts have undergone a trusted setup, please refer to the Trusted Setup page. Note the locations of the .zkey files as the CLI requires them as command-line flags.","s":"Download .zkey files","u":"/docs/installation","h":"#download-zkey-files","p":243},{"i":257,"t":"If you wish to generate .zkey files from scratch, first navigate to cli/ and edit zkeys.config.yml. Set the parameters you need. Next, run the following to compile the circuits with parameters you specified: pnpm exec zkey-manager compile -c zkeys.config.yml Next, download the .ptau file: pnpm exec zkey-manager downloadPtau -c zkeys.config.yml Finally, generate the .zkey files. This may require a lot of memory and time. pnpm exec zkey-manager genZkeys -c zkeys.config.yml If on a ARM64 chip, the above will work, though it will show errors for the c++ witness generator. You can ignore these errors. main.cpp:9:10: fatal error: 'nlohmann/json.hpp' file not found #include ^~~~~~~~~~~~~~~~~~~ 1 error generated.","s":"Generate .zkey files","u":"/docs/installation","h":"#generate-zkey-files","p":243},{"i":259,"t":"MACI can be used in any protocol that requires collusion resistance, for instance it has been proven to be quite efficient when integrated in quadratic funding applications such as clr.fund and qfi. Here we will be looking at QFI and how it was used. Please note that this will be expanded as QFI is updated to use the newest version of MACI. Should you decide to integrate MACI in the meantime, feel free to open an issue on the GitHub repo.","s":"Integrating MACI","u":"/docs/integrating","h":"","p":258},{"i":261,"t":"The MACI contract is the core of the protocol. Contracts can inherit from MACI and thus expose the signup and topup functions. As with standalone MACI, one would need to deploy a sign up gatekeeper as well as the voice credit proxy. As an example, within the quadratic funding infrastructure project, the QFI contract inherits from MACI and allows sign up via the contribute function. function contribute( PubKey calldata pubKey, uint256 amount ) external { [..snip] uint256 voiceCredits = amount / voiceCreditFactor; // The user is marked as registered here upon contribution grantRoundToContributors[nextGrantRoundId][msg.sender] = ContributorStatus(voiceCredits, true); // Increase the number of contributors for this round grantRoundToContributorsCount[nextGrantRoundId]++; bytes memory signUpGatekeeperAndInitialVoiceCreditProxyData = abi.encode( msg.sender, voiceCredits ); signUp( pubKey, signUpGatekeeperAndInitialVoiceCreditProxyData, signUpGatekeeperAndInitialVoiceCreditProxyData ); [..snip] emit ContributionSent(msg.sender, amount); }","s":"MACI Contract","u":"/docs/integrating","h":"#maci-contract","p":258},{"i":263,"t":"On the other hand, the Poll contract can be inherited to expose functionality such as top ups and publishing of messages/commands. For instance, within QFI, the publishMessageBatch function call the publishMessage function of Poll, as shown below: function publishMessageBatch( Message[] calldata _messages, PubKey[] calldata _encPubKeys ) external { // Check that the two arrays have the same length require( _messages.length == _encPubKeys.length, \"GrantRound: _messages and _encPubKeys should be the same length\" ); uint256 batchSize = _messages.length; for (uint8 i = 0; i < batchSize; ++i) { publishMessage(_messages[i], _encPubKeys[i]); } emit Voted(msg.sender); }","s":"Poll Contract","u":"/docs/integrating","h":"#poll-contract","p":258},{"i":265,"t":"Minimum Anti-Collusion Infrastructure (MACI) is a base layer for bribery-resistant, secure, and private digital voting. Applications like clr.fund build atop MACI to increase privacy and discourage bribery for public goods funding. MACI offers the following guarantees: Collusion resistance: no-one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery. Receipt-freeness: no voter should be able to prove (besides to the coordinator) which way they voted. Privacy: no-one except a trusted coordinator should be able to decrypt a vote. Uncensorability: no-one — not even the trusted coordinator — should be able to censor a vote. Unforgeability: only the owner of a user's private key may cast a vote tied to its corresponding public key. Non-repudiation: no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. Correct execution: no-one — not even the trusted coordinator — should be able to produce a false tally of votes. Under the hood, MACI uses Ethereum smart contracts and zero-knowledge proofs. It inherits security and uncensorability from the underlying Ethereum blockchain, ensures unforgeability via asymmetric encryption, and achieves collusion resistance, privacy, and correct execution via zk-SNARK proofs. Although MACI can provide collusion resistance only if the coordinator is honest, a dishonest coordinator can neither censor nor tamper with its execution. Note that MACI presumes an identity system where each legitimate member controls a unique Ethereum private key. MACI was originally proposed by Vitalik Buterin in this ethresear.ch post.","s":"Introduction","u":"/docs/introduction","h":"","p":264},{"i":267,"t":"MACI was originally developed by: Barry WhiteHat Cory Dickson Chih-Cheng Liang Han Jian Kendrick Tan Kirill Goncharov Kobi Gurkan Koh Wei Jie Samuel Gosling Currently, it is being maintained by the new MACI team, which will continue to work on improving the protocol and its documentation. info If you are using one of the previous versions of MACI, see the MACI v0.x documentation.","s":"Credits","u":"/docs/introduction","h":"#credits","p":264},{"i":271,"t":"MaciState Poll","s":"Classes","u":"/docs/typedoc/modules/core_ts","h":"#classes","p":268},{"i":273,"t":"BatchSizes IJsonMaciState IProcessMessagesCircuitInputs ISubsidyCircuitInputs ITallyCircuitInputs MaxValues TreeDepths","s":"Interfaces","u":"/docs/typedoc/modules/core_ts","h":"#interfaces","p":268},{"i":275,"t":"CircuitInputs","s":"Type Aliases","u":"/docs/typedoc/modules/core_ts","h":"#type-aliases","p":268},{"i":277,"t":"STATE_TREE_ARITY","s":"Variables","u":"/docs/typedoc/modules/core_ts","h":"#variables","p":268},{"i":279,"t":"genProcessVkSig genSubsidyVkSig genTallyVkSig packProcessMessageSmallVals packSubsidySmallVals packTallyVotesSmallVals unpackProcessMessageSmallVals unpackTallyVotesSmallVals","s":"Functions","u":"/docs/typedoc/modules/core_ts","h":"#functions","p":268},{"i":282,"t":"Ƭ CircuitInputs: Record A circuit inputs for the circom circuit Defined in​ core/ts/utils/types.ts:22","s":"CircuitInputs","u":"/docs/typedoc/modules/core_ts","h":"#circuitinputs","p":268},{"i":285,"t":"• Const STATE_TREE_ARITY: 5 Defined in​ core/ts/utils/constants.ts:2","s":"STATE_TREE_ARITY","u":"/docs/typedoc/modules/core_ts","h":"#state_tree_arity","p":268},{"i":288,"t":"▸ genProcessVkSig(stateTreeDepth, messageTreeDepth, voteOptionTreeDepth, batchSize): bigint This function generates the signature of a ProcessMessage Verifying Key(VK). This can be used to check if a ProcessMessages' circuit VK is registered in a smart contract that holds several VKs. Parameters​ Name Type Description stateTreeDepth number The depth of the state tree. messageTreeDepth number The depth of the message tree. voteOptionTreeDepth number The depth of the vote option tree. batchSize number The size of the batch. Returns​ bigint Returns a signature for querying if a verifying key with the given parameters is already registered in the contract. Defined in​ core/ts/utils/utils.ts:14","s":"genProcessVkSig","u":"/docs/typedoc/modules/core_ts","h":"#genprocessvksig","p":268},{"i":290,"t":"▸ genSubsidyVkSig(_stateTreeDepth, _intStateTreeDepth, _voteOptionTreeDepth): bigint This function generates the signature of a Subsidy Verifying Key(VK). This can be used to check if a SubsidyCalculations' circuit VK is registered in a smart contract that holds several VKs. Parameters​ Name Type Description _stateTreeDepth number The depth of the state tree. _intStateTreeDepth number The depth of the intermediate state tree. _voteOptionTreeDepth number The depth of the vote option tree. Returns​ bigint Returns a signature for querying if a verifying key with the given parameters is already registered in the contract. Defined in​ core/ts/utils/utils.ts:51","s":"genSubsidyVkSig","u":"/docs/typedoc/modules/core_ts","h":"#gensubsidyvksig","p":268},{"i":292,"t":"▸ genTallyVkSig(_stateTreeDepth, _intStateTreeDepth, _voteOptionTreeDepth): bigint This function generates the signature of a Tally Verifying Key(VK). This can be used to check if a TallyVotes' circuit VK is registered in a smart contract that holds several VKs. Parameters​ Name Type Description _stateTreeDepth number The depth of the state tree. _intStateTreeDepth number The depth of the intermediate state tree. _voteOptionTreeDepth number The depth of the vote option tree. Returns​ bigint Returns a signature for querying if a verifying key with the given parameters is already registered in the contract. Defined in​ core/ts/utils/utils.ts:35","s":"genTallyVkSig","u":"/docs/typedoc/modules/core_ts","h":"#gentallyvksig","p":268},{"i":294,"t":"▸ packProcessMessageSmallVals(maxVoteOptions, numUsers, batchStartIndex, batchEndIndex): bigint This function packs it's parameters into a single bigint. Parameters​ Name Type Description maxVoteOptions bigint The maximum number of vote options. numUsers bigint The number of users. batchStartIndex number The start index of the batch. batchEndIndex number The end index of the batch. Returns​ bigint Returns a single bigint that contains the packed values. Defined in​ core/ts/utils/utils.ts:65","s":"packProcessMessageSmallVals","u":"/docs/typedoc/modules/core_ts","h":"#packprocessmessagesmallvals","p":268},{"i":296,"t":"▸ packSubsidySmallVals(row, col, numSignUps): bigint This function packs it's parameters into a single bigint. Parameters​ Name Type Description row number The row. col number The column. numSignUps number The number of signups. Returns​ bigint Returns a single bigint that contains the packed values. Defined in​ core/ts/utils/utils.ts:150","s":"packSubsidySmallVals","u":"/docs/typedoc/modules/core_ts","h":"#packsubsidysmallvals","p":268},{"i":298,"t":"▸ packTallyVotesSmallVals(batchStartIndex, batchSize, numSignUps): bigint This function packs it's parameters into a single bigint. Parameters​ Name Type Description batchStartIndex number The start index of the batch. batchSize number The size of the batch. numSignUps number The number of signups. Returns​ bigint Returns a single bigint that contains the packed values. Defined in​ core/ts/utils/utils.ts:119","s":"packTallyVotesSmallVals","u":"/docs/typedoc/modules/core_ts","h":"#packtallyvotessmallvals","p":268},{"i":300,"t":"▸ unpackProcessMessageSmallVals(packedVals): Object This function unpacks partial values for the ProcessMessages circuit from a single bigint. Parameters​ Name Type Description packedVals bigint The single bigint that contains the packed values. Returns​ Object Returns an object that contains the unpacked values. Name Type batchEndIndex bigint batchStartIndex bigint maxVoteOptions bigint numUsers bigint Defined in​ core/ts/utils/utils.ts:86","s":"unpackProcessMessageSmallVals","u":"/docs/typedoc/modules/core_ts","h":"#unpackprocessmessagesmallvals","p":268},{"i":302,"t":"▸ unpackTallyVotesSmallVals(packedVals): Object This function unpacks partial values for the TallyVotes circuit from a single bigint. Parameters​ Name Type Description packedVals bigint The single bigint that contains the packed values. Returns​ Object Returns an object that contains the unpacked values. Name Type batchStartIndex bigint numSignUps bigint Defined in​ core/ts/utils/utils.ts:131","s":"unpackTallyVotesSmallVals","u":"/docs/typedoc/modules/core_ts","h":"#unpacktallyvotessmallvals","p":268},{"i":304,"t":"MACI's voters are identified by their MACI public key. Together with their private key, they can sign and submit messages to live Polls. As MACI's main property is to provide collusion resistence in digital voting applications, it is important to have a mechanism for a user to change their voting key, should this become compromised, or they wish to revoke past actions.","s":"MACI Key Change","u":"/docs/key-change","h":"","p":303},{"i":306,"t":"In order to understand how key changing currenctly works in MACI, we need to understand how messages are processed. After a poll ends, the coordinator processes messages off chain in reverse order. To improve efficiency, messages are processed in batches, and correctness is proved for each batch using a zk-SNARK circuit. Due to messages being processed in reverse order, key change messages would work a bit differently than if they were processed in the same order as they were submitted.","s":"How MACI messages are processed","u":"/docs/key-change","h":"#how-maci-messages-are-processed","p":303},{"i":308,"t":"Reverse processing was introduced to prevent a type of attack where a briber would collude with a voter to sign up, and then submit a message to change their key to a key that the briber controls. This way the briber would have assurance that they could submit the vote they want. Let's take as an example the following: Alice signs up with pub key pub1pub1pub1 Bob (Briber) bribes Alice and asks her to submit a key change message to pub2pub2pub2 (owned by Bob) Bob submits a vote with pub2pub2pub2 Alice submits a vote with pub1pub1pub1 If messages were processed in the same order as they were submitted, Alice's vote would not be valid, due to it being signed with a private key priv1priv1priv1 - which now would not be valid. On the other hand, due to messages being processed in reverse order, Alice's last message would be counted as valid as the key change would have not been processed yet. Then, Bob's vote would not be counted as valid as the current key for Alice would be pub2pub2pub2. Note that a key change message should have the nonce set to 1 in order for it to be valid. We'll see it a code example in the next sections.","s":"Why are messages processed in reverse order?","u":"/docs/key-change","h":"#why-are-messages-processed-in-reverse-order","p":303},{"i":310,"t":"A user, can submit a key change message, by simply sending a new message signed with their signup key, and setting the nonce to 1. This is because the code checks that the first message to be processed has the nonce set to 1. Let's take a look into a code example: We have two users, and three keypairs Create three keypairs const user1Keypair = new Keypair(); const user2Keypair = new Keypair(); const secondKeyPair = new Keypair(); Votes will be // user1 votes for project 0 const user1VoteOptionIndex = BigInt(0); // user2 votes for project 1 const user2VoteOptionIndex = BigInt(1); // user1 votes 9 for the first vote const user1VoteWeight = BigInt(9); // user2 votes 3 const user2VoteWeight = BigInt(3); // user1 will change their vote to 5 const user1NewVoteWeight = BigInt(5); What do we expect as result project 0 = 5 * 5 -> 25 project 1 = 3 * 3 -> 9 As seen above, we expect the first vote weight 9 to not be counted, but instead the second vote weight 5 to be counted. Deploy a MaciState locally and sign up const maciState: MaciState = new MaciState(STATE_TREE_DEPTH); // Sign up user1StateIndex = maciState.signUp(user1Keypair.pubKey, voiceCreditBalance, BigInt(Math.floor(Date.now() / 1000))); user2StateIndex = maciState.signUp(user2Keypair.pubKey, voiceCreditBalance, BigInt(Math.floor(Date.now() / 1000))); // deploy a poll pollId = maciState.deployPoll( duration, BigInt(Math.floor(Date.now() / 1000) + duration), maxValues, treeDepths, messageBatchSize, coordinatorKeypair, ); User1 and user2 submit their first votes const poll = maciState.polls[pollId]; const command1 = new PCommand( BigInt(user1StateIndex), user1Keypair.pubKey, user1VoteOptionIndex, user1VoteWeight, BigInt(1), BigInt(pollId), ); const signature1 = command1.sign(user1Keypair.privKey); const ecdhKeypair1 = new Keypair(); const sharedKey1 = Keypair.genEcdhSharedKey(ecdhKeypair1.privKey, coordinatorKeypair.pubKey); const message1 = command1.encrypt(signature1, sharedKey1); poll.publishMessage(message1, ecdhKeypair1.pubKey); const command2 = new PCommand( BigInt(user2StateIndex), user2Keypair.pubKey, user2VoteOptionIndex, user2VoteWeight, BigInt(1), BigInt(pollId), ); const signature2 = command2.sign(user2Keypair.privKey); const ecdhKeypair2 = new Keypair(); const sharedKey2 = Keypair.genEcdhSharedKey(ecdhKeypair2.privKey, coordinatorKeypair.pubKey); const message2 = command2.encrypt(signature2, sharedKey2); poll.publishMessage(message2, ecdhKeypair2.pubKey); User1 submits a key change message with the new vote const poll = maciState.polls[pollId]; const command = new PCommand( BigInt(user1StateIndex), secondKeyPair.pubKey, user1VoteOptionIndex, user1NewVoteWeight, BigInt(1), BigInt(pollId), ); const signature = command.sign(user1Keypair.privKey); const ecdhKeypair = new Keypair(); const sharedKey = Keypair.genEcdhSharedKey(ecdhKeypair.privKey, coordinatorKeypair.pubKey); const message = command.encrypt(signature, sharedKey); poll.publishMessage(message, ecdhKeypair.pubKey); We process the votes and check that the result is as expected (user1NewVoteWeight was 5 and user2VoteWeight 3) const poll = maciState.polls[pollId]; poll.processMessages(pollId); poll.tallyVotes(); expect(poll.perVOSpentVoiceCredits[0].toString()).to.eq((user1NewVoteWeight * user1NewVoteWeight).toString()); expect(poll.perVOSpentVoiceCredits[1].toString()).to.eq((user2VoteWeight * user2VoteWeight).toString()); Finally confirm that the keypair was changed for the user1 const poll = maciState.polls[pollId]; const stateLeaf1 = poll.stateLeaves[user1StateIndex]; const stateLeaf2 = poll.stateLeaves[user2StateIndex]; expect(stateLeaf1.pubKey.equals(user1SecondKeypair.pubKey)).to.eq(true); expect(stateLeaf2.pubKey.equals(user2Keypair.pubKey)).to.eq(true); We see that is important that we set the final message (the one with the new vote) with nonce 1, as this vote would be counted as the first vote. info Tests related to key changes have been added to the core package and to the cli package.","s":"Then how can a voter change their key and submit a new vote?","u":"/docs/key-change","h":"#then-how-can-a-voter-change-their-key-and-submit-a-new-vote","p":303},{"i":312,"t":"To implement an on-chain, privacy-preserving, voting system, the MACI protocol consists of three subsystems in different programming languages: Circom circuits Solidity smart contracts TypeScript libraries","s":"MACI Overview","u":"/docs/overview","h":"","p":311},{"i":314,"t":"MACI has multiple zk-SNARK circuits that ensure all off-chain computation is completed correctly. The circuits enforce that message processing and vote tallying were correctly executed by the coordinator. The circuits for these zero-knowledge proofs are written in Circom. The MACI circuits are released through the @maci-circuits NPM package. Learn more about MACI circuits","s":"Circuits","u":"/docs/overview","h":"#circuits","p":311},{"i":316,"t":"The MACI smart contracts handle the management and on-chain voting aspects of the system. They provide the functionality to sign up voters, deploy polls, and they store on-chain data from transactions, such as the encrypted votes of a poll. They also verify proofs of the zk-SNARK circuits. The MACI smart contracts are written in Solidity. Contracts are released through the @maci-contracts NPM package. Learn more about MACI contracts","s":"Smart contracts","u":"/docs/overview","h":"#smart-contracts","p":311},{"i":318,"t":"The TypeScript libraries manage the business logic between the smart contracts and the circuit code. They provide a variety of functionality, such as encryption tools, utilities, and a CLI for interacting with MACI (such as vote tallying & proof-generation). The MACI TypeScript libraries are released through the following NPM packages: @maci-cli @maci-core @maci-crypto @maci-domainobjs @maci-integrationtests","s":"TypeScript libraries","u":"/docs/overview","h":"#typescript-libraries","p":311},{"i":320,"t":"This doc extends on the Testing doc and explains how MACI tests work in details. This information should be used by MACI's maintainers as well as contributors.","s":"Testing","u":"/docs/testing-in-details","h":"","p":319},{"i":323,"t":"MACI's CLI provides a series of commands that can be used by both the coordinator and voters, to interact with MACI, from deploying smart contracts to submitting a vote. Currently, there are a number of test cases that are available inside the cli tests folder. The tests are split into two categories: e2e tests that include the entire MACI stack, from deploying the contracts to submitting a vote and tallying all results. e2e tests as above, but with the subsidy feature enabled. The goal of these tests is to ensure that the MACI stack works as expected, and that the coordinator and voters can interact with the system as expected. They currently do not attempt to verify whether the tally results are expected, or that all votes were accounted for. On the other hand, they test different scenarios, mixing different numbers of voters and messages.","s":"CLI Tests","u":"/docs/testing-in-details","h":"#cli-tests","p":319},{"i":325,"t":"Integration tests follow a similar fashion of the CLI tests, though they also ensure that the tally results are as expected. Currently, tests are defined using a JSON file, here is one example: { \"name\": \"Happy path\", \"description\": \"Full tree, 4 batches, no bribers\", \"numVotesPerUser\": 1, \"numUsers\": 15, \"expectedTally\": [15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedSpentVoiceCredits\": [15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedTotalSpentVoiceCredits\": 15 } This test will generate 15 signups (as expressed in numUsers), and submit one vote (numVotesPerUser) for each of the users. As we did not provide any vote detail, it will use the default: weight = 1, option = 0 for all voters. This will result of course in a tally result of 15 for option 0, and 0 for all other options. Finally, the whole process of merging the state and message trees is performed, proofs are generated and the tally result is verified against the expected result. How to implement a new test case​ To add a new test cases, it is quite simple. You can amend the integrationTests/ts/__tests__/data/suites.json file and add your test declaration in there. { \"name\": \"Subsidy test\", \"description\": \"has subsidy result\", \"numUsers\": 4, \"numVotesPerUser\": 1, \"votes\": { \"0\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1, \"valid\": true } }, \"1\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1, \"valid\": true } }, \"2\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1, \"valid\": true } }, \"3\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1, \"valid\": true } } }, \"expectedTally\": [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedSpentVoiceCredits\": [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedTotalSpentVoiceCredits\": 4, \"subsidy\": { \"enabled\": true, \"expectedSubsidy\": [117636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] } } Let's look at the fields in detail: name: the name of the test case description: a description of the test case numUsers: the number of users to generate numVotesPerUser: the number of votes to generate for each user votes: the votes to generate. This is an object where the key is the user index, and the value is another object where the key is the message index, and the value is the vote details. If you do not provide any vote details, the default will be used: weight = 1, option = 0 for all voters. expectedTally: the expected tally result for each vote option (in order) expectedSpentVoiceCredits: the expected spent voice credits for each vote option (in order) expectedTotalSpentVoiceCredits: the expected total spent voice credits subsidy: an object that contains the subsidy details. If you do not provide any subsidy details, the default will be used: enabled = false, expectedSubsidy = []. If you do provide subsidy details, you must provide both fields. As an example, let's try to implement a test given the following criterias: We want 10 users to signup We want each user to publish a different vote We want to verify that the tally result is as expected We will not use the subsidy feature { \"name\": \"10 Users test\", \"description\": \"Should signup 10 users, submit 10 votes and tally the results\", \"numUsers\": 10, \"numVotesPerUser\": 1, \"votes\": { \"0\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 5 } }, \"1\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 9 } }, \"2\": { \"0\": { \"voteOptionIndex\": 5, \"voteWeight\": 3 } }, \"3\": { \"0\": { \"voteOptionIndex\": 3, \"voteWeight\": 2 } }, \"4\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1 } }, \"5\": { \"0\": { \"voteOptionIndex\": 9, \"voteWeight\": 1 } }, \"6\": { \"0\": { \"voteOptionIndex\": 4, \"voteWeight\": 7 } }, \"7\": { \"0\": { \"voteOptionIndex\": 7, \"voteWeight\": 5 } }, \"8\": { \"0\": { \"voteOptionIndex\": 3, \"voteWeight\": 10 } }, \"9\": { \"0\": { \"voteOptionIndex\": 8, \"voteWeight\": 2 } } }, \"expectedTally\": [15, 0, 0, 12, 7, 3, 0, 5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedSpentVoiceCredits\": [107, 0, 0, 104, 49, 9, 0, 25, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedTotalSpentVoiceCredits\": 299 } Why expectedTally as above [(5 + 9 + 1), 0, 0, (2 + 10), 7, 3, 0, 5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0] -> [15, 0, 0, 12, 7, 3, 0, 5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0] Why 299 voice credits spent 5 ** 2 + 9 ** 2 + 3 ** 2 + 2 ** 2 + 1 ** 2 + 1 ** 1 + 7 ** 2 + 5 ** 2 + 10 ** 2 + 2 ** 2 = 25 + 81 + 9 + 4 + 1 + 1 + 49 + 25 + 100 + 4 = 299 Why expectedSpentVoiceCredits as above [(25 + 81 + 1), 0, 0, (4 + 100), 49, 0, 25, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0] -> [107, 0, 0, 104, 49, 0, 25, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] MACI keys integration tests​ Another test file which is found inside the integration tests folder is the maciKeys.test.ts file. This file contains a number of tests that are used to verify that the MACI keys work as expected. These tests are written in TypeScript and use the mocha and chai frameworks. They are testing that between the contracts, domainobjs and crypto packages, the MACI keys are working correctly, and are serialized/deserialized as expected. This is particularly important to test due to different data formats for keys, especially when parsed from the smart contract events.","s":"Integration Tests","u":"/docs/testing-in-details","h":"#integration-tests","p":319},{"i":327,"t":"Within the contracts folder, there are a number of tests that are used to verify that the contracts work as expected. These tests are written in TypeScript and use the hardhat framework. These tests interact with all other packages, such as crypto, domainobjs and core, where mock data comes from. Their main goal is to ensure that the smart contracts have the correct parameters when deployed, privileged functions cannot be called by non-privileged users, and that the contract state is as expected after a series of operations. ### Circuits tests Within the circuits folder, there are a number of tests that are used to verify that the circuits work as expected. These tests are written in TypeScript and use the circom_tester (which runs on top of mocha and chai). These tests often use mock data from the core package. For instance, when testing the processMessages circuit, we are required to generate the parameters from the core packing, using the Poll:processMessages function. The same applies to vote tallying, where we need the Poll:tally function to be run first with mock users and vote messages. All of the tests run using test parameters, usually 10, 2, 1, 2, aside from the tests inside: ceremonyParam which use the parameters of the latest MACI ceremony. More details on the trusted setup can be found here.","s":"Contract tests","u":"/docs/testing-in-details","h":"#contract-tests","p":319},{"i":329,"t":"The core package contains a number of tests that are used to verify that the core functions work as expected. These tests are written in TypeScript and use the mocha and chai frameworks. These tests interact with the crypto and dombinobjs packages, where mock data comes from. Their main goal is to ensure that the core functions work as expected, and that the state is as expected after a series of operations. Currently, there is a blend of e2e and unit tests, where e2e tests are used to verify that the entire MACI local processing works as expcted (users signup, publish votes, messages are processed and finally these votes are tallied). Unit tests on the other hand are used to verify that the core functions work as expected, such as processMessage and tallyVotes. You will find them in separate files, with e2e being here and unit tests in the other files.","s":"Core","u":"/docs/testing-in-details","h":"#core","p":319},{"i":331,"t":"These tests are used to verify that MACI's primitives such as private keys work as expected. They are written in TypeScript and use the mocha and chai frameworks.","s":"Domainobjs/Crypto tests","u":"/docs/testing-in-details","h":"#domainobjscrypto-tests","p":319},{"i":333,"t":"To ensure that the MACI stack works as expected, without having to run the entire test suite (or even just the e2e tests), there is a bash script inside the cli folder which can be used. This script contains a number of actions which touch all of the parts of MACI, and resemble exactly what other e2e tests do. Looking at this in more details we do the following: Deploy a VkRegistry contract Set the verification keys on this smart contract Deploy a MACI contract (and associated utility contracts) Deploy a Poll from the MACI contract. Signup 1 user Publish 2 messages Travel in time (local blockchain node) to arrive at the end of the poll Merge the signups tree Merge the messages tree Generate proofs for the message processing and vote tallying Update the on chain state Verify that proofs and tally are correct The above is the minimum required to ensure that the stack works as expected, as it encompasses actions from both voters and the coordinator.","s":"\"Manual\" Testing","u":"/docs/testing-in-details","h":"#manual-testing","p":319},{"i":337,"t":"If your logs look like the following, then make sure you have ProcessMessages_10-2-1-2_test.dat and TallyVotes_10-1-2_test.dat files in the same directory as your zkeys: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs -x 0xf204a4Ef082f5c04bB89F7D5E6568B796096735a \\ > -sk macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ > -o 0 \\ > -r ~/rapidsnark/build/prover \\ > -wp ./zkeys/ProcessMessages_10-2-1-2_test \\ > -wt ./zkeys/TallyVotes_10-1-2_test \\ > -zp ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ > -zt ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ > -t tally.json \\ > -f proofs fromBlock = 0 Generating proofs of message processing... terminate called after throwing an instance of 'std::system_error' what(): open: No such file or directory Aborted (core dumped) terminate called after throwing an instance of 'std::system_error' what(): open: No such file or directory Aborted (core dumped) Error: could not generate proof. Error: Error executing ./zkeys/ProcessMessages_10-2-1-2_test /tmp/tmp-9904-zG0k8YPTATWB/input.json /tmp/tmp-9904-zG0k8YPTATWB/output.wtns at genProof (/home/ubuntu/maci/circuits/ts/index.ts:44:15) at /home/ubuntu/maci/cli/ts/genProofs.ts:339:25 at step (/home/ubuntu/maci/cli/build/genProofs.js:33:23) at Object.next (/home/ubuntu/maci/cli/build/genProofs.js:14:53) at fulfilled (/home/ubuntu/maci/cli/build/genProofs.js:5:58) You can generate the missing .dat files using the following command: cd cli/ pnpm exec zkey-manager compile -c zkeys.config.yml","s":"Case: missing .dat files","u":"/docs/troubleshooting","h":"#case-missing-dat-files","p":334},{"i":339,"t":"core/ts.IJsonMaciState This interface defines the JSON representation of a MaciState","s":"Interface: IJsonMaciState","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"","p":338},{"i":342,"t":"currentPollBeingProcessed numSignUps pollBeingProcessed polls stateLeaves stateTreeDepth","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#properties","p":338},{"i":345,"t":"• currentPollBeingProcessed: string Defined in​ core/ts/utils/types.ts:129","s":"currentPollBeingProcessed","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#currentpollbeingprocessed","p":338},{"i":347,"t":"• numSignUps: number Defined in​ core/ts/utils/types.ts:130","s":"numSignUps","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#numsignups","p":338},{"i":349,"t":"• pollBeingProcessed: boolean Defined in​ core/ts/utils/types.ts:128","s":"pollBeingProcessed","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#pollbeingprocessed","p":338},{"i":351,"t":"• polls: IJsonPoll[] Defined in​ core/ts/utils/types.ts:126","s":"polls","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#polls","p":338},{"i":353,"t":"• stateLeaves: IJsonStateLeaf[] Defined in​ core/ts/utils/types.ts:127","s":"stateLeaves","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#stateleaves","p":338},{"i":355,"t":"• stateTreeDepth: number Defined in​ core/ts/utils/types.ts:125","s":"stateTreeDepth","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#statetreedepth","p":338},{"i":357,"t":"core/ts.BatchSizes This interface defines the batch sizes.","s":"Interface: BatchSizes","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"","p":356},{"i":360,"t":"messageBatchSize subsidyBatchSize tallyBatchSize","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"#properties","p":356},{"i":363,"t":"• messageBatchSize: number The size of the message batch. Defined in​ core/ts/utils/types.ts:46","s":"messageBatchSize","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"#messagebatchsize","p":356},{"i":365,"t":"• subsidyBatchSize: number The size of the subsidy batch. Defined in​ core/ts/utils/types.ts:47","s":"subsidyBatchSize","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"#subsidybatchsize","p":356},{"i":367,"t":"• tallyBatchSize: number The size of the tally batch. Defined in​ core/ts/utils/types.ts:45","s":"tallyBatchSize","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"#tallybatchsize","p":356},{"i":369,"t":"core/ts.IProcessMessagesCircuitInputs An interface describing the circuit inputs to the ProcessMessage circuit","s":"Interface: IProcessMessagesCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"","p":368},{"i":372,"t":"coordPrivKey coordPubKey currentBallotRoot currentBallots currentBallotsPathElements currentSbCommitment currentSbSalt currentStateLeaves currentStateLeavesPathElements currentStateRoot currentVoteWeights currentVoteWeightsPathElements encPubKeys inputHash msgRoot msgSubrootPathElements msgs newSbCommitment newSbSalt packedVals pollEndTimestamp","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#properties","p":368},{"i":375,"t":"• coordPrivKey: string Defined in​ core/ts/utils/types.ts:158","s":"coordPrivKey","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#coordprivkey","p":368},{"i":377,"t":"• coordPubKey: string Defined in​ core/ts/utils/types.ts:159","s":"coordPubKey","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#coordpubkey","p":368},{"i":379,"t":"• currentBallotRoot: string Defined in​ core/ts/utils/types.ts:162","s":"currentBallotRoot","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentballotroot","p":368},{"i":381,"t":"• currentBallots: string[] Defined in​ core/ts/utils/types.ts:167","s":"currentBallots","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentballots","p":368},{"i":383,"t":"• currentBallotsPathElements: string[][] Defined in​ core/ts/utils/types.ts:168","s":"currentBallotsPathElements","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentballotspathelements","p":368},{"i":385,"t":"• currentSbCommitment: string Defined in​ core/ts/utils/types.ts:163","s":"currentSbCommitment","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentsbcommitment","p":368},{"i":387,"t":"• currentSbSalt: string Defined in​ core/ts/utils/types.ts:164","s":"currentSbSalt","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentsbsalt","p":368},{"i":389,"t":"• currentStateLeaves: string[] Defined in​ core/ts/utils/types.ts:165","s":"currentStateLeaves","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentstateleaves","p":368},{"i":391,"t":"• currentStateLeavesPathElements: string[][] Defined in​ core/ts/utils/types.ts:166","s":"currentStateLeavesPathElements","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentstateleavespathelements","p":368},{"i":393,"t":"• currentStateRoot: string Defined in​ core/ts/utils/types.ts:161","s":"currentStateRoot","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentstateroot","p":368},{"i":395,"t":"• currentVoteWeights: string[] Defined in​ core/ts/utils/types.ts:169","s":"currentVoteWeights","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentvoteweights","p":368},{"i":397,"t":"• currentVoteWeightsPathElements: string[][] Defined in​ core/ts/utils/types.ts:170","s":"currentVoteWeightsPathElements","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentvoteweightspathelements","p":368},{"i":399,"t":"• encPubKeys: string[] Defined in​ core/ts/utils/types.ts:160","s":"encPubKeys","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#encpubkeys","p":368},{"i":401,"t":"• inputHash: string Defined in​ core/ts/utils/types.ts:171","s":"inputHash","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#inputhash","p":368},{"i":403,"t":"• msgRoot: string Defined in​ core/ts/utils/types.ts:155","s":"msgRoot","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#msgroot","p":368},{"i":405,"t":"• msgSubrootPathElements: string[][] Defined in​ core/ts/utils/types.ts:157","s":"msgSubrootPathElements","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#msgsubrootpathelements","p":368},{"i":407,"t":"• msgs: string[] Defined in​ core/ts/utils/types.ts:156","s":"msgs","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#msgs","p":368},{"i":409,"t":"• newSbCommitment: string Defined in​ core/ts/utils/types.ts:173","s":"newSbCommitment","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#newsbcommitment","p":368},{"i":411,"t":"• newSbSalt: string Defined in​ core/ts/utils/types.ts:172","s":"newSbSalt","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#newsbsalt","p":368},{"i":413,"t":"• packedVals: string Defined in​ core/ts/utils/types.ts:154","s":"packedVals","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#packedvals","p":368},{"i":415,"t":"• pollEndTimestamp: string Defined in​ core/ts/utils/types.ts:153","s":"pollEndTimestamp","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#pollendtimestamp","p":368},{"i":417,"t":"core/ts.ISubsidyCircuitInputs An interface describing the circuit inputs to the Subsidy circuit","s":"Interface: ISubsidyCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"","p":416},{"i":420,"t":"ballotPathElements1 ballotPathElements2 ballotRoot ballots1 ballots2 currentSubsidy currentSubsidyCommitment currentSubsidySalt inputHash newSubsidyCommitment newSubsidySalt packedVals sbCommitment sbSalt stateRoot votes1 votes2","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#properties","p":416},{"i":423,"t":"• ballotPathElements1: string[] Defined in​ core/ts/utils/types.ts:221","s":"ballotPathElements1","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballotpathelements1","p":416},{"i":425,"t":"• ballotPathElements2: string[] Defined in​ core/ts/utils/types.ts:222","s":"ballotPathElements2","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballotpathelements2","p":416},{"i":427,"t":"• ballotRoot: string Defined in​ core/ts/utils/types.ts:207","s":"ballotRoot","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballotroot","p":416},{"i":429,"t":"• ballots1: string[] Defined in​ core/ts/utils/types.ts:217","s":"ballots1","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballots1","p":416},{"i":431,"t":"• ballots2: string[] Defined in​ core/ts/utils/types.ts:218","s":"ballots2","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballots2","p":416},{"i":433,"t":"• currentSubsidy: string[] Defined in​ core/ts/utils/types.ts:214","s":"currentSubsidy","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#currentsubsidy","p":416},{"i":435,"t":"• currentSubsidyCommitment: string Defined in​ core/ts/utils/types.ts:212","s":"currentSubsidyCommitment","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#currentsubsidycommitment","p":416},{"i":437,"t":"• currentSubsidySalt: string Defined in​ core/ts/utils/types.ts:209","s":"currentSubsidySalt","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#currentsubsidysalt","p":416},{"i":439,"t":"• inputHash: string Defined in​ core/ts/utils/types.ts:216","s":"inputHash","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#inputhash","p":416},{"i":441,"t":"• newSubsidyCommitment: string Defined in​ core/ts/utils/types.ts:213","s":"newSubsidyCommitment","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#newsubsidycommitment","p":416},{"i":443,"t":"• newSubsidySalt: string Defined in​ core/ts/utils/types.ts:210","s":"newSubsidySalt","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#newsubsidysalt","p":416},{"i":445,"t":"• packedVals: string Defined in​ core/ts/utils/types.ts:215","s":"packedVals","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#packedvals","p":416},{"i":447,"t":"• sbCommitment: string Defined in​ core/ts/utils/types.ts:211","s":"sbCommitment","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#sbcommitment","p":416},{"i":449,"t":"• sbSalt: string Defined in​ core/ts/utils/types.ts:208","s":"sbSalt","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#sbsalt","p":416},{"i":451,"t":"• stateRoot: string Defined in​ core/ts/utils/types.ts:206","s":"stateRoot","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#stateroot","p":416},{"i":453,"t":"• votes1: number[] Defined in​ core/ts/utils/types.ts:219","s":"votes1","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#votes1","p":416},{"i":455,"t":"• votes2: number[] Defined in​ core/ts/utils/types.ts:220","s":"votes2","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#votes2","p":416},{"i":457,"t":"core/ts.MaxValues This interface defines the maximum values that the circuit can handle.","s":"Interface: MaxValues","u":"/docs/typedoc/interfaces/core_ts.MaxValues","h":"","p":456},{"i":460,"t":"maxMessages maxVoteOptions","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.MaxValues","h":"#properties","p":456},{"i":463,"t":"• maxMessages: number The maximum number of messages. Defined in​ core/ts/utils/types.ts:56","s":"maxMessages","u":"/docs/typedoc/interfaces/core_ts.MaxValues","h":"#maxmessages","p":456},{"i":465,"t":"• maxVoteOptions: number The maximum number of vote options. Defined in​ core/ts/utils/types.ts:57","s":"maxVoteOptions","u":"/docs/typedoc/interfaces/core_ts.MaxValues","h":"#maxvoteoptions","p":456},{"i":467,"t":"core/ts.ITallyCircuitInputs An interface describing the circuit inputs to the TallyVotes circuit","s":"Interface: ITallyCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"","p":466},{"i":470,"t":"ballotPathElements ballotRoot ballots currentPerVOSpentVoiceCredits currentPerVOSpentVoiceCreditsRootSalt currentResults currentResultsRootSalt currentSpentVoiceCreditSubtotal currentSpentVoiceCreditSubtotalSalt currentTallyCommitment inputHash newPerVOSpentVoiceCreditsRootSalt newResultsRootSalt newSpentVoiceCreditSubtotalSalt newTallyCommitment packedVals sbCommitment sbSalt stateRoot votes","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#properties","p":466},{"i":473,"t":"• ballotPathElements: PathElements Defined in​ core/ts/utils/types.ts:189","s":"ballotPathElements","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#ballotpathelements","p":466},{"i":475,"t":"• ballotRoot: string Defined in​ core/ts/utils/types.ts:181","s":"ballotRoot","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#ballotroot","p":466},{"i":477,"t":"• ballots: string[] Defined in​ core/ts/utils/types.ts:188","s":"ballots","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#ballots","p":466},{"i":479,"t":"• currentPerVOSpentVoiceCredits: string[] Defined in​ core/ts/utils/types.ts:195","s":"currentPerVOSpentVoiceCredits","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentpervospentvoicecredits","p":466},{"i":481,"t":"• currentPerVOSpentVoiceCreditsRootSalt: string Defined in​ core/ts/utils/types.ts:196","s":"currentPerVOSpentVoiceCreditsRootSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentpervospentvoicecreditsrootsalt","p":466},{"i":483,"t":"• currentResults: string[] Defined in​ core/ts/utils/types.ts:191","s":"currentResults","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentresults","p":466},{"i":485,"t":"• currentResultsRootSalt: string Defined in​ core/ts/utils/types.ts:192","s":"currentResultsRootSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentresultsrootsalt","p":466},{"i":487,"t":"• currentSpentVoiceCreditSubtotal: string Defined in​ core/ts/utils/types.ts:193","s":"currentSpentVoiceCreditSubtotal","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentspentvoicecreditsubtotal","p":466},{"i":489,"t":"• currentSpentVoiceCreditSubtotalSalt: string Defined in​ core/ts/utils/types.ts:194","s":"currentSpentVoiceCreditSubtotalSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentspentvoicecreditsubtotalsalt","p":466},{"i":491,"t":"• currentTallyCommitment: string Defined in​ core/ts/utils/types.ts:184","s":"currentTallyCommitment","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currenttallycommitment","p":466},{"i":493,"t":"• inputHash: string Defined in​ core/ts/utils/types.ts:187","s":"inputHash","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#inputhash","p":466},{"i":495,"t":"• newPerVOSpentVoiceCreditsRootSalt: string Defined in​ core/ts/utils/types.ts:198","s":"newPerVOSpentVoiceCreditsRootSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#newpervospentvoicecreditsrootsalt","p":466},{"i":497,"t":"• newResultsRootSalt: string Defined in​ core/ts/utils/types.ts:197","s":"newResultsRootSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#newresultsrootsalt","p":466},{"i":499,"t":"• newSpentVoiceCreditSubtotalSalt: string Defined in​ core/ts/utils/types.ts:199","s":"newSpentVoiceCreditSubtotalSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#newspentvoicecreditsubtotalsalt","p":466},{"i":501,"t":"• newTallyCommitment: string Defined in​ core/ts/utils/types.ts:185","s":"newTallyCommitment","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#newtallycommitment","p":466},{"i":503,"t":"• packedVals: string Defined in​ core/ts/utils/types.ts:186","s":"packedVals","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#packedvals","p":466},{"i":505,"t":"• sbCommitment: string Defined in​ core/ts/utils/types.ts:183","s":"sbCommitment","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#sbcommitment","p":466},{"i":507,"t":"• sbSalt: string Defined in​ core/ts/utils/types.ts:182","s":"sbSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#sbsalt","p":466},{"i":509,"t":"• stateRoot: string Defined in​ core/ts/utils/types.ts:180","s":"stateRoot","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#stateroot","p":466},{"i":511,"t":"• votes: string[][] Defined in​ core/ts/utils/types.ts:190","s":"votes","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#votes","p":466},{"i":513,"t":"core/ts.TreeDepths This interface defines the tree depths.","s":"Interface: TreeDepths","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"","p":512},{"i":516,"t":"intStateTreeDepth messageTreeDepth messageTreeSubDepth voteOptionTreeDepth","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#properties","p":512},{"i":519,"t":"• intStateTreeDepth: number The depth of the intermediate state tree. Defined in​ core/ts/utils/types.ts:32","s":"intStateTreeDepth","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#intstatetreedepth","p":512},{"i":521,"t":"• messageTreeDepth: number The depth of the message tree. Defined in​ core/ts/utils/types.ts:33","s":"messageTreeDepth","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#messagetreedepth","p":512},{"i":523,"t":"• messageTreeSubDepth: number The depth of the message tree sub. Defined in​ core/ts/utils/types.ts:34","s":"messageTreeSubDepth","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#messagetreesubdepth","p":512},{"i":525,"t":"• voteOptionTreeDepth: number The depth of the vote option tree. Defined in​ core/ts/utils/types.ts:35","s":"voteOptionTreeDepth","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#voteoptiontreedepth","p":512},{"i":527,"t":"crypto/ts.Keypair A private key and a public key","s":"Interface: Keypair","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","h":"","p":526},{"i":530,"t":"privKey pubKey","s":"Properties","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","h":"#properties","p":526},{"i":533,"t":"• privKey: SnarkBigNumber Defined in​ crypto/ts/types.ts:35","s":"privKey","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","h":"#privkey","p":526},{"i":535,"t":"• pubKey: PubKey Defined in​ crypto/ts/types.ts:36","s":"pubKey","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","h":"#pubkey","p":526},{"i":537,"t":"crypto/ts.PoseidonFuncs A interface for poseidon hash functions","s":"Interface: PoseidonFuncs","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"","p":536},{"i":539,"t":"▪ [key: number]: (inputs: bigint[]) => bigint","s":"Indexable","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#indexable","p":536},{"i":542,"t":"2 3 4 5","s":"Properties","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#properties","p":536},{"i":545,"t":"• 2: (inputs: bigint[]) => bigint Type declaration​ ▸ (inputs): bigint Parameters​ Name Type inputs bigint[] Returns​ bigint Defined in​ crypto/ts/types.ts:54","s":"2","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#2","p":536},{"i":547,"t":"• 3: (inputs: bigint[]) => bigint Type declaration​ ▸ (inputs): bigint Parameters​ Name Type inputs bigint[] Returns​ bigint Defined in​ crypto/ts/types.ts:55","s":"3","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#3","p":536},{"i":549,"t":"• 4: (inputs: bigint[]) => bigint Type declaration​ ▸ (inputs): bigint Parameters​ Name Type inputs bigint[] Returns​ bigint Defined in​ crypto/ts/types.ts:56","s":"4","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#4","p":536},{"i":551,"t":"• 5: (inputs: bigint[]) => bigint Type declaration​ ▸ (inputs): bigint Parameters​ Name Type inputs bigint[] Returns​ bigint Defined in​ crypto/ts/types.ts:57","s":"5","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#5","p":536},{"i":553,"t":"crypto/ts.Signature","s":"Interface: Signature","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"","p":552},{"i":555,"t":"Name Type N SnarkBigNumber","s":"Type parameters","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"#type-parameters","p":552},{"i":558,"t":"R8 S","s":"Properties","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"#properties","p":552},{"i":561,"t":"• R8: Point Defined in​ crypto/ts/types.ts:45","s":"R8","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"#r8","p":552},{"i":563,"t":"• S: N Defined in​ crypto/ts/types.ts:46","s":"S","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"#s","p":552},{"i":565,"t":"domainobjs/ts.ICommand Notice A parent interface for all the commands","s":"Interface: ICommand","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"","p":564},{"i":567,"t":"PCommand TCommand","s":"Implemented by","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#implemented-by","p":564},{"i":570,"t":"cmdType copy equals toJSON","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#properties","p":564},{"i":573,"t":"• cmdType: bigint Defined in​ domainobjs/ts/commands/types.ts:5","s":"cmdType","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#cmdtype","p":564},{"i":575,"t":"• copy: () => T Type declaration​ ▸ (): T Type parameters​ Name Type T extends ICommand Returns​ T Defined in​ domainobjs/ts/commands/types.ts:6","s":"copy","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#copy","p":564},{"i":577,"t":"• equals: (command: T) => boolean Type declaration​ ▸ (command): boolean Type parameters​ Name Type T extends ICommand Parameters​ Name Type command T Returns​ boolean Defined in​ domainobjs/ts/commands/types.ts:7","s":"equals","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#equals","p":564},{"i":579,"t":"• toJSON: () => unknown Type declaration​ ▸ (): unknown Returns​ unknown Defined in​ domainobjs/ts/commands/types.ts:8","s":"toJSON","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#tojson","p":564},{"i":581,"t":"domainobjs/ts.IG1ContractParams","s":"Interface: IG1ContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","h":"","p":580},{"i":584,"t":"x y","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","h":"#properties","p":580},{"i":587,"t":"• x: BigNumberish Defined in​ domainobjs/ts/types.ts:46","s":"x","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","h":"#x","p":580},{"i":589,"t":"• y: BigNumberish Defined in​ domainobjs/ts/types.ts:47","s":"y","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","h":"#y","p":580},{"i":591,"t":"domainobjs/ts.IG2ContractParams","s":"Interface: IG2ContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","h":"","p":590},{"i":594,"t":"x y","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","h":"#properties","p":590},{"i":597,"t":"• x: BigNumberish[] Defined in​ domainobjs/ts/types.ts:51","s":"x","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","h":"#x","p":590},{"i":599,"t":"• y: BigNumberish[] Defined in​ domainobjs/ts/types.ts:52","s":"y","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","h":"#y","p":590},{"i":601,"t":"domainobjs/ts.IJsonCommand Notice An interface representing a generic json command","s":"Interface: IJsonCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","h":"","p":600},{"i":603,"t":"IJsonCommand ↳ IJsonTCommand ↳ IJsonPCommand","s":"Hierarchy","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","h":"#hierarchy","p":600},{"i":606,"t":"cmdType","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","h":"#properties","p":600},{"i":609,"t":"• cmdType: string Defined in​ domainobjs/ts/commands/types.ts:15","s":"cmdType","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","h":"#cmdtype","p":600},{"i":611,"t":"domainobjs/ts.IJsonBallot","s":"Interface: IJsonBallot","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"","p":610},{"i":614,"t":"nonce voteOptionTreeDepth votes","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"#properties","p":610},{"i":617,"t":"• nonce: BigNumberish Defined in​ domainobjs/ts/types.ts:88","s":"nonce","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"#nonce","p":610},{"i":619,"t":"• voteOptionTreeDepth: BigNumberish Defined in​ domainobjs/ts/types.ts:89","s":"voteOptionTreeDepth","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"#voteoptiontreedepth","p":610},{"i":621,"t":"• votes: BigNumberish[] Defined in​ domainobjs/ts/types.ts:87","s":"votes","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"#votes","p":610},{"i":623,"t":"domainobjs/ts.IJsonKeyPair","s":"Interface: IJsonKeyPair","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","h":"","p":622},{"i":626,"t":"privKey pubKey","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","h":"#properties","p":622},{"i":629,"t":"• privKey: string Defined in​ domainobjs/ts/types.ts:29","s":"privKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","h":"#privkey","p":622},{"i":631,"t":"• pubKey: string Defined in​ domainobjs/ts/types.ts:30","s":"pubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","h":"#pubkey","p":622},{"i":633,"t":"domainobjs/ts.IJsonPCommand Notice An interface representing a json P command","s":"Interface: IJsonPCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"","p":632},{"i":635,"t":"IJsonCommand ↳ IJsonPCommand","s":"Hierarchy","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#hierarchy","p":632},{"i":638,"t":"cmdType newPubKey newVoteWeight nonce pollId salt stateIndex voteOptionIndex","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#properties","p":632},{"i":641,"t":"• cmdType: string Inherited from​ IJsonCommand.cmdType Defined in​ domainobjs/ts/commands/types.ts:15","s":"cmdType","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#cmdtype","p":632},{"i":643,"t":"• newPubKey: string Defined in​ domainobjs/ts/commands/types.ts:32","s":"newPubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#newpubkey","p":632},{"i":645,"t":"• newVoteWeight: string Defined in​ domainobjs/ts/commands/types.ts:34","s":"newVoteWeight","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#newvoteweight","p":632},{"i":647,"t":"• nonce: string Defined in​ domainobjs/ts/commands/types.ts:35","s":"nonce","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#nonce","p":632},{"i":649,"t":"• pollId: string Defined in​ domainobjs/ts/commands/types.ts:36","s":"pollId","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#pollid","p":632},{"i":651,"t":"• salt: string Defined in​ domainobjs/ts/commands/types.ts:37","s":"salt","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#salt","p":632},{"i":653,"t":"• stateIndex: string Defined in​ domainobjs/ts/commands/types.ts:31","s":"stateIndex","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#stateindex","p":632},{"i":655,"t":"• voteOptionIndex: string Defined in​ domainobjs/ts/commands/types.ts:33","s":"voteOptionIndex","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#voteoptionindex","p":632},{"i":657,"t":"domainobjs/ts.IJsonStateLeaf","s":"Interface: IJsonStateLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"","p":656},{"i":660,"t":"pubKey timestamp voiceCreditBalance","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"#properties","p":656},{"i":663,"t":"• pubKey: string Defined in​ domainobjs/ts/types.ts:38","s":"pubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"#pubkey","p":656},{"i":665,"t":"• timestamp: string Defined in​ domainobjs/ts/types.ts:40","s":"timestamp","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"#timestamp","p":656},{"i":667,"t":"• voiceCreditBalance: string Defined in​ domainobjs/ts/types.ts:39","s":"voiceCreditBalance","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"#voicecreditbalance","p":656},{"i":669,"t":"domainobjs/ts.IJsonTCommand Notice An interface representing a json T command","s":"Interface: IJsonTCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"","p":668},{"i":671,"t":"IJsonCommand ↳ IJsonTCommand","s":"Hierarchy","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#hierarchy","p":668},{"i":674,"t":"amount cmdType pollId stateIndex","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#properties","p":668},{"i":677,"t":"• amount: string Defined in​ domainobjs/ts/commands/types.ts:23","s":"amount","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#amount","p":668},{"i":679,"t":"• cmdType: string Inherited from​ IJsonCommand.cmdType Defined in​ domainobjs/ts/commands/types.ts:15","s":"cmdType","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#cmdtype","p":668},{"i":681,"t":"• pollId: string Defined in​ domainobjs/ts/commands/types.ts:24","s":"pollId","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#pollid","p":668},{"i":683,"t":"• stateIndex: string Defined in​ domainobjs/ts/commands/types.ts:22","s":"stateIndex","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#stateindex","p":668},{"i":685,"t":"domainobjs/ts.IStateLeaf Notice An interface representing a MACI state leaf","s":"Interface: IStateLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"","p":684},{"i":687,"t":"StateLeaf","s":"Implemented by","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"#implemented-by","p":684},{"i":690,"t":"pubKey voiceCreditBalance","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"#properties","p":684},{"i":693,"t":"• pubKey: PubKey Defined in​ domainobjs/ts/types.ts:17","s":"pubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"#pubkey","p":684},{"i":695,"t":"• voiceCreditBalance: bigint Defined in​ domainobjs/ts/types.ts:18","s":"voiceCreditBalance","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"#voicecreditbalance","p":684},{"i":697,"t":"domainobjs/ts.IStateLeafContractParams","s":"Interface: IStateLeafContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"","p":696},{"i":700,"t":"pubKey timestamp voiceCreditBalance","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"#properties","p":696},{"i":703,"t":"• pubKey: IG1ContractParams Defined in​ domainobjs/ts/types.ts:76","s":"pubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"#pubkey","p":696},{"i":705,"t":"• timestamp: BigNumberish Defined in​ domainobjs/ts/types.ts:78","s":"timestamp","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"#timestamp","p":696},{"i":707,"t":"• voiceCreditBalance: BigNumberish Defined in​ domainobjs/ts/types.ts:77","s":"voiceCreditBalance","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"#voicecreditbalance","p":696},{"i":709,"t":"crypto/ts.Queue A acc queue","s":"Interface: Queue","u":"/docs/typedoc/interfaces/crypto_ts.Queue","h":"","p":708},{"i":712,"t":"indices levels","s":"Properties","u":"/docs/typedoc/interfaces/crypto_ts.Queue","h":"#properties","p":708},{"i":715,"t":"• indices: number[] Defined in​ crypto/ts/types.ts:28","s":"indices","u":"/docs/typedoc/interfaces/crypto_ts.Queue","h":"#indices","p":708},{"i":717,"t":"• levels: bigint[][] Defined in​ crypto/ts/types.ts:27","s":"levels","u":"/docs/typedoc/interfaces/crypto_ts.Queue","h":"#levels","p":708},{"i":719,"t":"domainobjs/ts.IMessageContractParams","s":"Interface: IMessageContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","h":"","p":718},{"i":722,"t":"data msgType","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","h":"#properties","p":718},{"i":725,"t":"• data: BigNumberish[] Defined in​ domainobjs/ts/types.ts:83","s":"data","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","h":"#data","p":718},{"i":727,"t":"• msgType: string Defined in​ domainobjs/ts/types.ts:82","s":"msgType","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","h":"#msgtype","p":718},{"i":729,"t":"domainobjs/ts.IVkContractParams","s":"Interface: IVkContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"","p":728},{"i":732,"t":"alpha1 beta2 delta2 gamma2 ic","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#properties","p":728},{"i":735,"t":"• alpha1: IG1ContractParams Defined in​ domainobjs/ts/types.ts:56","s":"alpha1","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#alpha1","p":728},{"i":737,"t":"• beta2: IG2ContractParams Defined in​ domainobjs/ts/types.ts:57","s":"beta2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#beta2","p":728},{"i":739,"t":"• delta2: IG2ContractParams Defined in​ domainobjs/ts/types.ts:59","s":"delta2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#delta2","p":728},{"i":741,"t":"• gamma2: IG2ContractParams Defined in​ domainobjs/ts/types.ts:58","s":"gamma2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#gamma2","p":728},{"i":743,"t":"• ic: IG1ContractParams[] Defined in​ domainobjs/ts/types.ts:60","s":"ic","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#ic","p":728},{"i":745,"t":"domainobjs/ts.IVkObjectParams","s":"Interface: IVkObjectParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"","p":744},{"i":748,"t":"IC curve nPublic protocol vk_alpha_1 vk_alphabeta_12 vk_beta_2 vk_delta_2 vk_gamma_2","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#properties","p":744},{"i":751,"t":"• IC: BigNumberish[][] Defined in​ domainobjs/ts/types.ts:72","s":"IC","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#ic","p":744},{"i":753,"t":"• curve: BigNumberish Defined in​ domainobjs/ts/types.ts:65","s":"curve","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#curve","p":744},{"i":755,"t":"• nPublic: BigNumberish Defined in​ domainobjs/ts/types.ts:66","s":"nPublic","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#npublic","p":744},{"i":757,"t":"• protocol: BigNumberish Defined in​ domainobjs/ts/types.ts:64","s":"protocol","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#protocol","p":744},{"i":759,"t":"• vk_alpha_1: BigNumberish[] Defined in​ domainobjs/ts/types.ts:67","s":"vk_alpha_1","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_alpha_1","p":744},{"i":761,"t":"• vk_alphabeta_12: BigNumberish[][][] Defined in​ domainobjs/ts/types.ts:71","s":"vk_alphabeta_12","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_alphabeta_12","p":744},{"i":763,"t":"• vk_beta_2: BigNumberish[][] Defined in​ domainobjs/ts/types.ts:68","s":"vk_beta_2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_beta_2","p":744},{"i":765,"t":"• vk_delta_2: BigNumberish[][] Defined in​ domainobjs/ts/types.ts:70","s":"vk_delta_2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_delta_2","p":744},{"i":767,"t":"• vk_gamma_2: BigNumberish[][] Defined in​ domainobjs/ts/types.ts:69","s":"vk_gamma_2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_gamma_2","p":744},{"i":769,"t":"domainobjs/ts.Proof Notice An interface representing a zk-SNARK proof","s":"Interface: Proof","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"","p":768},{"i":772,"t":"a b c","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"#properties","p":768},{"i":775,"t":"• a: G1Point Defined in​ domainobjs/ts/types.ts:8","s":"a","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"#a","p":768},{"i":777,"t":"• b: G2Point Defined in​ domainobjs/ts/types.ts:9","s":"b","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"#b","p":768},{"i":779,"t":"• c: G1Point Defined in​ domainobjs/ts/types.ts:10","s":"c","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"#c","p":768},{"i":783,"t":"DeployedContracts PollContracts TallyData","s":"Interfaces","u":"/docs/typedoc/modules/cli_ts","h":"#interfaces","p":780},{"i":785,"t":"airdrop checkVerifyingKeys deploy deployPoll deployVkRegistryContract fundWallet genKeyPair genMaciPubKey genProofs mergeMessages mergeSignups proveOnChain publish setVerifyingKeys signup timeTravel topup verify","s":"Functions","u":"/docs/typedoc/modules/cli_ts","h":"#functions","p":780},{"i":788,"t":"▸ airdrop(amount, contractAddress?, pollId?, maciAddress?, quiet?): Promise Utility that can be used to get topup credits aidropped to the coordinator Parameters​ Name Type Default value Description amount number undefined the amount of credits to airdrop contractAddress? string undefined the address of the ERC20 contract pollId? number undefined the id of the poll maciAddress? string undefined the address of the MACI contract quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/airdrop.ts:19","s":"airdrop","u":"/docs/typedoc/modules/cli_ts","h":"#airdrop","p":780},{"i":790,"t":"▸ checkVerifyingKeys(stateTreeDepth, intStateTreeDepth, messageTreeDepth, voteOptionTreeDepth, messageBatchDepth, processMessagesZkeyPath, tallyVotesZkeyPath, vkRegistry?, subsidyZkeyPath?, quiet?): Promise Command to confirm that the verifying keys in the contract match the local ones Parameters​ Name Type Default value Description stateTreeDepth number undefined the depth of the state tree intStateTreeDepth number undefined the depth of the state subtree messageTreeDepth number undefined the depth of the message tree voteOptionTreeDepth number undefined the depth of the vote option tree messageBatchDepth number undefined the depth of the message batch tree processMessagesZkeyPath string undefined the path to the process messages zkey tallyVotesZkeyPath string undefined the path to the tally votes zkey vkRegistry? string undefined the address of the VkRegistry contract subsidyZkeyPath? string undefined - quiet boolean true whether to log the output Returns​ Promise whether the verifying keys match or not Defined in​ cli/ts/commands/checkVerifyingKeys.ts:35","s":"checkVerifyingKeys","u":"/docs/typedoc/modules/cli_ts","h":"#checkverifyingkeys","p":780},{"i":792,"t":"▸ deploy(stateTreeDepth, initialVoiceCredits?, initialVoiceCreditsProxyAddress?, signupGatekeeperAddress?, quiet?): Promise Deploy MACI and related contracts Parameters​ Name Type Default value Description stateTreeDepth number undefined the depth of the state tree initialVoiceCredits? number undefined the initial voice credits to be minted initialVoiceCreditsProxyAddress? string undefined the address of the initialVoiceCreditsProxy contract signupGatekeeperAddress? string undefined the address of the signupGatekeeper contract quiet boolean true whether to log the output Returns​ Promise the addresses of the deployed contracts Defined in​ cli/ts/commands/deploy.ts:24","s":"deploy","u":"/docs/typedoc/modules/cli_ts","h":"#deploy","p":780},{"i":794,"t":"▸ deployPoll(pollDuration, maxMessages, maxVoteOptions, intStateTreeDepth, messageTreeSubDepth, messageTreeDepth, voteOptionTreeDepth, coordinatorPubkey, maciAddress?, vkRegistryAddress?, quiet?): Promise Deploy a new Poll for the set of MACI's contracts already deployed Parameters​ Name Type Default value Description pollDuration number undefined the duration of the poll in seconds maxMessages number undefined the maximum number of messages that can be submitted maxVoteOptions number undefined the maximum number of vote options intStateTreeDepth number undefined the depth of the intermediate state tree messageTreeSubDepth number undefined the depth of the message tree sublevels messageTreeDepth number undefined the depth of the message tree voteOptionTreeDepth number undefined the depth of the vote option tree coordinatorPubkey string undefined the coordinator's public key maciAddress? string undefined the MACI contract address vkRegistryAddress? string undefined the vkRegistry contract address quiet boolean true whether to log the output to the console Returns​ Promise the addresses of the deployed contracts Defined in​ cli/ts/commands/deployPoll.ts:34","s":"deployPoll","u":"/docs/typedoc/modules/cli_ts","h":"#deploypoll","p":780},{"i":796,"t":"▸ deployVkRegistryContract(quiet?): Promise Deploy the vkRegistry contract Parameters​ Name Type Default value Description quiet boolean true whether to print the contract address Returns​ Promise Defined in​ cli/ts/commands/deployVkRegistry.ts:14","s":"deployVkRegistryContract","u":"/docs/typedoc/modules/cli_ts","h":"#deployvkregistrycontract","p":780},{"i":798,"t":"▸ fundWallet(amount, address, quiet?): Promise Fund a new wallet with Ether Parameters​ Name Type Default value Description amount number undefined the amount of Ether to send address string undefined the address of the wallet to fund quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/fundWallet.ts:11","s":"fundWallet","u":"/docs/typedoc/modules/cli_ts","h":"#fundwallet","p":780},{"i":800,"t":"▸ genKeyPair(quiet?): Object Generate a new Maci Key Pair and print it to the screen Parameters​ Name Type Default value Description quiet boolean true whether to log the output Returns​ Object Name Type privateKey string publicKey string Defined in​ cli/ts/commands/genKeyPair.ts:11","s":"genKeyPair","u":"/docs/typedoc/modules/cli_ts","h":"#genkeypair","p":780},{"i":802,"t":"▸ genMaciPubKey(privkey, quiet?): string Generate a new Maci Public key from a private key Parameters​ Name Type Default value Description privkey string undefined - quiet boolean true whether to log the output Returns​ string the public key serialized Defined in​ cli/ts/commands/genPubKey.ts:13","s":"genMaciPubKey","u":"/docs/typedoc/modules/cli_ts","h":"#genmacipubkey","p":780},{"i":804,"t":"▸ genProofs(outputDir, tallyFile, tallyZkey, processZkey, pollId, subsidyFile?, subsidyZkey?, rapidsnark?, processWitgen?, tallyWitgen?, subsidyWitgen?, coordinatorPrivKey?, maciAddress?, transactionHash?, processWasm?, tallyWasm?, subsidyWasm?, useWasm?, stateFile?, startBlock?, blocksPerBatch?, endBlock?, quiet?): Promise Generate proofs for the message processing, tally and subsidy calculations Parameters​ Name Type Default value Description outputDir string undefined the directory to store the proofs tallyFile string undefined the file to store the tally proof tallyZkey string undefined the path to the tally zkey file processZkey string undefined the path to the process zkey file pollId number undefined the id of the poll subsidyFile? string undefined the file to store the subsidy proof subsidyZkey? string undefined the path to the subsidy zkey file rapidsnark? string undefined the path to the rapidsnark binary processWitgen? string undefined the path to the process witnessgen binary tallyWitgen? string undefined the path to the tally witnessgen binary subsidyWitgen? string undefined the path to the subsidy witnessgen binary coordinatorPrivKey? string undefined the coordinator's private key maciAddress? string undefined the address of the MACI contract transactionHash? string undefined the transaction hash of the first transaction processWasm? string undefined the path to the process wasm file tallyWasm? string undefined the path to the tally wasm file subsidyWasm? string undefined the path to the subsidy wasm file useWasm? boolean undefined whether to use wasm or rapidsnark stateFile? string undefined the file with the serialized maci state startBlock? number undefined the block number to start fetching logs from blocksPerBatch? number undefined the number of blocks to fetch logs from endBlock? number undefined the block number to stop fetching logs from quiet boolean true whether to log the output Returns​ Promise the tally data Defined in​ cli/ts/commands/genProofs.ts:63","s":"genProofs","u":"/docs/typedoc/modules/cli_ts","h":"#genproofs","p":780},{"i":806,"t":"▸ mergeMessages(pollId, maciContractAddress?, numQueueOps?, quiet?): Promise Merge the message queue on chain Parameters​ Name Type Default value Description pollId number undefined the id of the poll maciContractAddress? string undefined the address of the MACI contract numQueueOps? string undefined the number of queue operations to merge quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/mergeMessages.ts:24","s":"mergeMessages","u":"/docs/typedoc/modules/cli_ts","h":"#mergemessages","p":780},{"i":808,"t":"▸ mergeSignups(pollId, maciContractAddress?, numQueueOps?, quiet?): Promise Command to merge the signups of a MACI contract Parameters​ Name Type Default value Description pollId number undefined the id of the poll maciContractAddress? string undefined the address of the MACI contract numQueueOps? string undefined the number of queue operations to perform quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/mergeSignups.ts:24","s":"mergeSignups","u":"/docs/typedoc/modules/cli_ts","h":"#mergesignups","p":780},{"i":810,"t":"▸ proveOnChain(pollId, proofDir, maciAddress?, messageProcessorAddress?, tallyAddress?, subsidyAddress?, quiet?): Promise Command to prove the result of a poll on-chain Parameters​ Name Type Default value Description pollId string undefined the id of the poll proofDir string undefined the directory containing the proofs maciAddress? string undefined the address of the MACI contract messageProcessorAddress? string undefined the address of the MessageProcessor contract tallyAddress? string undefined the address of the Tally contract subsidyAddress? string undefined the address of the Subsidy contract quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/proveOnChain.ts:48","s":"proveOnChain","u":"/docs/typedoc/modules/cli_ts","h":"#proveonchain","p":780},{"i":812,"t":"▸ publish(pubkey, stateIndex, voteOptionIndex, nonce, pollId, newVoteWeight, maciContractAddress?, salt?, privateKey?, quiet?): Promise Publish a new message to a MACI Poll contract Parameters​ Name Type Default value Description pubkey string undefined the public key of the user stateIndex number undefined the index of the state leaf voteOptionIndex number undefined the index of the vote option nonce number undefined the nonce of the message pollId number undefined the id of the poll newVoteWeight number undefined the new vote weight maciContractAddress? string undefined the address of the MACI contract salt? string undefined the salt of the message privateKey? string undefined the private key of the user quiet boolean true whether to log the output Returns​ Promise the ephemeral private key used to encrypt the message Defined in​ cli/ts/commands/publish.ts:27","s":"publish","u":"/docs/typedoc/modules/cli_ts","h":"#publish","p":780},{"i":814,"t":"▸ setVerifyingKeys(stateTreeDepth, intStateTreeDepth, messageTreeDepth, voteOptionTreeDepth, messageBatchDepth, processMessagesZkeyPath, tallyVotesZkeyPath, vkRegistry?, subsidyZkeyPath?, quiet?): Promise Function that sets the verifying keys in the VkRegistry contract Parameters​ Name Type Default value Description stateTreeDepth number undefined the depth of the state tree intStateTreeDepth number undefined the depth of the state subtree messageTreeDepth number undefined the depth of the message tree voteOptionTreeDepth number undefined the depth of the vote option tree messageBatchDepth number undefined the depth of the message batch tree processMessagesZkeyPath string undefined the path to the process messages zkey tallyVotesZkeyPath string undefined the path to the tally votes zkey vkRegistry? string undefined the address of the vkRegistry contract subsidyZkeyPath? string undefined the path to the subsidy zkey quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/setVerifyingKeys.ts:28","s":"setVerifyingKeys","u":"/docs/typedoc/modules/cli_ts","h":"#setverifyingkeys","p":780},{"i":816,"t":"▸ signup(maciPubKey, maciAddress?, sgDataArg?, ivcpDataArg?, quiet?): Promise Signup a user to the MACI contract Parameters​ Name Type Default value Description maciPubKey string undefined the public key of the user maciAddress? string undefined the address of the MACI contract sgDataArg? string undefined the signup gateway data ivcpDataArg? string undefined the initial voice credit proxy data quiet boolean true whether to log the output Returns​ Promise the state index of the user Defined in​ cli/ts/commands/signup.ts:20","s":"signup","u":"/docs/typedoc/modules/cli_ts","h":"#signup","p":780},{"i":818,"t":"▸ timeTravel(seconds, quiet?): Promise Utility to travel in time when using a local blockchain Parameters​ Name Type Default value Description seconds number undefined the number of seconds to travel in time quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/timeTravel.ts:13","s":"timeTravel","u":"/docs/typedoc/modules/cli_ts","h":"#timetravel","p":780},{"i":820,"t":"▸ topup(amount, stateIndex, pollId, maciAddress?, quiet?): Promise Publish a topup message Parameters​ Name Type Default value Description amount number undefined the amount to topup stateIndex number undefined the state index of the user pollId number undefined the poll ID maciAddress? string undefined the address of the MACI contract quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/topup.ts:17","s":"topup","u":"/docs/typedoc/modules/cli_ts","h":"#topup","p":780},{"i":822,"t":"▸ verify(pollId, tallyFile?, tallyData?, maciAddress?, tallyAddress?, subsidyAddress?, subsidyFile?, quiet?): Promise Verify the results of a poll and optionally the subsidy results Parameters​ Name Type Default value Description pollId string undefined the id of the poll tallyFile? string undefined the path to the tally file tallyData? TallyData undefined - maciAddress? string undefined the address of the MACI contract tallyAddress? string undefined the address of the Tally contract subsidyAddress? string undefined the address of the Subsidy contract subsidyFile? string undefined the path to the subsidy file quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/verify.ts:22","s":"verify","u":"/docs/typedoc/modules/cli_ts","h":"#verify","p":780},{"i":826,"t":"Ballot Keypair Message PCommand PrivKey PubKey StateLeaf TCommand VerifyingKey","s":"Classes","u":"/docs/typedoc/modules/domainobjs_ts","h":"#classes","p":823},{"i":828,"t":"ICommand IG1ContractParams IG2ContractParams IJsonBallot IJsonCommand IJsonKeyPair IJsonPCommand IJsonStateLeaf IJsonTCommand IMessageContractParams IStateLeaf IStateLeafContractParams IVkContractParams IVkObjectParams Proof VoteOptionTreeLeaf","s":"Interfaces","u":"/docs/typedoc/modules/domainobjs_ts","h":"#interfaces","p":823},{"i":830,"t":"IJsonPrivateKey IJsonPublicKey","s":"Type Aliases","u":"/docs/typedoc/modules/domainobjs_ts","h":"#type-aliases","p":823},{"i":832,"t":"SERIALIZED_PRIV_KEY_PREFIX SERIALIZED_PUB_KEY_PREFIX blankStateLeaf blankStateLeafHash","s":"Variables","u":"/docs/typedoc/modules/domainobjs_ts","h":"#variables","p":823},{"i":835,"t":"Ƭ IJsonPrivateKey: Pick Defined in​ domainobjs/ts/types.ts:33","s":"IJsonPrivateKey","u":"/docs/typedoc/modules/domainobjs_ts","h":"#ijsonprivatekey","p":823},{"i":837,"t":"Ƭ IJsonPublicKey: Pick Defined in​ domainobjs/ts/types.ts:35","s":"IJsonPublicKey","u":"/docs/typedoc/modules/domainobjs_ts","h":"#ijsonpublickey","p":823},{"i":840,"t":"• Const SERIALIZED_PRIV_KEY_PREFIX: \"macisk.\" Defined in​ domainobjs/ts/privateKey.ts:5","s":"SERIALIZED_PRIV_KEY_PREFIX","u":"/docs/typedoc/modules/domainobjs_ts","h":"#serialized_priv_key_prefix","p":823},{"i":842,"t":"• Const SERIALIZED_PUB_KEY_PREFIX: \"macipk.\" Defined in​ domainobjs/ts/publicKey.ts:7","s":"SERIALIZED_PUB_KEY_PREFIX","u":"/docs/typedoc/modules/domainobjs_ts","h":"#serialized_pub_key_prefix","p":823},{"i":844,"t":"• Const blankStateLeaf: StateLeaf Defined in​ domainobjs/ts/constants.ts:3","s":"blankStateLeaf","u":"/docs/typedoc/modules/domainobjs_ts","h":"#blankstateleaf","p":823},{"i":846,"t":"• Const blankStateLeafHash: bigint Defined in​ domainobjs/ts/constants.ts:4","s":"blankStateLeafHash","u":"/docs/typedoc/modules/domainobjs_ts","h":"#blankstateleafhash","p":823},{"i":848,"t":"domainobjs/ts.VoteOptionTreeLeaf Notice An interface representing a MACI vote option leaf","s":"Interface: VoteOptionTreeLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf","h":"","p":847},{"i":851,"t":"votes","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf","h":"#properties","p":847},{"i":854,"t":"• votes: bigint Defined in​ domainobjs/ts/types.ts:25","s":"votes","u":"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf","h":"#votes","p":847},{"i":858,"t":"AccQueue G1Point G2Point IncrementalQuinTree","s":"Classes","u":"/docs/typedoc/modules/crypto_ts","h":"#classes","p":855},{"i":860,"t":"Keypair PoseidonFuncs Queue Signature","s":"Interfaces","u":"/docs/typedoc/modules/crypto_ts","h":"#interfaces","p":855},{"i":862,"t":"Ciphertext EcdhSharedKey Leaf PathElements Plaintext Point PrivKey PubKey","s":"Type Aliases","u":"/docs/typedoc/modules/crypto_ts","h":"#type-aliases","p":855},{"i":864,"t":"NOTHING_UP_MY_SLEEVE SNARK_FIELD_SIZE","s":"Variables","u":"/docs/typedoc/modules/crypto_ts","h":"#variables","p":855},{"i":866,"t":"bigInt2Buffer calcDepthFromNumLeaves deepCopyBigIntArray formatPrivKeyForBabyJub genEcdhSharedKey genKeypair genPrivKey genPubKey genRandomBabyJubValue genRandomSalt genTreeCommitment genTreeProof hash13 hash2 hash3 hash4 hash5 hashLeftRight hashN hashOne packPubKey poseidonDecrypt poseidonEncrypt sha256Hash sign stringifyBigInts unpackPubKey unstringifyBigInts verifySignature","s":"Functions","u":"/docs/typedoc/modules/crypto_ts","h":"#functions","p":855},{"i":869,"t":"Ƭ Ciphertext: N[] Type parameters​ Name Type N bigint Defined in​ crypto/ts/types.ts:21","s":"Ciphertext","u":"/docs/typedoc/modules/crypto_ts","h":"#ciphertext","p":855},{"i":871,"t":"Ƭ EcdhSharedKey: [N, N] Type parameters​ Name Type N bigint Defined in​ crypto/ts/types.ts:12","s":"EcdhSharedKey","u":"/docs/typedoc/modules/crypto_ts","h":"#ecdhsharedkey","p":855},{"i":873,"t":"Ƭ Leaf: bigint Defined in​ crypto/ts/types.ts:61","s":"Leaf","u":"/docs/typedoc/modules/crypto_ts","h":"#leaf","p":855},{"i":875,"t":"Ƭ PathElements: bigint[][] Defined in​ crypto/ts/@types/optimisedmt.d.ts:3","s":"PathElements","u":"/docs/typedoc/modules/crypto_ts","h":"#pathelements","p":855},{"i":877,"t":"Ƭ Plaintext: N[] Type parameters​ Name Type N bigint Defined in​ crypto/ts/types.ts:18","s":"Plaintext","u":"/docs/typedoc/modules/crypto_ts","h":"#plaintext","p":855},{"i":879,"t":"Ƭ Point: [N, N] Type parameters​ Name Type N SnarkBigNumber Defined in​ crypto/ts/types.ts:15","s":"Point","u":"/docs/typedoc/modules/crypto_ts","h":"#point","p":855},{"i":881,"t":"Ƭ PrivKey: SnarkBigNumber Defined in​ crypto/ts/types.ts:6","s":"PrivKey","u":"/docs/typedoc/modules/crypto_ts","h":"#privkey","p":855},{"i":883,"t":"Ƭ PubKey: [N, N] Type parameters​ Name Type N bigint Defined in​ crypto/ts/types.ts:9","s":"PubKey","u":"/docs/typedoc/modules/crypto_ts","h":"#pubkey","p":855},{"i":886,"t":"• Const NOTHING_UP_MY_SLEEVE: bigint Defined in​ crypto/ts/constants.ts:10","s":"NOTHING_UP_MY_SLEEVE","u":"/docs/typedoc/modules/crypto_ts","h":"#nothing_up_my_sleeve","p":855},{"i":888,"t":"• Const SNARK_FIELD_SIZE: bigint = r Defined in​ crypto/ts/constants.ts:6","s":"SNARK_FIELD_SIZE","u":"/docs/typedoc/modules/crypto_ts","h":"#snark_field_size","p":855},{"i":891,"t":"▸ bigInt2Buffer(i): Buffer Convert a BigInt to a Buffer Parameters​ Name Type Description i bigint the bigint to convert Returns​ Buffer the buffer Defined in​ crypto/ts/bigIntUtils.ts:127","s":"bigInt2Buffer","u":"/docs/typedoc/modules/crypto_ts","h":"#bigint2buffer","p":855},{"i":893,"t":"▸ calcDepthFromNumLeaves(hashLength, numLeaves): number Calculate the depth of a tree given the number of leaves Parameters​ Name Type Description hashLength number the hashing function param length numLeaves number how many leaves Returns​ number the depth Defined in​ crypto/ts/utils.ts:11","s":"calcDepthFromNumLeaves","u":"/docs/typedoc/modules/crypto_ts","h":"#calcdepthfromnumleaves","p":855},{"i":895,"t":"▸ deepCopyBigIntArray(arr): bigint[] Create a copy of a bigint array Parameters​ Name Type Description arr bigint[] the array of bigints to copy Returns​ bigint[] a deep copy of the array Defined in​ crypto/ts/bigIntUtils.ts:110","s":"deepCopyBigIntArray","u":"/docs/typedoc/modules/crypto_ts","h":"#deepcopybigintarray","p":855},{"i":897,"t":"▸ formatPrivKeyForBabyJub(privKey): bigint An internal function which formats a random private key to be compatible with the BabyJub curve. This is the format which should be passed into the PubKey and other circuits. Parameters​ Name Type Description privKey SnarkBigNumber A private key generated using genPrivKey() Returns​ bigint A BabyJub-compatible private key. Defined in​ crypto/ts/keys.ts:29","s":"formatPrivKeyForBabyJub","u":"/docs/typedoc/modules/crypto_ts","h":"#formatprivkeyforbabyjub","p":855},{"i":899,"t":"▸ genEcdhSharedKey(privKey, pubKey): EcdhSharedKey Generates an Elliptic-Curve Diffie–Hellman (ECDH) shared key given a private key and a public key. Parameters​ Name Type Description privKey SnarkBigNumber A private key generated using genPrivKey() pubKey PubKey A public key generated using genPubKey() Returns​ EcdhSharedKey The ECDH shared key. Defined in​ crypto/ts/keys.ts:80","s":"genEcdhSharedKey","u":"/docs/typedoc/modules/crypto_ts","h":"#genecdhsharedkey","p":855},{"i":901,"t":"▸ genKeypair(): Keypair Generates a keypair. Returns​ Keypair a keypair Defined in​ crypto/ts/keys.ts:64","s":"genKeypair","u":"/docs/typedoc/modules/crypto_ts","h":"#genkeypair","p":855},{"i":903,"t":"▸ genPrivKey(): bigint Generate a private key Returns​ bigint A BabyJub-compatible private key. Defined in​ crypto/ts/keys.ts:14","s":"genPrivKey","u":"/docs/typedoc/modules/crypto_ts","h":"#genprivkey","p":855},{"i":905,"t":"▸ genPubKey(privKey): PubKey Parameters​ Name Type Description privKey SnarkBigNumber A private key generated using genPrivKey() Returns​ PubKey A public key associated with the private key Defined in​ crypto/ts/keys.ts:52","s":"genPubKey","u":"/docs/typedoc/modules/crypto_ts","h":"#genpubkey","p":855},{"i":907,"t":"▸ genRandomBabyJubValue(): bigint Returns a BabyJub-compatible random value. We create it by first generating a random value (initially 256 bits large) modulo the snark field size as described in EIP197. This results in a key size of roughly 253 bits and no more than 254 bits. To prevent modulo bias, we then use this efficient algorithm: http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/lib/libc/crypt/arc4random_uniform.c Returns​ bigint A BabyJub-compatible random value. Defined in​ crypto/ts/babyjub.ts:115","s":"genRandomBabyJubValue","u":"/docs/typedoc/modules/crypto_ts","h":"#genrandombabyjubvalue","p":855},{"i":909,"t":"▸ genRandomSalt(): bigint Generate a random value Returns​ bigint A BabyJub-compatible salt. Defined in​ crypto/ts/keys.ts:20","s":"genRandomSalt","u":"/docs/typedoc/modules/crypto_ts","h":"#genrandomsalt","p":855},{"i":911,"t":"▸ genTreeCommitment(leaves, salt, depth): bigint A helper function which hashes a list of results with a salt and returns the hash. Parameters​ Name Type Description leaves bigint[] A list of values salt bigint A random salt depth number The tree depth Returns​ bigint The hash of the leaves and the salt, with the salt last Defined in​ crypto/ts/utils.ts:31","s":"genTreeCommitment","u":"/docs/typedoc/modules/crypto_ts","h":"#gentreecommitment","p":855},{"i":913,"t":"▸ genTreeProof(index, leaves, depth): bigint[][] A helper function to generate the tree proof for the value at the given index in the leaves Parameters​ Name Type Description index number The index of the value to generate the proof for leaves bigint[] A list of values depth number The tree depth Returns​ bigint[][] The proof Defined in​ crypto/ts/utils.ts:48","s":"genTreeProof","u":"/docs/typedoc/modules/crypto_ts","h":"#gentreeproof","p":855},{"i":915,"t":"▸ hash13(elements): bigint A convenience function to use Poseidon to hash a Plaintext with no more than 13 elements Parameters​ Name Type Description elements Plaintext The elements to hash Returns​ bigint The hash of the elements Defined in​ crypto/ts/hashing.ts:130","s":"hash13","u":"/docs/typedoc/modules/crypto_ts","h":"#hash13","p":855},{"i":917,"t":"▸ hash2(elements): bigint Parameters​ Name Type elements Plaintext Returns​ bigint Defined in​ crypto/ts/hashing.ts:119","s":"hash2","u":"/docs/typedoc/modules/crypto_ts","h":"#hash2","p":855},{"i":919,"t":"▸ hash3(elements): bigint Parameters​ Name Type elements Plaintext Returns​ bigint Defined in​ crypto/ts/hashing.ts:120","s":"hash3","u":"/docs/typedoc/modules/crypto_ts","h":"#hash3","p":855},{"i":921,"t":"▸ hash4(elements): bigint Parameters​ Name Type elements Plaintext Returns​ bigint Defined in​ crypto/ts/hashing.ts:121","s":"hash4","u":"/docs/typedoc/modules/crypto_ts","h":"#hash4","p":855},{"i":923,"t":"▸ hash5(elements): bigint Parameters​ Name Type elements Plaintext Returns​ bigint Defined in​ crypto/ts/hashing.ts:122","s":"hash5","u":"/docs/typedoc/modules/crypto_ts","h":"#hash5","p":855},{"i":925,"t":"▸ hashLeftRight(left, right): bigint Hash two BigInts with the Poseidon hash function Parameters​ Name Type Description left bigint The left-hand element to hash right bigint The right-hand element to hash Returns​ bigint The hash of the two elements Defined in​ crypto/ts/hashing.ts:85","s":"hashLeftRight","u":"/docs/typedoc/modules/crypto_ts","h":"#hashleftright","p":855},{"i":927,"t":"▸ hashN(numElements, elements): bigint Hash up to N elements Parameters​ Name Type Description numElements number The number of elements to hash elements Plaintext The elements to hash Returns​ bigint The hash of the elements Defined in​ crypto/ts/hashing.ts:101","s":"hashN","u":"/docs/typedoc/modules/crypto_ts","h":"#hashn","p":855},{"i":929,"t":"▸ hashOne(preImage): bigint Hash a single BigInt with the Poseidon hash function Parameters​ Name Type Description preImage bigint The element to hash Returns​ bigint The hash of the element Defined in​ crypto/ts/hashing.ts:160","s":"hashOne","u":"/docs/typedoc/modules/crypto_ts","h":"#hashone","p":855},{"i":931,"t":"▸ packPubKey(pubKey): bigint Losslessly reduces the size of the representation of a public key Parameters​ Name Type Description pubKey PubKey The public key to pack Returns​ bigint A packed public key Defined in​ crypto/ts/keys.ts:36","s":"packPubKey","u":"/docs/typedoc/modules/crypto_ts","h":"#packpubkey","p":855},{"i":933,"t":"▸ poseidonDecrypt(ciphertext, key, nonce, length): PlainText Decrypt some ciphertext using poseidon encryption Parameters​ Name Type Description ciphertext CipherText the ciphertext to decrypt key EncryptionKey the key to decrypt with nonce bigint the nonce used to encrypt length number the length of the plaintext Returns​ PlainText the plaintext Defined in​ node_modules/.pnpm/@zk-kit+poseidon-cipher@0.1.1/node_modules/@zk-kit/poseidon-cipher/dist/types/poseidonCipher.d.ts:18","s":"poseidonDecrypt","u":"/docs/typedoc/modules/crypto_ts","h":"#poseidondecrypt","p":855},{"i":935,"t":"▸ poseidonEncrypt(msg, key, nonce): CipherText Encrypt some plaintext using poseidon encryption Parameters​ Name Type Description msg PlainText the message to encrypt key EncryptionKey the key to encrypt with nonce bigint the nonce to avoid replay attacks Returns​ CipherText the ciphertext Defined in​ node_modules/.pnpm/@zk-kit+poseidon-cipher@0.1.1/node_modules/@zk-kit/poseidon-cipher/dist/types/poseidonCipher.d.ts:9","s":"poseidonEncrypt","u":"/docs/typedoc/modules/crypto_ts","h":"#poseidonencrypt","p":855},{"i":937,"t":"▸ sha256Hash(input): bigint Hash an array of uint256 values the same way that the EVM does. Parameters​ Name Type Description input bigint[] the array of values to hash Returns​ bigint a EVM compatible sha256 hash Defined in​ crypto/ts/hashing.ts:15","s":"sha256Hash","u":"/docs/typedoc/modules/crypto_ts","h":"#sha256hash","p":855},{"i":939,"t":"▸ sign(privateKey, message): Signature Signs a message using the provided private key, employing Poseidon hashing and EdDSA with the Baby Jubjub elliptic curve. Parameters​ Name Type Description privateKey BigNumberish The private key used to sign the message. message BigNumberish The message to be signed. Returns​ Signature The signature object, containing properties relevant to EdDSA signatures, such as 'R8' and 'S' values. Defined in​ node_modules/.pnpm/@zk-kit+eddsa-poseidon@0.5.1/node_modules/@zk-kit/eddsa-poseidon/dist/types/eddsa-poseidon.d.ts:32","s":"sign","u":"/docs/typedoc/modules/crypto_ts","h":"#sign","p":855},{"i":941,"t":"▸ stringifyBigInts(input): StringifiedBigInts Given an input of bigint values, convert them to their string representations Parameters​ Name Type Description input BigIntVariants The input to convert Returns​ StringifiedBigInts The input with bigint values converted to string Defined in​ crypto/ts/bigIntUtils.ts:78","s":"stringifyBigInts","u":"/docs/typedoc/modules/crypto_ts","h":"#stringifybigints","p":855},{"i":943,"t":"▸ unpackPubKey(packed): PubKey Restores the original PubKey from its packed representation Parameters​ Name Type Description packed bigint The value to unpack Returns​ PubKey The unpacked public key Defined in​ crypto/ts/keys.ts:43","s":"unpackPubKey","u":"/docs/typedoc/modules/crypto_ts","h":"#unpackpubkey","p":855},{"i":945,"t":"▸ unstringifyBigInts(input): BigIntVariants Given an input containing string values, convert them to bigint Parameters​ Name Type Description input StringifiedBigInts The input to convert Returns​ BigIntVariants the input with string values converted to bigint Defined in​ crypto/ts/bigIntUtils.ts:9","s":"unstringifyBigInts","u":"/docs/typedoc/modules/crypto_ts","h":"#unstringifybigints","p":855},{"i":947,"t":"▸ verifySignature(message, signature, publicKey): boolean Verifies an EdDSA signature using the Baby Jubjub elliptic curve and Poseidon hash function. Parameters​ Name Type Description message BigNumberish The original message that was be signed. signature Signature The EdDSA signature to be verified. publicKey Point The public key associated with the private key used to sign the message. Returns​ boolean Returns true if the signature is valid and corresponds to the message and public key, false otherwise. Defined in​ node_modules/.pnpm/@zk-kit+eddsa-poseidon@0.5.1/node_modules/@zk-kit/eddsa-poseidon/dist/types/eddsa-poseidon.d.ts:40","s":"verifySignature","u":"/docs/typedoc/modules/crypto_ts","h":"#verifysignature","p":855},{"i":949,"t":"This document outlines the approach to versioning and releasing the MACI project. The primary goal here is to set clear expectations and provide a consistent user experience for developers integrating MACI and its packages.","s":"MACI versioning and release process","u":"/docs/versioning","h":"","p":948},{"i":951,"t":"MACI code consists 3 core parts: Circom circuits, Solidity contracts and JS (TS) libraries, from which we release a total of 7 NPM packages. See the codebase overview for more details.","s":"MACI code","u":"/docs/versioning","h":"#maci-code","p":948},{"i":953,"t":"MACI follows the Semantic Versioning Specification (SemVer). All MACI packages are organized in our monorepo and follow a global release approach, meaning that all packages have the same version. Currently, MACI core team manually decides when to release and what the version should be. Packages are released automatically via CI when a new tag is created in GitHub. You can view our releases and tags in GitHub.","s":"MACI versioning","u":"/docs/versioning","h":"#maci-versioning","p":948},{"i":955,"t":"To release a new version of MACI, follow these steps: warning Version number '1.2.3' is used here as an example. You should replace the version number '1.2.3' with the version number you are planning to release Verify that tests have passed on GitHub Actions Clone maci: git clone https://github.com/privacy-scaling-explorations/maci Switch to the master branch: git checkout master Install required dependencies: pnpm install Run lerna version to update CHANGELOG and version numbers of sub-packages: pnpm exec lerna version --no-push --no-git-tag-version --conventional-commits 1.2.3 Commit changes: git commit --message \"chore(release): publish 1.2.3\" Push changes and create a pull request After the pull request has been merged: Retrieve merged commit Add a tag: git tag --sign v1.2.3 --message v1.2.3 Publish tag: git push v1.2.3 Once the tag is pushed, GitHub Actions will automatically publish the packages to npm.js and create a release on GitHub. The following packages will be published on NPM: @maci-circuits @maci-contracts @maci-cli @maci-core @maci-crypto @maci-domainobjs @maci-integrationtests","s":"MACI Release Process","u":"/docs/versioning","h":"#maci-release-process","p":948},{"i":958,"t":"This section provides a short introduction of the main primitives used by MACI.","s":"MACI primitives","u":"/docs/primitives","h":"#maci-primitives","p":956},{"i":960,"t":"MACI uses the Baby Jubjub Elliptic Curve. The p scalar field of choosing is: p=21888242871839275222246405745257275088548364400416034343698204186575808495617p=21888242871839275222246405745257275088548364400416034343698204186575808495617p=21888242871839275222246405745257275088548364400416034343698204186575808495617 with generator: 995203441582195749578291179787384436505546430278305826713579947235728471134995203441582195749578291179787384436505546430278305826713579947235728471134995203441582195749578291179787384436505546430278305826713579947235728471134 547206071795981880556160143631431877213709110010400858592455104664395212390554720607179598188055616014363143187721370911001040085859245510466439521239055472060717959818805561601436314318772137091100104008585924551046643952123905 and within the finite field with modulo ppp.","s":"Elliptic Curves","u":"/docs/primitives","h":"#elliptic-curves","p":956},{"i":962,"t":"MACI uses Node.js's crypto.randomBytes(32) function to generate a cryptographically strong pseudorandom 32-byte value, as well as an algorithm to prevent modulo bias. In pseudocode this is: lim = 2 ** 256 min = lim - p rand = null while true: rand = BigInt(crypto.getRandomBytes(32)) if rand >= min: break privKey = rand % p A public key is a point on the Baby Jubjub curve, which is deterministically derived from a private key s.","s":"Key Pairs","u":"/docs/primitives","h":"#key-pairs","p":956},{"i":964,"t":"To sign messages, MACI uses the Edwards-curve Digital Signature Algorithm (EdDSA), implemented by iden3.","s":"Message Signing","u":"/docs/primitives","h":"#message-signing","p":956},{"i":966,"t":"MACI uses the Poseidon hash function, which is proven to be very efficient in ZK applications. Poseidon accepts nnn inputs and produces 1 output: y=poseidonn([x1,x2,...,xn])y = poseidon_n([x_1, x_2, ..., x_n])y=poseidonn​([x1​,x2​,...,xn​]) Also, SHA256 is used to compress public inputs to a circuit into a single field element in the finite field FFF mod ppp.","s":"Hash Functions","u":"/docs/primitives","h":"#hash-functions","p":956},{"i":968,"t":"In order to encrypt messages, MACI uses Poseidon in DuplexSponge mode. This provides an encryption function and a decryption function: CCC as poseidonEncrypt(ks[0],ks[1],N,l,t[])poseidonEncrypt(k_s[0], k_s[1], N, l, t[])poseidonEncrypt(ks​[0],ks​[1],N,l,t[]) poseidonDecrypt(ks[0],ks[1],N,l,C)poseidonDecrypt(k_s[0], k_s[1], N, l, C)poseidonDecrypt(ks​[0],ks​[1],N,l,C) In more details, ksk_sks​ is the shared key, a point on the Baby Jubjub curve NNN is the nonce, which we hardcode to 0 lll is the length of the plaintext t[]t[]t[] The implementation can be found here.","s":"Message Encryption","u":"/docs/primitives","h":"#message-encryption","p":956},{"i":970,"t":"The ECDH algorithm is used to generate a shared key, which is then used to encrypt each message. This allows to create messages which are only decryptable by the coordinator and the person sending the message. In more details: The coordinator's public key cPkcPkcPk is known to all. Their private key cSkcSkcSk is secret. When the user publishes a message (i.e. casts a vote), they generate an ephemeral keypair with private key eSkeSkeSk and public key ePkePkePk. The user generates the shared key kkk using the coordinator's public key cPkcPkcPk and the user's ephemeral private key eSkeSkeSk. The user encrypts the command and signature with kkk to form a message. The user sends their ephemeral public key ePkePkePk along with the ciphertext. The coordinator can recover the same shared key using their private key cSkcSkcSk and the given ephemeral public key ePkePkePk.","s":"Shared Key Generation","u":"/docs/primitives","h":"#shared-key-generation","p":956},{"i":972,"t":"Rather than using Binary merkle trees, MACI uses Quinary merkle trees (5 leaves per node). This allows for more gas efficient computation using the Poseidon hash function. Accumulator queue​ This contract holds user sign-ups and messages. When a leaf is inserted into the AccQueue, the merkle root is not updated yet, instead the leaf is updated or the root of a subtree is re-computed. The smart contract exposes three functions: enqueue(leaf): Enqueues a leaf into a subtree four out of five times it is invoked, an enqueue operation may or may not require the contract to perform a hash function. When it does, only up to tdt_dtd​ required number of hashes need to be computed mergeSubRoots(): Merge all subtree roots into the shortest possible Merkle tree to fit Before computing the main Merkle root, it is necessary to compute the smallSRTroot (the smallest subroot tree root). This is the Merkle root of a tree which is small enough to fit all the subroots function which allows the coordinator to specify the number of queue operations to execute. The entire tree may be merged in a single transaction, or it may not. merge(): Calculate the Merkle root of all the leaves at height dtd_tdt​","s":"Merkle Trees","u":"/docs/primitives","h":"#merkle-trees","p":956},{"i":974,"t":"Verifying Keys​ A verifying key vkvkvk is comprised of the following elements: α\\alphaα, a point in the curve on which G1G_1G1​ is defined β\\betaβ, a point in the curve on which G2G_2G2​ is defined γ\\gammaγ, a point in the curve on which G2G_2G2​ is defined δ\\deltaδ, a point in the curve on which G2G_2G2​ is defined ic[]ic[]ic[], a list of points in the curve on which G1G_1G1​ is defined A verifying key is used to validate a zk-SNARK proof. Each unique permutation of parameters to a particular circuit has a different verifying key. Private Keys​ MACI's private keys allow users to send and decrypt messages. This key translates to a scalar point on the Baby Jubjub elliptic curve. All keys are serialized with the prefix macisk. Public Keys​ Public keys also translate to a point on the Baby Jubjub elliptic curve, and is derived from the private key kkk. These are serialized with the prefix macipk. Key Pair​ A Key Pair is a private key and its corresponding public key. Command​ A command represents an action that a user may take. Such as casting a vote in a poll or changing their public key if bribed. It is made up of the following parameters: Symbol Name Size Description cmicm_icmi​ State index 50 State leaf index where the signing key is located cmpxcm_{p_{x}}cmpx​​ Public key x-coordinate 253 If no change is necessary this parameter should reflect the current public key's x-coordinate cmpycm_{p_{y}}cmpy​​ Public key y-coordinate 253 If no change is necessary this parameter should reflect the current public key's y-coordinate cmivcm_{i_{v}}cmiv​​ Vote option index 50 Option state leaf index of preference to assign the vote for cmwcm_wcmw​ Voting weight 50 Voice credit balance allocation, this is an arbitrary value dependent on a user's available credits cmncm_ncmn​ Nonce 50 State leaf's index of actions committed plus one cmidcm_{id}cmid​ Poll id 50 The poll's identifier to cast in regard to cmscm_scms​ Salt 253 An entropy value to inhibit brute force attacks Message​ A message is an encrypted command using the shared key ksk_sks​ between the voter and the coordinator. The plaintext ttt is computed as such: t=[p,cmpx,cmpy,cms,R8[0],R8[1],S]t = [p, cm_{p_{x}}, cm_{p_{y}}, cm_s, R8[0], R8[1], S]t=[p,cmpx​​,cmpy​​,cms​,R8[0],R8[1],S] While the message can be computed with the formula below: MMM = poseidonEncrypt(ks[0],ks[1],cmn,7,t){poseidonEncrypt}(k_s[0], k_s[1], cm_n, 7, t)poseidonEncrypt(ks​[0],ks​[1],cmn​,7,t) Decrypting a message​ To decrypt a message using ksk_sks​ is expressed as [p,R8[0],R8[1],cms][p, R8[0], R8[1], cm_s][p,R8[0],R8[1],cms​] = poseidonDecrypt(M,ks[0],ks[1],cmn,7){poseidonDecrypt}(M, k_s[0], k_s[1], cm_n, 7)poseidonDecrypt(M,ks​[0],ks​[1],cmn​,7) To unpack ppp to its original five parameters, it must be separated into 50 bit values from the parent 250 bit value. To extract 50 bits at byte nnn, we: initialise 50 bits shift left by nnn bits bitwise AND with ppp shift right by nnn bits","s":"Domain Objects","u":"/docs/primitives","h":"#domain-objects","p":956},{"i":976,"t":"A Ballot represents a particular user's votes in a poll, as well as their next valid nonce. It is akin to a voting slip, which belongs to only one voter and contains a list of their choices. Symbol Name Comments bltvblt_{v}bltv​ An array of vote weights bltv[i]blt_{v[i]}bltv[i]​ refers to the vote weights assigned to vote option iii bltnblt_nbltn​ The current nonce Starts from 0 and increments, so the first valid command must have nonce 1 bltdblt_dbltd​ The vote option tree depth The hash bltbltblt is computed as such: Compute the Merkle root of bltvblt_vbltv​, arity 5, of a tree of depth bltdblt_dbltd​; let this value be bltrblt_rbltr​ Compute poseidon2([bltn,bltr])poseidon_2([blt_n, blt_r])poseidon2​([bltn​,bltr​])","s":"Ballot","u":"/docs/primitives","h":"#ballot","p":956},{"i":978,"t":"A state leaf represents a user's participation declared through an identity (their public key) and information relevant to their ability or right to cast votes in a poll (their voice credit balance and the block timestamp at which they signed up). We define a state leaf slslsl as the poseidon4poseidon_4poseidon4​ hash of the following: Symbol Name Comments slPxsl_{P_x}slPx​​ Public key's x-coordinate slPysl_{P_y}slPy​​ Public key's y-coordinate slvsl_{v}slv​ Voice credit balance sltsl_{t}slt​ Block timestamp In Unix time (seconds since Jan 1 1970 UTC) The hash slslsl is computed as such: sl=poseidon4([slAx,slAy,slv,slt])sl = poseidon_4([sl_{A_x}, sl_{A_y}, sl_{v}, sl_{t}])sl=poseidon4​([slAx​​,slAy​​,slv​,slt​]) Blank state leaf​ A blank state leaf slBsl_BslB​ has the following value: 676900697020509952050894872371847172466086717112223527077360056792503800876267690069702050995205089487237184717246608671711222352707736005679250380087626769006970205099520508948723718471724660867171122235270773600567925038008762 This value is computed as such: Abx=10457101036533406547632367118273992217979173478358440826365724437999023779287A_{b_x} = 10457101036533406547632367118273992217979173478358440826365724437999023779287Abx​​=10457101036533406547632367118273992217979173478358440826365724437999023779287 Aby=19824078218392094440610104313265183977899662750282163392862422243483260492317A_{b_y} = 19824078218392094440610104313265183977899662750282163392862422243483260492317Aby​​=19824078218392094440610104313265183977899662750282163392862422243483260492317 slB=poseidon4([Ab0,Ab1,0,0])sl_B = poseidon_4([A_{b0}, A_{b1}, 0, 0])slB​=poseidon4​([Ab0​,Ab1​,0,0]) The code to derive AbxA_{b_x}Abx​​ and AbyA_{b_y}Aby​​ is here. The function call required is pedersenHash.getBasePoint('blake', 0) Hash the string PedersenGenerator_00000000000000000000000000000000_00000000000000000000000000000000 with blake256blake_{256}blake256​. In big-endian hexadecimal format, the hash should be 1b3ef77ef2cd620fd2358e69dd564f35556aad552fdd7f06b777bd3a1d697160. Set the 255th bit to 0. The result should be 1b3ef77ef2cd620fd2358e69dd564f35556aad552fdd7f06b777bd3a1d697120. Use the method to convert a buffer to a point on the BabyJub curve described in [2.3.2]. Multiply the point by 8. The result is the point with x-value AbxA_{b_x}Abx​​ and y-value AbyA_{b_y}Aby​​ Given the elliptic curve discrete logarithm problem, we assume that no-one knows the private key s∈Fps \\in {F}_ps∈Fp​ and by using the public key generation procedure in [1.4], we can derive AbxA_{b_x}Abx​​ and AbyA_{b_y}Aby​​. Furthermore, the string above (PedersenGenerator...) acts as a nothing-up-my-sleeve value.","s":"State leaf","u":"/docs/primitives","h":"#state-leaf","p":956},{"i":980,"t":"A contract used to benchmark the poseidon hash function","s":"HasherBenchmarks","u":"/docs/solidity-docs/benchmarks/HasherBenchmarks","h":"","p":979},{"i":982,"t":"function hash5Benchmark(uint256[5] array) public pure returns (uint256 result) Benchmark the poseidon hash function with 5 inputs Parameters​ Name Type Description array uint256[5] The array of inputs to hash Return Values​ Name Type Description result uint256 The hash of the inputs","s":"hash5Benchmark","u":"/docs/solidity-docs/benchmarks/HasherBenchmarks","h":"#hash5benchmark","p":979},{"i":984,"t":"function hashLeftRightBenchmark(uint256 _left, uint256 _right) public pure returns (uint256 result) Benchmark the poseidon hash function with 2 inputs Parameters​ Name Type Description _left uint256 The left input to hash _right uint256 The right input to hash Return Values​ Name Type Description result uint256 The hash of the two inputs","s":"hashLeftRightBenchmark","u":"/docs/solidity-docs/benchmarks/HasherBenchmarks","h":"#hashleftrightbenchmark","p":979},{"i":986,"t":"A SHA256 hash function for any number of input elements, and Poseidon hash functions for 2, 3, 4, 5, and 12 input elements.","s":"Hasher","u":"/docs/solidity-docs/crypto/Hasher","h":"","p":985},{"i":988,"t":"function sha256Hash(uint256[] array) public pure returns (uint256 result) Computes the SHA256 hash of an array of uint256 elements. Parameters​ Name Type Description array uint256[] The array of uint256 elements. Return Values​ Name Type Description result uint256 The SHA256 hash of the array.","s":"sha256Hash","u":"/docs/solidity-docs/crypto/Hasher","h":"#sha256hash","p":985},{"i":990,"t":"function hash2(uint256[2] array) public pure returns (uint256 result) Computes the Poseidon hash of two uint256 elements. Parameters​ Name Type Description array uint256[2] An array of two uint256 elements. Return Values​ Name Type Description result uint256 The Poseidon hash of the two elements.","s":"hash2","u":"/docs/solidity-docs/crypto/Hasher","h":"#hash2","p":985},{"i":992,"t":"function hash3(uint256[3] array) public pure returns (uint256 result) Computes the Poseidon hash of three uint256 elements. Parameters​ Name Type Description array uint256[3] An array of three uint256 elements. Return Values​ Name Type Description result uint256 The Poseidon hash of the three elements.","s":"hash3","u":"/docs/solidity-docs/crypto/Hasher","h":"#hash3","p":985},{"i":994,"t":"function hash4(uint256[4] array) public pure returns (uint256 result) Computes the Poseidon hash of four uint256 elements. Parameters​ Name Type Description array uint256[4] An array of four uint256 elements. Return Values​ Name Type Description result uint256 The Poseidon hash of the four elements.","s":"hash4","u":"/docs/solidity-docs/crypto/Hasher","h":"#hash4","p":985},{"i":996,"t":"function hash5(uint256[5] array) public pure returns (uint256 result) Computes the Poseidon hash of five uint256 elements. Parameters​ Name Type Description array uint256[5] An array of five uint256 elements. Return Values​ Name Type Description result uint256 The Poseidon hash of the five elements.","s":"hash5","u":"/docs/solidity-docs/crypto/Hasher","h":"#hash5","p":985},{"i":998,"t":"function hashLeftRight(uint256 left, uint256 right) public pure returns (uint256 result) Computes the Poseidon hash of two uint256 elements. Parameters​ Name Type Description left uint256 the first element to hash. right uint256 the second element to hash. Return Values​ Name Type Description result uint256 The Poseidon hash of the two elements.","s":"hashLeftRight","u":"/docs/solidity-docs/crypto/Hasher","h":"#hashleftright","p":985},{"i":1000,"t":"an interface for a Groth16 verifier contract","s":"IVerifier","u":"/docs/solidity-docs/crypto/IVerifier","h":"","p":999},{"i":1002,"t":"function verify(uint256[8], struct SnarkCommon.VerifyingKey, uint256) public view virtual returns (bool) Verify a zk-SNARK proof","s":"verify","u":"/docs/solidity-docs/crypto/IVerifier","h":"#verify","p":999},{"i":1004,"t":"a MockVerifier to be used for testing","s":"MockVerifier","u":"/docs/solidity-docs/crypto/MockVerifier","h":"","p":1003},{"i":1006,"t":"function verify(uint256[8], struct SnarkCommon.VerifyingKey, uint256) public pure returns (bool result) Verify a zk-SNARK proof (test only return always true) Return Values​ Name Type Description result bool Whether the proof is valid given the verifying key and public","s":"verify","u":"/docs/solidity-docs/crypto/MockVerifier","h":"#verify","p":1003},{"i":1008,"t":"A library implementing the alt_bn128 elliptic curve operations.","s":"Pairing","u":"/docs/solidity-docs/crypto/Pairing","h":"","p":1007},{"i":1010,"t":"uint256 PRIME_Q","s":"PRIME_Q","u":"/docs/solidity-docs/crypto/Pairing","h":"#prime_q","p":1007},{"i":1012,"t":"struct G1Point { uint256 x; uint256 y; }","s":"G1Point","u":"/docs/solidity-docs/crypto/Pairing","h":"#g1point","p":1007},{"i":1014,"t":"struct G2Point { uint256[2] x; uint256[2] y; }","s":"G2Point","u":"/docs/solidity-docs/crypto/Pairing","h":"#g2point","p":1007},{"i":1016,"t":"error PairingAddFailed() custom errors","s":"PairingAddFailed","u":"/docs/solidity-docs/crypto/Pairing","h":"#pairingaddfailed","p":1007},{"i":1018,"t":"error PairingMulFailed()","s":"PairingMulFailed","u":"/docs/solidity-docs/crypto/Pairing","h":"#pairingmulfailed","p":1007},{"i":1020,"t":"error PairingOpcodeFailed()","s":"PairingOpcodeFailed","u":"/docs/solidity-docs/crypto/Pairing","h":"#pairingopcodefailed","p":1007},{"i":1022,"t":"function negate(struct Pairing.G1Point p) internal pure returns (struct Pairing.G1Point) The negation of p, i.e. p.plus(p.negate()) should be zero.","s":"negate","u":"/docs/solidity-docs/crypto/Pairing","h":"#negate","p":1007},{"i":1024,"t":"function plus(struct Pairing.G1Point p1, struct Pairing.G1Point p2) internal view returns (struct Pairing.G1Point r) r Returns the sum of two points of G1.","s":"plus","u":"/docs/solidity-docs/crypto/Pairing","h":"#plus","p":1007},{"i":1026,"t":"function scalarMul(struct Pairing.G1Point p, uint256 s) internal view returns (struct Pairing.G1Point r) r Return the product of a point on G1 and a scalar, i.e. p == p.scalarMul(1) and p.plus(p) == p.scalarMul(2) for all points p.","s":"scalarMul","u":"/docs/solidity-docs/crypto/Pairing","h":"#scalarmul","p":1007},{"i":1028,"t":"function pairing(struct Pairing.G1Point a1, struct Pairing.G2Point a2, struct Pairing.G1Point b1, struct Pairing.G2Point b2, struct Pairing.G1Point c1, struct Pairing.G2Point c2, struct Pairing.G1Point d1, struct Pairing.G2Point d2) internal view returns (bool isValid) Return Values​ Name Type Description isValid bool The result of computing the pairing check e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1 For example, pairing([P1(), P1().negate()], [P2(), P2()]) should return true.","s":"pairing","u":"/docs/solidity-docs/crypto/Pairing","h":"#pairing-1","p":1007},{"i":1030,"t":"A library which provides functions for computing Pedersen hashes.","s":"PoseidonT3","u":"/docs/solidity-docs/crypto/PoseidonT3","h":"","p":1029},{"i":1032,"t":"function poseidon(uint256[2] input) public pure returns (uint256)","s":"poseidon","u":"/docs/solidity-docs/crypto/PoseidonT3","h":"#poseidon","p":1029},{"i":1034,"t":"A library which provides functions for computing Pedersen hashes.","s":"PoseidonT4","u":"/docs/solidity-docs/crypto/PoseidonT4","h":"","p":1033},{"i":1036,"t":"function poseidon(uint256[3] input) public pure returns (uint256)","s":"poseidon","u":"/docs/solidity-docs/crypto/PoseidonT4","h":"#poseidon","p":1033},{"i":1038,"t":"A library which provides functions for computing Pedersen hashes.","s":"PoseidonT5","u":"/docs/solidity-docs/crypto/PoseidonT5","h":"","p":1037},{"i":1040,"t":"function poseidon(uint256[4] input) public pure returns (uint256)","s":"poseidon","u":"/docs/solidity-docs/crypto/PoseidonT5","h":"#poseidon","p":1037},{"i":1042,"t":"A library which provides functions for computing Pedersen hashes.","s":"PoseidonT6","u":"/docs/solidity-docs/crypto/PoseidonT6","h":"","p":1041},{"i":1044,"t":"function poseidon(uint256[5] input) public pure returns (uint256)","s":"poseidon","u":"/docs/solidity-docs/crypto/PoseidonT6","h":"#poseidon","p":1041},{"i":1046,"t":"a Contract which holds a struct representing a Groth16 verifying key","s":"SnarkCommon","u":"/docs/solidity-docs/crypto/SnarkCommon","h":"","p":1045},{"i":1048,"t":"struct VerifyingKey { struct Pairing.G1Point alpha1; struct Pairing.G2Point beta2; struct Pairing.G2Point gamma2; struct Pairing.G2Point delta2; struct Pairing.G1Point[] ic; }","s":"VerifyingKey","u":"/docs/solidity-docs/crypto/SnarkCommon","h":"#verifyingkey","p":1045},{"i":1050,"t":"This contract contains constants related to the SNARK components of MACI.","s":"SnarkConstants","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"","p":1049},{"i":1052,"t":"uint256 SNARK_SCALAR_FIELD The scalar field","s":"SNARK_SCALAR_FIELD","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"#snark_scalar_field","p":1049},{"i":1054,"t":"uint256 PAD_PUBKEY_X The public key here is the first Pedersen base point from iden3's circomlib implementation of the Pedersen hash. Since it is generated using a hash-to-curve function, we are confident that no-one knows the private key associated with this public key. See: https://github.com/iden3/circomlib/blob/d5ed1c3ce4ca137a6b3ca48bec4ac12c1b38957a/src/pedersen_printbases.js Its hash should equal 6769006970205099520508948723718471724660867171122235270773600567925038008762.","s":"PAD_PUBKEY_X","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"#pad_pubkey_x","p":1049},{"i":1056,"t":"uint256 PAD_PUBKEY_Y","s":"PAD_PUBKEY_Y","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"#pad_pubkey_y","p":1049},{"i":1058,"t":"uint256 NOTHING_UP_MY_SLEEVE The Keccack256 hash of 'Maci'","s":"NOTHING_UP_MY_SLEEVE","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"#nothing_up_my_sleeve","p":1049},{"i":1060,"t":"a Groth16 verifier contract","s":"Verifier","u":"/docs/solidity-docs/crypto/Verifier","h":"","p":1059},{"i":1062,"t":"struct Proof { struct Pairing.G1Point a; struct Pairing.G2Point b; struct Pairing.G1Point c; }","s":"Proof","u":"/docs/solidity-docs/crypto/Verifier","h":"#proof","p":1059},{"i":1064,"t":"uint256 PRIME_Q","s":"PRIME_Q","u":"/docs/solidity-docs/crypto/Verifier","h":"#prime_q","p":1059},{"i":1066,"t":"error InvalidProofQ() custom errors","s":"InvalidProofQ","u":"/docs/solidity-docs/crypto/Verifier","h":"#invalidproofq","p":1059},{"i":1068,"t":"error InvalidInputVal()","s":"InvalidInputVal","u":"/docs/solidity-docs/crypto/Verifier","h":"#invalidinputval","p":1059},{"i":1070,"t":"function verify(uint256[8] _proof, struct SnarkCommon.VerifyingKey vk, uint256 input) public view returns (bool isValid) Verify a zk-SNARK proof Parameters​ Name Type Description _proof uint256[8] The proof vk struct SnarkCommon.VerifyingKey The verifying key input uint256 The public inputs to the circuit Return Values​ Name Type Description isValid bool Whether the proof is valid given the verifying key and public input. Note that this function only supports one public input. Refer to the Semaphore source code for a verifier that supports multiple public inputs.","s":"verify","u":"/docs/solidity-docs/crypto/Verifier","h":"#verify","p":1059},{"i":1072,"t":"function checkPoint(uint256 point) internal pure","s":"checkPoint","u":"/docs/solidity-docs/crypto/Verifier","h":"#checkpoint","p":1059},{"i":1074,"t":"A SignUpGatekeeper which allows anyone to sign up.","s":"FreeForAllGatekeeper","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","h":"","p":1073},{"i":1076,"t":"constructor() public payable Create a new instance of FreeForAllGatekeeper","s":"constructor","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","h":"#constructor","p":1073},{"i":1078,"t":"function setMaciInstance(contract MACI _maci) public setMaciInstance does nothing in this gatekeeper Parameters​ Name Type Description _maci contract MACI The MACI contract","s":"setMaciInstance","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","h":"#setmaciinstance","p":1073},{"i":1080,"t":"function register(address _address, bytes _data) public Registers the user without any restrictions. Parameters​ Name Type Description _address address The address of the user _data bytes memory additional data","s":"register","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","h":"#register","p":1073},{"i":1082,"t":"A gatekeeper contract which allows users to sign up for a poll.","s":"SignUpGatekeeper","u":"/docs/solidity-docs/gatekeepers/SignUpGatekeeper","h":"","p":1081},{"i":1084,"t":"function setMaciInstance(contract MACI _maci) public virtual Allows to set the MACI contract","s":"setMaciInstance","u":"/docs/solidity-docs/gatekeepers/SignUpGatekeeper","h":"#setmaciinstance","p":1081},{"i":1086,"t":"function register(address _user, bytes _data) public virtual Registers the user Parameters​ Name Type Description _user address The address of the user _data bytes additional data","s":"register","u":"/docs/solidity-docs/gatekeepers/SignUpGatekeeper","h":"#register","p":1081},{"i":1088,"t":"This contract allows to gatekeep MACI signups by requiring new voters to own a certain ERC721 token","s":"SignUpTokenGatekeeper","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"","p":1087},{"i":1090,"t":"contract SignUpToken token the reference to the SignUpToken contract","s":"token","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#token","p":1087},{"i":1092,"t":"contract MACI maci the reference to the MACI contract","s":"maci","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#maci","p":1087},{"i":1094,"t":"mapping(uint256 => bool) registeredTokenIds a mapping of tokenIds to whether they have been used to sign up","s":"registeredTokenIds","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#registeredtokenids","p":1087},{"i":1096,"t":"error AlreadyRegistered() custom errors","s":"AlreadyRegistered","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#alreadyregistered","p":1087},{"i":1098,"t":"error NotTokenOwner()","s":"NotTokenOwner","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#nottokenowner","p":1087},{"i":1100,"t":"error OnlyMACI()","s":"OnlyMACI","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#onlymaci","p":1087},{"i":1102,"t":"constructor(contract SignUpToken _token) public payable creates a new SignUpTokenGatekeeper Parameters​ Name Type Description _token contract SignUpToken the address of the SignUpToken contract","s":"constructor","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#constructor","p":1087},{"i":1104,"t":"function setMaciInstance(contract MACI _maci) public Adds an uninitialised MACI instance to allow for token signups Parameters​ Name Type Description _maci contract MACI The MACI contract interface to be stored","s":"setMaciInstance","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#setmaciinstance","p":1087},{"i":1106,"t":"function register(address _user, bytes _data) public Registers the user if they own the token with the token ID encoded in _data. Throws if the user does not own the token or if the token has already been used to sign up. Parameters​ Name Type Description _user address The user's Ethereum address. _data bytes The ABI-encoded tokenId as a uint256.","s":"register","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#register","p":1087},{"i":1108,"t":"This contract is the base contract for InitialVoiceCreditProxy contracts. It allows to set a custom initial voice credit balance for MACI's voters.","s":"InitialVoiceCreditProxy","u":"/docs/solidity-docs/initialVoiceCreditProxy/","h":"","p":1107},{"i":1110,"t":"function getVoiceCredits(address _user, bytes _data) public view virtual returns (uint256) Returns the initial voice credit balance for a new MACI's voter Parameters​ Name Type Description _user address the address of the voter _data bytes additional data Return Values​ Name Type Description [0] uint256 the balance","s":"getVoiceCredits","u":"/docs/solidity-docs/initialVoiceCreditProxy/","h":"#getvoicecredits","p":1107},{"i":1112,"t":"This contract allows to set a constant initial voice credit balance for MACI's voters.","s":"ConstantInitialVoiceCreditProxy","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","h":"","p":1111},{"i":1114,"t":"uint256 balance the balance to be returned by getVoiceCredits","s":"balance","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","h":"#balance","p":1111},{"i":1116,"t":"constructor(uint256 _balance) public payable creates a new ConstantInitialVoiceCreditProxy Parameters​ Name Type Description _balance uint256 the balance to be returned by getVoiceCredits","s":"constructor","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","h":"#constructor","p":1111},{"i":1118,"t":"function getVoiceCredits(address, bytes) public view returns (uint256) Returns the constant balance for any new MACI's voter Return Values​ Name Type Description [0] uint256 balance","s":"getVoiceCredits","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","h":"#getvoicecredits","p":1111},{"i":1121,"t":"function stateTreeDepth() external view returns (uint8) Get the depth of the state tree Return Values​ Name Type Description [0] uint8 The depth of the state tree","s":"stateTreeDepth","u":"/docs/solidity-docs/interfaces/IMACI","h":"#statetreedepth","p":1119},{"i":1123,"t":"function getStateAqRoot() external view returns (uint256) Get the root of the state accumulator queue Return Values​ Name Type Description [0] uint256 The root of the state accumulator queue","s":"getStateAqRoot","u":"/docs/solidity-docs/interfaces/IMACI","h":"#getstateaqroot","p":1119},{"i":1125,"t":"function mergeStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) external Merge the sub roots of the state accumulator queue Parameters​ Name Type Description _numSrQueueOps uint256 The number of queue operations _pollId uint256 The poll identifier","s":"mergeStateAqSubRoots","u":"/docs/solidity-docs/interfaces/IMACI","h":"#mergestateaqsubroots","p":1119},{"i":1127,"t":"function mergeStateAq(uint256 _pollId) external returns (uint256) Merge the state accumulator queue Parameters​ Name Type Description _pollId uint256 The poll identifier Return Values​ Name Type Description [0] uint256 The new root of the state accumulator queue after merging","s":"mergeStateAq","u":"/docs/solidity-docs/interfaces/IMACI","h":"#mergestateaq","p":1119},{"i":1129,"t":"function numSignUps() external view returns (uint256) Get the number of signups Return Values​ Name Type Description [0] uint256 The number of signups","s":"numSignUps","u":"/docs/solidity-docs/interfaces/IMACI","h":"#numsignups","p":1119},{"i":1131,"t":"function stateAq() external view returns (contract AccQueue) Get the state accumulator queue Return Values​ Name Type Description [0] contract AccQueue The state accumulator queue","s":"stateAq","u":"/docs/solidity-docs/interfaces/IMACI","h":"#stateaq","p":1119},{"i":1133,"t":"A contract which allows users to sign up, and deploy new polls","s":"MACI","u":"/docs/solidity-docs/MACI","h":"","p":1132},{"i":1135,"t":"uint8 STATE_TREE_DEPTH The state tree depth is fixed. As such it should be as large as feasible so that there can be as many users as possible. i.e. 5 ** 10 = 9765625 this should also match the parameter of the circom circuits.","s":"STATE_TREE_DEPTH","u":"/docs/solidity-docs/MACI","h":"#state_tree_depth","p":1132},{"i":1137,"t":"uint8 STATE_TREE_SUBDEPTH IMPORTANT: remember to change the ballot tree depth in contracts/ts/genEmptyBallotRootsContract.ts file if we change the state tree depth!","s":"STATE_TREE_SUBDEPTH","u":"/docs/solidity-docs/MACI","h":"#state_tree_subdepth","p":1132},{"i":1139,"t":"uint8 TREE_ARITY","s":"TREE_ARITY","u":"/docs/solidity-docs/MACI","h":"#tree_arity","p":1132},{"i":1141,"t":"uint256 BLANK_STATE_LEAF_HASH The hash of a blank state leaf","s":"BLANK_STATE_LEAF_HASH","u":"/docs/solidity-docs/MACI","h":"#blank_state_leaf_hash","p":1132},{"i":1143,"t":"uint256 nextPollId Each poll has an incrementing ID","s":"nextPollId","u":"/docs/solidity-docs/MACI","h":"#nextpollid","p":1132},{"i":1145,"t":"mapping(uint256 => contract Poll) polls A mapping of poll IDs to Poll contracts.","s":"polls","u":"/docs/solidity-docs/MACI","h":"#polls","p":1132},{"i":1147,"t":"uint256 numSignUps The number of signups","s":"numSignUps","u":"/docs/solidity-docs/MACI","h":"#numsignups","p":1132},{"i":1149,"t":"mapping(uint256 => uint256) numStateLeaves A mapping of block timestamps to the number of state leaves","s":"numStateLeaves","u":"/docs/solidity-docs/MACI","h":"#numstateleaves","p":1132},{"i":1151,"t":"contract TopupCredit topupCredit","s":"topupCredit","u":"/docs/solidity-docs/MACI","h":"#topupcredit","p":1132},{"i":1153,"t":"contract PollFactory pollFactory","s":"pollFactory","u":"/docs/solidity-docs/MACI","h":"#pollfactory","p":1132},{"i":1155,"t":"contract AccQueue stateAq The state AccQueue. Represents a mapping between each user's public key and their voice credit balance.","s":"stateAq","u":"/docs/solidity-docs/MACI","h":"#stateaq","p":1132},{"i":1157,"t":"contract SignUpGatekeeper signUpGatekeeper Address of the SignUpGatekeeper, a contract which determines whether a user may sign up to vote","s":"signUpGatekeeper","u":"/docs/solidity-docs/MACI","h":"#signupgatekeeper","p":1132},{"i":1159,"t":"contract InitialVoiceCreditProxy initialVoiceCreditProxy The contract which provides the values of the initial voice credit balance per user","s":"initialVoiceCreditProxy","u":"/docs/solidity-docs/MACI","h":"#initialvoicecreditproxy","p":1132},{"i":1161,"t":"uint256 signUpTimestamp When the contract was deployed. We assume that the signup period starts immediately upon deployment.","s":"signUpTimestamp","u":"/docs/solidity-docs/MACI","h":"#signuptimestamp","p":1132},{"i":1163,"t":"event SignUp(uint256 _stateIndex, struct DomainObjs.PubKey _userPubKey, uint256 _voiceCreditBalance, uint256 _timestamp)","s":"SignUp","u":"/docs/solidity-docs/MACI","h":"#signup","p":1132},{"i":1165,"t":"event DeployPoll(uint256 _pollId, address _pollAddr, struct DomainObjs.PubKey _pubKey)","s":"DeployPoll","u":"/docs/solidity-docs/MACI","h":"#deploypoll","p":1132},{"i":1167,"t":"modifier onlyPoll(uint256 _pollId) Only allow a Poll contract to call the modified function.","s":"onlyPoll","u":"/docs/solidity-docs/MACI","h":"#onlypoll","p":1132},{"i":1169,"t":"error CallerMustBePoll(address _caller) custom errors","s":"CallerMustBePoll","u":"/docs/solidity-docs/MACI","h":"#callermustbepoll","p":1132},{"i":1171,"t":"error PoseidonHashLibrariesNotLinked()","s":"PoseidonHashLibrariesNotLinked","u":"/docs/solidity-docs/MACI","h":"#poseidonhashlibrariesnotlinked","p":1132},{"i":1173,"t":"error TooManySignups()","s":"TooManySignups","u":"/docs/solidity-docs/MACI","h":"#toomanysignups","p":1132},{"i":1175,"t":"error MaciPubKeyLargerThanSnarkFieldSize()","s":"MaciPubKeyLargerThanSnarkFieldSize","u":"/docs/solidity-docs/MACI","h":"#macipubkeylargerthansnarkfieldsize","p":1132},{"i":1177,"t":"error PreviousPollNotCompleted(uint256 pollId)","s":"PreviousPollNotCompleted","u":"/docs/solidity-docs/MACI","h":"#previouspollnotcompleted","p":1132},{"i":1179,"t":"error PollDoesNotExist(uint256 pollId)","s":"PollDoesNotExist","u":"/docs/solidity-docs/MACI","h":"#polldoesnotexist","p":1132},{"i":1181,"t":"constructor(contract PollFactory _pollFactory, contract SignUpGatekeeper _signUpGatekeeper, contract InitialVoiceCreditProxy _initialVoiceCreditProxy, contract TopupCredit _topupCredit, uint8 _stateTreeDepth) public payable Create a new instance of the MACI contract. Parameters​ Name Type Description _pollFactory contract PollFactory The PollFactory contract _signUpGatekeeper contract SignUpGatekeeper The SignUpGatekeeper contract _initialVoiceCreditProxy contract InitialVoiceCreditProxy The InitialVoiceCreditProxy contract _topupCredit contract TopupCredit _stateTreeDepth uint8 The depth of the state tree","s":"constructor","u":"/docs/solidity-docs/MACI","h":"#constructor","p":1132},{"i":1183,"t":"function stateTreeDepth() external view returns (uint8) Get the depth of the state tree Return Values​ Name Type Description [0] uint8 The depth of the state tree","s":"stateTreeDepth","u":"/docs/solidity-docs/MACI","h":"#statetreedepth","p":1132},{"i":1185,"t":"function signUp(struct DomainObjs.PubKey _pubKey, bytes _signUpGatekeeperData, bytes _initialVoiceCreditProxyData) public Allows any eligible user sign up. The sign-up gatekeeper should prevent double sign-ups or ineligible users from doing so. This function will only succeed if the sign-up deadline has not passed. It also enqueues a fresh state leaf into the state AccQueue. Parameters​ Name Type Description _pubKey struct DomainObjs.PubKey The user's desired public key. _signUpGatekeeperData bytes Data to pass to the sign-up gatekeeper's register() function. For instance, the POAPGatekeeper or SignUpTokenGatekeeper requires this value to be the ABI-encoded token ID. _initialVoiceCreditProxyData bytes Data to pass to the InitialVoiceCreditProxy, which allows it to determine how many voice credits this user should have.","s":"signUp","u":"/docs/solidity-docs/MACI","h":"#signup-1","p":1132},{"i":1187,"t":"function deployPoll(uint256 _duration, struct Params.MaxValues _maxValues, struct Params.TreeDepths _treeDepths, struct DomainObjs.PubKey _coordinatorPubKey) public returns (address pollAddr) Deploy a new Poll contract. Parameters​ Name Type Description _duration uint256 How long should the Poll last for _maxValues struct Params.MaxValues The maximum number of vote options, and messages _treeDepths struct Params.TreeDepths The depth of the Merkle trees _coordinatorPubKey struct DomainObjs.PubKey The coordinator's public key Return Values​ Name Type Description pollAddr address a new Poll contract address","s":"deployPoll","u":"/docs/solidity-docs/MACI","h":"#deploypoll-1","p":1132},{"i":1189,"t":"function mergeStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) public Allow Poll contracts to merge the state subroots Parameters​ Name Type Description _numSrQueueOps uint256 Number of operations _pollId uint256 The active Poll ID","s":"mergeStateAqSubRoots","u":"/docs/solidity-docs/MACI","h":"#mergestateaqsubroots","p":1132},{"i":1191,"t":"function mergeStateAq(uint256 _pollId) public returns (uint256 root) Allow Poll contracts to merge the state root Parameters​ Name Type Description _pollId uint256 The active Poll ID Return Values​ Name Type Description root uint256 The calculated Merkle root","s":"mergeStateAq","u":"/docs/solidity-docs/MACI","h":"#mergestateaq","p":1132},{"i":1193,"t":"function getStateAqRoot() public view returns (uint256 root) Return the main root of the StateAq contract Return Values​ Name Type Description root uint256 The Merkle root","s":"getStateAqRoot","u":"/docs/solidity-docs/MACI","h":"#getstateaqroot","p":1132},{"i":1195,"t":"function getPoll(uint256 _pollId) public view returns (contract Poll poll) Get the Poll details Parameters​ Name Type Description _pollId uint256 The identifier of the Poll to retrieve Return Values​ Name Type Description poll contract Poll The Poll contract object","s":"getPoll","u":"/docs/solidity-docs/MACI","h":"#getpoll","p":1132},{"i":1197,"t":"MessageProcessor is used to process messages published by signup users. It will process message by batch due to large size of messages. After it finishes processing, the sbCommitment will be used for Tally and Subsidy contracts.","s":"MessageProcessor","u":"/docs/solidity-docs/MessageProcessor","h":"","p":1196},{"i":1199,"t":"error NoMoreMessages() custom errors","s":"NoMoreMessages","u":"/docs/solidity-docs/MessageProcessor","h":"#nomoremessages","p":1196},{"i":1201,"t":"error StateAqNotMerged()","s":"StateAqNotMerged","u":"/docs/solidity-docs/MessageProcessor","h":"#stateaqnotmerged","p":1196},{"i":1203,"t":"error MessageAqNotMerged()","s":"MessageAqNotMerged","u":"/docs/solidity-docs/MessageProcessor","h":"#messageaqnotmerged","p":1196},{"i":1205,"t":"error InvalidProcessMessageProof()","s":"InvalidProcessMessageProof","u":"/docs/solidity-docs/MessageProcessor","h":"#invalidprocessmessageproof","p":1196},{"i":1207,"t":"error VkNotSet()","s":"VkNotSet","u":"/docs/solidity-docs/MessageProcessor","h":"#vknotset","p":1196},{"i":1209,"t":"error MaxVoteOptionsTooLarge()","s":"MaxVoteOptionsTooLarge","u":"/docs/solidity-docs/MessageProcessor","h":"#maxvoteoptionstoolarge","p":1196},{"i":1211,"t":"error NumSignUpsTooLarge()","s":"NumSignUpsTooLarge","u":"/docs/solidity-docs/MessageProcessor","h":"#numsignupstoolarge","p":1196},{"i":1213,"t":"error CurrentMessageBatchIndexTooLarge()","s":"CurrentMessageBatchIndexTooLarge","u":"/docs/solidity-docs/MessageProcessor","h":"#currentmessagebatchindextoolarge","p":1196},{"i":1215,"t":"error BatchEndIndexTooLarge()","s":"BatchEndIndexTooLarge","u":"/docs/solidity-docs/MessageProcessor","h":"#batchendindextoolarge","p":1196},{"i":1217,"t":"bool processingComplete Whether there are unprocessed messages left","s":"processingComplete","u":"/docs/solidity-docs/MessageProcessor","h":"#processingcomplete","p":1196},{"i":1219,"t":"uint256 numBatchesProcessed The number of batches processed","s":"numBatchesProcessed","u":"/docs/solidity-docs/MessageProcessor","h":"#numbatchesprocessed","p":1196},{"i":1221,"t":"uint256 currentMessageBatchIndex The current message batch index. When the coordinator runs processMessages(), this action relates to messages currentMessageBatchIndex to currentMessageBatchIndex + messageBatchSize.","s":"currentMessageBatchIndex","u":"/docs/solidity-docs/MessageProcessor","h":"#currentmessagebatchindex","p":1196},{"i":1223,"t":"uint256 sbCommitment The commitment to the state and ballot roots","s":"sbCommitment","u":"/docs/solidity-docs/MessageProcessor","h":"#sbcommitment","p":1196},{"i":1225,"t":"contract Verifier verifier","s":"verifier","u":"/docs/solidity-docs/MessageProcessor","h":"#verifier","p":1196},{"i":1227,"t":"contract VkRegistry vkRegistry","s":"vkRegistry","u":"/docs/solidity-docs/MessageProcessor","h":"#vkregistry","p":1196},{"i":1229,"t":"constructor(contract Verifier _verifier, contract VkRegistry _vkRegistry) public payable Create a new instance Parameters​ Name Type Description _verifier contract Verifier The Verifier contract address _vkRegistry contract VkRegistry The VkRegistry contract address","s":"constructor","u":"/docs/solidity-docs/MessageProcessor","h":"#constructor","p":1196},{"i":1231,"t":"function processMessages(contract Poll _poll, uint256 _newSbCommitment, uint256[8] _proof) external Update the Poll's currentSbCommitment if the proof is valid. Parameters​ Name Type Description _poll contract Poll The poll to update _newSbCommitment uint256 The new state root and ballot root commitment after all messages are processed _proof uint256[8] The zk-SNARK proof","s":"processMessages","u":"/docs/solidity-docs/MessageProcessor","h":"#processmessages","p":1196},{"i":1233,"t":"function verifyProcessProof(contract Poll _poll, uint256 _currentMessageBatchIndex, uint256 _messageRoot, uint256 _currentSbCommitment, uint256 _newSbCommitment, uint256[8] _proof) internal view returns (bool isValid) Verify the proof for processMessage used to update the sbCommitment Parameters​ Name Type Description _poll contract Poll The Poll contract address _currentMessageBatchIndex uint256 The batch index of current message batch _messageRoot uint256 The message tree root _currentSbCommitment uint256 The current sbCommitment (state and ballot) _newSbCommitment uint256 The new sbCommitment after we update this message batch _proof uint256[8] The zk-SNARK proof Return Values​ Name Type Description isValid bool Whether the proof is valid","s":"verifyProcessProof","u":"/docs/solidity-docs/MessageProcessor","h":"#verifyprocessproof","p":1196},{"i":1235,"t":"function genProcessMessagesPublicInputHash(contract Poll _poll, uint256 _currentMessageBatchIndex, uint256 _messageRoot, uint256 _numSignUps, uint256 _currentSbCommitment, uint256 _newSbCommitment) public view returns (uint256 inputHash) Returns the SHA256 hash of the packed values (see genProcessMessagesPackedVals), the hash of the coordinator's public key, the message root, and the commitment to the current state root and ballot root. By passing the SHA256 hash of these values to the circuit as a single public input and the preimage as private inputs, we reduce its verification gas cost though the number of constraints will be higher and proving time will be longer. Parameters​ Name Type Description _poll contract Poll The Poll contract address _currentMessageBatchIndex uint256 The batch index of current message batch _messageRoot uint256 _numSignUps uint256 The number of users that signup _currentSbCommitment uint256 The current sbCommitment (state and ballot root) _newSbCommitment uint256 The new sbCommitment after we update this message batch Return Values​ Name Type Description inputHash uint256 Returns the SHA256 hash of the packed values","s":"genProcessMessagesPublicInputHash","u":"/docs/solidity-docs/MessageProcessor","h":"#genprocessmessagespublicinputhash","p":1196},{"i":1237,"t":"function genProcessMessagesPackedVals(contract Poll _poll, uint256 _currentMessageBatchIndex, uint256 _numSignUps) public view returns (uint256 result) One of the inputs to the ProcessMessages circuit is a 250-bit representation of four 50-bit values. This function generates this 250-bit value, which consists of the maximum number of vote options, the number of signups, the current message batch index, and the end index of the current batch. Parameters​ Name Type Description _poll contract Poll the poll contract _currentMessageBatchIndex uint256 batch index of current message batch _numSignUps uint256 number of users that signup Return Values​ Name Type Description result uint256 The packed value","s":"genProcessMessagesPackedVals","u":"/docs/solidity-docs/MessageProcessor","h":"#genprocessmessagespackedvals","p":1196},{"i":1239,"t":"function updateMessageProcessingData(uint256 _newSbCommitment, uint256 _currentMessageBatchIndex, bool _processingComplete) internal update message processing state variables Parameters​ Name Type Description _newSbCommitment uint256 sbCommitment to be updated _currentMessageBatchIndex uint256 currentMessageBatchIndex to be updated _processingComplete bool update flag that indicate processing is finished or not","s":"updateMessageProcessingData","u":"/docs/solidity-docs/MessageProcessor","h":"#updatemessageprocessingdata","p":1196},{"i":1241,"t":"A Poll contract allows voters to submit encrypted messages which can be either votes, key change messages or topup messages. Do not deploy this directly. Use PollFactory.deploy() which performs some checks on the Poll constructor arguments.","s":"Poll","u":"/docs/solidity-docs/Poll","h":"","p":1240},{"i":1243,"t":"bool isInit","s":"isInit","u":"/docs/solidity-docs/Poll","h":"#isinit","p":1240},{"i":1245,"t":"struct DomainObjs.PubKey coordinatorPubKey","s":"coordinatorPubKey","u":"/docs/solidity-docs/Poll","h":"#coordinatorpubkey","p":1240},{"i":1247,"t":"uint256 mergedStateRoot","s":"mergedStateRoot","u":"/docs/solidity-docs/Poll","h":"#mergedstateroot","p":1240},{"i":1249,"t":"uint256 coordinatorPubKeyHash","s":"coordinatorPubKeyHash","u":"/docs/solidity-docs/Poll","h":"#coordinatorpubkeyhash","p":1240},{"i":1251,"t":"uint256 deployTime","s":"deployTime","u":"/docs/solidity-docs/Poll","h":"#deploytime","p":1240},{"i":1253,"t":"uint256 duration","s":"duration","u":"/docs/solidity-docs/Poll","h":"#duration","p":1240},{"i":1255,"t":"bool stateAqMerged","s":"stateAqMerged","u":"/docs/solidity-docs/Poll","h":"#stateaqmerged","p":1240},{"i":1257,"t":"uint256 currentSbCommitment","s":"currentSbCommitment","u":"/docs/solidity-docs/Poll","h":"#currentsbcommitment","p":1240},{"i":1259,"t":"uint256 numMessages","s":"numMessages","u":"/docs/solidity-docs/Poll","h":"#nummessages","p":1240},{"i":1261,"t":"struct Params.MaxValues maxValues","s":"maxValues","u":"/docs/solidity-docs/Poll","h":"#maxvalues","p":1240},{"i":1263,"t":"struct Params.TreeDepths treeDepths","s":"treeDepths","u":"/docs/solidity-docs/Poll","h":"#treedepths","p":1240},{"i":1265,"t":"struct Params.BatchSizes batchSizes","s":"batchSizes","u":"/docs/solidity-docs/Poll","h":"#batchsizes","p":1240},{"i":1267,"t":"error VotingPeriodOver() custom errors","s":"VotingPeriodOver","u":"/docs/solidity-docs/Poll","h":"#votingperiodover","p":1240},{"i":1269,"t":"error VotingPeriodNotOver()","s":"VotingPeriodNotOver","u":"/docs/solidity-docs/Poll","h":"#votingperiodnotover","p":1240},{"i":1271,"t":"error PollAlreadyInit()","s":"PollAlreadyInit","u":"/docs/solidity-docs/Poll","h":"#pollalreadyinit","p":1240},{"i":1273,"t":"error TooManyMessages()","s":"TooManyMessages","u":"/docs/solidity-docs/Poll","h":"#toomanymessages","p":1240},{"i":1275,"t":"error MaciPubKeyLargerThanSnarkFieldSize()","s":"MaciPubKeyLargerThanSnarkFieldSize","u":"/docs/solidity-docs/Poll","h":"#macipubkeylargerthansnarkfieldsize","p":1240},{"i":1277,"t":"error StateAqAlreadyMerged()","s":"StateAqAlreadyMerged","u":"/docs/solidity-docs/Poll","h":"#stateaqalreadymerged","p":1240},{"i":1279,"t":"error StateAqSubtreesNeedMerge()","s":"StateAqSubtreesNeedMerge","u":"/docs/solidity-docs/Poll","h":"#stateaqsubtreesneedmerge","p":1240},{"i":1281,"t":"event PublishMessage(struct DomainObjs.Message _message, struct DomainObjs.PubKey _encPubKey)","s":"PublishMessage","u":"/docs/solidity-docs/Poll","h":"#publishmessage","p":1240},{"i":1283,"t":"event TopupMessage(struct DomainObjs.Message _message)","s":"TopupMessage","u":"/docs/solidity-docs/Poll","h":"#topupmessage","p":1240},{"i":1285,"t":"event MergeMaciStateAqSubRoots(uint256 _numSrQueueOps)","s":"MergeMaciStateAqSubRoots","u":"/docs/solidity-docs/Poll","h":"#mergemacistateaqsubroots","p":1240},{"i":1287,"t":"event MergeMaciStateAq(uint256 _stateRoot)","s":"MergeMaciStateAq","u":"/docs/solidity-docs/Poll","h":"#mergemacistateaq","p":1240},{"i":1289,"t":"event MergeMessageAqSubRoots(uint256 _numSrQueueOps)","s":"MergeMessageAqSubRoots","u":"/docs/solidity-docs/Poll","h":"#mergemessageaqsubroots","p":1240},{"i":1291,"t":"event MergeMessageAq(uint256 _messageRoot)","s":"MergeMessageAq","u":"/docs/solidity-docs/Poll","h":"#mergemessageaq","p":1240},{"i":1293,"t":"struct Params.ExtContracts extContracts","s":"extContracts","u":"/docs/solidity-docs/Poll","h":"#extcontracts","p":1240},{"i":1295,"t":"constructor(uint256 _duration, struct Params.MaxValues _maxValues, struct Params.TreeDepths _treeDepths, struct Params.BatchSizes _batchSizes, struct DomainObjs.PubKey _coordinatorPubKey, struct Params.ExtContracts _extContracts) public payable Each MACI instance can have multiple Polls. When a Poll is deployed, its voting period starts immediately. Parameters​ Name Type Description _duration uint256 The duration of the voting period, in seconds _maxValues struct Params.MaxValues The maximum number of signups and messages _treeDepths struct Params.TreeDepths The depths of the merkle trees _batchSizes struct Params.BatchSizes The batch sizes for processing _coordinatorPubKey struct DomainObjs.PubKey The coordinator's public key _extContracts struct Params.ExtContracts The external contracts","s":"constructor","u":"/docs/solidity-docs/Poll","h":"#constructor","p":1240},{"i":1297,"t":"modifier isAfterVotingDeadline() A modifier that causes the function to revert if the voting period is not over.","s":"isAfterVotingDeadline","u":"/docs/solidity-docs/Poll","h":"#isaftervotingdeadline","p":1240},{"i":1299,"t":"modifier isWithinVotingDeadline() A modifier that causes the function to revert if the voting period is over","s":"isWithinVotingDeadline","u":"/docs/solidity-docs/Poll","h":"#iswithinvotingdeadline","p":1240},{"i":1301,"t":"function init() public The initialization function. Should be called immediately after Poll creation and messageAq ownership transferred","s":"init","u":"/docs/solidity-docs/Poll","h":"#init","p":1240},{"i":1303,"t":"function topup(uint256 stateIndex, uint256 amount) public Allows to publish a Topup message Parameters​ Name Type Description stateIndex uint256 The index of user in the state queue amount uint256 The amount of credits to topup","s":"topup","u":"/docs/solidity-docs/Poll","h":"#topup","p":1240},{"i":1305,"t":"function publishMessage(struct DomainObjs.Message _message, struct DomainObjs.PubKey _encPubKey) public Allows anyone to publish a message (an encrypted command and signature). This function also enqueues the message. Parameters​ Name Type Description _message struct DomainObjs.Message The message to publish _encPubKey struct DomainObjs.PubKey An epheremal public key which can be combined with the coordinator's private key to generate an ECDH shared key with which to encrypt the message.","s":"publishMessage","u":"/docs/solidity-docs/Poll","h":"#publishmessage-1","p":1240},{"i":1307,"t":"function mergeMaciStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) public The first step of merging the MACI state AccQueue. This allows the ProcessMessages circuit to access the latest state tree and ballots via currentSbCommitment.","s":"mergeMaciStateAqSubRoots","u":"/docs/solidity-docs/Poll","h":"#mergemacistateaqsubroots-1","p":1240},{"i":1309,"t":"function mergeMaciStateAq(uint256 _pollId) public The second step of merging the MACI state AccQueue. This allows the ProcessMessages circuit to access the latest state tree and ballots via currentSbCommitment. Parameters​ Name Type Description _pollId uint256 The ID of the Poll","s":"mergeMaciStateAq","u":"/docs/solidity-docs/Poll","h":"#mergemacistateaq-1","p":1240},{"i":1311,"t":"function mergeMessageAqSubRoots(uint256 _numSrQueueOps) public The first step in merging the message AccQueue so that the ProcessMessages circuit can access the message root. Parameters​ Name Type Description _numSrQueueOps uint256 The number of subroot queue operations to perform","s":"mergeMessageAqSubRoots","u":"/docs/solidity-docs/Poll","h":"#mergemessageaqsubroots-1","p":1240},{"i":1313,"t":"function mergeMessageAq() public The second step in merging the message AccQueue so that the ProcessMessages circuit can access the message root.","s":"mergeMessageAq","u":"/docs/solidity-docs/Poll","h":"#mergemessageaq-1","p":1240},{"i":1315,"t":"function getDeployTimeAndDuration() public view returns (uint256 _deployTime, uint256 _duration) Returns the Poll's deploy time and duration Return Values​ Name Type Description _deployTime uint256 The deployment timestamp _duration uint256 The duration of the poll","s":"getDeployTimeAndDuration","u":"/docs/solidity-docs/Poll","h":"#getdeploytimeandduration","p":1240},{"i":1317,"t":"function numSignUpsAndMessages() public view returns (uint256 numSignups, uint256 numMsgs) The number of messages which have been processed and the number of signups Return Values​ Name Type Description numSignups uint256 The number of signups numMsgs uint256 The number of messages sent by voters","s":"numSignUpsAndMessages","u":"/docs/solidity-docs/Poll","h":"#numsignupsandmessages","p":1240},{"i":1319,"t":"A factory contract which deploys Poll contracts. It allows the MACI contract size to stay within the limit set by EIP-170.","s":"PollFactory","u":"/docs/solidity-docs/PollFactory","h":"","p":1318},{"i":1321,"t":"uint256 TREE_ARITY","s":"TREE_ARITY","u":"/docs/solidity-docs/PollFactory","h":"#tree_arity","p":1318},{"i":1323,"t":"error InvalidMaxValues()","s":"InvalidMaxValues","u":"/docs/solidity-docs/PollFactory","h":"#invalidmaxvalues","p":1318},{"i":1325,"t":"constructor() public payable The PollFactory constructor","s":"constructor","u":"/docs/solidity-docs/PollFactory","h":"#constructor","p":1318},{"i":1327,"t":"function deploy(uint256 _duration, struct Params.MaxValues _maxValues, struct Params.TreeDepths _treeDepths, struct Params.BatchSizes _batchSizes, struct DomainObjs.PubKey _coordinatorPubKey, contract IMACI _maci, contract TopupCredit _topupCredit, address _pollOwner) public returns (contract Poll poll) Deploy a new Poll contract and AccQueue contract for messages. Parameters​ Name Type Description _duration uint256 The duration of the poll _maxValues struct Params.MaxValues The max values for the poll _treeDepths struct Params.TreeDepths The depths of the merkle trees _batchSizes struct Params.BatchSizes The batch sizes for processing _coordinatorPubKey struct DomainObjs.PubKey The coordinator's public key _maci contract IMACI The MACI contract interface reference _topupCredit contract TopupCredit The TopupCredit contract _pollOwner address The owner of the poll Return Values​ Name Type Description poll contract Poll The deployed Poll contract","s":"deploy","u":"/docs/solidity-docs/PollFactory","h":"#deploy","p":1318},{"i":1329,"t":"This contract is an ERC721 token contract which can be used to allow users to sign up for a poll.","s":"SignUpToken","u":"/docs/solidity-docs/SignUpToken","h":"","p":1328},{"i":1331,"t":"constructor() public payable The constructor which calls the ERC721 constructor","s":"constructor","u":"/docs/solidity-docs/SignUpToken","h":"#constructor","p":1328},{"i":1333,"t":"function giveToken(address to, uint256 curTokenId) public Gives an ERC721 token to an address Parameters​ Name Type Description to address The address to give the token to curTokenId uint256 The token id to give","s":"giveToken","u":"/docs/solidity-docs/SignUpToken","h":"#givetoken","p":1328},{"i":1335,"t":"This contract is used to verify that the subsidy calculations are correct. It is also used to update the subsidy commitment if the proof is valid.","s":"Subsidy","u":"/docs/solidity-docs/Subsidy","h":"","p":1334},{"i":1337,"t":"uint256 rbi","s":"rbi","u":"/docs/solidity-docs/Subsidy","h":"#rbi","p":1334},{"i":1339,"t":"uint256 cbi","s":"cbi","u":"/docs/solidity-docs/Subsidy","h":"#cbi","p":1334},{"i":1341,"t":"uint256 sbCommitment","s":"sbCommitment","u":"/docs/solidity-docs/Subsidy","h":"#sbcommitment","p":1334},{"i":1343,"t":"uint256 subsidyCommitment","s":"subsidyCommitment","u":"/docs/solidity-docs/Subsidy","h":"#subsidycommitment","p":1334},{"i":1345,"t":"uint8 TREE_ARITY","s":"TREE_ARITY","u":"/docs/solidity-docs/Subsidy","h":"#tree_arity","p":1334},{"i":1347,"t":"error ProcessingNotComplete()","s":"ProcessingNotComplete","u":"/docs/solidity-docs/Subsidy","h":"#processingnotcomplete","p":1334},{"i":1349,"t":"error InvalidSubsidyProof()","s":"InvalidSubsidyProof","u":"/docs/solidity-docs/Subsidy","h":"#invalidsubsidyproof","p":1334},{"i":1351,"t":"error AllSubsidyCalculated()","s":"AllSubsidyCalculated","u":"/docs/solidity-docs/Subsidy","h":"#allsubsidycalculated","p":1334},{"i":1353,"t":"error VkNotSet()","s":"VkNotSet","u":"/docs/solidity-docs/Subsidy","h":"#vknotset","p":1334},{"i":1355,"t":"error NumSignUpsTooLarge()","s":"NumSignUpsTooLarge","u":"/docs/solidity-docs/Subsidy","h":"#numsignupstoolarge","p":1334},{"i":1357,"t":"error RbiTooLarge()","s":"RbiTooLarge","u":"/docs/solidity-docs/Subsidy","h":"#rbitoolarge","p":1334},{"i":1359,"t":"error CbiTooLarge()","s":"CbiTooLarge","u":"/docs/solidity-docs/Subsidy","h":"#cbitoolarge","p":1334},{"i":1361,"t":"contract Verifier verifier","s":"verifier","u":"/docs/solidity-docs/Subsidy","h":"#verifier","p":1334},{"i":1363,"t":"contract VkRegistry vkRegistry","s":"vkRegistry","u":"/docs/solidity-docs/Subsidy","h":"#vkregistry","p":1334},{"i":1365,"t":"constructor(contract Verifier _verifier, contract VkRegistry _vkRegistry) public payable Create a new Subsidy contract Parameters​ Name Type Description _verifier contract Verifier The Verifier contract _vkRegistry contract VkRegistry The VkRegistry contract","s":"constructor","u":"/docs/solidity-docs/Subsidy","h":"#constructor","p":1334},{"i":1367,"t":"function updateSbCommitment(contract MessageProcessor _mp) public Update the currentSbCommitment if the proof is valid. currentSbCommitment is the commitment to the state and ballot roots Parameters​ Name Type Description _mp contract MessageProcessor The MessageProcessor contract","s":"updateSbCommitment","u":"/docs/solidity-docs/Subsidy","h":"#updatesbcommitment","p":1334},{"i":1369,"t":"function genSubsidyPackedVals(uint256 _numSignUps) public view returns (uint256 result) Generate the packed values for the subsidy proof Parameters​ Name Type Description _numSignUps uint256 The number of signups Return Values​ Name Type Description result uint256 The packed values","s":"genSubsidyPackedVals","u":"/docs/solidity-docs/Subsidy","h":"#gensubsidypackedvals","p":1334},{"i":1371,"t":"function genSubsidyPublicInputHash(uint256 _numSignUps, uint256 _newSubsidyCommitment) public view returns (uint256 inputHash) Generate the public input hash for the subsidy proof Parameters​ Name Type Description _numSignUps uint256 The number of signups _newSubsidyCommitment uint256 The new subsidy commitment Return Values​ Name Type Description inputHash uint256 The public input hash","s":"genSubsidyPublicInputHash","u":"/docs/solidity-docs/Subsidy","h":"#gensubsidypublicinputhash","p":1334},{"i":1373,"t":"function updateSubsidy(contract Poll _poll, contract MessageProcessor _mp, uint256 _newSubsidyCommitment, uint256[8] _proof) external Update the subsidy commitment if the proof is valid Parameters​ Name Type Description _poll contract Poll The Poll contract _mp contract MessageProcessor The MessageProcessor contract _newSubsidyCommitment uint256 The new subsidy commitment _proof uint256[8] The proof","s":"updateSubsidy","u":"/docs/solidity-docs/Subsidy","h":"#updatesubsidy","p":1334},{"i":1375,"t":"function increaseSubsidyIndex(uint256 batchSize, uint256 numLeaves) internal Increase the subsidy batch index (rbi, cbi) to next, it will try to cbi++ if the whole batch can fit into numLeaves otherwise it will increase row index: rbi++. Each batch for subsidy calculation is 2 dimensional: batchSize*batchSize Parameters​ Name Type Description batchSize uint256 the size of 1 dimensional batch over the signup users numLeaves uint256 total number of leaves in stateTree, i.e. number of signup users","s":"increaseSubsidyIndex","u":"/docs/solidity-docs/Subsidy","h":"#increasesubsidyindex","p":1334},{"i":1377,"t":"function verifySubsidyProof(contract Poll _poll, uint256[8] _proof, uint256 _numSignUps, uint256 _newSubsidyCommitment) public view returns (bool isValid) Verify the subsidy proof using the Groth16 on chain verifier Parameters​ Name Type Description _poll contract Poll The Poll contract _proof uint256[8] The proof _numSignUps uint256 The number of signups _newSubsidyCommitment uint256 The new subsidy commitment Return Values​ Name Type Description isValid bool True if the proof is valid","s":"verifySubsidyProof","u":"/docs/solidity-docs/Subsidy","h":"#verifysubsidyproof","p":1334},{"i":1379,"t":"The Tally contract is used during votes tallying and by users to verify the tally results.","s":"Tally","u":"/docs/solidity-docs/Tally","h":"","p":1378},{"i":1381,"t":"error ProcessingNotComplete()","s":"ProcessingNotComplete","u":"/docs/solidity-docs/Tally","h":"#processingnotcomplete","p":1378},{"i":1383,"t":"error InvalidTallyVotesProof()","s":"InvalidTallyVotesProof","u":"/docs/solidity-docs/Tally","h":"#invalidtallyvotesproof","p":1378},{"i":1385,"t":"error AllBallotsTallied()","s":"AllBallotsTallied","u":"/docs/solidity-docs/Tally","h":"#allballotstallied","p":1378},{"i":1387,"t":"error NumSignUpsTooLarge()","s":"NumSignUpsTooLarge","u":"/docs/solidity-docs/Tally","h":"#numsignupstoolarge","p":1378},{"i":1389,"t":"error BatchStartIndexTooLarge()","s":"BatchStartIndexTooLarge","u":"/docs/solidity-docs/Tally","h":"#batchstartindextoolarge","p":1378},{"i":1391,"t":"error TallyBatchSizeTooLarge()","s":"TallyBatchSizeTooLarge","u":"/docs/solidity-docs/Tally","h":"#tallybatchsizetoolarge","p":1378},{"i":1393,"t":"uint256 tallyCommitment The commitment to the tally results. Its initial value is 0, but after the tally of each batch is proven on-chain via a zk-SNARK, it should be updated to: hash3( hashLeftRight(merkle root of current results, salt0) hashLeftRight(number of spent voice credits, salt1), hashLeftRight(merkle root of the no. of spent voice credits per vote option, salt2) ) Where each salt is unique and the merkle roots are of arrays of leaves TREE_ARITY ** voteOptionTreeDepth long.","s":"tallyCommitment","u":"/docs/solidity-docs/Tally","h":"#tallycommitment","p":1378},{"i":1395,"t":"uint256 tallyBatchNum","s":"tallyBatchNum","u":"/docs/solidity-docs/Tally","h":"#tallybatchnum","p":1378},{"i":1397,"t":"uint256 sbCommitment","s":"sbCommitment","u":"/docs/solidity-docs/Tally","h":"#sbcommitment","p":1378},{"i":1399,"t":"contract Verifier verifier","s":"verifier","u":"/docs/solidity-docs/Tally","h":"#verifier","p":1378},{"i":1401,"t":"contract VkRegistry vkRegistry","s":"vkRegistry","u":"/docs/solidity-docs/Tally","h":"#vkregistry","p":1378},{"i":1403,"t":"constructor(contract Verifier _verifier, contract VkRegistry _vkRegistry) public payable Create a new Tally contract Parameters​ Name Type Description _verifier contract Verifier The Verifier contract _vkRegistry contract VkRegistry The VkRegistry contract","s":"constructor","u":"/docs/solidity-docs/Tally","h":"#constructor","p":1378},{"i":1405,"t":"function genTallyVotesPackedVals(uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize) public pure returns (uint256 result) Pack the batch start index and number of signups into a 100-bit value. Parameters​ Name Type Description _numSignUps uint256 _batchStartIndex uint256 _tallyBatchSize uint256 Return Values​ Name Type Description result uint256 an uint256 representing the 3 inputs packed together","s":"genTallyVotesPackedVals","u":"/docs/solidity-docs/Tally","h":"#gentallyvotespackedvals","p":1378},{"i":1407,"t":"function genTallyVotesPublicInputHash(uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize, uint256 _newTallyCommitment) public view returns (uint256 inputHash) generate hash of public inputs for tally circuit Parameters​ Name Type Description _numSignUps uint256 _batchStartIndex uint256 _tallyBatchSize uint256 _newTallyCommitment uint256 Return Values​ Name Type Description inputHash uint256 hash of public inputs","s":"genTallyVotesPublicInputHash","u":"/docs/solidity-docs/Tally","h":"#gentallyvotespublicinputhash","p":1378},{"i":1409,"t":"function updateSbCommitment(contract MessageProcessor _mp) public Update the state and ballot root commitment Parameters​ Name Type Description _mp contract MessageProcessor the address of the MessageProcessor contract","s":"updateSbCommitment","u":"/docs/solidity-docs/Tally","h":"#updatesbcommitment","p":1378},{"i":1411,"t":"function tallyVotes(contract Poll _poll, contract MessageProcessor _mp, uint256 _newTallyCommitment, uint256[8] _proof) public Verify the result of a tally batch Parameters​ Name Type Description _poll contract Poll contract address of the poll proof to be verified _mp contract MessageProcessor the address of the MessageProcessor contract _newTallyCommitment uint256 the new tally commitment to be verified _proof uint256[8] the proof generated after tallying this batch","s":"tallyVotes","u":"/docs/solidity-docs/Tally","h":"#tallyvotes","p":1378},{"i":1413,"t":"function verifyTallyProof(contract Poll _poll, uint256[8] _proof, uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize, uint256 _newTallyCommitment) public view returns (bool isValid) Verify the tally proof using the verifying key Parameters​ Name Type Description _poll contract Poll contract address of the poll proof to be verified _proof uint256[8] the proof generated after processing all messages _numSignUps uint256 number of signups for a given poll _batchStartIndex uint256 the number of batches multiplied by the size of the batch _tallyBatchSize uint256 batch size for the tally _newTallyCommitment uint256 the tally commitment to be verified at a given batch index Return Values​ Name Type Description isValid bool whether the proof is valid","s":"verifyTallyProof","u":"/docs/solidity-docs/Tally","h":"#verifytallyproof","p":1378},{"i":1415,"t":"function computeMerkleRootFromPath(uint8 _depth, uint256 _index, uint256 _leaf, uint256[][] _pathElements) internal pure returns (uint256 current) Compute the merkle root from the path elements and a leaf Parameters​ Name Type Description _depth uint8 the depth of the merkle tree _index uint256 the index of the leaf _leaf uint256 the leaf _pathElements uint256[][] the path elements to reconstruct the merkle root Return Values​ Name Type Description current uint256 The merkle root","s":"computeMerkleRootFromPath","u":"/docs/solidity-docs/Tally","h":"#computemerklerootfrompath","p":1378},{"i":1417,"t":"function verifySpentVoiceCredits(uint256 _totalSpent, uint256 _totalSpentSalt, uint256 _resultCommitment, uint256 _perVOSpentVoiceCreditsHash) public view returns (bool isValid) Verify the number of spent voice credits from the tally.json Parameters​ Name Type Description _totalSpent uint256 spent field retrieved in the totalSpentVoiceCredits object _totalSpentSalt uint256 the corresponding salt in the totalSpentVoiceCredit object _resultCommitment uint256 hashLeftRight(merkle root of the results.tally, results.salt) in tally.json file _perVOSpentVoiceCreditsHash uint256 hashLeftRight(merkle root of the no spent voice credits per vote option, salt) Return Values​ Name Type Description isValid bool Whether the provided values are valid","s":"verifySpentVoiceCredits","u":"/docs/solidity-docs/Tally","h":"#verifyspentvoicecredits","p":1378},{"i":1419,"t":"function verifyPerVOSpentVoiceCredits(uint256 _voteOptionIndex, uint256 _spent, uint256[][] _spentProof, uint256 _spentSalt, uint8 _voteOptionTreeDepth, uint256 _spentVoiceCreditsHash, uint256 _resultCommitment) public view returns (bool isValid) Return Values​ Name Type Description isValid bool Whether the provided proof is valid","s":"verifyPerVOSpentVoiceCredits","u":"/docs/solidity-docs/Tally","h":"#verifypervospentvoicecredits","p":1378},{"i":1421,"t":"function verifyTallyResult(uint256 _voteOptionIndex, uint256 _tallyResult, uint256[][] _tallyResultProof, uint256 _tallyResultSalt, uint8 _voteOptionTreeDepth, uint256 _spentVoiceCreditsHash, uint256 _perVOSpentVoiceCreditsHash) public view returns (bool isValid) Verify the result generated from the tally.json Parameters​ Name Type Description _voteOptionIndex uint256 the index of the vote option to verify the correctness of the tally _tallyResult uint256 Flattened array of the tally _tallyResultProof uint256[][] Corresponding proof of the tally result _tallyResultSalt uint256 the respective salt in the results object in the tally.json _voteOptionTreeDepth uint8 depth of the vote option tree _spentVoiceCreditsHash uint256 hashLeftRight(number of spent voice credits, spent salt) _perVOSpentVoiceCreditsHash uint256 hashLeftRight(merkle root of the no spent voice credits per vote option, perVOSpentVoiceCredits salt) Return Values​ Name Type Description isValid bool Whether the provided proof is valid","s":"verifyTallyResult","u":"/docs/solidity-docs/Tally","h":"#verifytallyresult","p":1378},{"i":1423,"t":"A contract representing a token used to topup a MACI's voter credits","s":"TopupCredit","u":"/docs/solidity-docs/TopupCredit","h":"","p":1422},{"i":1425,"t":"uint8 DECIMALS","s":"DECIMALS","u":"/docs/solidity-docs/TopupCredit","h":"#decimals","p":1422},{"i":1427,"t":"uint256 MAXIMUM_AIRDROP_AMOUNT","s":"MAXIMUM_AIRDROP_AMOUNT","u":"/docs/solidity-docs/TopupCredit","h":"#maximum_airdrop_amount","p":1422},{"i":1429,"t":"error ExceedLimit() custom errors","s":"ExceedLimit","u":"/docs/solidity-docs/TopupCredit","h":"#exceedlimit","p":1422},{"i":1431,"t":"constructor() public payable create a new TopupCredit token","s":"constructor","u":"/docs/solidity-docs/TopupCredit","h":"#constructor","p":1422},{"i":1433,"t":"function airdropTo(address account, uint256 amount) public mint tokens to an account Parameters​ Name Type Description account address the account to mint tokens to amount uint256 the amount of tokens to mint","s":"airdropTo","u":"/docs/solidity-docs/TopupCredit","h":"#airdropto","p":1422},{"i":1435,"t":"function airdrop(uint256 amount) public mint tokens to the contract owner Parameters​ Name Type Description amount uint256 the amount of tokens to mint","s":"airdrop","u":"/docs/solidity-docs/TopupCredit","h":"#airdrop","p":1422},{"i":1437,"t":"This contract defines a Merkle tree where each leaf insertion only updates a subtree. To obtain the main tree root, the contract owner must merge the subtrees together. Merging subtrees requires at least 2 operations: mergeSubRoots(), and merge(). To get around the gas limit, the mergeSubRoots() can be performed in multiple transactions.","s":"AccQueue","u":"/docs/solidity-docs/trees/AccQueue","h":"","p":1436},{"i":1439,"t":"uint256 MAX_DEPTH","s":"MAX_DEPTH","u":"/docs/solidity-docs/trees/AccQueue","h":"#max_depth","p":1436},{"i":1441,"t":"struct Queue { uint256[4][33] levels; uint256[33] indices; }","s":"Queue","u":"/docs/solidity-docs/trees/AccQueue","h":"#queue","p":1436},{"i":1443,"t":"uint256 SUB_DEPTH","s":"SUB_DEPTH","u":"/docs/solidity-docs/trees/AccQueue","h":"#sub_depth","p":1436},{"i":1445,"t":"uint256 HASH_LENGTH","s":"HASH_LENGTH","u":"/docs/solidity-docs/trees/AccQueue","h":"#hash_length","p":1436},{"i":1447,"t":"uint256 SUB_TREE_CAPACITY","s":"SUB_TREE_CAPACITY","u":"/docs/solidity-docs/trees/AccQueue","h":"#sub_tree_capacity","p":1436},{"i":1449,"t":"bool isBinary","s":"isBinary","u":"/docs/solidity-docs/trees/AccQueue","h":"#isbinary","p":1436},{"i":1451,"t":"uint256 currentSubtreeIndex","s":"currentSubtreeIndex","u":"/docs/solidity-docs/trees/AccQueue","h":"#currentsubtreeindex","p":1436},{"i":1453,"t":"struct AccQueue.Queue leafQueue","s":"leafQueue","u":"/docs/solidity-docs/trees/AccQueue","h":"#leafqueue","p":1436},{"i":1455,"t":"struct AccQueue.Queue subRootQueue","s":"subRootQueue","u":"/docs/solidity-docs/trees/AccQueue","h":"#subrootqueue","p":1436},{"i":1457,"t":"mapping(uint256 => uint256) subRoots","s":"subRoots","u":"/docs/solidity-docs/trees/AccQueue","h":"#subroots","p":1436},{"i":1459,"t":"uint256[33] mainRoots","s":"mainRoots","u":"/docs/solidity-docs/trees/AccQueue","h":"#mainroots","p":1436},{"i":1461,"t":"bool subTreesMerged","s":"subTreesMerged","u":"/docs/solidity-docs/trees/AccQueue","h":"#subtreesmerged","p":1436},{"i":1463,"t":"bool treeMerged","s":"treeMerged","u":"/docs/solidity-docs/trees/AccQueue","h":"#treemerged","p":1436},{"i":1465,"t":"uint256 smallSRTroot","s":"smallSRTroot","u":"/docs/solidity-docs/trees/AccQueue","h":"#smallsrtroot","p":1436},{"i":1467,"t":"uint256 nextSubRootIndex","s":"nextSubRootIndex","u":"/docs/solidity-docs/trees/AccQueue","h":"#nextsubrootindex","p":1436},{"i":1469,"t":"uint256 numLeaves","s":"numLeaves","u":"/docs/solidity-docs/trees/AccQueue","h":"#numleaves","p":1436},{"i":1471,"t":"error SubDepthCannotBeZero() custom errors","s":"SubDepthCannotBeZero","u":"/docs/solidity-docs/trees/AccQueue","h":"#subdepthcannotbezero","p":1436},{"i":1473,"t":"error SubdepthTooLarge(uint256 _subDepth, uint256 max)","s":"SubdepthTooLarge","u":"/docs/solidity-docs/trees/AccQueue","h":"#subdepthtoolarge","p":1436},{"i":1475,"t":"error InvalidHashLength()","s":"InvalidHashLength","u":"/docs/solidity-docs/trees/AccQueue","h":"#invalidhashlength","p":1436},{"i":1477,"t":"error DepthCannotBeZero()","s":"DepthCannotBeZero","u":"/docs/solidity-docs/trees/AccQueue","h":"#depthcannotbezero","p":1436},{"i":1479,"t":"error SubTreesAlreadyMerged()","s":"SubTreesAlreadyMerged","u":"/docs/solidity-docs/trees/AccQueue","h":"#subtreesalreadymerged","p":1436},{"i":1481,"t":"error NothingToMerge()","s":"NothingToMerge","u":"/docs/solidity-docs/trees/AccQueue","h":"#nothingtomerge","p":1436},{"i":1483,"t":"error SubTreesNotMerged()","s":"SubTreesNotMerged","u":"/docs/solidity-docs/trees/AccQueue","h":"#subtreesnotmerged","p":1436},{"i":1485,"t":"error DepthTooLarge(uint256 _depth, uint256 max)","s":"DepthTooLarge","u":"/docs/solidity-docs/trees/AccQueue","h":"#depthtoolarge","p":1436},{"i":1487,"t":"error DepthTooSmall(uint256 _depth, uint256 min)","s":"DepthTooSmall","u":"/docs/solidity-docs/trees/AccQueue","h":"#depthtoosmall","p":1436},{"i":1489,"t":"error InvalidIndex(uint256 _index)","s":"InvalidIndex","u":"/docs/solidity-docs/trees/AccQueue","h":"#invalidindex","p":1436},{"i":1491,"t":"error InvalidLevel()","s":"InvalidLevel","u":"/docs/solidity-docs/trees/AccQueue","h":"#invalidlevel","p":1436},{"i":1493,"t":"constructor(uint256 _subDepth, uint256 _hashLength) internal payable Create a new AccQueue Parameters​ Name Type Description _subDepth uint256 The depth of each subtree. _hashLength uint256 The number of leaves per node (2 or 5).","s":"constructor","u":"/docs/solidity-docs/trees/AccQueue","h":"#constructor","p":1436},{"i":1495,"t":"function hashLevel(uint256 _level, uint256 _leaf) internal virtual returns (uint256 _hash) Hash the contents of the specified level and the specified leaf. This is a virtual function as the hash function which the overriding contract uses will be either hashLeftRight or hash5, which require different input array lengths. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description _hash uint256 The hash of the level and leaf.","s":"hashLevel","u":"/docs/solidity-docs/trees/AccQueue","h":"#hashlevel","p":1436},{"i":1497,"t":"function hashLevelLeaf(uint256 _level, uint256 _leaf) public view virtual returns (uint256 _hash) Hash the contents of the specified level and the specified leaf. This is a virtual function as the hash function which the overriding contract uses will be either hashLeftRight or hash5, which require different input array lengths. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description _hash uint256 The hash of the level and leaf.","s":"hashLevelLeaf","u":"/docs/solidity-docs/trees/AccQueue","h":"#hashlevelleaf","p":1436},{"i":1499,"t":"function getZero(uint256 _level) internal virtual returns (uint256 zero) Returns the zero leaf at a specified level. This is a virtual function as the hash function which the overriding contract uses will be either hashLeftRight or hash5, which will produce different zero values (e.g. hashLeftRight(0, 0) vs hash5([0, 0, 0, 0, 0]). Moreover, the zero value may be a nothing-up-my-sleeve value. Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf. Return Values​ Name Type Description zero uint256 The zero leaf at the specified level.","s":"getZero","u":"/docs/solidity-docs/trees/AccQueue","h":"#getzero","p":1436},{"i":1501,"t":"function enqueue(uint256 _leaf) public returns (uint256 leafIndex) Add a leaf to the queue for the current subtree. Parameters​ Name Type Description _leaf uint256 The leaf to add. Return Values​ Name Type Description leafIndex uint256 The index of the leaf in the queue.","s":"enqueue","u":"/docs/solidity-docs/trees/AccQueue","h":"#enqueue","p":1436},{"i":1503,"t":"function _enqueue(uint256 _leaf, uint256 _level) internal Updates the queue at a given level and hashes any subroots that need to be hashed. Parameters​ Name Type Description _leaf uint256 The leaf to add. _level uint256 The level at which to queue the leaf.","s":"_enqueue","u":"/docs/solidity-docs/trees/AccQueue","h":"#_enqueue","p":1436},{"i":1505,"t":"function fill() public Fill any empty leaves of the current subtree with zeros and store the resulting subroot.","s":"fill","u":"/docs/solidity-docs/trees/AccQueue","h":"#fill","p":1436},{"i":1507,"t":"function _fill(uint256 _level) internal virtual A function that queues zeros to the specified level, hashes, the level, and enqueues the hash to the next level. Parameters​ Name Type Description _level uint256 The level at which to queue zeros.","s":"_fill","u":"/docs/solidity-docs/trees/AccQueue","h":"#_fill","p":1436},{"i":1509,"t":"function insertSubTree(uint256 _subRoot) public Insert a subtree. Used for batch enqueues.","s":"insertSubTree","u":"/docs/solidity-docs/trees/AccQueue","h":"#insertsubtree","p":1436},{"i":1511,"t":"function calcMinHeight() public view returns (uint256 depth) Calculate the lowest possible height of a tree with all the subroots merged together. Return Values​ Name Type Description depth uint256 The lowest possible height of a tree with all the","s":"calcMinHeight","u":"/docs/solidity-docs/trees/AccQueue","h":"#calcminheight","p":1436},{"i":1513,"t":"function mergeSubRoots(uint256 _numSrQueueOps) public Merge all subtrees to form the shortest possible tree. This function can be called either once to merge all subtrees in a single transaction, or multiple times to do the same in multiple transactions. Parameters​ Name Type Description _numSrQueueOps uint256 The number of times this function will call queueSubRoot(), up to the maximum number of times necessary. If it is set to 0, it will call queueSubRoot() as many times as is necessary. Set this to a low number and call this function multiple times if there are many subroots to merge, or a single transaction could run out of gas.","s":"mergeSubRoots","u":"/docs/solidity-docs/trees/AccQueue","h":"#mergesubroots","p":1436},{"i":1515,"t":"function queueSubRoot(uint256 _leaf, uint256 _level, uint256 _maxDepth) internal Queues a subroot into the subroot tree. Parameters​ Name Type Description _leaf uint256 The value to queue. _level uint256 The level at which to queue _leaf. _maxDepth uint256 The depth of the tree.","s":"queueSubRoot","u":"/docs/solidity-docs/trees/AccQueue","h":"#queuesubroot","p":1436},{"i":1517,"t":"function merge(uint256 _depth) public returns (uint256 root) Merge all subtrees to form a main tree with a desired depth. Parameters​ Name Type Description _depth uint256 The depth of the main tree. It must fit all the leaves or this function will revert. Return Values​ Name Type Description root uint256 The root of the main tree.","s":"merge","u":"/docs/solidity-docs/trees/AccQueue","h":"#merge","p":1436},{"i":1519,"t":"function getSubRoot(uint256 _index) public view returns (uint256 subRoot) Returns the subroot at the specified index. Reverts if the index refers to a subtree which has not been filled yet. Parameters​ Name Type Description _index uint256 The subroot index. Return Values​ Name Type Description subRoot uint256 The subroot at the specified index.","s":"getSubRoot","u":"/docs/solidity-docs/trees/AccQueue","h":"#getsubroot","p":1436},{"i":1521,"t":"function getSmallSRTroot() public view returns (uint256 smallSubTreeRoot) Returns the subroot tree (SRT) root. Its value must first be computed using mergeSubRoots. Return Values​ Name Type Description smallSubTreeRoot uint256 The SRT root.","s":"getSmallSRTroot","u":"/docs/solidity-docs/trees/AccQueue","h":"#getsmallsrtroot","p":1436},{"i":1523,"t":"function getMainRoot(uint256 _depth) public view returns (uint256 mainRoot) Return the merged Merkle root of all the leaves at a desired depth. _merge() or merged(depth) must be called first. Parameters​ Name Type Description _depth uint256 The depth of the main tree. It must first be computed using mergeSubRoots() and merge(). Return Values​ Name Type Description mainRoot uint256 The root of the main tree.","s":"getMainRoot","u":"/docs/solidity-docs/trees/AccQueue","h":"#getmainroot","p":1436},{"i":1525,"t":"function getSrIndices() public view returns (uint256 next, uint256 current) Get the next subroot index and the current subtree index.","s":"getSrIndices","u":"/docs/solidity-docs/trees/AccQueue","h":"#getsrindices","p":1436},{"i":1527,"t":"This contract defines a Merkle tree where each leaf insertion only updates a subtree. To obtain the main tree root, the contract owner must merge the subtrees together. Merging subtrees requires at least 2 operations: mergeSubRoots(), and merge(). To get around the gas limit, the mergeSubRoots() can be performed in multiple transactions. This contract is for a binary tree (2 leaves per node)","s":"AccQueueBinary","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"","p":1526},{"i":1529,"t":"constructor(uint256 _subDepth) internal Create a new AccQueueBinary","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"#constructor","p":1526},{"i":1531,"t":"function hashLevel(uint256 _level, uint256 _leaf) internal returns (uint256 hashed) Hash the contents of the specified level and the specified leaf. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description hashed uint256 The hash of the level and leaf.","s":"hashLevel","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"#hashlevel","p":1526},{"i":1533,"t":"function hashLevelLeaf(uint256 _level, uint256 _leaf) public view returns (uint256 hashed) Hash the contents of the specified level and the specified leaf.","s":"hashLevelLeaf","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"#hashlevelleaf","p":1526},{"i":1535,"t":"function _fill(uint256 _level) internal An internal function which fills a subtree. Parameters​ Name Type Description _level uint256 The level at which to fill the subtree.","s":"_fill","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"#_fill","p":1526},{"i":1537,"t":"This contract extends AccQueueBinary and MerkleBinary0 This contract is used for creating a Merkle tree with binary (2 leaves per node) structure","s":"AccQueueBinary0","u":"/docs/solidity-docs/trees/AccQueueBinary0","h":"","p":1536},{"i":1539,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueBinary0 contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueBinary0","h":"#constructor","p":1536},{"i":1541,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf Return Values​ Name Type Description zero uint256 The zero leaf at the specified level","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueBinary0","h":"#getzero","p":1536},{"i":1543,"t":"This contract extends AccQueueBinary and MerkleBinaryMaci This contract is used for creating a Merkle tree with binary (2 leaves per node) structure","s":"AccQueueBinaryMaci","u":"/docs/solidity-docs/trees/AccQueueBinaryMaci","h":"","p":1542},{"i":1545,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueBinaryMaci contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueBinaryMaci","h":"#constructor","p":1542},{"i":1547,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueBinaryMaci","h":"#getzero","p":1542},{"i":1549,"t":"This contract defines a Merkle tree where each leaf insertion only updates a subtree. To obtain the main tree root, the contract owner must merge the subtrees together. Merging subtrees requires at least 2 operations: mergeSubRoots(), and merge(). To get around the gas limit, the mergeSubRoots() can be performed in multiple transactions. This contract is for a quinary tree (5 leaves per node)","s":"AccQueueQuinary","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"","p":1548},{"i":1551,"t":"constructor(uint256 _subDepth) internal Create a new AccQueueQuinary instance","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"#constructor","p":1548},{"i":1553,"t":"function hashLevel(uint256 _level, uint256 _leaf) internal returns (uint256 hashed) Hash the contents of the specified level and the specified leaf. it also frees up storage slots to refund gas. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description hashed uint256 The hash of the level and leaf.","s":"hashLevel","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"#hashlevel","p":1548},{"i":1555,"t":"function hashLevelLeaf(uint256 _level, uint256 _leaf) public view returns (uint256 hashed) Hash the contents of the specified level and the specified leaf. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description hashed uint256 The hash of the level and leaf.","s":"hashLevelLeaf","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"#hashlevelleaf","p":1548},{"i":1557,"t":"function _fill(uint256 _level) internal An internal function which fills a subtree Parameters​ Name Type Description _level uint256 The level at which to fill the subtree","s":"_fill","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"#_fill","p":1548},{"i":1559,"t":"This contract extends AccQueueQuinary and MerkleQuinary0 This contract is used for creating a Merkle tree with quinary (5 leaves per node) structure","s":"AccQueueQuinary0","u":"/docs/solidity-docs/trees/AccQueueQuinary0","h":"","p":1558},{"i":1561,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueQuinary0 contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueQuinary0","h":"#constructor","p":1558},{"i":1563,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf Return Values​ Name Type Description zero uint256 The zero leaf at the specified level","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueQuinary0","h":"#getzero","p":1558},{"i":1565,"t":"This contract extends AccQueueQuinary and MerkleQuinaryBlankSl This contract is used for creating a Merkle tree with quinary (5 leaves per node) structure","s":"AccQueueQuinaryBlankSl","u":"/docs/solidity-docs/trees/AccQueueQuinaryBlankSl","h":"","p":1564},{"i":1567,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueQuinaryBlankSl contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueQuinaryBlankSl","h":"#constructor","p":1564},{"i":1569,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf Return Values​ Name Type Description zero uint256 The zero leaf at the specified level","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueQuinaryBlankSl","h":"#getzero","p":1564},{"i":1571,"t":"This contract extends AccQueueQuinary and MerkleQuinaryMaci This contract is used for creating a Merkle tree with quinary (5 leaves per node) structure","s":"AccQueueQuinaryMaci","u":"/docs/solidity-docs/trees/AccQueueQuinaryMaci","h":"","p":1570},{"i":1573,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueQuinaryMaci contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueQuinaryMaci","h":"#constructor","p":1570},{"i":1575,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf Return Values​ Name Type Description zero uint256 The zero leaf at the specified level","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueQuinaryMaci","h":"#getzero","p":1570},{"i":1578,"t":"uint256[5] emptyBallotRoots","s":"emptyBallotRoots","u":"/docs/solidity-docs/trees/EmptyBallotRoots","h":"#emptyballotroots-1","p":1576},{"i":1580,"t":"constructor() internal","s":"constructor","u":"/docs/solidity-docs/trees/EmptyBallotRoots","h":"#constructor","p":1576},{"i":1582,"t":"An utility contract that can be used to: hash a state leaf pad and hash a MACI message hash a MACI message and an encryption public key","s":"Utilities","u":"/docs/solidity-docs/utilities/","h":"","p":1581},{"i":1584,"t":"error InvalidMessage() custom errors","s":"InvalidMessage","u":"/docs/solidity-docs/utilities/","h":"#invalidmessage","p":1581},{"i":1586,"t":"function hashStateLeaf(struct DomainObjs.StateLeaf _stateLeaf) public pure returns (uint256 ciphertext) An utility function used to hash a state leaf Parameters​ Name Type Description _stateLeaf struct DomainObjs.StateLeaf the state leaf to be hashed Return Values​ Name Type Description ciphertext uint256 The hash of the state leaf","s":"hashStateLeaf","u":"/docs/solidity-docs/utilities/","h":"#hashstateleaf","p":1581},{"i":1588,"t":"function padAndHashMessage(uint256[2] dataToPad, uint256 msgType) public pure returns (struct DomainObjs.Message message, struct DomainObjs.PubKey padKey, uint256 msgHash) An utility function used to pad and hash a MACI message Parameters​ Name Type Description dataToPad uint256[2] the data to be padded msgType uint256 the type of the message Return Values​ Name Type Description message struct DomainObjs.Message The padded message padKey struct DomainObjs.PubKey The padding public key msgHash uint256 The hash of the padded message and encryption key","s":"padAndHashMessage","u":"/docs/solidity-docs/utilities/","h":"#padandhashmessage","p":1581},{"i":1590,"t":"function hashMessageAndEncPubKey(struct DomainObjs.Message _message, struct DomainObjs.PubKey _encPubKey) public pure returns (uint256 msgHash) An utility function used to hash a MACI message and an encryption public key Parameters​ Name Type Description _message struct DomainObjs.Message the message to be hashed _encPubKey struct DomainObjs.PubKey the encryption public key to be hashed Return Values​ Name Type Description msgHash uint256 The hash of the message and the encryption public key","s":"hashMessageAndEncPubKey","u":"/docs/solidity-docs/utilities/","h":"#hashmessageandencpubkey","p":1581},{"i":1592,"t":"A contract that holds common utilities which are to be used by multiple contracts namely Subsidy, Tally and MessageProcessor","s":"CommonUtilities","u":"/docs/solidity-docs/utilities/CommonUtilities","h":"","p":1591},{"i":1594,"t":"error VotingPeriodNotPassed()","s":"VotingPeriodNotPassed","u":"/docs/solidity-docs/utilities/CommonUtilities","h":"#votingperiodnotpassed","p":1591},{"i":1596,"t":"function _votingPeriodOver(contract Poll _poll) internal view common function for MessageProcessor, Tally and Subsidy Parameters​ Name Type Description _poll contract Poll the poll to be checked","s":"_votingPeriodOver","u":"/docs/solidity-docs/utilities/CommonUtilities","h":"#_votingperiodover","p":1591},{"i":1598,"t":"An utility contract that holds a number of domain objects and functions","s":"DomainObjs","u":"/docs/solidity-docs/utilities/DomainObjs","h":"","p":1597},{"i":1600,"t":"uint8 MESSAGE_DATA_LENGTH the length of a MACI message","s":"MESSAGE_DATA_LENGTH","u":"/docs/solidity-docs/utilities/DomainObjs","h":"#message_data_length","p":1597},{"i":1602,"t":"struct Message { uint256 msgType; uint256[10] data; }","s":"Message","u":"/docs/solidity-docs/utilities/DomainObjs","h":"#message","p":1597},{"i":1604,"t":"struct PubKey { uint256 x; uint256 y; }","s":"PubKey","u":"/docs/solidity-docs/utilities/DomainObjs","h":"#pubkey","p":1597},{"i":1606,"t":"struct StateLeaf { struct DomainObjs.PubKey pubKey; uint256 voiceCreditBalance; uint256 timestamp; }","s":"StateLeaf","u":"/docs/solidity-docs/utilities/DomainObjs","h":"#stateleaf","p":1597},{"i":1608,"t":"This contracts contains a number of structures which are to be passed as parameters to Poll contracts. This way we can reduce the number of parameters and avoid a stack too deep error during compilation.","s":"Params","u":"/docs/solidity-docs/utilities/Params","h":"","p":1607},{"i":1610,"t":"struct TreeDepths { uint8 intStateTreeDepth; uint8 messageTreeSubDepth; uint8 messageTreeDepth; uint8 voteOptionTreeDepth; }","s":"TreeDepths","u":"/docs/solidity-docs/utilities/Params","h":"#treedepths","p":1607},{"i":1612,"t":"struct BatchSizes { uint24 messageBatchSize; uint24 tallyBatchSize; uint24 subsidyBatchSize; }","s":"BatchSizes","u":"/docs/solidity-docs/utilities/Params","h":"#batchsizes","p":1607},{"i":1614,"t":"struct MaxValues { uint256 maxMessages; uint256 maxVoteOptions; }","s":"MaxValues","u":"/docs/solidity-docs/utilities/Params","h":"#maxvalues","p":1607},{"i":1616,"t":"struct ExtContracts { contract IMACI maci; contract AccQueue messageAq; contract TopupCredit topupCredit; }","s":"ExtContracts","u":"/docs/solidity-docs/utilities/Params","h":"#extcontracts","p":1607},{"i":1618,"t":"Stores verifying keys for the circuits. Each circuit has a signature which is its compile-time constants represented as a uint256.","s":"VkRegistry","u":"/docs/solidity-docs/VkRegistry","h":"","p":1617},{"i":1620,"t":"mapping(uint256 => struct SnarkCommon.VerifyingKey) processVks","s":"processVks","u":"/docs/solidity-docs/VkRegistry","h":"#processvks","p":1617},{"i":1622,"t":"mapping(uint256 => bool) processVkSet","s":"processVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#processvkset","p":1617},{"i":1624,"t":"mapping(uint256 => struct SnarkCommon.VerifyingKey) tallyVks","s":"tallyVks","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvks","p":1617},{"i":1626,"t":"mapping(uint256 => bool) tallyVkSet","s":"tallyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvkset","p":1617},{"i":1628,"t":"mapping(uint256 => struct SnarkCommon.VerifyingKey) subsidyVks","s":"subsidyVks","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvks","p":1617},{"i":1630,"t":"mapping(uint256 => bool) subsidyVkSet","s":"subsidyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvkset","p":1617},{"i":1632,"t":"event ProcessVkSet(uint256 _sig)","s":"ProcessVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#processvkset-1","p":1617},{"i":1634,"t":"event TallyVkSet(uint256 _sig)","s":"TallyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvkset-1","p":1617},{"i":1636,"t":"event SubsidyVkSet(uint256 _sig)","s":"SubsidyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvkset-1","p":1617},{"i":1638,"t":"error ProcessVkAlreadySet()","s":"ProcessVkAlreadySet","u":"/docs/solidity-docs/VkRegistry","h":"#processvkalreadyset","p":1617},{"i":1640,"t":"error TallyVkAlreadySet()","s":"TallyVkAlreadySet","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvkalreadyset","p":1617},{"i":1642,"t":"error SubsidyVkAlreadySet()","s":"SubsidyVkAlreadySet","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvkalreadyset","p":1617},{"i":1644,"t":"error ProcessVkNotSet()","s":"ProcessVkNotSet","u":"/docs/solidity-docs/VkRegistry","h":"#processvknotset","p":1617},{"i":1646,"t":"error TallyVkNotSet()","s":"TallyVkNotSet","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvknotset","p":1617},{"i":1648,"t":"error SubsidyVkNotSet()","s":"SubsidyVkNotSet","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvknotset","p":1617},{"i":1650,"t":"constructor() public payable Create a new instance of the VkRegistry contract","s":"constructor","u":"/docs/solidity-docs/VkRegistry","h":"#constructor","p":1617},{"i":1652,"t":"function isProcessVkSet(uint256 _sig) public view returns (bool isSet) Check if the process verifying key is set Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"isProcessVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#isprocessvkset","p":1617},{"i":1654,"t":"function isTallyVkSet(uint256 _sig) public view returns (bool isSet) Check if the tally verifying key is set Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"isTallyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#istallyvkset","p":1617},{"i":1656,"t":"function isSubsidyVkSet(uint256 _sig) public view returns (bool isSet) Check if the subsidy verifying key is set Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"isSubsidyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#issubsidyvkset","p":1617},{"i":1658,"t":"function genProcessVkSig(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) public pure returns (uint256 sig) generate the signature for the process verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _messageTreeDepth uint256 The message tree depth _voteOptionTreeDepth uint256 The vote option tree depth _messageBatchSize uint256 The message batch size","s":"genProcessVkSig","u":"/docs/solidity-docs/VkRegistry","h":"#genprocessvksig","p":1617},{"i":1660,"t":"function genTallyVkSig(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public pure returns (uint256 sig) generate the signature for the tally verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description sig uint256 The signature","s":"genTallyVkSig","u":"/docs/solidity-docs/VkRegistry","h":"#gentallyvksig","p":1617},{"i":1662,"t":"function genSubsidyVkSig(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public pure returns (uint256 sig) generate the signature for the subsidy verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description sig uint256 The signature","s":"genSubsidyVkSig","u":"/docs/solidity-docs/VkRegistry","h":"#gensubsidyvksig","p":1617},{"i":1664,"t":"function setVerifyingKeys(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize, struct SnarkCommon.VerifyingKey _processVk, struct SnarkCommon.VerifyingKey _tallyVk) public Set the process and tally verifying keys for a certain combination of parameters Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _messageTreeDepth uint256 The message tree depth _voteOptionTreeDepth uint256 The vote option tree depth _messageBatchSize uint256 The message batch size _processVk struct SnarkCommon.VerifyingKey The process verifying key _tallyVk struct SnarkCommon.VerifyingKey The tally verifying key","s":"setVerifyingKeys","u":"/docs/solidity-docs/VkRegistry","h":"#setverifyingkeys","p":1617},{"i":1666,"t":"function setSubsidyKeys(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth, struct SnarkCommon.VerifyingKey _subsidyVk) public Set the process verifying key for a certain combination of parameters Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth _subsidyVk struct SnarkCommon.VerifyingKey The verifying key","s":"setSubsidyKeys","u":"/docs/solidity-docs/VkRegistry","h":"#setsubsidykeys","p":1617},{"i":1668,"t":"function hasProcessVk(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) public view returns (bool isSet) Check if the process verifying key is set Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _messageTreeDepth uint256 The message tree depth _voteOptionTreeDepth uint256 The vote option tree depth _messageBatchSize uint256 The message batch size Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"hasProcessVk","u":"/docs/solidity-docs/VkRegistry","h":"#hasprocessvk","p":1617},{"i":1670,"t":"function getProcessVkBySig(uint256 _sig) public view returns (struct SnarkCommon.VerifyingKey vk) Get the process verifying key by signature Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getProcessVkBySig","u":"/docs/solidity-docs/VkRegistry","h":"#getprocessvkbysig","p":1617},{"i":1672,"t":"function getProcessVk(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) public view returns (struct SnarkCommon.VerifyingKey vk) Get the process verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _messageTreeDepth uint256 The message tree depth _voteOptionTreeDepth uint256 The vote option tree depth _messageBatchSize uint256 The message batch size Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getProcessVk","u":"/docs/solidity-docs/VkRegistry","h":"#getprocessvk","p":1617},{"i":1674,"t":"function hasTallyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public view returns (bool isSet) Check if the tally verifying key is set Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"hasTallyVk","u":"/docs/solidity-docs/VkRegistry","h":"#hastallyvk","p":1617},{"i":1676,"t":"function getTallyVkBySig(uint256 _sig) public view returns (struct SnarkCommon.VerifyingKey vk) Get the tally verifying key by signature Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getTallyVkBySig","u":"/docs/solidity-docs/VkRegistry","h":"#gettallyvkbysig","p":1617},{"i":1678,"t":"function getTallyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public view returns (struct SnarkCommon.VerifyingKey vk) Get the tally verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getTallyVk","u":"/docs/solidity-docs/VkRegistry","h":"#gettallyvk","p":1617},{"i":1680,"t":"function hasSubsidyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public view returns (bool isSet) Check if the subsidy verifying key is set Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"hasSubsidyVk","u":"/docs/solidity-docs/VkRegistry","h":"#hassubsidyvk","p":1617},{"i":1682,"t":"function getSubsidyVkBySig(uint256 _sig) public view returns (struct SnarkCommon.VerifyingKey vk) Get the subsidy verifying key by signature Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getSubsidyVkBySig","u":"/docs/solidity-docs/VkRegistry","h":"#getsubsidyvkbysig","p":1617},{"i":1684,"t":"function getSubsidyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public view returns (struct SnarkCommon.VerifyingKey vk) Get the subsidy verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getSubsidyVk","u":"/docs/solidity-docs/VkRegistry","h":"#getsubsidyvk","p":1617},{"i":1686,"t":"info This document is a copy of the MACI 1.0 Specification (for audit) document, created in July 2021 for one of MACI's formal audits. This historical document is stored here for informational purposes. We do not intend to edit it. As a result, some of the information within this document may be outdated. This is a detailed specification meant to assist auditors in reviewing MACI version 1.0. We thank the Zkopru team for their protocol specification, which this document adopts.","s":"MACI v1.0 Specification","u":"/docs/spec","h":"","p":1685},{"i":1688,"t":"The commit hashes relevant to this audit are the following: Name Commit appliedzkp/maci (v1 branch) 2db5f625b67a6b810bd851950d7a42c26189088b weijiekoh/circomlib (feat/poseidon-encryption branch) 0e78dde8c813b95f4585b0613927e9c4269de500 The scope of the audit with regards to the circomlib library covers: all the JS files that MACI references, excluding those which are not referenced by MACI's TS files all circuit files excluding whose which are not referenced by MACI's circuit files","s":"Audit scope","u":"/docs/spec","h":"#audit-scope","p":1685},{"i":1690,"t":"Through this audit, we wish to challenge the following statements: MACI exhibits collusion resistance No one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery MACI exhibits receipt-freeness No voter may prove (besides to the coordinator) which way they voted MACI provides privacy No one except a trusted coordinator should be able to decrypt a vote MACI is uncensorable: No one (not even the trusted coordinator) should be able to censor a vote MACI provides unforgeability Only the owner of a user's private key may cast a vote tied to its corresponding public key MACI provides non-repudiation No one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it Correct execution No one (not even the trusted coordinator) should be able to produce a false tally of votes","s":"Statements that we wish to challenge","u":"/docs/spec","h":"#statements-that-we-wish-to-challenge","p":1685},{"i":1693,"t":"MACI uses the Baby Jubjub Elliptic Curve as defined in this paper by Whitehat, Baylina, and Bellés. 1.1. The Baby Jubjub curve​ Following the Baby Jubjub paper, we define the scalar field \\(p\\) as such: p=21888242871839275222246405745257275088548364400416034343698204186575808495617p = 21888242871839275222246405745257275088548364400416034343698204186575808495617p=21888242871839275222246405745257275088548364400416034343698204186575808495617 The field Fp\\mathbb{F}_pFp​ is the finite field with modulo ppp. The generator point of Baby Jubjub GGG is: 995203441582195749578291179787384436505546430278305826713579947235728471134, 5472060717959818805561601436314318772137091100104008585924551046643952123905 1.2. Private key generation​ A private key is a random integer in the field Fp\\mathbb{F}_pFp​. MACI uses the Node.js crypto.randomBytes(32) function to generate a cryptographically strong pseudorandom 32-byte value, as well as an algorithm to prevent modulo bias. In pseduocode this is expressed as: lim = 2 ** 256 min = lim - p rand = null while true: rand = BigInt(crypto.getRandomBytes(32)) if rand >= min: break privKey = rand % p 1.3. Private key formatting​ The following procedures require that a private key be formatted into a scalar that can be multiplied with a point on the Baby Jubjub curve. Public key generation ECDH shared key generation The algorithm to do so is as such: Hash the private key using blake512\\mathsf{blake512}blake512 as such: h1=blake512(s)h_1 = \\mathsf{blake512}(s)h1​=blake512(s) Take the lowest 32 bytes of h1h_1h1​ as a buffer and prune it to derive h2h_2h2​. To prune the buffer, we: 2.1. Clear the lowest three bits of the 0th byte 2.2. Clear the highest bit of the 31st byte 2.3. Set the second-highest bit of the 31st byte to 1. Convert h2h_2h2​ to its little-endian integer representation. We denote this as h3h_3h3​ Shift h3h_3h3​ right by 3 bits to get the formatted private key h4h_4h4​ 1.4. Public key generation​ A public key is a point on the Baby Jubjub curve. It is determistically derived from a private key sss, the procedure to do so is almost identical to RFC8032. Format the private key [1.3] Multiply GGG by 8 and multiply the resulting point by the formatted private key to derive the public key AAA: B=8⋅GB = 8 \\cdot GB=8⋅G A=B⋅h4A = B \\cdot h_4A=B⋅h4​ 1.5. Digital signature generation​ We use the Edwards-curve Digital Signature Algorithm (EdDSA) to sign messages. The code which implements signature generation and verification is iden3's implementation in the circomlib library. Given a private key sss, its public key AAA [1.4] and a message M∈FpM \\in \\mathbb{F}_pM∈Fp​, we derive the signature R8,SR8, SR8,S as such: Hash the private key using blake512\\mathsf{blake512}blake512 as such: h1=blake512(s)h_1 = \\mathsf{blake512}(s)h1​=blake512(s) Format sss [1.3] to generate AAA [1.4] Convert MMM to a buffer in little-endian format, concatenate it with the 32nd to 64th bytes of h1h_1h1​, and hash the result with blake512\\mathsf{blake512}blake512, and interpret the hash in little-endian format as a value rrr in the field Fp\\mathbb{F}_pFp​ Multiply rrr with BBB to get R8R8R8 Hash R8R8R8, AAA, and MMM: hm=poseidon4([R8[0],R8[1],A[0],A[1],m])hm = \\mathsf{poseidon_4}([R8[0], R8[1], A[0], A[1], m])hm=poseidon4​([R8[0],R8[1],A[0],A[1],m]) Calculate S=hm⋅h3+rS = hm \\cdot h_3 + rS=hm⋅h3​+r The signature is R8,SR8, SR8,S 1.6. Digital signature verification​ Given a message MMM, a signature R8R8R8, SSS, and a public key AAA, we verify the signature in this manner: hm=poseidon4(R8[0],R8[1],A[0],A[1],M)hm = \\mathsf{poseidon_4}(R8[0], R8[1], A[0], A[1], M)hm=poseidon4​(R8[0],R8[1],A[0],A[1],M) The signature is valid if the following are equal: 2.1. (G⋅8)⋅S(G \\cdot 8) \\cdot S(G⋅8)⋅S 2.2. ((hm⋅8)⋅A)+R8((hm \\cdot 8) \\cdot A) + R8((hm⋅8)⋅A)+R8","s":"Elliptic Curve Cryptography","u":"/docs/spec","h":"#elliptic-curve-cryptography","p":1685},{"i":1695,"t":"1.7. Poseidon​ We define poseidonn\\mathsf{poseidon_n}poseidonn​ as a hash function which accepts nnn inputs and produces one output yyy: y=poseidonn([x1,x2,...,xn])y = \\mathsf{poseidon_n}([x_1, x_2, ..., x_n])y=poseidonn​([x1​,x2​,...,xn​]) where xi,y∈Fpx_i, y \\in \\mathbb{F}_pxi​,y∈Fp​. We use the implementation provided by circomlib, which uses the S-box x5x^5x5 and the following RFR_FRF​ and RPR_PRP​ values: nnn ttt RFR_FRF​ RPR_PRP​ 2 3 8 57 3 4 8 56 4 5 8 60 5 6 8 60 We verified that circomlib's poseidonn\\mathsf{poseidon_n}poseidonn​ implementation matches the reference implementation using the procedure documented here. 1.8. SHA256​ SHA256 is used to compress public inputs to a circuit into a single field element in Fp\\mathbb{F}_pFp​. This reduces zk-SNARK verification gas costs. SHA256 is defined in RFC6234. We use implementations in the EVM as well as ethers.js.","s":"Hash functions","u":"/docs/spec","h":"#hash-functions","p":1685},{"i":1697,"t":"1.9. Poseidon in DuplexSponge mode​ We use the Poseidon permutation function in DuplexSponge mode to encrypt each command and its signature. This method is described by the authors of the Poseidon hash function here. We refer to the encryption function which produces ciphertext CCC as poseidonEncrypt(ks[0],ks[1],N,l,t[])\\mathsf{poseidonEncrypt}(k_s[0], k_s[1], N, l, t[])poseidonEncrypt(ks​[0],ks​[1],N,l,t[]) where: ksk_sks​ is the shared key, a point on the Baby Jubjub curve NNN is the nonce, which we hardcode to 0 lll is the length of the plaintext t[]t[]t[] At the time of writing, the Javascript and circom code for Poseidon encryption / decryption is in this fork of the original iden3 codebase. poseidonDecrypt(ks[0],ks[1],N,l,C)\\mathsf{poseidonDecrypt}(k_s[0], k_s[1], N, l, C)poseidonDecrypt(ks​[0],ks​[1],N,l,C) is the decryption function that reverses poseidonEncrypt\\mathsf{poseidonEncrypt}poseidonEncrypt.","s":"Symmetric encryption","u":"/docs/spec","h":"#symmetric-encryption","p":1685},{"i":1699,"t":"1.10. Elliptic-curve Diffie–Hellman (ECDH)​ As will be described below, each command [2.5] is encrypted with a key that only the coordinator and the user know. In order to securely generate this shared key, we use the ECDH algorithm. The coordinator's public key cPkcPkcPk is known to all. Their private key cSkcSkcSk is secret. When the user publishes a message (i.e. casts a vote), they generate an ephemeral keypair with private key eSkeSkeSk and public key ePkePkePk. The user generates the shared key kkk using the coordinator's public key cPkcPkcPk and the user's ephemeral private key eSkeSkeSk. The user encrypts the command and signature with kkk to form a message [2.6]. The user sends their ephemeral public key ePkePkePk along with the ciphertext. The coordinator can recover the same shared key using their private key cSkcSkcSk and the given ephemeral public key ePkePkePk. To generate kkk from cPkcPkcPk and eSkeSkeSk: Format eSkeSkeSk [1.3] Multiply the point cPkcPkcPk by the above result","s":"Shared-key generation","u":"/docs/spec","h":"#shared-key-generation","p":1685},{"i":1701,"t":"We use quinary Merkle trees (5 leaves per node) rather than binary Merkle trees (2 leaves per node) due to the gas and circuit constraints when using the Poseidon hash function. 1.10. Accumulator queue​ When users sign up or publish messages, they invoke a smart contract function that enqueues a leaf into an accumulator queue (which we dub an AccQueue). This is a data structure which is akin to a quinary Merkle tree. When a user inserts a leaf into the AccQueue, the Merkle root of all the leaves is not yet updated. Rather, the leaf is either simply stored or the root of a subtree is updated. The height of the subtree tst_sts​ is less than the full height of the tree tdt_dtd​. The coordinator must merge all the subtrees to compute the Merkle root of all the leaves, allowing users to save gas when they enqueue leaves. It exposes the following interface: enqueue(leaf): Enqueues a leaf into a subtree mergeSubRoots(): Merge all subtree roots into the shortest possible Merkle tree to fit merge(): Calculate the Merkle root of all the leaves at height tdt_dtd​ The AccQueue keeps track of levels\\mathsf{levels}levels and indices\\mathsf{indices}indices for the latest subtree. It also keeps track of a list of all the subtree roots. An AccQueue which supports subtrees of depth ddd has the following as mutable state: State item Description levels[33][4]\\mathsf{levels[33][4]}levels[33][4] Leaf/node values at each subtree level indices[33]\\mathsf{indices[33]}indices[33] The next available leaf/node index per subtree level subRootLevels[33][4]\\mathsf{subRootLevels[33][4]}subRootLevels[33][4] Leaf/node values for the tree formed by subroots as leaves subRootIndices[33]\\mathsf{subRootIndices[33]}subRootIndices[33] The next available leaf/node index per subroot level subRoots[]\\mathsf{subRoots[]}subRoots[] All the roots of complete subtrees numLeaves\\mathsf{numLeaves}numLeaves The number of enqueued leaves 1.10.1. Enqueuing a leaf​ To enqueue a leaf lll in an AccQueue: For each nnn in 0...(d+1)0...(d+1)0...(d+1), either: Store the leaf in levels[n][indices[n]]\\mathsf{levels[n][indices[n]]}levels[n][indices[n]] if indices[n]<5indices[n] < 5indices[n]<5, and break from the loop, or Compute poseidon5([levels[n][0],levels[n][1],levels[n][2],levels[n][3],l)\\mathsf{poseidon_5}([levels[n][0], levels[n][1], levels[n][2], levels[n][3], l)poseidon5​([levels[n][0],levels[n][1],levels[n][2],levels[n][3],l), clear all values of levels[n]levels[n]levels[n], clear indices[n]indices[n]indices[n], and continue the loop with the hash as lll Increment numLeaves\\mathsf{numLeaves}numLeaves by 1 If numLeaves\\mathsf{numLeaves}numLeaves is a multiple of 5ts5^{t_s}5ts​: Append levels[ts][0]\\mathsf{levels}[t_s][0]levels[ts​][0] to subRootssubRootssubRoots Clear levels[ts]\\mathsf{levels}[t_s]levels[ts​] Clear indices\\mathsf{indices}indices Effectively, four out of five times it is invoked, an enqueue operation may or may not require the contract to perform a hash function. When it does, only up to tdt_dtd​ required number of hashes need to be computed. 1.10.2. Merging subroots​ Before computing the main Merkle root, it is necessary to compute the smallSRTroot (the smallest subroot tree root). This is the Merkle root of a tree which is small enough to fit all the subroots, it uses a similar mechanisim to enqueuing leaves [1.10.2]. The AccQueue.sol contract provides the mergeSubRoots(uint256 _numSrQueueOps) function which allows the coordinator to specify the number of queue operations to execute. The entire tree may be merged in a single transaction, or it may not. Multiple calls to mergeSubRoots may be required due to the block gas limit. 1.10.3. Computing main root​ A similar operation to [1.10.2] and [1.10.3] is used to derive the main Merkle root (with depth tdt_dtd​). 1.11. Groups on the alt_bn128 elliptic curve​ We refer to the G1G_1G1​ and G2G_2G2​ cyclic groups as defined in EIP-197.","s":"Merkle trees","u":"/docs/spec","h":"#merkle-trees","p":1685},{"i":1704,"t":"A verifying key vkvkvk is comprised of the following elements: α\\alphaα, a point in the curve on which G1G_1G1​ is defined β\\betaβ, a point in the curve on which G2G_2G2​ is defined γ\\gammaγ, a point in the curve on which G2G_2G2​ is defined δ\\deltaδ, a point in the curve on which G2G_2G2​ is defined ic[]ic[]ic[], a list of points in the curve on which G1G_1G1​ is defined A verifying key is used to validate a zk-SNARK proof. Each unique permutation of parameters to a particular circuit has a different verifying key.","s":"2.1. Verifying key","u":"/docs/spec","h":"#21-verifying-key","p":1685},{"i":1706,"t":"A private key kkk represents a particpant's ability to broadcast or decrypt messages under an unique identity and generation of a shared key [1.9], it translates to a scalar point on the Baby Jubjub ellpitical curve. To avoid confusion with Ethereum's ECDSA encryption, MACI requires serialisation bound with the prefix macisk. 2.2.1. Serialisation​ To represent kkk as a serialised private key, it is converted into big-endian hexadecimal format (lowercase; using the Node.js BigInt.toString(16) function) and concatenated with the prefix, no padding is applied during this process. For example, the following private key in decimal format: 378518255983818910927934606039702971920825053305019083084707716727223126406137851825598381891092793460603970297192082505330501908308470771672722312640613785182559838189109279346060397029719208250533050190830847077167272231264061 is serialised as: macisk.85e56605303139aca49355df30d94f225788892ec71a5cfdbe79266563d5f3d 2.2.2. Deserialisation​ To revert a serialised key back to its unserialised form kkk, the string is manipulated to isolate the hexadecimal value by removing the prefix (through the Node.js operation String.slice()) and is prepended 0x for conversion from hexadecimal back to its big-endian primitive.","s":"2.2. Private key","u":"/docs/spec","h":"#22-private-key","p":1685},{"i":1708,"t":"A public key ppp represents a users identity derived from kkk and therefore is also a point on the Baby Jubjub curve. It too requires serialisation, but to clarify the contrast to private keys it is assigned the prefix macipk. 2.3.1. Serialisation​ To get a serialised public key from public key coordinates, the variable uuu is defined as public key's y-cordinate, a 32 bit buffer vvv is created and iterated over each uninitialised byte to: assign the result of a bitwise AND (&) operation between values uuu and 255255255 to byte nnn shift uuu right by 8 bits (>>) The result vvv is a hexadecimal big-endian value which is prendend its prefix to declare it as a serialised key. 2.3.2. Deserialisation​ To reverse the effects of serialisation and return the unpacked public key, we must remove the prefix (using the method defined in [2.2.2]) and convert back to a buffer from hexadecimal. A return variable yyy is initialised and the buffer is then iterated over each byte to: shift uuu left by the result of 888 multiplied by nnn bits (<<) assign yyy the result of addition between yyy and uuu The result yyy is the public key's y-cordinate, to then compute the x-cordinate we must look at the equation for the twisted Edwards elliptic curve (as defined in EIP-2494): ax2+y2=1+dx2y2ax^2 + y^2 = 1 + dx^2y^2ax2+y2=1+dx2y2 solving for xxx, results: xxx = dy2−ay2−1\\mathsf{\\sqrt{\\frac{dy^2 - a}{y^2 - 1}}}y2−1dy2−a​​","s":"2.3. Public key","u":"/docs/spec","h":"#23-public-key","p":1685},{"i":1710,"t":"A keypair is a private key and its corresponding public key.","s":"2.4. Keypair","u":"/docs/spec","h":"#24-keypair","p":1685},{"i":1712,"t":"A command represents an action that a user may take. Such as casting a vote in a poll or changing their public key if bribed. It is made up of the following parameters: Symbol Name Size Description cmicm_icmi​ State index 50 State leaf index where the signing key is located cmpxcm_{p_{x}}cmpx​​ Public key x-coordinate 253 If no change is necessary this parameter should reflect the current public key's x-coordinate cmpycm_{p_{y}}cmpy​​ Public key y-coordinate 253 If no change is necessary this parameter should reflect the current public key's y-coordinate cmivcm_{i_{v}}cmiv​​ Vote option index 50 Option state leaf index of preference to assign the vote for cmwcm_wcmw​ Voting weight 50 Voice credit balance allocation, this is an arbitary value dependent on a user's available credits cmncm_ncmn​ Nonce 50 State leaf's index of actions committed plus one cmidcm_{id}cmid​ Poll id 50 The poll's identifier to cast in regard to cmscm_scms​ Salt 253 An entropy value to inhibit brute force attacks The parameters; cmicm_icmi​, cmivcm_{i_{v}}cmiv​​, cmncm_ncmn​, cmwcm_wcmw​ and cmidcm_{id}cmid​ are packed into a singular 250 bit value ppp, defined as the sum of bitwise right shifts from 0 to 250, incrementing by 50 for each parameter. This reduces gas expenditures when generating a poseidon4\\mathsf{poseidon_{4}}poseidon4​ hash of a command hcmh_{cm}hcm​, expressed as: hcmh_{cm}hcm​ = poseidon4([p,cmpx,cmpy,cms])\\mathsf{poseidon_{4}([p, cm_{p_{x}}, cm_{p_{y}}, cm_s])}poseidon4​([p,cmpx​​,cmpy​​,cms​]) 2.5.1. Signing a command​ To sign a command with a public key AAA: Compute M=hcmM = h_{cm}M=hcm​ Sign MMM using EdDSA [1.5] The signature is R8,SR8, SR8,S 2.5.2. Verifying a signature​ We use the method described in [1.6]","s":"2.5. Command","u":"/docs/spec","h":"#25-command","p":1685},{"i":1714,"t":"A message represents an encrypted command. Given a shared key ksk_sks​ derived using ECDH [1.10] and plaintext ttt, we compute: t=[p,cmpx,cmpy,cms,R8[0],R8[1],S]t = [p, cm_{p_{x}}, cm_{p_{y}}, cm_s, R8[0], R8[1], S]t=[p,cmpx​​,cmpy​​,cms​,R8[0],R8[1],S] MMM = poseidonEncrypt(ks[0],ks[1],cmn,7,t)\\mathsf{poseidonEncrypt}(k_s[0], k_s[1], cm_n, 7, t)poseidonEncrypt(ks​[0],ks​[1],cmn​,7,t) 2.6.1. Decrypting a message​ To decrypt a message using ksk_sks​ is expressed as [p,R8[0],R8[1],cms][p, R8[0], R8[1], cm_s][p,R8[0],R8[1],cms​] = poseidonDecrypt(M,ks[0],ks[1],cmn,7)\\mathsf{poseidonDecrypt}(M, k_s[0], k_s[1], cm_n, 7)poseidonDecrypt(M,ks​[0],ks​[1],cmn​,7) To unpack ppp to it's original five parameters, it must be seperated into 50 bit values from the parent 250 bit value. To extract 50 bits at byte nnn, we: initialise 50 bits shift left by nnn bits bitwise AND with ppp shift right by nnn bits","s":"2.6. Message","u":"/docs/spec","h":"#26-message","p":1685},{"i":1716,"t":"A Ballot represents a particular user's votes in a poll, as well as their next valid nonce. It is akin to a voting slip, which belongs to only one voter and contains a list of their choices. Symbol Name Comments bltvblt_{v}bltv​ An array of vote weights bltv[i]blt_{v[i]}bltv[i]​ refers to the vote weights assigned to vote option iii bltnblt_nbltn​ The current nonce Starts from 0 and increments, so the first valid command must have nonce 1 bltdblt_dbltd​ The vote option tree depth The hash bltbltblt is computed as such: Compute the Merkle root of bltvblt_vbltv​, arity 5, of a tree of depth bltdblt_dbltd​; let this value be bltrblt_rbltr​ Compute poseidon2([bltn,bltr])\\mathsf{poseidon_2}([blt_n, blt_r])poseidon2​([bltn​,bltr​])","s":"2.7. Ballot","u":"/docs/spec","h":"#27-ballot","p":1685},{"i":1718,"t":"A state leaf represents a user's participation declared through an identity (their public key) and information relevant to their ability or right to cast votes in a poll (their voice credit balance and the block timestamp at which they signed up). We define a state leaf slslsl as the poseidon4\\mathsf{poseidon_4}poseidon4​ hash of the following: Symbol Name Comments slPxsl_{P_x}slPx​​ Public key's x-coordinate slPysl_{P_y}slPy​​ Public key's y-coordinate slvsl_{v}slv​ Voice credit balance sltsl_{t}slt​ Block timestamp In Unix time (seconds since Jan 1 1970 UTC) The hash slslsl is computed as such: sl=poseidon4([slAx,slAy,slv,slt])sl = \\mathsf{poseidon_4}([sl_{A_x}, sl_{A_y}, sl_{v}, sl_{t}])sl=poseidon4​([slAx​​,slAy​​,slv​,slt​]) 2.8.1. Blank state leaf​ A blank state leaf slBsl_BslB​ has the following value: 676900697020509952050894872371847172466086717112223527077360056792503800876267690069702050995205089487237184717246608671711222352707736005679250380087626769006970205099520508948723718471724660867171122235270773600567925038008762 This value is computed as such: Abx=10457101036533406547632367118273992217979173478358440826365724437999023779287A_{b_x} = 10457101036533406547632367118273992217979173478358440826365724437999023779287Abx​​=10457101036533406547632367118273992217979173478358440826365724437999023779287 Aby=19824078218392094440610104313265183977899662750282163392862422243483260492317A_{b_y} = 19824078218392094440610104313265183977899662750282163392862422243483260492317Aby​​=19824078218392094440610104313265183977899662750282163392862422243483260492317 slB=poseidon4([Ab0,Ab1,0,0])sl_B = \\mathsf{poseidon_4}([A_{b0}, A_{b1}, 0, 0])slB​=poseidon4​([Ab0​,Ab1​,0,0]) The code to derive AbxA_{b_x}Abx​​ and AbyA_{b_y}Aby​​ is here. The function call required is pedersenHash.getBasePoint('blake', 0) Hash the string PedersenGenerator_00000000000000000000000000000000_00000000000000000000000000000000 with blake256\\mathsf{blake_{256}}blake256​. In big-endian hexadecimal format, the hash should be 1b3ef77ef2cd620fd2358e69dd564f35556aad552fdd7f06b777bd3a1d697160 Set the 255th bit to 0. The result should be 1b3ef77ef2cd620fd2358e69dd564f35556aad552fdd7f06b777bd3a1d697120 Use the method to convert a buffer to a point on the BabyJub curve described in [2.3.2] Multiply the point by 8. The result is the point with x-value AbxA_{b_x}Abx​​ and y-value AbyA_{b_y}Aby​​ Given the elliptic curve discrete logarithm problem, we assume that no-one knows the private key s∈Fps \\in \\mathbb{F}_ps∈Fp​ and by using the public key generation procedure in [1.4], we can derive AbxA_{b_x}Abx​​ and AbyA_{b_y}Aby​​. Furthermore, the string above (PedersenGenerator...) acts as a nothing-up-my-sleeve value.","s":"2.8. State leaf","u":"/docs/spec","h":"#28-state-leaf","p":1685},{"i":1721,"t":"There is a coordinator and one or more users. Coordinator​ The coordinator's public key is cPkcPkcPk and their private key is cSkcSkcSk. User​ A user's ephemeral public key is ePkePkePk and their ephemeral private key is eSkeSkeSk.","s":"3.1. Actors","u":"/docs/spec","h":"#31-actors","p":1685},{"i":1723,"t":"In governing systems, collusion can be described as the ability to distort any ballot through acts of influence, most often witnessed as bribery. Such arrangements require the bribee to vote in a manner requested by the briber, and for the former to provide proof (such as the transaction hash of a vote) to receive compensation (e.g. a monetary incentive) for their compliance. MACI provides collusion-resistance assuming that: it uses an identity system which is sybil-resistant the coordinator is honest That said, even if the coordinator is dishonest, they can neither tamper nor censor with its execution. In MACI, the contents of a vote can only be decrypted by the coordinator. Moreover, the validity of a vote cannot be proven, as participants can revoke past actions through key-changes. Therefore, inhibiting the adversary in validating the fufilliment of such agreements. To clarify how this works, consider the following situation between Alice and Eve involving a vote option A: Alice registers her identity during the sign up period, in preparation for the upcoming poll The sign up period ends and the voting period begins, Eve bribes Alice to oppose option A Alice casts a message for option A, in which she simultaneously: Votes in opposition of A Changes her keypair through submitting a new public key Eve is uncertain whether Alice has voted for her preference due to the secrecy of the message, regardless she assumes confirmation upon recieving the transaction hash Alice broadcasts a message from the new keypair registered in step 3 and casts a vote in support of poll A in turn, voiding her initial vote in opposition Eve is doubtful whether her request was actually satisfied and is unaware to Alice casting a new vote to void the first, she decides not compensate Alice because of the uncertainty surrounding her compliance.","s":"3.2. How MACI prevents collusion","u":"/docs/spec","h":"#32-how-maci-prevents-collusion","p":1685},{"i":1725,"t":"The gatekeeper contract is an abstraction of logic that any deployment of MACI can modify. It is a way to whitelist signups to the system. For example, a custom gatekeeper contract may only allow addresses which own a certain ERC721 token for registration.","s":"3.3. Gatekeeper contract","u":"/docs/spec","h":"#33-gatekeeper-contract","p":1685},{"i":1727,"t":"The voice credit contract is another abstraction of logic that any deployment can configure at preference. It is a mechanism to define or admit voting power among participants based on, for instance, one's token balances. MACI only supports 2322^{32}232 (unit256) values for voice credit balances.","s":"3.4. Initial voice credit proxy","u":"/docs/spec","h":"#34-initial-voice-credit-proxy","p":1685},{"i":1729,"t":"In MACI there are two zkSNARK circuits each ensuring: the correct registration of messages to the state tree the correct execution of the tallying of votes Each of these circuits involve ownership of an independent verifying key to validate each when successfully executed, these are generated during the trusted setup and are initialised to the registry for generating proofs.","s":"3.5. Verifying key registry","u":"/docs/spec","h":"#35-verifying-key-registry","p":1685},{"i":1731,"t":"The state tree​ Each leaf the state tree encodes a participant's identity (public key) and the Unix timestamp at which they signed up. It has an arity of 5 and its depth is hardcoded to 10. The default leaf value is the hash of a blank state leaf [2.8.1], insertions begin at index 1. Leaf 0 is reserved to inhibit a denial-of-service attack as explained below in [6.1]. The ballot tree (per poll)​ Each leaf within the ballot trees stores a participants vote within a poll, it shares the same arity and depth as the state tree. It also has index 0 reserved for a blank leaf following the same basis. The message tree (per poll)​ Each leaf within the message tree correlates to a command cast from participants within a poll, it too like the state tree has a default nothing-up-my-sleeve value at leaf zero. Except it is a Keccak256 hash of the string \"Maci\" moduluo the SNARK field size ppp [1.1].","s":"3.6. State","u":"/docs/spec","h":"#36-state","p":1685},{"i":1733,"t":"When a user signs up​ Registration is initiated through fulfilling the requirements specified in the gatekeeper contract and calling the signUp() method in the MACI contract. This enqueues adding a new leaf to the state tree for it to be merged by the coordinator once appropriate. When a user publishes a message​ Publishing messages requires users to encrypt a command using a shared key generated using ECDH [1.10] and submiting the ciphertext through the publishMessage() function. The message is then queued for processing by the co-ordinator once published. When the coordinator merges the state queue​ To subsidise gas costs for users, registration does not require the state root to be updated at its full depth, which would incur a gas cost linear to the depth. Rather, the use the Accumulator Queue system described in [1.10] enqueues leaves. As such, the coordinator must compute the state tree root after the voting period is over and before they process messages. Which first requires the merging of subroots [1.10.1], this creates the shortest possible tree that contains all the state leaves. Which may or may not require multiple transactions (in the form of batches) due to the restriction of the block gas limit. Once all the subroots have been computed they are merged [1.10.2] to compute the state root at its full depth. After merging, the state-ballot commitment hash currentSbCommitment is initialised, which is a poseidon3\\mathsf{poseidon_{3}}poseidon3​ represenation of the state's Merkle root, the ballot's Merkle root and a salt. At initialisation the Merkle roots are equal to the trees at full depth. When the coordinator merges the message queue​ The process of merging queues are the same in both the message and state trees. When the coordinator processes the messages​ As large zk-SNARK circuits take up a lot of disk space and require a large amount of resources to compile, it is not feasible to prove the correctness of message processing for all messages in a single proof. Rather, we process messages in batches. With each batch of messages at a particular index, the coordinator proves, using a zk-SNARK proof, intermediate currentSbCommitment values for subroots at a relative depth. The authencity of this statement is confirmed using the registry's processing verifying key. The outcome of processing all batches, which must occur in consecutive order, is the same as if all the messages were processed in one go. When the coordinator tallies the votes​ To index tallying of votes in a poll, a tally commitment hash tallyCommitment is recorded which conforms similarly to the state-ballot commitment hash. The coordinator submits a new commitment hash and it's relative proof to tally the votes, which requires the verifying tallying key (queried from the registry) and the public input hash to validate the claim. Which is a SHA256 representation of the following parameters: a packed value of; the number of signups, batch start index and batch size (packedVals [6.2]) the state-ballot commitment hash the current tally commitment hash the new tally commitment hash The proof is then verified (see below) and the tally commitment hash is updated with the new value, this process is continued through iteration of the batch index until all pending votes have been tallied. When a 3rd party verifies the tally​ Any 3rd party contract may verify a leaf in tallyCommitment on-chain using a combination of Merkle proofs and hashing. Client developers should implement these functions as needed. We do not implement these functions in MACI to minimise contract size.","s":"3.7. System flow","u":"/docs/spec","h":"#37-system-flow","p":1685},{"i":1735,"t":"Applications that use MACI are likely to be run in the browser. Users who sign up and vote can do so via web3 interactions. Only the coordinator needs to run scripts to deploy MACI, set verifying keys, deploy Polls, merge trees, process messages, and tally votes. To make these processes easy to use, we provide command-line interface tools. The integration tests and shell scripts in the cli directory provide examples of the order in which to execute them. Command Description Notes genMaciPubkey Generate a MACI public key from a private key Only the coordinator needs to run this, as users should generate their keys in the browser and should be automated by the client application genMaciKeypair Generates a MACI private key and public key Only the coordinator needs to run this, as users should generate their keys in the browser and should be automated by the client application deployVkRegistry Deploy the VkRegistry contract Executed only the coordinator setVerifyingKeys Set verifying keys to the VkRegistry Executed only the coordinator create Deploy a new instance of MACI Executed only the coordinator deployPoll Deploy a new poll on a MACI instance Executed only the coordinator signup Sign up a user Mainly for testing; as users are more likely to use the client application instead of the CLI publish Submit a message to a poll Mainly for testing; as users are more likely to use the client application instead of the CLI mergeMessages Must be executed before generating proofs Executed only the coordinator mergeSignups Must be executed before generating proofs Executed only the coordinator genProofs Generate all message processing and vote tallying proofs Executed only the coordinator proveOnChain Submit proofs to the PollProcessorAndTallyer contract Executed only the coordinator","s":"4. Command-line interface","u":"/docs/spec","h":"#4-command-line-interface","p":1685},{"i":1738,"t":"Function Permissions Notes init(VkRegistry _vkRegistry, MessageAqFactory _messageAqFactory) Coordinator only Initialise factory, helper and registry contracts that share equal ownership signUp(PubKey memory _pubKey, bytes memory _signUpGatekeeperData, bytes memory _initialVoiceCreditProxyData) Executable only during the sign-up period and after initialisation Participant registration and voice credit assignment mergeStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) Executable only by poll contract _pollId and after initialisation Merge queued state leaves to form the state tree subroots mergeStateAq(uint256 _pollId) Executable only by poll contract _pollId and after initialisation Merge the state subroots to form the state root getStateAqRoot() Non-applicable Query the state root deployPoll(uint256 _duration, MaxValues memory _maxValues, TreeDepths memory _treeDepths, PubKey memory _coordinatorPubKey) Executable only after initialisation Create a new poll getPoll(uint256 _pollId) Non-applicable Query a poll address","s":"5.1. MACI","u":"/docs/spec","h":"#51-maci","p":1685},{"i":1740,"t":"Function Permissions Notes getDeployTimeAndDuration() Non-applicable Query the deployment timestamp and duration numSignUpsAndMessages() Non-applicable Query the number of participants and messages cast currentSbAndTallyCommitments() Non-applicable Query the current state-ballot and tally commitments hashes publishMessage(Message memory _message, PubKey memory _encPubKey) Executable only during the voting period and if the message limit has not been not met Submit a message (whether valid or not) to the message queue hashMessageAndEncPubKey(Message memory _message, PubKey memory _encPubKey) Non-applicable Query a hash of a message and public key coordinates mergeMaciStateAqSubRoots( uint256 _numSrQueueOps, uint256 _pollId) Executable only by the coordinator and after the voting period Merge queued state leaves to form the state subroots mergeMaciStateAq(uint256 _pollId) Executable only by the coordinator and after the voting period Merge the state subroots to form the state root and initialise the state-ballot commitment hash mergeMessageAqSubRoots(uint256 _numSrQueueOps) Executable only by the coordinator and after the voting period Merge the queued message leaves to form the message tree subroots mergeMessageAq() Executable only by the coordinator and after the voting period Merge the message tree subroots to form the message tree root batchEnqueueMessage(uint256 _messageSubRoot) Executable only by the coordinator and after the voting period Submit a batch of messages to the queue","s":"5.2. Poll","u":"/docs/spec","h":"#52-poll","p":1685},{"i":1742,"t":"Function Permissions Notes setMessageAqFactory(MessageAqFactory _messageAqFactory) Coordinator only Initialise the message factory contract deploy(uint256 _duration, MaxValues memory _maxValues, TreeDepths memory _treeDepths, BatchSizes memory _batchSizes, PubKey memory _coordinatorPubKey, VkRegistry _vkRegistry, IMACI _maci, address _pollOwner) Coordinator only Create a new poll","s":"5.3. PollFactory","u":"/docs/spec","h":"#53-pollfactory","p":1685},{"i":1744,"t":"Function Permissions Notes isProcessVkSet(uint256 _sig) Non-applicable Query whether a signature is valid for message processing isTallyVkSet(uint256 _sig) Non-applicable Query whether a signature valid for tallying votes genProcessVkSig(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) Non-applicable Generate a signature (used for verifying key mapping lookups) for message processing by compressing parameters into a singular value genTallyVkSig(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) Non-appicable Generate a signature (used for verifying key mapping lookups) for vote tallying by compressing parameters into a singular value setVerifyingKeys( uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize, VerifyingKey memory _processVk, VerifyingKey memory _tallyVk) Coordinator only Intialise verifying keys for processing and tallying to the contract alongside specifying each tree depth hasProcessVk(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) Non-applicable Query whether the signature of the parameters is valid for message processing getProcessVkBySig(uint256 _sig) Non-applicable Query a processing verifying key by providing a valid signature getProcessVk(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) Non-applicable Query a processing verifying key by providing parameters to generate a valid signature hasTallyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) Non-appicable Query whether the signature of the parameters is valid for vote tallying getTallyVkBySig(uint256 _sig) Non-applicable Query a tallying verifying key by providing a valid signature getTallyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) Non-appicable Query a tallying verifying key by providing parameters to generate a valid signature","s":"5.4. VkRegistry","u":"/docs/spec","h":"#54-vkregistry","p":1685},{"i":1746,"t":"Function Permissions Notes sha256Hash(uint256[] memory array) Non-appicable Hash an array of values (using SHA256) moduluo the snark field size processMessages(Poll _poll, uint256 _newSbCommitment, uint256[8] memory _proof) Executable only by the coordinator and after the voting period Process state messages relative to a new state-ballot commitment given that the proof is valid verifyProcessProof(Poll _poll, uint256 _currentMessageBatchIndex, uint256 _messageRoot, uint256 _currentSbCommitment, uint256 _newSbCommitment, uint256[8] memory _proof) Non-appicable Query whether a message processing proof is valid genProcessMessagesPublicInputHash(Poll _poll, uint256 _currentMessageBatchIndex, uint256 _messageRoot, uint256 _numSignUps, uint256 _currentSbCommitment, uint256 _newSbCommitment) Non-appicable Hash of the coordinators public key, packedVals, current state-ballot commitment and message root genProcessMessagesPackedVals( Poll _poll, uint256 _currentMessageBatchIndex, uint256 _numSignUps) Non-appicable Generate a packed 250-bit value packedVals for message processing genTallyVotesPackedVals( uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize) Non-appicable Generate a packed 100-bit value packedVals for vote tallying genTallyVotesPublicInputHash( uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize, uint256 _newTallyCommitment ) Non-appicable Hash of the current tally commitment, the new tally commitment, packedVals and the state-ballot commitment tallyVotes(Poll _poll, uint256 _newTallyCommitment, uint256[8] memory _proof) Executable only by the coordinator and after the voting period Tally votes relative to a new tally commitment given that the proof is valid verifyTallyProof(Poll _poll, uint256[8] memory _proof, uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize, uint256 _newTallyCommitment) Non-appicable Query whether a vote tallying proof is valid","s":"5.5. PollProcessorAndTallyer","u":"/docs/spec","h":"#55-pollprocessorandtallyer","p":1685},{"i":1748,"t":"The zk-SNARK circuits in MACI are written in the circom language. Proofs are Groth16 and are generated using the rapidsnark prover. We use custom tools to simplify the process of writing circuits, testing them, and generating proving and verifying keys. These tools are not in scope of the audit but it is useful to know them. circom-helper allows developers to test circom circuits quickly and easily. It compiles circuits and exposes a JSON-RPC API which allows developers to generate witnesses and access signal values without writing command-line glue scripts. zkey-manager simplifies the process of zkey file management for circuits written in circom. Please note that MACI requires the coordinator to generate proofs on an x86 machine (Intel / AMD) or VM. Other processors (e.g. ARM) are not supported.","s":"6. zk-SNARKs","u":"/docs/spec","h":"#6-zk-snarks","p":1685},{"i":1750,"t":"The message processing circuit, defined in circuits/circom/processMessages.circom, allows the coordinator to prove that they have correctly applied each message in reverse order, in a consecutive batch of 5 ^ msgBatchDepth messages to the respective state leaf within the state tree. Parameters​ Parameter Description stateTreeDepth Depth of the state tree, this value must be equal to 10 msgTreeDepth Depth of the message tree, this must be the same value passed to the deployPoll() contract function of MACI.sol msgBatchDepth Depth of a tree that exactly fits the number of messages in a batch, this must be the same value passed to the deployPoll() contract function of MACI.sol voteOptionTreeDepth Depth of the vote option tree, this must be the same value passed to the deployPoll() contract function of MACI.sol The state tree, message tree, and vote option trees all have an arity of 5. As such, it is possible to calculate the maximum number of signups, messages per poll, and vote options per poll. Input signals​ Input signal Description inputHash The SHA256 hash of inputs supplied by the contract packedVals As described below pollEndTimestamp The Unix timestamp at which the poll ends msgRoot The root of the message tree msgs The batch of messages as an array of arrays msgSubrootPathElements As described below coordinatorPubKeyHash poseidon2([cPkx,cPky])\\mathsf{poseidon_2}([cPk_x, cPk_y])poseidon2​([cPkx​,cPky​]) newSbCommitment As described below coordPrivKey The coordinator's private key coordPubKey The coordinator's public key encPubKeys The public keys used to generate shared ECDH encryption keys to encrypt the messages currentStateRoot The state root before the commands are applied currentStateLeaves The state leaves upon which messages are applied currentStateLeavesPathElements The Merkle path to each incremental state root currentSbCommitment As described below currentSbSalt As described below newSbCommitment As described below newSbSalt As described below currentBallotRoot The root of the ballot tree before messages are applied currentBallots The ballots upon which ballots are applied currentBallotsPathElements The Merkle path to each incremental ballot root currentVoteWeights The existing vote weight for the vote option in the ballot which each command refers to currentVoteWeightsPathElements The Merkle path from each vote weight to the vote option root in its ballot inputHash​ All inputs to this circuit are private except for inputHash. To save gas during verification, the PollProcessorAndTallyer contract hashes the following values using SHA256 and uses the hash as the sole element of icicic: packedVals coordinatorPubKeyHash msgRoot currentSbCommitment newSbCommitment pollEndTimestamp The hash is computed using the sha256 Solidity function and is then subject to modulo ppp. packedVals​ packedVals is the following values represented as one field element. Consider that a field element is roughly 253 bits. The big-endian bit-representation is as such: Bits Value 1st 53 bits 0 2nd 50 bits batchEndIndex 3rd 50 bits currentMessageBatchIndex 4th 50 bits numSignUps 5th 50 bits maxVoteOptions For instance, if maxVoteOptions is 25 and batchEndIndex is 5, and all other values are 0, the following is the packedVals representation in hexadecimal: 140000000000000000000000000000000000019 currentSbCommitment and newSbCommitment​ The currentSbCommitment is the poseidon3\\mathsf{poseidon_3}poseidon3​ hash of the state tree root, the ballot tree root, and a random salt. The purpose of the random salt, which should be unique to each batch, is to ensure that the value of currentSbCommitment always changes even if all the commands in a batch are invalid and therefore do not change the state tree or ballot tree root. The result of applying a batch of messages to currentSbCommitment is newSbCommitment. currentSbSalt​ The salt used to produce currentSbCommitment (see above). newSbSalt​ The salt used to produce newSbCommitment (see above). msgSubrootPathElements​ The index of each message in msgs is consecutive. As such, in order to prove that each message in msgs is indeed a leaf of the message tree, we compute the subtree root of msgs, and then verify that the subtree root is indeed a subroot of msgRoot. A simplified example using a tree of arity 2: r / \\ s ... / \\ o o / \\ / \\ a b c d To prove that a...d are leaves of the tree with root r, we prove that the leaves have the subroot s with depth 2, and then prove that s is a member of r at depth 1. The implementation for this is in the QuinBatchLeavesExists circuit in circuits/circom/trees/incrementalQuinTree.circom. This method requires fewer circuit constraints than if we verified a Merkle proof for each leaf. Statements that the circuit proves​ That the prover knows the preimage to inputHash (see above) That the prover knows the preimage to currentSbCommitment (that is, the state root, ballot root, and currentSbSalt) That maxVoteOptions <= (5 ^ voteOptionTreeDepth) That numSignUps <== (5 ^ stateTreeDepth) That coordPubKey is correctly derived from coordPrivKey That coordPubKey is the preimage to the Poseidon hash of coordPubKey (provided by the contract) That each message in msgs exists in the message tree That after decrypting and applying each message, in reverse order, to the corresponding state and ballot leaves, the new state root, new ballot root, and newSbSalt are the preimage to newSbCommitment How messages are decrypted and applied​ The circuit uses Poseidon decryption [1.9] to decrypt each message. The shared key is derived using ECDH [1.10] and the nonce is always equal to a value of0. The procedure to apply a command to a state leaf and ballot leaf is as such: Check if the signature is valid [1.6] Check if the user has enough voice credits To do so , we check if slv+(bltvcmiv)2−(cmw)2≥0sl_v + (blt_{v_{cm_{i_v}}})^{2} - (cm_{w})^2 \\geq 0slv​+(bltvcmiv​​​​)2−(cmw​)2≥0 Check if the vote weight is less than 147946756881789319005730692170996259609 which is approximately p\\sqrt pp​ This ensures that the square of the vote weight will not overflow ppp Check if the nonce is valid Check if the state leaf index is valid Check if the timestamp is valid Check if the vote option index is valid. If any of the above are invalid, the command is invalid. If the command is valid: Verify that the state leaf at cmicm_icmi​ is a member of the state root Verify that the ballot leaf at cmicm_icmi​ is a member of the ballot root Update the state root by replacing the state leaf at cmicm_icmi​: Set slPxsl_{P_x}slPx​​ to cmPxcm_{P_x}cmPx​​ Set slPysl_{P_y}slPy​​ to cmPycm_{P_y}cmPy​​ Set slvsl_{v}slv​ to cmivcm_{i_v}cmiv​​ Update the ballot root by replacing the ballot leaf at cmicm_icmi​: Set bltv[cmiv]blt_{v[cm_{i_v}]}bltv[cmiv​​]​ to cmwcm_{w}cmw​, update bltvblt_vbltv​, and update bltbltblt [2.7] If the command is invalid: Verify that the state leaf at index 0 is a member of the state root Verify that the ballot leaf at index 0 is a member of the ballot root The state leaf at index 0 is a blank state leaf, and the ballot leaf at index 0 is an blank ballot leaf. It should be impossible to update the 0th state leaf or 0th ballot leaf. The reason that these blank leaves exist at index 0 is to prevent an attack where a user sets cmicm_icmi​ to the maximum possible value (5105^{10}510), which would force the coordinator to have to compute the Merkle path of leaf 510−15_{10} - 1510​−1. Which is would take such a long time that it would constitute a denial-of-service attack on the coordinator that prevents them from generating proofs in a reasonable time. Order of message processing​ Messages are applied in reverse order. This prevents an attack where a briber colludes with a user to sign up and then immediately change their key to the briber's, ceding control entirely. Rather, the user may render previous commands invalid even if said commands are key-change commands. For instance: If messages are processed in last-in-first-out order​ User signs up with public key uuu Briber tells user to change their key to bbb, they comply Briber can now vote for anything they want using bbb and their commands will be valid The user cannot change the key as they do not know the briber's private key If messages are processed in first-in-first-out order​ User signs up with public key uuu Briber tells user to change their key to bbb, the nonce of this command is 2, the user complies Briber submits a vote, the nonce of this command is 1 User changes their key to kkk, the nonce of this command is 2 User votes for a vote option using public key uuu, the nonce of this command is 1 The commands at (3) and (2) are invalid because the commands at (5) and (4) are processed first. The command at (3) is invalid not only because the briber does not know the private key to kkk, but also because the expected nonce is 3.","s":"6.1. Message processing circuit","u":"/docs/spec","h":"#61-message-processing-circuit","p":1685},{"i":1752,"t":"After the coordinator processes all message batches, each ballot contains the votes per vote option. The next step is to tally each vote so as to produce the following results: Votes per vote option Total voice credits per vote option Total spent voice credits As an illustration, consider the following Ballots for 5 uses. Assume that there are 5 vote options and all messages have already been processed. [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [1, 1, 1, 1, 1] The final tally should be: Votes per vote option: [3, 5, 7, 9, 11] Total voice credits per vote option: [3, 9, 19, 33, 26] Total spent voice credits: 66 The coordinator uses the ballot tallying circuit (tallyVotes.circom) to generate proofs that they have correctly computed the tally. As there are many ballots to tally, each proof only computes the tally for a batch of ballots. Each proof is chained to the previous one such that each proof is also a proof of knowledge of the preimage of the previous tally commitment. Parameters​ Parameter Description stateTreeDepth Depth of the state tree, this value must be equal to 10 intStateTreeDepth Depth of the intermediate state tree, 5 ** intStateTreeDepth is the batch size voteOptionTreeDepth Depth of the vote option tree, this must be the same value passed to the deployPoll() contract function of MACI.sol Input signals​ Input signal Description inputHash The SHA256 hash of inputs supplied by the contract packedVals As described below sbCommitment As described below currentTallyCommitment As described below newTallyCommitment As described below stateRoot The root of the state tree after all messages have been applied ballotRoot The root of the ballot tree after all messages have been applied sbSalt The salt used to produce sbCommitment ballots The ballots in the batch being tallied ballotPathElements The Merkle path to each ballot leaf votes The votes in each ballot cast per result currentResults The current tally of votes per vote option currentResultsRootSalt A random value currentSpentVoiceCreditSubtotal The subtotal of voice credits spent across all vote options currentSpentVoiceCreditSubtotalSalt A random value currentPerVOSpentVoiceCredits The voice credits spent on each vote option so far currentPerVOSpentVoiceCreditsRootSalt A random value newResultsRootSalt A random value newPerVOSpentVoiceCreditsRootSalt A random value newSpentVoiceCreditSubtotalSalt A random value inputHash​ All inputs to this circuit are private except for inputHash. To save gas during verification, the PollProcessorAndTallyer contract hashes the following values using SHA256 and uses the hash as the sole element of icicic: packedVals sbCommitment currentTallyCommitment newTallyCommitment The hash is computed using the sha256 Solidity function and is then subject to modulo ppp. packedVals​ packedVals is the following values represented as one field element. Consider that a field element is roughly 253 bits. The big-endian bit-representation is as such: Bits Value 1st 53 bits 0 2nd 50 bits 0 3rd 50 bits 0 4th 50 bits numSignUps 5th 50 bits batchStartIndex numSignUps, a value provided by the contract, is the number of users who have signed up. This is one less than the number of leaves inserted in the state tree (since the 0th state leaf is a blank state leaf [2.8.1]). batchStartIndex is the ballot tree index at which the batch begins. For instance, if numSignUps is 25 and the batch index is 5, and all other values are 0, the following is the packedVals representation in hexadecimal: 64000000000005 sbCommitment​ The commitment to stateRoot, ballotRoot, and sbSalt: poseidon3([stateRoot,ballotRoot,sbSalt])\\mathsf{poseidon_3}([\\mathsf{stateRoot}, \\mathsf{ballotRoot}, \\mathsf{sbSalt}])poseidon3​([stateRoot,ballotRoot,sbSalt]) Proving preimage of sbCommitment is one out of the several steps required to prove that the votes were tallied correctly. By establishing that the coordinator knows ballotRoot, the coordinator can (using other parts of the circuit) prove that that they know the preimage of the ballot leaves in the batch being tallied. currentTallyCommitment and newTallyCommitment​ A tally is represented by a tally commitment, which is the poseidon3\\mathsf{poseidon_3}poseidon3​ hash of: tcrtc_{r}tcr​: a commitment to the votes per option This is the hash of the Merkle root rrr_rrr​ of the votes and a salt rsr_srs​, computed as poseidon2([rr,rs])\\mathsf{poseidon_2}([r_r, r_s])poseidon2​([rr​,rs​]) tcttc_ttct​: a commitment to the total spent voice credits This is the hash of the total spent voice credits tct_ctc​ and a salt tst_sts​, computed as poseidon2([tc,ts])\\mathsf{poseidon_2}([t_c, t_s])poseidon2​([tc​,ts​]) tcptc_ptcp​: a commitment to the spent voice credits per vote option This is the hash of the Merkle root of the spent voice credits per vote option pvp_vpv​ and a salt psp_sps​, computed as poseidon2([pv,ps])\\mathsf{poseidon_2}([p_v, p_s])poseidon2​([pv​,ps​]) The tally commitment is computed as such: poseidon3([tcr,tct,tcp])\\mathsf{poseidon_3}([tc_r, tc_t, tc_p])poseidon3​([tcr​,tct​,tcp​]) Statements that the circuit proves​ That the coordinator knows the preimage of sbCommitment (see above) That the coordinator knows the preimage of inputHash (see above) That batchStartIndex is less than or equal to numSignUps That each ballot in ballots is in a member of the ballot tree with the Merkle root ballotRoot at indices batchStartIndex to batchStartIndex + (5 ** intStateTreeDepth) That each set of votes (votes[i]) has the Merkle root bltrblt_rbltr​ whose value equals ballots[i][1] That the tally is valid, which is: That the sum of votes per vote option is correct That the sum of voice credits per vote option is correct That the subtotal of the spent voice credits is correct","s":"6.2. Ballot tallying circuit","u":"/docs/spec","h":"#62-ballot-tallying-circuit","p":1685},{"i":1755,"t":"Unit tests within the project are built using Mocha and Chai. Mocha is a test framework that provides the environment to write and run JavaScript tests, while Chai is an assertion library that allows us to write assertions in a more expressive and readable way. The following submodules contain unit tests: core, crypto, circuits, contracts, and domainobjs. You can run all unit tests from the root directory of the repo by running: pnpm run test Or you can run unit tests within each submodule. for example to run the crypto tests: cd crypto pnpm run test You can also run individual tests within submodules, for example: cd contracts pnpm run test:accQueue This test command will run AccQueue.test.ts","s":"Unit tests","u":"/docs/testing","h":"#unit-tests","p":1753},{"i":1757,"t":"First, compile the contracts. From the main maci/ directory, run: cd contracts && \\ pnpm run compileSol To run Contracts only tests, run: pnpm run test","s":"Contracts","u":"/docs/testing","h":"#contracts","p":1753},{"i":1759,"t":"To test the circuits, from the main maci/ directory, run: cd circuits && \\ pnpm run test Tests are run using Mocha and circom_tester.","s":"Circuits","u":"/docs/testing","h":"#circuits","p":1753},{"i":1761,"t":"You can test the CLI locally. First, you need to either generate .zkey files, or download them. Please remember to not use these testing .zkey files in production.","s":"CLI","u":"/docs/testing","h":"#cli","p":1753},{"i":1763,"t":"MACI has two main zk-SNARK circuits, processMessages and tallyVotes (subsidyPerBatch is optional). Each circuit is parameterised and there should be one .zkey file for each circuit and set of parameters. Unless you wish to generate a fresh set of .zkey files, you should obtain them from someone who has performed a multi-party trusted setup for said circuits. Note the locations of the .zkey files as the CLI requires them as command-line flags. For testing purposes you can download the required artifacts using the [download_zkeys``](https://github.com/privacy-scaling-explorations/maci/blob/dev/integrationTests/scripts/download_zkeys.sh) script inside the integrationTests/scriptsfolder. The script will place all required artifacts inside thecli/zkeysfolder. You can run the script directly with bash or use pnpm:pnpm run download-zkeys`.","s":"Download .zkey files or the witness generation binaries","u":"/docs/testing","h":"#download-zkey-files-or-the-witness-generation-binaries","p":1753},{"i":1765,"t":"From the main maci/cli directory, run: pnpm exec zkey-manager compile -c ./zkeys.config.yml You should see the following files in maci/cli/zkeys/: ProcessMessages_10-2-1-2_test ProcessMessages_10-2-1-2_test.circom ProcessMessages_10-2-1-2_test.dat ProcessMessages_10-2-1-2_test.r1cs ProcessMessages_10-2-1-2_test.sym ProcessMessages_10-2-1-2_test_cpp ProcessMessages_10-2-1-2_test_js SubsidyPerBatch_10-1-2_test SubsidyPerBatch_10-1-2_test.circom SubsidyPerBatch_10-1-2_test.dat SubsidyPerBatch_10-1-2_test.r1cs SubsidyPerBatch_10-1-2_test.sym SubsidyPerBatch_10-1-2_test_cpp SubsidyPerBatch_10-1-2_test_js TallyVotes_10-1-2_test TallyVotes_10-1-2_test.circom TallyVotes_10-1-2_test.dat TallyVotes_10-1-2_test.r1cs TallyVotes_10-1-2_test.sym TallyVotes_10-1-2_test_cpp TallyVotes_10-1-2_test_js","s":"Compile the witness generation binaries (if generating from scratch)","u":"/docs/testing","h":"#compile-the-witness-generation-binaries-if-generating-from-scratch","p":1753},{"i":1767,"t":"Next, ensure that the prover binary of rapidsnark is in ~/rapidsnark/build/prover. info This step is only required if you wish to use rapidsnark, for faster proof generation. You can also use the WASM witnesses provided in the cli/zkeys folder.","s":"Check the Rapidsnark binary","u":"/docs/testing","h":"#check-the-rapidsnark-binary","p":1753},{"i":1769,"t":"You can find the tests in maci/cli/tests. To run the tests first start a hardhat node in the background: cd contracts pnpm run hardhat & cd ../cli Then run the tests (this will run all tests): pnpm run test To run e2e without subsidy: pnpm run test:e2e To run e2e with subsidy: pnpm run test:e2e-subsidy","s":"Run CLI tests","u":"/docs/testing","h":"#run-cli-tests","p":1753},{"i":1771,"t":"You can find the tests in maci/integrationTests/. You can run them with: pnpm run test ## Pre-Compiled Artifacts for testing The followingcompiled circuits and zkeys are available to download: Prod (7-9-3-4) Micro (10-2-1-2) Small (4-6-3-4) Medium (7-7-3-3) 6-8-3-3","s":"Run integration tests","u":"/docs/testing","h":"#run-integration-tests","p":1753},{"i":1773,"t":"glibc 2.11 (Default of Ubuntu 20.04 LTS) Prod Size​ zkeys-7-9-3-4.tar.gz (2.8 GB) ProcessMessages_7-9-3-4_test.0.zkey (3.8 GB) generated using powersOfTau28_hez_final_22.ptau TallyVotes_7-3-4_test.0.zkey (8.5 GB) generated using powersOfTau28_hez_final_23.ptau Message processing​ Parameter Value Description State tree depth 7 Allows 78,125 signups. Message tree depth 9 Allows 1,953,125 votes or key-change messages. Message batch tree depth 3 Allows 125 messages to be processed per batch. Vote option tree depth 4 Allows 625 vote options. Vote tallying​ Parameter Value Description State tree depth 7 Allows 78,125 signups. State leaf batch depth 3 Allows 125 user's votes to be processed per batch. Message batch tree depth 4 Allows 625 messages to be processed per batch. Micro size​ zkeys_10-2-1-2_glibc-211.tar.gz (403 MB) ProcessMessages_10-2-1-2_test.0.zkey (190 MB) TallyVotes_10-1-2_test.0.zkey (71 MB) SubsidyPerBatch_10-1-2_test.0.zkey (202 MB) *.zkey files are generated using powersOfTau28_hez_final_20.ptau Message processing​ Parameter Value Description State tree depth 10 Allows 9,765,625 signups. Message tree depth 2 Allows 25 votes or key-change messages. Message batch tree depth 1 Allows 5 messages to be processed per batch. Vote option tree depth 2 Allows 25 vote options. Vote tallying​ Parameter Value Description State tree depth 10 Allows 9,765,625 signups. State leaf batch depth 1 Allows 5 user's votes to be processed per batch. Message batch tree depth 2 Allows 25 messages to be processed per batch. Small size​ zkeys_4-6-3-4_glibc-211.tar.gz (2.6 GB) ProcessMessages_4-6-3-4_test.0.zkey (2.9 GB) generated using powersOfTau28_hez_final_22.ptau TallyVotes_4-3-4_test.0.zkey (8.5 GB) generated using powersOfTau28_hez_final_23.ptau Message processing​ Parameter Value Description State tree depth 4 Allows 625 signups. Message tree depth 6 Allows 15,625 votes or key-change messages. Message batch tree depth 3 Allows 125 messages to be processed per batch. Vote option tree depth 4 Allows 625 vote options. Vote tallying​ Parameter Value Description State tree depth 4 Allows 9,765,625 signups. State leaf batch depth 3 Allows 125 user's votes to be processed per batch. Message batch tree depth 4 Allows 625 messages to be processed per batch. Medium size​ zkeys_7-7-3-3_glibc-211.tar.gz (4.9 GB) ProcessMessages_7-7-3-3_test.0.zkey (2.2 GB) generated using powersOfTau28_hez_final_22.ptau TallyVotes_7-3-3_test.0.zkey (884 MB) generated using powersOfTau28_hez_final_22.ptau Message processing​ Parameter Value Description State tree depth 7 Allows 78,125 signups. Message tree depth 7 Allows 78,125 votes or key-change messages. Message batch tree depth 3 Allows 125 messages to be processed per batch. Vote option tree depth 3 Allows 125 vote options. Vote tallying​ Parameter Value Description State tree depth 7 Allows 78,125 signups. State leaf batch depth 3 Allows 125 user's votes to be processed per batch. Message batch tree depth 3 Allows 125 messages to be processed per batch. 6-8-3-3​ zkeys_6-8-3-3_glibc-211.tar.gz (1.1 GB) ProcessMessages_6-8-3-3_test.0.zkey (3.4 GB) generated using powersOfTau28_hez_final_22.ptau TallyVotes_6-3-3_test.0.zkey (1.8 MB) generated using powersOfTau28_hez_final_22.ptau Message processing​ Parameter Value Description State tree depth 6 Allows 15,625 signups. Message tree depth 8 Allows 390,625 votes or key-change messages. Message batch tree depth 3 Allows 125 messages to be processed per batch. Vote option tree depth 3 Allows 125 vote options. Vote tallying​ Parameter Value Description State tree depth 7 Allows 15,625 signups. State leaf batch depth 3 Allows 125 user's votes to be processed per batch. Message batch tree depth 3 Allows 125 messages to be processed per batch. contents of *.tar.gz​ It contains compiled result of the circuit: zkeys/ zkeys/ProcessMessages_7-9-3-4_test.sym zkeys/ProcessMessages_7-9-3-4_test.circom zkeys/ProcessMessages_7-9-3-4_test.dat zkeys/TallyVotes_7-3-4_test_js/ zkeys/TallyVotes_7-3-4_test_js/TallyVotes_7-3-4_test.wasm zkeys/TallyVotes_7-3-4_test_js/witness_calculator.js zkeys/TallyVotes_7-3-4_test_js/TallyVotes_7-3-4_test.wat zkeys/TallyVotes_7-3-4_test_js/generate_witness.js zkeys/TallyVotes_7-3-4_test.sym zkeys/TallyVotes_7-3-4_test.dat zkeys/ProcessMessages_7-9-3-4_test.r1cs zkeys/ProcessMessages_7-9-3-4_test zkeys/ProcessMessages_7-9-3-4_test_cpp/ zkeys/ProcessMessages_7-9-3-4_test_cpp/fr.asm zkeys/ProcessMessages_7-9-3-4_test_cpp/calcwit.cpp zkeys/ProcessMessages_7-9-3-4_test_cpp/fr.hpp zkeys/ProcessMessages_7-9-3-4_test_cpp/ProcessMessages_7-9-3-4_test.o zkeys/ProcessMessages_7-9-3-4_test_cpp/calcwit.o zkeys/ProcessMessages_7-9-3-4_test_cpp/main.o zkeys/ProcessMessages_7-9-3-4_test_cpp/main.cpp zkeys/ProcessMessages_7-9-3-4_test_cpp/ProcessMessages_7-9-3-4_test.cpp zkeys/ProcessMessages_7-9-3-4_test_cpp/fr.o zkeys/ProcessMessages_7-9-3-4_test_cpp/circom.hpp zkeys/ProcessMessages_7-9-3-4_test_cpp/calcwit.hpp zkeys/ProcessMessages_7-9-3-4_test_cpp/fr.cpp zkeys/ProcessMessages_7-9-3-4_test_cpp/Makefile zkeys/ProcessMessages_7-9-3-4_test_cpp/fr_asm.o zkeys/ProcessMessages_7-9-3-4_test_js/ zkeys/ProcessMessages_7-9-3-4_test_js/witness_calculator.js zkeys/ProcessMessages_7-9-3-4_test_js/ProcessMessages_7-9-3-4_test.wasm zkeys/ProcessMessages_7-9-3-4_test_js/ProcessMessages_7-9-3-4_test.wat zkeys/ProcessMessages_7-9-3-4_test_js/generate_witness.js zkeys/TallyVotes_7-3-4_test_cpp/ zkeys/TallyVotes_7-3-4_test_cpp/fr.asm zkeys/TallyVotes_7-3-4_test_cpp/calcwit.cpp zkeys/TallyVotes_7-3-4_test_cpp/TallyVotes_7-3-4_test.cpp zkeys/TallyVotes_7-3-4_test_cpp/fr.hpp zkeys/TallyVotes_7-3-4_test_cpp/calcwit.o zkeys/TallyVotes_7-3-4_test_cpp/main.o zkeys/TallyVotes_7-3-4_test_cpp/main.cpp zkeys/TallyVotes_7-3-4_test_cpp/fr.o zkeys/TallyVotes_7-3-4_test_cpp/circom.hpp zkeys/TallyVotes_7-3-4_test_cpp/calcwit.hpp zkeys/TallyVotes_7-3-4_test_cpp/fr.cpp zkeys/TallyVotes_7-3-4_test_cpp/TallyVotes_7-3-4_test.o zkeys/TallyVotes_7-3-4_test_cpp/Makefile zkeys/TallyVotes_7-3-4_test_cpp/fr_asm.o zkeys/TallyVotes_7-3-4_test.r1cs zkeys/TallyVotes_7-3-4_test.circom zkeys/TallyVotes_7-3-4_test Contribution Hash​ ProcessMessages_4-6-3-4_test.0.zkey TallyVotes_4-3-4_test.0.zkey ProcessMessages_7-9-3-4_test.0.zkey TallyVotes_7-3-3_test.0.zkey ProcessMessages_10-2-1-2_test.0.zkey TallyVotes_7-3-3_test.0.zkey SubsidyPerBatch_10-1-2_test.0.zkey ProcessMessages_7-7-3-3_test.0.zkey TallyVotes_7-3-3_test.0.zkey ProcessMessages_4-6-3-4_test.0.zkey​ 2d29ddba 11e5292e b20f681d 3ade88cd 5c93852b 52f400b0 779e9413 03a49e35 55b27b66 db5fec74 c8e01b0a c407b08f 325cfc06 cb1ac909 38b2e5ff 22b34333 TallyVotes_4-3-4_test.0.zkey​ d2d88532 c2e1e7bd 3c7be3fb f85da2e2 897d11d3 d1231639 25f557e4 e5dda0fd 454eb84a 04bf7d6d 525895fd 8168b14b f3a8a155 cd338e2c 5f364836 bfd7913d ProcessMessages_7-9-3-4_test.0.zkey​ 75256709 6e8a034e a067ea67 16192fb2 57bd982a e202b12f 4a1381ac 362ca197 07ca0d33 c1ca2438 2c283eca 463c3c4d b1094e74 b8aaa9a3 9af75b22 0d9229e6 TallyVotes_7-3-4_test.0.zkey​ f44cf32e 1709e2c4 c8dbe8dc 5b6de4be 30b9a60c 0ddefacc af33a1d0 f54f57a2 6eed2430 87d00e29 5bf068fd 9d89c323 9b6ced66 c970a87d 745d35e4 5f47d7f9 ProcessMessages_10-2-1-2_test.0.zkey​ 23eb4980 d584c7ef 647478b9 dea49a6d 2c595cd0 43a0e9f2 e83fbfb7 b2fd7617 6fbe4b6f ba7f1f82 566c443d a8f0fec6 1c2c2662 20e0df3d 12a057f3 2a071937 TallyVotes_10-1-2_test.0.zkey​ ae12edd2 6f7f1d25 530177ab 27483fe0 ce9a8c26 9f015c49 203376da 911e295c 3f205792 5d661350 da391f34 16986d6a 61be4031 56220ca7 06ed3b9f e8504f11 SubsidyPerBatch_10-1-2_test.0.zkey​ 16dfc388 eda0bfd7 ff529e42 505ed6b7 cbffbb79 9218b09b cfa2fe29 0806097a 52f4839f 58ff692b 2f572309 980f218b c84bb980 a1346082 fb00a947 3c97d99e ProcessMessages_7-7-3-3_test.0.zkey​ e688264b e1326553 b58492d4 7c2028bc cda175f9 b786c4eb 44453080 369ab861 590816fe 257c1fe1 e079415b e4e1b626 a0f752f8 413a81ba f481d335 187e0091 TallyVotes_7-3-3_test.0.zkey​ 6869646d 1faf2aec d8c70c85 0021858f 8c17db02 ede8be90 9a49924c 665c931f 66673899 095159c8 2a236903 4774f42b 225e270f b446f8ec 33545826 3e9444b9","s":"Dependency (if running on intel chip and using rapidsnark)","u":"/docs/testing","h":"#dependency-if-running-on-intel-chip-and-using-rapidsnark","p":1753},{"i":1775,"t":"MACI currently uses Groth16 zk-SNARKs written in circom. Teams who wish to build on MACI may choose to perform a multi-party trusted setup. This allows observers to have a higher degree of confidence that the coordinator cannot generate fake proofs. Some teams, however, may forgo the trusted setup. There are two possible reasons for doing so: if a team does not intend to manage a large amount of value, and if their users accept that the risk of coordinator misbehaviour is insufficient to justify doing the work of a trusted setup. After all, MACI's security model presumes a trusted coordinator. The PSE team is making available a trusted set of zKeys for MACI's circuits, which are available and accessible on p0tion's website. For more info on trusted setup ceremonies please refer to p0tion's docs. For your convenience, here is a list of the artifacts that can be used in production: Please note these artifacts are generated from the most up to date version of the circom circuits, available in the dev branch at this time. Artifact Description Parameters Link processMessages zKey The production-ready zKey for the processMessages circuit. 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/contributions/processmessages_6-8-2-3_final.zkey tallyVotes zKey The production-ready zKey for the tallyVotes circuit. 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/contributions/tallyvotes_6-2-3_final.zkey processMessages r1cs The Rank-1 Constraint System file that was used to generate the zKey 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3.r1cs tallyVotes r1cs The Rank-1 Constraint System file that was used to generate the zKey 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3.r1cs processMessage wasm The WASM file that can be used to generate proofs 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3.wasm tallyVotes wasm The WASM file that can be used to generate proofs 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3.wasm processMessages vKey The verification key that can be used to verify the processMessages circuit's proofs 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3_vkey.json tallyVotes vKey The verification key that can be used to verify the tallyVotes circuit's proofs 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3_vkey.json processMessages Solidity verifier The Solidity smart contract which can be used to verify the processMessages circuit proofs on-chain 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3_verifier.sol tallyVotes Solidity verifier The Solidity smart contract which can be used to verify the tallyVotes circuit proofs on-chain 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3_verifier.sol In any case, MACI can be relatively easily modified to support PLONK, which does not require a circuit-specific trusted setup. Its circuits, written in circom, are compatible with Fluidex's plonkit tool. The downside to using PLONK is that proof generation is not as optimised as it is for Groth16.","s":"Trusted setup","u":"/docs/trusted-setup","h":"","p":1774},{"i":1779,"t":"cli/ts core/ts crypto/ts domainobjs/ts","s":"Modules","u":"/docs/typedoc/","h":"#modules","p":1776},{"i":1781,"t":"core/ts.MaciState A representation of the MACI contract.","s":"Class: MaciState","u":"/docs/typedoc/classes/core_ts.MaciState","h":"","p":1780},{"i":1783,"t":"IMaciState","s":"Implements","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#implements","p":1780},{"i":1786,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#constructors","p":1780},{"i":1788,"t":"currentPollBeingProcessed numSignUps pollBeingProcessed polls stateLeaves stateTree stateTreeDepth","s":"Properties","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#properties","p":1780},{"i":1790,"t":"copy deployNullPoll deployPoll equals signUp toJSON fromJSON","s":"Methods","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#methods","p":1780},{"i":1793,"t":"• new MaciState(stateTreeDepth): MaciState Constructs a new MaciState object. Parameters​ Name Type Description stateTreeDepth number The depth of the state tree. Returns​ MaciState Defined in​ core/ts/MaciState.ts:36","s":"constructor","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#constructor","p":1780},{"i":1796,"t":"• Optional currentPollBeingProcessed: number Defined in​ core/ts/MaciState.ts:30","s":"currentPollBeingProcessed","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#currentpollbeingprocessed","p":1780},{"i":1798,"t":"• numSignUps: number = 0 Defined in​ core/ts/MaciState.ts:25","s":"numSignUps","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#numsignups","p":1780},{"i":1800,"t":"• Optional pollBeingProcessed: boolean Defined in​ core/ts/MaciState.ts:28","s":"pollBeingProcessed","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#pollbeingprocessed","p":1780},{"i":1802,"t":"• polls: Poll[] = [] Defined in​ core/ts/MaciState.ts:14","s":"polls","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#polls","p":1780},{"i":1804,"t":"• stateLeaves: StateLeaf[] = [] Defined in​ core/ts/MaciState.ts:20","s":"stateLeaves","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#stateleaves","p":1780},{"i":1806,"t":"• stateTree: IncrementalQuinTree Defined in​ core/ts/MaciState.ts:17","s":"stateTree","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#statetree","p":1780},{"i":1808,"t":"• stateTreeDepth: number Defined in​ core/ts/MaciState.ts:23","s":"stateTreeDepth","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#statetreedepth","p":1780},{"i":1811,"t":"▸ copy(): MaciState Create a deep copy of the MaciState object. Returns​ MaciState A new instance of the MaciState object with the same properties. Implementation of​ IMaciState.copy Defined in​ core/ts/MaciState.ts:108","s":"copy","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#copy","p":1780},{"i":1813,"t":"▸ deployNullPoll(): void Deploy a null poll. Returns​ void Implementation of​ IMaciState.deployNullPoll Defined in​ core/ts/MaciState.ts:100","s":"deployNullPoll","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#deploynullpoll","p":1780},{"i":1815,"t":"▸ deployPoll(pollEndTimestamp, maxValues, treeDepths, messageBatchSize, coordinatorKeypair): number Deploy a new poll with the given parameters. Parameters​ Name Type Description pollEndTimestamp bigint The Unix timestamp at which the poll ends. maxValues MaxValues The maximum number of values for each vote option. treeDepths TreeDepths The depths of the tree. messageBatchSize number The batch size for processing messages. coordinatorKeypair Keypair The keypair of the MACI round coordinator. Returns​ number The index of the newly deployed poll. Implementation of​ IMaciState.deployPoll Defined in​ core/ts/MaciState.ts:73","s":"deployPoll","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#deploypoll","p":1780},{"i":1817,"t":"▸ equals(m): boolean Check if the MaciState object is equal to another MaciState object. Parameters​ Name Type Description m MaciState The MaciState object to compare. Returns​ boolean True if the two MaciState objects are equal, false otherwise. Implementation of​ IMaciState.equals Defined in​ core/ts/MaciState.ts:122","s":"equals","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#equals","p":1780},{"i":1819,"t":"▸ signUp(pubKey, initialVoiceCreditBalance, timestamp): number Sign up a user with the given public key, initial voice credit balance, and timestamp. Parameters​ Name Type Description pubKey PubKey The public key of the user. initialVoiceCreditBalance bigint The initial voice credit balance of the user. timestamp bigint The timestamp of the sign-up. Returns​ number The index of the newly signed-up user in the state tree. Implementation of​ IMaciState.signUp Defined in​ core/ts/MaciState.ts:55","s":"signUp","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#signup","p":1780},{"i":1821,"t":"▸ toJSON(): IJsonMaciState Serialize the MaciState object to a JSON object. Returns​ IJsonMaciState A JSON object representing the MaciState object. Implementation of​ IMaciState.toJSON Defined in​ core/ts/MaciState.ts:150","s":"toJSON","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#tojson","p":1780},{"i":1823,"t":"▸ fromJSON(json): MaciState Create a new MaciState object from a JSON object. Parameters​ Name Type Description json IJsonMaciState The JSON object representing the MaciState object. Returns​ MaciState A new instance of the MaciState object with the properties from the JSON object. Defined in​ core/ts/MaciState.ts:166","s":"fromJSON","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#fromjson","p":1780},{"i":1825,"t":"core/ts.Poll A representation of the Poll contract.","s":"Class: Poll","u":"/docs/typedoc/classes/core_ts.Poll","h":"","p":1824},{"i":1827,"t":"IPoll","s":"Implements","u":"/docs/typedoc/classes/core_ts.Poll","h":"#implements","p":1824},{"i":1830,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/core_ts.Poll","h":"#constructors","p":1824},{"i":1832,"t":"MM WW ballotTree ballots batchSizes cbi commands coordinatorKeypair currentMessageBatchIndex emptyBallot emptyBallotHash encPubKeys maciStateRef maxValues messageTree messages numBatchesProcessed numBatchesTallied perVOSpentVoiceCredits pollEndTimestamp pollId preVOSpentVoiceCreditsRootSalts rbi resultRootSalts sbSalts spentVoiceCreditSubtotalSalts stateCopied stateLeaves stateTree stateTreeDepth subsidy subsidySalts tallyResult totalSpentVoiceCredits treeDepths","s":"Properties","u":"/docs/typedoc/classes/core_ts.Poll","h":"#properties","p":1824},{"i":1834,"t":"coefficientCalculation copy copyStateFromMaci equals genPerVOSpentVoiceCreditsCommitment genProcessMessagesCircuitInputsPartial genSpentVoiceCreditSubtotalCommitment hasUnfinishedSubsidyCalculation hasUnprocessedMessages hasUntalliedBallots increaseSubsidyIndex previousSubsidyIndexToString processAllMessages processMessage processMessages publishMessage setCoordinatorKeypair subsidyCalculation subsidyPerBatch tallyVotes toJSON topupMessage fromJSON","s":"Methods","u":"/docs/typedoc/classes/core_ts.Poll","h":"#methods","p":1824},{"i":1837,"t":"• new Poll(pollEndTimestamp, coordinatorKeypair, treeDepths, batchSizes, maxValues, maciStateRef): Poll Constructs a new Poll object. Parameters​ Name Type Description pollEndTimestamp bigint The Unix timestamp at which the poll ends. coordinatorKeypair Keypair The keypair of the coordinator. treeDepths TreeDepths The depths of the trees used in the poll. batchSizes BatchSizes The sizes of the batches used in the poll. maxValues MaxValues The maximum values the MACI circuits can accept. maciStateRef MaciState The reference to the MACI state. Returns​ Poll Defined in​ core/ts/Poll.ts:142","s":"constructor","u":"/docs/typedoc/classes/core_ts.Poll","h":"#constructor","p":1824},{"i":1840,"t":"• MM: number = 50 Defined in​ core/ts/Poll.ts:123","s":"MM","u":"/docs/typedoc/classes/core_ts.Poll","h":"#mm","p":1824},{"i":1842,"t":"• WW: number = 4 Defined in​ core/ts/Poll.ts:125","s":"WW","u":"/docs/typedoc/classes/core_ts.Poll","h":"#ww","p":1824},{"i":1844,"t":"• Optional ballotTree: IncrementalQuinTree Defined in​ core/ts/Poll.ts:72","s":"ballotTree","u":"/docs/typedoc/classes/core_ts.Poll","h":"#ballottree","p":1824},{"i":1846,"t":"• ballots: Ballot[] = [] Defined in​ core/ts/Poll.ts:70","s":"ballots","u":"/docs/typedoc/classes/core_ts.Poll","h":"#ballots","p":1824},{"i":1848,"t":"• batchSizes: BatchSizes Defined in​ core/ts/Poll.ts:61","s":"batchSizes","u":"/docs/typedoc/classes/core_ts.Poll","h":"#batchsizes","p":1824},{"i":1850,"t":"• cbi: number = 0 Defined in​ core/ts/Poll.ts:121","s":"cbi","u":"/docs/typedoc/classes/core_ts.Poll","h":"#cbi","p":1824},{"i":1852,"t":"• commands: ICommand[] = [] Defined in​ core/ts/Poll.ts:78","s":"commands","u":"/docs/typedoc/classes/core_ts.Poll","h":"#commands","p":1824},{"i":1854,"t":"• coordinatorKeypair: Keypair Defined in​ core/ts/Poll.ts:57","s":"coordinatorKeypair","u":"/docs/typedoc/classes/core_ts.Poll","h":"#coordinatorkeypair","p":1824},{"i":1856,"t":"• Optional currentMessageBatchIndex: number Defined in​ core/ts/Poll.ts:91","s":"currentMessageBatchIndex","u":"/docs/typedoc/classes/core_ts.Poll","h":"#currentmessagebatchindex","p":1824},{"i":1858,"t":"• emptyBallot: Ballot Defined in​ core/ts/Poll.ts:129","s":"emptyBallot","u":"/docs/typedoc/classes/core_ts.Poll","h":"#emptyballot","p":1824},{"i":1860,"t":"• Optional emptyBallotHash: bigint Defined in​ core/ts/Poll.ts:131","s":"emptyBallotHash","u":"/docs/typedoc/classes/core_ts.Poll","h":"#emptyballothash","p":1824},{"i":1862,"t":"• encPubKeys: PubKey[] = [] Defined in​ core/ts/Poll.ts:80","s":"encPubKeys","u":"/docs/typedoc/classes/core_ts.Poll","h":"#encpubkeys","p":1824},{"i":1864,"t":"• maciStateRef: MaciState Defined in​ core/ts/Poll.ts:93","s":"maciStateRef","u":"/docs/typedoc/classes/core_ts.Poll","h":"#macistateref","p":1824},{"i":1866,"t":"• maxValues: MaxValues Defined in​ core/ts/Poll.ts:63","s":"maxValues","u":"/docs/typedoc/classes/core_ts.Poll","h":"#maxvalues","p":1824},{"i":1868,"t":"• messageTree: IncrementalQuinTree Defined in​ core/ts/Poll.ts:76","s":"messageTree","u":"/docs/typedoc/classes/core_ts.Poll","h":"#messagetree","p":1824},{"i":1870,"t":"• messages: Message[] = [] Defined in​ core/ts/Poll.ts:74","s":"messages","u":"/docs/typedoc/classes/core_ts.Poll","h":"#messages","p":1824},{"i":1872,"t":"• numBatchesProcessed: number = 0 Defined in​ core/ts/Poll.ts:89","s":"numBatchesProcessed","u":"/docs/typedoc/classes/core_ts.Poll","h":"#numbatchesprocessed","p":1824},{"i":1874,"t":"• numBatchesTallied: number = 0 Defined in​ core/ts/Poll.ts:110","s":"numBatchesTallied","u":"/docs/typedoc/classes/core_ts.Poll","h":"#numbatchestallied","p":1824},{"i":1876,"t":"• perVOSpentVoiceCredits: bigint[] = [] Defined in​ core/ts/Poll.ts:108","s":"perVOSpentVoiceCredits","u":"/docs/typedoc/classes/core_ts.Poll","h":"#pervospentvoicecredits","p":1824},{"i":1878,"t":"• pollEndTimestamp: bigint Defined in​ core/ts/Poll.ts:68","s":"pollEndTimestamp","u":"/docs/typedoc/classes/core_ts.Poll","h":"#pollendtimestamp","p":1824},{"i":1880,"t":"• pollId: number Defined in​ core/ts/Poll.ts:95","s":"pollId","u":"/docs/typedoc/classes/core_ts.Poll","h":"#pollid","p":1824},{"i":1882,"t":"• preVOSpentVoiceCreditsRootSalts: Record = {} Defined in​ core/ts/Poll.ts:101","s":"preVOSpentVoiceCreditsRootSalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#prevospentvoicecreditsrootsalts","p":1824},{"i":1884,"t":"• rbi: number = 0 Defined in​ core/ts/Poll.ts:119","s":"rbi","u":"/docs/typedoc/classes/core_ts.Poll","h":"#rbi","p":1824},{"i":1886,"t":"• resultRootSalts: Record = {} Defined in​ core/ts/Poll.ts:99","s":"resultRootSalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#resultrootsalts","p":1824},{"i":1888,"t":"• sbSalts: Record = {} Defined in​ core/ts/Poll.ts:97","s":"sbSalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#sbsalts","p":1824},{"i":1890,"t":"• spentVoiceCreditSubtotalSalts: Record = {} Defined in​ core/ts/Poll.ts:103","s":"spentVoiceCreditSubtotalSalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#spentvoicecreditsubtotalsalts","p":1824},{"i":1892,"t":"• stateCopied: boolean = false Defined in​ core/ts/Poll.ts:82","s":"stateCopied","u":"/docs/typedoc/classes/core_ts.Poll","h":"#statecopied","p":1824},{"i":1894,"t":"• stateLeaves: StateLeaf[] Defined in​ core/ts/Poll.ts:84","s":"stateLeaves","u":"/docs/typedoc/classes/core_ts.Poll","h":"#stateleaves","p":1824},{"i":1896,"t":"• Optional stateTree: IncrementalQuinTree Defined in​ core/ts/Poll.ts:86","s":"stateTree","u":"/docs/typedoc/classes/core_ts.Poll","h":"#statetree","p":1824},{"i":1898,"t":"• stateTreeDepth: number Defined in​ core/ts/Poll.ts:66","s":"stateTreeDepth","u":"/docs/typedoc/classes/core_ts.Poll","h":"#statetreedepth","p":1824},{"i":1900,"t":"• subsidy: bigint[] = [] Defined in​ core/ts/Poll.ts:115","s":"subsidy","u":"/docs/typedoc/classes/core_ts.Poll","h":"#subsidy","p":1824},{"i":1902,"t":"• subsidySalts: Record = {} Defined in​ core/ts/Poll.ts:117","s":"subsidySalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#subsidysalts","p":1824},{"i":1904,"t":"• tallyResult: bigint[] = [] Defined in​ core/ts/Poll.ts:106","s":"tallyResult","u":"/docs/typedoc/classes/core_ts.Poll","h":"#tallyresult","p":1824},{"i":1906,"t":"• totalSpentVoiceCredits: bigint Defined in​ core/ts/Poll.ts:112","s":"totalSpentVoiceCredits","u":"/docs/typedoc/classes/core_ts.Poll","h":"#totalspentvoicecredits","p":1824},{"i":1908,"t":"• treeDepths: TreeDepths Defined in​ core/ts/Poll.ts:59","s":"treeDepths","u":"/docs/typedoc/classes/core_ts.Poll","h":"#treedepths","p":1824},{"i":1911,"t":"▸ coefficientCalculation(rowBallot, colBallot): bigint This method calculates the coefficient for a pair of ballots. Parameters​ Name Type Description rowBallot Ballot The ballot in the row. colBallot Ballot The ballot in the column. Returns​ bigint Returns the calculated coefficient. Defined in​ core/ts/Poll.ts:902","s":"coefficientCalculation","u":"/docs/typedoc/classes/core_ts.Poll","h":"#coefficientcalculation","p":1824},{"i":1913,"t":"▸ copy(): Poll Create a deep copy of the Poll object. Returns​ Poll A new instance of the Poll object with the same properties. Implementation of​ IPoll.copy Defined in​ core/ts/Poll.ts:1176","s":"copy","u":"/docs/typedoc/classes/core_ts.Poll","h":"#copy","p":1824},{"i":1915,"t":"▸ copyStateFromMaci(): void Copy the state from the MaciState instance. Returns​ void Defined in​ core/ts/Poll.ts:178","s":"copyStateFromMaci","u":"/docs/typedoc/classes/core_ts.Poll","h":"#copystatefrommaci","p":1824},{"i":1917,"t":"▸ equals(p): boolean Check if the Poll object is equal to another Poll object. Parameters​ Name Type Description p Poll The Poll object to compare. Returns​ boolean True if the two Poll objects are equal, false otherwise. Implementation of​ IPoll.equals Defined in​ core/ts/Poll.ts:1259","s":"equals","u":"/docs/typedoc/classes/core_ts.Poll","h":"#equals","p":1824},{"i":1919,"t":"▸ genPerVOSpentVoiceCreditsCommitment(salt, numBallotsToCount): bigint This method generates a commitment to the spent voice credits per vote option. This is the hash of the Merkle root of the spent voice credits per vote option and a salt, computed as Poseidon([root, _salt]). Parameters​ Name Type Description salt bigint The salt used in the hash function. numBallotsToCount number The number of ballots to count for the calculation. Returns​ bigint Returns the hash of the Merkle root of the spent voice credits per vote option and a salt, computed as Poseidon([root, _salt]). Defined in​ core/ts/Poll.ts:1154","s":"genPerVOSpentVoiceCreditsCommitment","u":"/docs/typedoc/classes/core_ts.Poll","h":"#genpervospentvoicecreditscommitment","p":1824},{"i":1921,"t":"▸ genProcessMessagesCircuitInputsPartial(index): CircuitInputs Generates partial circuit inputs for processing a batch of messages Parameters​ Name Type Description index number The index of the partial batch. Returns​ CircuitInputs stringified partial circuit inputs Defined in​ core/ts/Poll.ts:665","s":"genProcessMessagesCircuitInputsPartial","u":"/docs/typedoc/classes/core_ts.Poll","h":"#genprocessmessagescircuitinputspartial","p":1824},{"i":1923,"t":"▸ genSpentVoiceCreditSubtotalCommitment(salt, numBallotsToCount): bigint This method generates a commitment to the total spent voice credits. This is the hash of the total spent voice credits and a salt, computed as Poseidon([totalCredits, _salt]). Parameters​ Name Type Description salt bigint The salt used in the hash function. numBallotsToCount number The number of ballots to count for the calculation. Returns​ bigint Returns the hash of the total spent voice credits and a salt, computed as Poseidon([totalCredits, _salt]). Defined in​ core/ts/Poll.ts:1130","s":"genSpentVoiceCreditSubtotalCommitment","u":"/docs/typedoc/classes/core_ts.Poll","h":"#genspentvoicecreditsubtotalcommitment","p":1824},{"i":1925,"t":"▸ hasUnfinishedSubsidyCalculation(): boolean This method checks if there are any unfinished subsidy calculations. Returns​ boolean Returns true if the product of the row batch index (rbi) and batch size or the product of column batch index (cbi) and batch size is less than the length of the ballots array, indicating that there are still ballots left to be processed. Otherwise, it returns false. Implementation of​ IPoll.hasUnfinishedSubsidyCalculation Defined in​ core/ts/Poll.ts:783","s":"hasUnfinishedSubsidyCalculation","u":"/docs/typedoc/classes/core_ts.Poll","h":"#hasunfinishedsubsidycalculation","p":1824},{"i":1927,"t":"▸ hasUnprocessedMessages(): boolean This method checks if there are any unprocessed messages in the Poll instance. Returns​ boolean Returns true if the number of processed batches is less than the total number of batches, false otherwise. Implementation of​ IPoll.hasUnprocessedMessages Defined in​ core/ts/Poll.ts:388","s":"hasUnprocessedMessages","u":"/docs/typedoc/classes/core_ts.Poll","h":"#hasunprocessedmessages","p":1824},{"i":1929,"t":"▸ hasUntalliedBallots(): boolean Checks whether there are any untallied ballots. Returns​ boolean Whether there are any untallied ballots Implementation of​ IPoll.hasUntalliedBallots Defined in​ core/ts/Poll.ts:774","s":"hasUntalliedBallots","u":"/docs/typedoc/classes/core_ts.Poll","h":"#hasuntalliedballots","p":1824},{"i":1931,"t":"▸ increaseSubsidyIndex(): void It increases the index for the subsidy calculation. Returns​ void Defined in​ core/ts/Poll.ts:857","s":"increaseSubsidyIndex","u":"/docs/typedoc/classes/core_ts.Poll","h":"#increasesubsidyindex","p":1824},{"i":1933,"t":"▸ previousSubsidyIndexToString(): string This method converts the previous subsidy index to a string. Returns​ string Returns a string representation of the previous subsidy index. The string is in the format \"rbi-cbi\", where rbi and cbi are the previous row batch index and column batch index respectively. Defined in​ core/ts/Poll.ts:874","s":"previousSubsidyIndexToString","u":"/docs/typedoc/classes/core_ts.Poll","h":"#previoussubsidyindextostring","p":1824},{"i":1935,"t":"▸ processAllMessages(): Object Process all messages. This function does not update the ballots or state leaves; rather, it copies and then updates them. This makes it possible to test the result of multiple processMessage() invocations. Returns​ Object The state leaves and ballots of the poll Name Type ballots Ballot[] stateLeaves StateLeaf[] Implementation of​ IPoll.processAllMessages Defined in​ core/ts/Poll.ts:758","s":"processAllMessages","u":"/docs/typedoc/classes/core_ts.Poll","h":"#processallmessages","p":1824},{"i":1937,"t":"▸ processMessage(message, encPubKey): IProcessMessagesOutput Process one message. Parameters​ Name Type Description message Message The message to process. encPubKey PubKey The public key associated with the encryption private key. Returns​ IProcessMessagesOutput A number of variables which will be used in the zk-SNARK circuit. Defined in​ core/ts/Poll.ts:205","s":"processMessage","u":"/docs/typedoc/classes/core_ts.Poll","h":"#processmessage","p":1824},{"i":1939,"t":"▸ processMessages(pollId): IProcessMessagesCircuitInputs Process _batchSize messages starting from the saved index. This function will process messages even if the number of messages is not an exact multiple of _batchSize. e.g. if there are 10 messages, index is 8, and _batchSize is 4, this function will only process the last two messages in this.messages, and finally update the zeroth state leaf. Note that this function will only process as many state leaves as there are ballots to prevent accidental inclusion of a new user after this poll has concluded. Parameters​ Name Type Description pollId number The ID of the poll associated with the messages to process Returns​ IProcessMessagesCircuitInputs stringified circuit inputs Implementation of​ IPoll.processMessages Defined in​ core/ts/Poll.ts:413","s":"processMessages","u":"/docs/typedoc/classes/core_ts.Poll","h":"#processmessages","p":1824},{"i":1941,"t":"▸ publishMessage(message, encPubKey): void Inserts a Message and the corresponding public key used to generate the ECDH shared key which was used to encrypt said message. Parameters​ Name Type Description message Message The message to insert encPubKey PubKey The public key used to encrypt the message Returns​ void Implementation of​ IPoll.publishMessage Defined in​ core/ts/Poll.ts:349","s":"publishMessage","u":"/docs/typedoc/classes/core_ts.Poll","h":"#publishmessage","p":1824},{"i":1943,"t":"▸ setCoordinatorKeypair(serializedPrivateKey): void Set the coordinator's keypair Parameters​ Name Type Description serializedPrivateKey string the serialized private key Returns​ void Implementation of​ IPoll.setCoordinatorKeypair Defined in​ core/ts/Poll.ts:1366","s":"setCoordinatorKeypair","u":"/docs/typedoc/classes/core_ts.Poll","h":"#setcoordinatorkeypair","p":1824},{"i":1945,"t":"▸ subsidyCalculation(rowStartIndex, colStartIndex): Ballot[][] This method calculates the subsidy for a batch of ballots. Parameters​ Name Type Description rowStartIndex number The starting index for the row ballots. colStartIndex number The starting index for the column ballots. Returns​ Ballot[][] Returns a 2D array of ballots. The first array contains the row ballots and the second array contains the column ballots. Defined in​ core/ts/Poll.ts:917","s":"subsidyCalculation","u":"/docs/typedoc/classes/core_ts.Poll","h":"#subsidycalculation","p":1824},{"i":1947,"t":"▸ subsidyPerBatch(): ISubsidyCircuitInputs This method calculates the subsidy per batch. Returns​ ISubsidyCircuitInputs Returns an array of big integers which represent the circuit inputs for the subsidy calculation. Implementation of​ IPoll.subsidyPerBatch Defined in​ core/ts/Poll.ts:792","s":"subsidyPerBatch","u":"/docs/typedoc/classes/core_ts.Poll","h":"#subsidyperbatch","p":1824},{"i":1949,"t":"▸ tallyVotes(): ITallyCircuitInputs This method tallies a ballots and updates the tally results. Returns​ ITallyCircuitInputs the circuit inputs for the TallyVotes circuit. Implementation of​ IPoll.tallyVotes Defined in​ core/ts/Poll.ts:956","s":"tallyVotes","u":"/docs/typedoc/classes/core_ts.Poll","h":"#tallyvotes","p":1824},{"i":1951,"t":"▸ toJSON(): IJsonPoll Serialize the Poll object to a JSON object Returns​ IJsonPoll a JSON object Implementation of​ IPoll.toJSON Defined in​ core/ts/Poll.ts:1294","s":"toJSON","u":"/docs/typedoc/classes/core_ts.Poll","h":"#tojson","p":1824},{"i":1953,"t":"▸ topupMessage(message): void Top up the voice credit balance of a user. Parameters​ Name Type Description message Message The message to top up the voice credit balance Returns​ void Implementation of​ IPoll.topupMessage Defined in​ core/ts/Poll.ts:319","s":"topupMessage","u":"/docs/typedoc/classes/core_ts.Poll","h":"#topupmessage","p":1824},{"i":1955,"t":"▸ fromJSON(json, maciState): Poll Deserialize a json object into a Poll instance Parameters​ Name Type Description json IJsonPoll the json object to deserialize maciState MaciState the reference to the MaciState Class Returns​ Poll a new Poll instance Defined in​ core/ts/Poll.ts:1317","s":"fromJSON","u":"/docs/typedoc/classes/core_ts.Poll","h":"#fromjson","p":1824},{"i":1957,"t":"crypto/ts.AccQueue An Accumulator Queue which conforms to the implementation in AccQueue.sol. Each enqueue() operation updates a subtree, and a merge() operation combines all subtrees into a main tree. Notice It supports 2 or 5 elements per leaf.","s":"Class: AccQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"","p":1956},{"i":1960,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#constructors","p":1956},{"i":1962,"t":"MAX_DEPTH currentSubtreeIndex hashFunc hashLength leafQueue mainRoots nextSRindexToQueue numLeaves smallSRTroot subDepth subHashFunc subRootQueue subRoots subTreesMerged zeroValue zeros","s":"Properties","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#properties","p":1956},{"i":1964,"t":"calcSRTdepth copy enqueue enqueueOp fill fillOp getRoot getSubRoot hasRoot hash insertSubTree merge mergeDirect mergeSubRoots queueSubRoot","s":"Methods","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#methods","p":1956},{"i":1967,"t":"• new AccQueue(subDepth, hashLength, zeroValue): AccQueue Create a new instance of AccQueue Parameters​ Name Type Description subDepth number the depth of the subtrees hashLength number the number of leaves per node zeroValue bigint the default value for empty leaves Returns​ AccQueue Defined in​ crypto/ts/AccQueue.ts:77","s":"constructor","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#constructor","p":1956},{"i":1970,"t":"• Private MAX_DEPTH: number = 32 Defined in​ crypto/ts/AccQueue.ts:18","s":"MAX_DEPTH","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#max_depth","p":1956},{"i":1972,"t":"• currentSubtreeIndex: number = 0 Defined in​ crypto/ts/AccQueue.ts:31","s":"currentSubtreeIndex","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#currentsubtreeindex","p":1956},{"i":1974,"t":"• hashFunc: (leaves: bigint[]) => bigint Type declaration​ ▸ (leaves): bigint Parameters​ Name Type leaves bigint[] Returns​ bigint Defined in​ crypto/ts/AccQueue.ts:37","s":"hashFunc","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#hashfunc","p":1956},{"i":1976,"t":"• hashLength: number Defined in​ crypto/ts/AccQueue.ts:24","s":"hashLength","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#hashlength","p":1956},{"i":1978,"t":"• leafQueue: Queue Defined in​ crypto/ts/AccQueue.ts:43","s":"leafQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#leafqueue","p":1956},{"i":1980,"t":"• mainRoots: bigint[] = [] Defined in​ crypto/ts/AccQueue.ts:62","s":"mainRoots","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#mainroots","p":1956},{"i":1982,"t":"• nextSRindexToQueue: number = 0 Defined in​ crypto/ts/AccQueue.ts:49","s":"nextSRindexToQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#nextsrindextoqueue","p":1956},{"i":1984,"t":"• numLeaves: number = 0 Defined in​ crypto/ts/AccQueue.ts:40","s":"numLeaves","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#numleaves","p":1956},{"i":1986,"t":"• smallSRTroot: bigint Defined in​ crypto/ts/AccQueue.ts:51","s":"smallSRTroot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#smallsrtroot","p":1956},{"i":1988,"t":"• subDepth: number Defined in​ crypto/ts/AccQueue.ts:21","s":"subDepth","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subdepth","p":1956},{"i":1990,"t":"• subHashFunc: (leaves: bigint[]) => bigint Type declaration​ ▸ (leaves): bigint Parameters​ Name Type leaves bigint[] Returns​ bigint Defined in​ crypto/ts/AccQueue.ts:34","s":"subHashFunc","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subhashfunc","p":1956},{"i":1992,"t":"• subRootQueue: Queue Defined in​ crypto/ts/AccQueue.ts:53","s":"subRootQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subrootqueue","p":1956},{"i":1994,"t":"• subRoots: bigint[] = [] Defined in​ crypto/ts/AccQueue.ts:59","s":"subRoots","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subroots","p":1956},{"i":1996,"t":"• subTreesMerged: boolean = false Defined in​ crypto/ts/AccQueue.ts:69","s":"subTreesMerged","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subtreesmerged","p":1956},{"i":1998,"t":"• zeroValue: bigint Defined in​ crypto/ts/AccQueue.ts:27","s":"zeroValue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#zerovalue","p":1956},{"i":2000,"t":"• zeros: bigint[] = [] Defined in​ crypto/ts/AccQueue.ts:66","s":"zeros","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#zeros","p":1956},{"i":2003,"t":"▸ calcSRTdepth(): number Calculate the depth of the smallest possible Merkle tree which fits all Returns​ number the depth of the smallest possible Merkle tree which fits all Defined in​ crypto/ts/AccQueue.ts:283","s":"calcSRTdepth","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#calcsrtdepth","p":1956},{"i":2005,"t":"▸ copy(): AccQueue Returns​ AccQueue a deep copy of this object Notice Deep-copies this object Defined in​ crypto/ts/AccQueue.ts:512","s":"copy","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#copy","p":1956},{"i":2007,"t":"▸ enqueue(leaf): number Enqueue a leaf into the current subtree Parameters​ Name Type Description leaf bigint The leaf to insert. Returns​ number The index of the leaf Defined in​ crypto/ts/AccQueue.ts:133","s":"enqueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#enqueue","p":1956},{"i":2009,"t":"▸ enqueueOp(leaf, level): void Private function that performs the actual enqueue operation Parameters​ Name Type Description leaf bigint The leaf to insert level number The level of the subtree Returns​ void Defined in​ crypto/ts/AccQueue.ts:172","s":"enqueueOp","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#enqueueop","p":1956},{"i":2011,"t":"▸ fill(): void Fill any empty leaves of the last subtree with zeros and store the resulting subroot. Returns​ void Defined in​ crypto/ts/AccQueue.ts:210","s":"fill","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#fill","p":1956},{"i":2013,"t":"▸ fillOp(level): void Private function that performs the actual fill operation Parameters​ Name Type Description level number The level of the subtree Returns​ void Defined in​ crypto/ts/AccQueue.ts:249","s":"fillOp","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#fillop","p":1956},{"i":2015,"t":"▸ getRoot(depth): undefined | null | bigint Get the root at a certain depth Parameters​ Name Type Description depth number The depth of the tree Returns​ undefined | null | bigint the root Defined in​ crypto/ts/AccQueue.ts:494","s":"getRoot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#getroot","p":1956},{"i":2017,"t":"▸ getSubRoot(index): bigint Get the subroot at a given index Parameters​ Name Type Description index number The index of the subroot Returns​ bigint the subroot Defined in​ crypto/ts/AccQueue.ts:124","s":"getSubRoot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#getsubroot","p":1956},{"i":2019,"t":"▸ hasRoot(depth): boolean Check if the root at a certain depth exists (subtree root) Parameters​ Name Type Description depth number the depth of the tree Returns​ boolean whether the root exists Defined in​ crypto/ts/AccQueue.ts:503","s":"hasRoot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#hasroot","p":1956},{"i":2021,"t":"▸ hash(leaves): bigint Hash an array of leaves Parameters​ Name Type Description leaves bigint[] The leaves to hash Returns​ bigint the hash value of the leaves Defined in​ crypto/ts/AccQueue.ts:539","s":"hash","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#hash","p":1956},{"i":2023,"t":"▸ insertSubTree(subRoot): void Insert a subtree into the queue. This is used when the subtree is already computed. Parameters​ Name Type Description subRoot bigint The root of the subtree Returns​ void Defined in​ crypto/ts/AccQueue.ts:299","s":"insertSubTree","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#insertsubtree","p":1956},{"i":2025,"t":"▸ merge(depth): void Merge all the subroots into a tree of a specified depth. It requires this.mergeSubRoots() to be run first. Parameters​ Name Type depth number Returns​ void Defined in​ crypto/ts/AccQueue.ts:321","s":"merge","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#merge","p":1956},{"i":2027,"t":"▸ mergeDirect(depth): void Merge all the subroots into a tree of a specified depth. Uses an IncrementalQuinTree instead of the two-step method that AccQueue.sol uses. Parameters​ Name Type depth number Returns​ void Defined in​ crypto/ts/AccQueue.ts:355","s":"mergeDirect","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#mergedirect","p":1956},{"i":2029,"t":"▸ mergeSubRoots(numSrQueueOps?): void Merge all subroots into the smallest possible Merkle tree which fits them. e.g. if there are 5 subroots and hashLength == 2, the tree depth is 3 since 2 ** 3 = 8 which is the next power of 2. Parameters​ Name Type Default value Description numSrQueueOps number 0 The number of subroots to queue into the SRT Returns​ void Defined in​ crypto/ts/AccQueue.ts:402","s":"mergeSubRoots","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#mergesubroots","p":1956},{"i":2031,"t":"▸ queueSubRoot(leaf, level, maxDepth): void Queues the leaf (a subroot) into queuedSRTlevels Parameters​ Name Type Description leaf bigint The leaf to insert level number The level of the subtree maxDepth number The maximum depth of the tree Returns​ void Defined in​ crypto/ts/AccQueue.ts:463","s":"queueSubRoot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#queuesubroot","p":1956},{"i":2033,"t":"crypto/ts.G1Point Notice A class representing a point on the first group (G1) of the Jubjub curve","s":"Class: G1Point","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"","p":2032},{"i":2036,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#constructors","p":2032},{"i":2038,"t":"x y","s":"Properties","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#properties","p":2032},{"i":2040,"t":"asContractParam equals","s":"Methods","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#methods","p":2032},{"i":2043,"t":"• new G1Point(x, y): G1Point Create a new instance of G1Point Parameters​ Name Type Description x bigint the x coordinate y bigint the y coordinate Returns​ G1Point Defined in​ crypto/ts/babyjub.ts:22","s":"constructor","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#constructor","p":2032},{"i":2046,"t":"• x: bigint Defined in​ crypto/ts/babyjub.ts:13","s":"x","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#x","p":2032},{"i":2048,"t":"• y: bigint Defined in​ crypto/ts/babyjub.ts:15","s":"y","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#y","p":2032},{"i":2051,"t":"▸ asContractParam(): Object Return the point as a contract param in the form of an object Returns​ Object the point as a contract param Name Type x string y string Defined in​ crypto/ts/babyjub.ts:42","s":"asContractParam","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#ascontractparam","p":2032},{"i":2053,"t":"▸ equals(pt): boolean Check whether two points are equal Parameters​ Name Type Description pt G1Point the point to compare with Returns​ boolean whether they are equal or not Defined in​ crypto/ts/babyjub.ts:34","s":"equals","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#equals","p":2032},{"i":2055,"t":"crypto/ts.G2Point Notice A class representing a point on the second group (G2) of the Jubjub curve. This is usually an extension field of the base field of the curve.","s":"Class: G2Point","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"","p":2054},{"i":2058,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#constructors","p":2054},{"i":2060,"t":"x y","s":"Properties","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#properties","p":2054},{"i":2062,"t":"asContractParam checkPointsRange equals","s":"Methods","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#methods","p":2054},{"i":2065,"t":"• new G2Point(x, y): G2Point Create a new instance of G2Point Parameters​ Name Type Description x bigint[] the x coordinate y bigint[] the y coordinate Returns​ G2Point Defined in​ crypto/ts/babyjub.ts:65","s":"constructor","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#constructor","p":2054},{"i":2068,"t":"• x: bigint[] Defined in​ crypto/ts/babyjub.ts:56","s":"x","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#x","p":2054},{"i":2070,"t":"• y: bigint[] Defined in​ crypto/ts/babyjub.ts:58","s":"y","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#y","p":2054},{"i":2073,"t":"▸ asContractParam(): Object Return the point as a contract param in the form of an object Returns​ Object the point as a contract param Name Type x string[] y string[] Defined in​ crypto/ts/babyjub.ts:86","s":"asContractParam","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#ascontractparam","p":2054},{"i":2075,"t":"▸ checkPointsRange(x, type): void Check whether the points are in range Parameters​ Name Type Description x bigint[] the x coordinate type \"x\" | \"y\" the type of the coordinate Returns​ void Defined in​ crypto/ts/babyjub.ts:98","s":"checkPointsRange","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#checkpointsrange","p":2054},{"i":2077,"t":"▸ equals(pt): boolean Check whether two points are equal Parameters​ Name Type Description pt G2Point the point to compare with Returns​ boolean whether they are equal or not Defined in​ crypto/ts/babyjub.ts:78","s":"equals","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#equals","p":2054},{"i":2079,"t":"crypto/ts.IncrementalQuinTree","s":"Class: IncrementalQuinTree","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"","p":2078},{"i":2082,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#constructors","p":2078},{"i":2084,"t":"capacity depth equals getChildIndices getParentIndices hashFunc leavesPerNode nextIndex nodes numNodes root serialize zeroValue zeros unserialize verifyMerklePath","s":"Properties","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#properties","p":2078},{"i":2086,"t":"copy genMerklePath genMerkleSubrootPath getLeaf getNode insert setNode update calcChildIndices calcParentIndices","s":"Methods","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#methods","p":2078},{"i":2089,"t":"• new IncrementalQuinTree(depth, zeroValue, leavesPerNode, _hashFunc): IncrementalQuinTree Parameters​ Name Type depth number zeroValue bigint leavesPerNode number _hashFunc (leaves: bigint[]) => bigint Returns​ IncrementalQuinTree Defined in​ crypto/ts/@types/optimisedmt.d.ts:134","s":"constructor","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#constructor","p":2078},{"i":2092,"t":"• capacity: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:132","s":"capacity","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#capacity","p":2078},{"i":2094,"t":"• depth: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:114","s":"depth","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#depth","p":2078},{"i":2096,"t":"• equals: (o: IncrementalQuinTree) => boolean Type declaration​ ▸ (o): boolean Parameters​ Name Type o IncrementalQuinTree Returns​ boolean Defined in​ crypto/ts/@types/optimisedmt.d.ts:167","s":"equals","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#equals","p":2078},{"i":2098,"t":"• Private getChildIndices: any Defined in​ crypto/ts/@types/optimisedmt.d.ts:155","s":"getChildIndices","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#getchildindices","p":2078},{"i":2100,"t":"• Private getParentIndices: any Defined in​ crypto/ts/@types/optimisedmt.d.ts:159","s":"getParentIndices","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#getparentindices","p":2078},{"i":2102,"t":"• hashFunc: (leaves: bigint[]) => bigint Type declaration​ ▸ (leaves): bigint Parameters​ Name Type leaves bigint[] Returns​ bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:120","s":"hashFunc","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#hashfunc","p":2078},{"i":2104,"t":"• leavesPerNode: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:118","s":"leavesPerNode","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#leavespernode","p":2078},{"i":2106,"t":"• nextIndex: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:122","s":"nextIndex","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#nextindex","p":2078},{"i":2108,"t":"• nodes: MTNode Defined in​ crypto/ts/@types/optimisedmt.d.ts:128","s":"nodes","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#nodes","p":2078},{"i":2110,"t":"• numNodes: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:130","s":"numNodes","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#numnodes","p":2078},{"i":2112,"t":"• root: bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:126","s":"root","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#root","p":2078},{"i":2114,"t":"• serialize: () => string Type declaration​ ▸ (): string Returns​ string Defined in​ crypto/ts/@types/optimisedmt.d.ts:165","s":"serialize","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#serialize","p":2078},{"i":2116,"t":"• zeroValue: bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:116","s":"zeroValue","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#zerovalue","p":2078},{"i":2118,"t":"• zeros: bigint[] Defined in​ crypto/ts/@types/optimisedmt.d.ts:124","s":"zeros","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#zeros","p":2078},{"i":2120,"t":"▪ Static unserialize: (s: string) => IncrementalQuinTree Type declaration​ ▸ (s): IncrementalQuinTree Parameters​ Name Type s string Returns​ IncrementalQuinTree Defined in​ crypto/ts/@types/optimisedmt.d.ts:169","s":"unserialize","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#unserialize","p":2078},{"i":2122,"t":"▪ Static verifyMerklePath: (proof: MerkleProof, hashFunc: (leaves: bigint[]) => bigint) => boolean Type declaration​ ▸ (proof, hashFunc): boolean Parameters​ Name Type proof MerkleProof hashFunc (leaves: bigint[]) => bigint Returns​ boolean Defined in​ crypto/ts/@types/optimisedmt.d.ts:147","s":"verifyMerklePath","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#verifymerklepath","p":2078},{"i":2125,"t":"▸ copy(): IncrementalQuinTree Returns​ IncrementalQuinTree Defined in​ crypto/ts/@types/optimisedmt.d.ts:163","s":"copy","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#copy","p":2078},{"i":2127,"t":"▸ genMerklePath(index): MerkleProof Parameters​ Name Type index number Returns​ MerkleProof Defined in​ crypto/ts/@types/optimisedmt.d.ts:140","s":"genMerklePath","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#genmerklepath","p":2078},{"i":2129,"t":"▸ genMerkleSubrootPath(startIndex, endIndex): MerkleProof Parameters​ Name Type startIndex number endIndex number Returns​ MerkleProof Defined in​ crypto/ts/@types/optimisedmt.d.ts:142","s":"genMerkleSubrootPath","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#genmerklesubrootpath","p":2078},{"i":2131,"t":"▸ getLeaf(index): bigint Parameters​ Name Type index number Returns​ bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:149","s":"getLeaf","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#getleaf","p":2078},{"i":2133,"t":"▸ getNode(index): bigint Parameters​ Name Type index number Returns​ bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:151","s":"getNode","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#getnode","p":2078},{"i":2135,"t":"▸ insert(value): void Parameters​ Name Type value bigint Returns​ void Defined in​ crypto/ts/@types/optimisedmt.d.ts:136","s":"insert","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#insert","p":2078},{"i":2137,"t":"▸ setNode(index, value): void Parameters​ Name Type index number value bigint Returns​ void Defined in​ crypto/ts/@types/optimisedmt.d.ts:153","s":"setNode","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#setnode","p":2078},{"i":2139,"t":"▸ update(index, value): void Parameters​ Name Type index number value bigint Returns​ void Defined in​ crypto/ts/@types/optimisedmt.d.ts:138","s":"update","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#update","p":2078},{"i":2141,"t":"▸ calcChildIndices(index, leavesPerNode, depth): number[] Parameters​ Name Type index number leavesPerNode number depth number Returns​ number[] Defined in​ crypto/ts/@types/optimisedmt.d.ts:157","s":"calcChildIndices","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#calcchildindices","p":2078},{"i":2143,"t":"▸ calcParentIndices(index, leavesPerNode, depth): number[] Parameters​ Name Type index number leavesPerNode number depth number Returns​ number[] Defined in​ crypto/ts/@types/optimisedmt.d.ts:161","s":"calcParentIndices","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#calcparentindices","p":2078},{"i":2145,"t":"domainobjs/ts.Ballot A Ballot represents a User's votes in a Poll, as well as their next valid nonce.","s":"Class: Ballot","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"","p":2144},{"i":2148,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#constructors","p":2144},{"i":2150,"t":"nonce voteOptionTreeDepth votes","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#properties","p":2144},{"i":2152,"t":"asArray asCircuitInputs copy equals hash toJSON fromJSON genBlankBallot genRandomBallot","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#methods","p":2144},{"i":2155,"t":"• new Ballot(_numVoteOptions, _voteOptionTreeDepth): Ballot Create a new Ballot instance Parameters​ Name Type Description _numVoteOptions number How many vote options are available in the poll _voteOptionTreeDepth number The depth of the merkle tree holding the vote options Returns​ Ballot Defined in​ domainobjs/ts/ballot.ts:23","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#constructor","p":2144},{"i":2158,"t":"• nonce: bigint Defined in​ domainobjs/ts/ballot.ts:14","s":"nonce","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#nonce","p":2144},{"i":2160,"t":"• voteOptionTreeDepth: number Defined in​ domainobjs/ts/ballot.ts:16","s":"voteOptionTreeDepth","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#voteoptiontreedepth","p":2144},{"i":2162,"t":"• votes: bigint[] = [] Defined in​ domainobjs/ts/ballot.ts:12","s":"votes","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#votes","p":2144},{"i":2165,"t":"▸ asArray(): bigint[] Convert in a an array of bigints Returns​ bigint[] the ballot as a bigint array Notice this is the nonce and the root of the vote option tree Defined in​ domainobjs/ts/ballot.ts:52","s":"asArray","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#asarray","p":2144},{"i":2167,"t":"▸ asCircuitInputs(): bigint[] Convert in a format suitable for the circuit Returns​ bigint[] the ballot as a BigInt array Defined in​ domainobjs/ts/ballot.ts:45","s":"asCircuitInputs","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#ascircuitinputs","p":2144},{"i":2169,"t":"▸ copy(): Ballot Create a deep clone of this Ballot Returns​ Ballot a copy of the ballot Defined in​ domainobjs/ts/ballot.ts:68","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#copy","p":2144},{"i":2171,"t":"▸ equals(b): boolean Check if two ballots are equal (same votes and same nonce) Parameters​ Name Type Description b Ballot The ballot to compare with Returns​ boolean whether the two ballots are equal Defined in​ domainobjs/ts/ballot.ts:81","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#equals","p":2144},{"i":2173,"t":"▸ hash(): bigint Generate an hash of this ballot Returns​ bigint The hash of the ballot Defined in​ domainobjs/ts/ballot.ts:36","s":"hash","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#hash","p":2144},{"i":2175,"t":"▸ toJSON(): IJsonBallot Serialize to a JSON object Returns​ IJsonBallot Defined in​ domainobjs/ts/ballot.ts:112","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#tojson","p":2144},{"i":2177,"t":"▸ fromJSON(json): Ballot Deserialize into a Ballot instance Parameters​ Name Type Description json IJsonBallot the json representation Returns​ Ballot the deserialized object as a Ballot instance Defined in​ domainobjs/ts/ballot.ts:125","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#fromjson","p":2144},{"i":2179,"t":"▸ genBlankBallot(numVoteOptions, voteOptionTreeDepth): Ballot Generate a blank ballot Parameters​ Name Type Description numVoteOptions number How many vote options are available voteOptionTreeDepth number How deep is the merkle tree holding the vote options Returns​ Ballot a Blank Ballot object Defined in​ domainobjs/ts/ballot.ts:104","s":"genBlankBallot","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#genblankballot","p":2144},{"i":2181,"t":"▸ genRandomBallot(numVoteOptions, voteOptionTreeDepth): Ballot Generate a random ballot Parameters​ Name Type Description numVoteOptions number How many vote options are available voteOptionTreeDepth number How deep is the merkle tree holding the vote options Returns​ Ballot a random Ballot Defined in​ domainobjs/ts/ballot.ts:92","s":"genRandomBallot","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#genrandomballot","p":2144},{"i":2183,"t":"domainobjs/ts.Keypair Notice A KeyPair is a pair of public and private keys This is a MACI keypair, which is not to be confused with an Ethereum public and private keypair. A MACI keypair is comprised of a MACI public key and a MACI private key","s":"Class: Keypair","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"","p":2182},{"i":2186,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#constructors","p":2182},{"i":2188,"t":"privKey pubKey","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#properties","p":2182},{"i":2190,"t":"copy equals toJSON fromJSON genEcdhSharedKey","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#methods","p":2182},{"i":2193,"t":"• new Keypair(privKey?): Keypair Create a new instance of a Keypair Parameters​ Name Type Description privKey? PrivKey the private key (optional) Returns​ Keypair Notice if no privKey is passed, it will automatically generate a new private key Defined in​ domainobjs/ts/keyPair.ts:26","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#constructor","p":2182},{"i":2196,"t":"• privKey: PrivKey Defined in​ domainobjs/ts/keyPair.ts:17","s":"privKey","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#privkey","p":2182},{"i":2198,"t":"• pubKey: PubKey Defined in​ domainobjs/ts/keyPair.ts:19","s":"pubKey","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#pubkey","p":2182},{"i":2201,"t":"▸ copy(): Keypair Create a deep clone of this Keypair Returns​ Keypair a copy of the Keypair Defined in​ domainobjs/ts/keyPair.ts:41","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#copy","p":2182},{"i":2203,"t":"▸ equals(keypair): boolean Check whether two Keypairs are equal Parameters​ Name Type Description keypair Keypair the keypair to compare with Returns​ boolean whether they are equal or not Defined in​ domainobjs/ts/keyPair.ts:58","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#equals","p":2182},{"i":2205,"t":"▸ toJSON(): IJsonKeyPair Serialize into a JSON object Returns​ IJsonKeyPair Defined in​ domainobjs/ts/keyPair.ts:75","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#tojson","p":2182},{"i":2207,"t":"▸ fromJSON(json): Keypair Deserialize into a Keypair instance Parameters​ Name Type json IJsonKeyPair Returns​ Keypair a keypair instance Defined in​ domainobjs/ts/keyPair.ts:87","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#fromjson","p":2182},{"i":2209,"t":"▸ genEcdhSharedKey(privKey, pubKey): EcdhSharedKey Generate a shared key Parameters​ Name Type privKey PrivKey pubKey PubKey Returns​ EcdhSharedKey Defined in​ domainobjs/ts/keyPair.ts:49","s":"genEcdhSharedKey","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#genecdhsharedkey","p":2182},{"i":2211,"t":"domainobjs/ts.Message Notice An encrypted command and signature.","s":"Class: Message","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"","p":2210},{"i":2214,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#constructors","p":2210},{"i":2216,"t":"data msgType DATA_LENGTH","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#properties","p":2210},{"i":2218,"t":"asArray asCircuitInputs asContractParam copy equals hash toJSON fromJSON","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#methods","p":2210},{"i":2221,"t":"• new Message(msgType, data): Message Create a new instance of a Message Parameters​ Name Type Description msgType bigint the type of the message data bigint[] the data of the message Returns​ Message Defined in​ domainobjs/ts/message.ts:23","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#constructor","p":2210},{"i":2224,"t":"• data: bigint[] Defined in​ domainobjs/ts/message.ts:14","s":"data","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#data","p":2210},{"i":2226,"t":"• msgType: bigint Defined in​ domainobjs/ts/message.ts:12","s":"msgType","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#msgtype","p":2210},{"i":2228,"t":"▪ Static DATA_LENGTH: number = 10 Defined in​ domainobjs/ts/message.ts:16","s":"DATA_LENGTH","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#data_length","p":2210},{"i":2231,"t":"▸ asArray(): bigint[] Return the message as an array of bigints Returns​ bigint[] the message as an array of bigints Defined in​ domainobjs/ts/message.ts:33","s":"asArray","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#asarray","p":2210},{"i":2233,"t":"▸ asCircuitInputs(): bigint[] Return the message as a circuit input Returns​ bigint[] the message as a circuit input Defined in​ domainobjs/ts/message.ts:48","s":"asCircuitInputs","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#ascircuitinputs","p":2210},{"i":2235,"t":"▸ asContractParam(): IMessageContractParams Return the message as a contract param Returns​ IMessageContractParams the message as a contract param Defined in​ domainobjs/ts/message.ts:39","s":"asContractParam","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#ascontractparam","p":2210},{"i":2237,"t":"▸ copy(): Message Create a copy of the message Returns​ Message a copy of the message Defined in​ domainobjs/ts/message.ts:61","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#copy","p":2210},{"i":2239,"t":"▸ equals(m): boolean Check if two messages are equal Parameters​ Name Type Description m Message the message to compare with Returns​ boolean the result of the comparison Defined in​ domainobjs/ts/message.ts:72","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#equals","p":2210},{"i":2241,"t":"▸ hash(encPubKey): bigint Hash the message data and a public key Parameters​ Name Type Description encPubKey PubKey the public key that is used to encrypt this message Returns​ bigint the hash of the message data and the public key Defined in​ domainobjs/ts/message.ts:55","s":"hash","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#hash","p":2210},{"i":2243,"t":"▸ toJSON(): IMessageContractParams Serialize to a JSON object Returns​ IMessageContractParams Defined in​ domainobjs/ts/message.ts:86","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#tojson","p":2210},{"i":2245,"t":"▸ fromJSON(json): Message Deserialize into a Message instance Parameters​ Name Type Description json IMessageContractParams the json representation Returns​ Message the deserialized object as a Message instance Defined in​ domainobjs/ts/message.ts:95","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#fromjson","p":2210},{"i":2247,"t":"domainobjs/ts.PCommand Notice Unencrypted data whose fields include the user's public key, vote etc. This represents a Vote command.","s":"Class: PCommand","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"","p":2246},{"i":2249,"t":"ICommand","s":"Implements","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#implements","p":2246},{"i":2252,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#constructors","p":2246},{"i":2254,"t":"cmdType newPubKey newVoteWeight nonce pollId salt stateIndex voteOptionIndex","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#properties","p":2246},{"i":2256,"t":"asArray asCircuitInputs copy encrypt equals hash sign toJSON verifySignature decrypt fromJSON","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#methods","p":2246},{"i":2259,"t":"• new PCommand(stateIndex, newPubKey, voteOptionIndex, newVoteWeight, nonce, pollId, salt?): PCommand Create a new PCommand Parameters​ Name Type Description stateIndex bigint the state index of the user newPubKey PubKey the new public key of the user voteOptionIndex bigint the index of the vote option newVoteWeight bigint the new vote weight of the user nonce bigint the nonce of the message pollId bigint the poll ID salt bigint the salt of the message Returns​ PCommand Defined in​ domainobjs/ts/commands/PCommand.ts:58","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#constructor","p":2246},{"i":2262,"t":"• cmdType: bigint Implementation of​ ICommand.cmdType Defined in​ domainobjs/ts/commands/PCommand.ts:32","s":"cmdType","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#cmdtype","p":2246},{"i":2264,"t":"• newPubKey: PubKey Defined in​ domainobjs/ts/commands/PCommand.ts:36","s":"newPubKey","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#newpubkey","p":2246},{"i":2266,"t":"• newVoteWeight: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:40","s":"newVoteWeight","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#newvoteweight","p":2246},{"i":2268,"t":"• nonce: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:42","s":"nonce","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#nonce","p":2246},{"i":2270,"t":"• pollId: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:44","s":"pollId","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#pollid","p":2246},{"i":2272,"t":"• salt: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:46","s":"salt","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#salt","p":2246},{"i":2274,"t":"• stateIndex: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:34","s":"stateIndex","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#stateindex","p":2246},{"i":2276,"t":"• voteOptionIndex: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:38","s":"voteOptionIndex","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#voteoptionindex","p":2246},{"i":2279,"t":"▸ asArray(): bigint[] Returns​ bigint[] bigint[] - the command as an array Notice Returns this Command as an array. Note that 5 of the Command's fields are packed into a single 250-bit value. This allows Messages to be smaller and thereby save gas when the user publishes a message. Defined in​ domainobjs/ts/commands/PCommand.ts:106","s":"asArray","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#asarray","p":2246},{"i":2281,"t":"▸ asCircuitInputs(): bigint[] Returns​ bigint[] Defined in​ domainobjs/ts/commands/PCommand.ts:122","s":"asCircuitInputs","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#ascircuitinputs","p":2246},{"i":2283,"t":"▸ copy(): T Create a deep clone of this PCommand Type parameters​ Name Type T extends PCommand Returns​ T a copy of the PCommand Implementation of​ ICommand.copy Defined in​ domainobjs/ts/commands/PCommand.ts:89","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#copy","p":2246},{"i":2285,"t":"▸ encrypt(signature, sharedKey): Message Parameters​ Name Type signature Signature sharedKey EcdhSharedKey Returns​ Message Notice Encrypts this command along with a signature to produce a Message. To save gas, we can constrain the following values to 50 bits and pack them into a 250-bit value: 0. state index 3. vote option index 4. new vote weight 5. nonce 6. poll ID Defined in​ domainobjs/ts/commands/PCommand.ts:161","s":"encrypt","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#encrypt","p":2246},{"i":2287,"t":"▸ equals(command): boolean Parameters​ Name Type command PCommand Returns​ boolean Implementation of​ ICommand.equals Defined in​ domainobjs/ts/commands/PCommand.ts:127","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#equals","p":2246},{"i":2289,"t":"▸ hash(): bigint Returns​ bigint Defined in​ domainobjs/ts/commands/PCommand.ts:136","s":"hash","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#hash","p":2246},{"i":2291,"t":"▸ sign(privKey): Signature Parameters​ Name Type privKey PrivKey Returns​ Signature Notice Signs this command and returns a Signature. Defined in​ domainobjs/ts/commands/PCommand.ts:141","s":"sign","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#sign","p":2246},{"i":2293,"t":"▸ toJSON(): IJsonPCommand Serialize into a JSON object Returns​ IJsonPCommand Implementation of​ ICommand.toJSON Defined in​ domainobjs/ts/commands/PCommand.ts:220","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#tojson","p":2246},{"i":2295,"t":"▸ verifySignature(signature, pubKey): boolean Parameters​ Name Type signature Signature pubKey PubKey Returns​ boolean Notice Returns true if the given signature is a correct signature of this command and signed by the private key associated with the given public key. Defined in​ domainobjs/ts/commands/PCommand.ts:148","s":"verifySignature","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#verifysignature","p":2246},{"i":2297,"t":"▸ decrypt(message, sharedKey): IDecryptMessage Decrypts a Message to produce a Command. Parameters​ Name Type Description message Message the message to decrypt sharedKey EcdhSharedKey the shared key to use for decryption Returns​ IDecryptMessage Defined in​ domainobjs/ts/commands/PCommand.ts:178","s":"decrypt","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#decrypt","p":2246},{"i":2299,"t":"▸ fromJSON(json): PCommand Deserialize into a PCommand instance Parameters​ Name Type json IJsonPCommand Returns​ PCommand a PComamnd instance Defined in​ domainobjs/ts/commands/PCommand.ts:238","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#fromjson","p":2246},{"i":2301,"t":"domainobjs/ts.PrivKey Notice PrivKey is a TS Class representing a MACI PrivateKey (on the jubjub curve) This is a MACI private key, which is not to be confused with an Ethereum private key. A serialized MACI private key is prefixed by 'macisk.' A raw MACI private key can be thought as a point on the baby jubjub curve","s":"Class: PrivKey","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"","p":2300},{"i":2304,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#constructors","p":2300},{"i":2306,"t":"rawPrivKey","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#properties","p":2300},{"i":2308,"t":"asCircuitInputs copy serialize toJSON deserialize fromJSON isValidSerializedPrivKey","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#methods","p":2300},{"i":2311,"t":"• new PrivKey(rawPrivKey): PrivKey Generate a new Private key object Parameters​ Name Type Description rawPrivKey SnarkBigNumber the raw private key (a bigint) Returns​ PrivKey Defined in​ domainobjs/ts/privateKey.ts:21","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#constructor","p":2300},{"i":2314,"t":"• rawPrivKey: SnarkBigNumber Defined in​ domainobjs/ts/privateKey.ts:15","s":"rawPrivKey","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#rawprivkey","p":2300},{"i":2317,"t":"▸ asCircuitInputs(): string Return this Private key as a circuit input Returns​ string the Private key as a circuit input Defined in​ domainobjs/ts/privateKey.ts:35","s":"asCircuitInputs","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#ascircuitinputs","p":2300},{"i":2319,"t":"▸ copy(): PrivKey Create a copy of this Private key Returns​ PrivKey a copy of the Private key Defined in​ domainobjs/ts/privateKey.ts:29","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#copy","p":2300},{"i":2321,"t":"▸ serialize(): string Serialize the private key Returns​ string the serialized private key Defined in​ domainobjs/ts/privateKey.ts:41","s":"serialize","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#serialize","p":2300},{"i":2323,"t":"▸ toJSON(): IJsonPrivateKey Serialize this object Returns​ IJsonPrivateKey Defined in​ domainobjs/ts/privateKey.ts:80","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#tojson","p":2300},{"i":2325,"t":"▸ deserialize(s): PrivKey Deserialize the private key Parameters​ Name Type Description s string the serialized private key Returns​ PrivKey the deserialized private key Defined in​ domainobjs/ts/privateKey.ts:55","s":"deserialize","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#deserialize","p":2300},{"i":2327,"t":"▸ fromJSON(json): PrivKey Deserialize this object from a JSON object Parameters​ Name Type Description json IJsonPrivateKey the json object Returns​ PrivKey the deserialized object as a PrivKey instance Defined in​ domainobjs/ts/privateKey.ts:91","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#fromjson","p":2300},{"i":2329,"t":"▸ isValidSerializedPrivKey(s): boolean Check if the serialized private key is valid Parameters​ Name Type Description s string the serialized private key Returns​ boolean whether it is a valid serialized private key Defined in​ domainobjs/ts/privateKey.ts:65","s":"isValidSerializedPrivKey","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","h":"#isvalidserializedprivkey","p":2300},{"i":2331,"t":"domainobjs/ts.PubKey Notice A class representing a public key This is a MACI public key, which is not to be confused with an Ethereum public key. A serialized MACI public key is prefixed by 'macipk.' A raw MACI public key can be thought as a pair of BigIntegers (x, y) representing a point on the baby jubjub curve","s":"Class: PubKey","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"","p":2330},{"i":2334,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#constructors","p":2330},{"i":2336,"t":"rawPubKey","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#properties","p":2330},{"i":2338,"t":"asArray asCircuitInputs asContractParam copy equals hash serialize toJSON deserialize fromJSON isValidSerializedPubKey","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#methods","p":2330},{"i":2341,"t":"• new PubKey(rawPubKey): PubKey Create a new instance of a public key Parameters​ Name Type Description rawPubKey PubKey the raw public key Returns​ PubKey Defined in​ domainobjs/ts/publicKey.ts:23","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#constructor","p":2330},{"i":2344,"t":"• rawPubKey: PubKey Defined in​ domainobjs/ts/publicKey.ts:17","s":"rawPubKey","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#rawpubkey","p":2330},{"i":2347,"t":"▸ asArray(): bigint[] Return this public key as an array of bigints Returns​ bigint[] the public key as an array of bigints Defined in​ domainobjs/ts/publicKey.ts:58","s":"asArray","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#asarray","p":2330},{"i":2349,"t":"▸ asCircuitInputs(): string[] Return this public key as circuit inputs Returns​ string[] an array of strings Defined in​ domainobjs/ts/publicKey.ts:52","s":"asCircuitInputs","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#ascircuitinputs","p":2330},{"i":2351,"t":"▸ asContractParam(): IG1ContractParams Return this public key as smart contract parameters Returns​ IG1ContractParams the public key as smart contract parameters Defined in​ domainobjs/ts/publicKey.ts:39","s":"asContractParam","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#ascontractparam","p":2330},{"i":2353,"t":"▸ copy(): PubKey Create a copy of the public key Returns​ PubKey a copy of the public key Defined in​ domainobjs/ts/publicKey.ts:33","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#copy","p":2330},{"i":2355,"t":"▸ equals(p): boolean Check whether this public key equals to another public key Parameters​ Name Type Description p PubKey the public key to compare with Returns​ boolean whether they match Defined in​ domainobjs/ts/publicKey.ts:91","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#equals","p":2330},{"i":2357,"t":"▸ hash(): bigint Hash the two baby jubjub coordinates Returns​ bigint the hash of this public key Defined in​ domainobjs/ts/publicKey.ts:84","s":"hash","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#hash","p":2330},{"i":2359,"t":"▸ serialize(): string Generate a serialized public key from this public key object Returns​ string the string representation of a serialized public key Defined in​ domainobjs/ts/publicKey.ts:64","s":"serialize","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#serialize","p":2330},{"i":2361,"t":"▸ toJSON(): IJsonPublicKey Serialize this object Returns​ IJsonPublicKey Defined in​ domainobjs/ts/publicKey.ts:127","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#tojson","p":2330},{"i":2363,"t":"▸ deserialize(s): PubKey Deserialize a serialized public key Parameters​ Name Type Description s string the serialized public key Returns​ PubKey the deserialized public key Defined in​ domainobjs/ts/publicKey.ts:98","s":"deserialize","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#deserialize","p":2330},{"i":2365,"t":"▸ fromJSON(json): PubKey Deserialize a JSON object into a PubKey instance Parameters​ Name Type Description json IJsonPublicKey the json object Returns​ PubKey PubKey Defined in​ domainobjs/ts/publicKey.ts:138","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#fromjson","p":2330},{"i":2367,"t":"▸ isValidSerializedPubKey(s): boolean Check whether a serialized public key is serialized correctly Parameters​ Name Type Description s string the serialized public key Returns​ boolean whether the serialized public key is valid Defined in​ domainobjs/ts/publicKey.ts:113","s":"isValidSerializedPubKey","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","h":"#isvalidserializedpubkey","p":2330},{"i":2369,"t":"domainobjs/ts.StateLeaf Notice A leaf in the state tree, which maps public keys to voice credit balances","s":"Class: StateLeaf","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"","p":2368},{"i":2371,"t":"IStateLeaf","s":"Implements","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#implements","p":2368},{"i":2374,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#constructors","p":2368},{"i":2376,"t":"pubKey timestamp voiceCreditBalance","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#properties","p":2368},{"i":2378,"t":"asArray asCircuitInputs asContractParam copy equals hash serialize toJSON deserialize fromJSON genBlankLeaf genRandomLeaf","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#methods","p":2368},{"i":2381,"t":"• new StateLeaf(pubKey, voiceCreditBalance, timestamp): StateLeaf Create a new instance of a state leaf Parameters​ Name Type Description pubKey PubKey the public key of the user signin up voiceCreditBalance bigint the voice credit balance of the user timestamp bigint the timestamp of when the user signed-up Returns​ StateLeaf Defined in​ domainobjs/ts/stateLeaf.ts:25","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#constructor","p":2368},{"i":2384,"t":"• pubKey: PubKey Implementation of​ IStateLeaf.pubKey Defined in​ domainobjs/ts/stateLeaf.ts:13","s":"pubKey","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#pubkey","p":2368},{"i":2386,"t":"• timestamp: bigint Defined in​ domainobjs/ts/stateLeaf.ts:17","s":"timestamp","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#timestamp","p":2368},{"i":2388,"t":"• voiceCreditBalance: bigint Implementation of​ IStateLeaf.voiceCreditBalance Defined in​ domainobjs/ts/stateLeaf.ts:15","s":"voiceCreditBalance","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#voicecreditbalance","p":2368},{"i":2391,"t":"▸ asArray(): bigint[] Return this state leaf as an array of bigints Returns​ bigint[] the state leaf as an array of bigints Defined in​ domainobjs/ts/stateLeaf.ts:79","s":"asArray","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#asarray","p":2368},{"i":2393,"t":"▸ asCircuitInputs(): bigint[] Return this state leaf as an array of bigints Returns​ bigint[] the state leaf as an array of bigints Defined in​ domainobjs/ts/stateLeaf.ts:85","s":"asCircuitInputs","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#ascircuitinputs","p":2368},{"i":2395,"t":"▸ asContractParam(): IStateLeafContractParams Return this state leaf as a contract param Returns​ IStateLeafContractParams the state leaf as a contract param (object) Defined in​ domainobjs/ts/stateLeaf.ts:97","s":"asContractParam","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#ascontractparam","p":2368},{"i":2397,"t":"▸ copy(): StateLeaf Crate a deep copy of the object Returns​ StateLeaf a copy of the state leaf Defined in​ domainobjs/ts/stateLeaf.ts:35","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#copy","p":2368},{"i":2399,"t":"▸ equals(s): boolean Check if two state leaves are equal Parameters​ Name Type Description s StateLeaf the state leaf to compare with Returns​ boolean whether they are equal or not Defined in​ domainobjs/ts/stateLeaf.ts:110","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#equals","p":2368},{"i":2401,"t":"▸ hash(): bigint Hash this state leaf (first convert as array) Returns​ bigint the has of the state leaf elements Defined in​ domainobjs/ts/stateLeaf.ts:91","s":"hash","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#hash","p":2368},{"i":2403,"t":"▸ serialize(): string Serialize the state leaf Returns​ string Notice serialize the public key Notice convert the voice credit balance and timestamp to a hex string Defined in​ domainobjs/ts/stateLeaf.ts:122","s":"serialize","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#serialize","p":2368},{"i":2405,"t":"▸ toJSON(): IJsonStateLeaf Serialize to a JSON object Returns​ IJsonStateLeaf Defined in​ domainobjs/ts/stateLeaf.ts:143","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#tojson","p":2368},{"i":2407,"t":"▸ deserialize(serialized): StateLeaf Deserialize the state leaf Parameters​ Name Type Description serialized string the serialized state leaf Returns​ StateLeaf a deserialized state leaf Defined in​ domainobjs/ts/stateLeaf.ts:133","s":"deserialize","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#deserialize","p":2368},{"i":2409,"t":"▸ fromJSON(json): StateLeaf Deserialize into a StateLeaf instance Parameters​ Name Type Description json IJsonStateLeaf the json representation Returns​ StateLeaf the deserialized object as a StateLeaf instance Defined in​ domainobjs/ts/stateLeaf.ts:156","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#fromjson","p":2368},{"i":2411,"t":"▸ genBlankLeaf(): StateLeaf Generate a blank state leaf Returns​ StateLeaf a blank state leaf Defined in​ domainobjs/ts/stateLeaf.ts:47","s":"genBlankLeaf","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#genblankleaf","p":2368},{"i":2413,"t":"▸ genRandomLeaf(): StateLeaf Generate a random leaf (random salt and random key pair) Returns​ StateLeaf a random state leaf Defined in​ domainobjs/ts/stateLeaf.ts:70","s":"genRandomLeaf","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","h":"#genrandomleaf","p":2368},{"i":2415,"t":"domainobjs/ts.TCommand Notice Command for submitting a topup request","s":"Class: TCommand","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"","p":2414},{"i":2417,"t":"ICommand","s":"Implements","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#implements","p":2414},{"i":2420,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#constructors","p":2414},{"i":2422,"t":"amount cmdType pollId stateIndex","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#properties","p":2414},{"i":2424,"t":"copy equals toJSON fromJSON","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#methods","p":2414},{"i":2427,"t":"• new TCommand(stateIndex, amount, pollId): TCommand Create a new TCommand Parameters​ Name Type Description stateIndex bigint the state index of the user amount bigint the amount of voice credits pollId bigint the poll ID Returns​ TCommand Defined in​ domainobjs/ts/commands/TCommand.ts:21","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#constructor","p":2414},{"i":2430,"t":"• amount: bigint Defined in​ domainobjs/ts/commands/TCommand.ts:11","s":"amount","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#amount","p":2414},{"i":2432,"t":"• cmdType: bigint Implementation of​ ICommand.cmdType Defined in​ domainobjs/ts/commands/TCommand.ts:7","s":"cmdType","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#cmdtype","p":2414},{"i":2434,"t":"• pollId: bigint Defined in​ domainobjs/ts/commands/TCommand.ts:13","s":"pollId","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#pollid","p":2414},{"i":2436,"t":"• stateIndex: bigint Defined in​ domainobjs/ts/commands/TCommand.ts:9","s":"stateIndex","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#stateindex","p":2414},{"i":2439,"t":"▸ copy(): T Create a deep clone of this TCommand Type parameters​ Name Type T extends TCommand Returns​ T a copy of the TCommand Implementation of​ ICommand.copy Defined in​ domainobjs/ts/commands/TCommand.ts:32","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#copy","p":2414},{"i":2441,"t":"▸ equals(command): boolean Check whether this command has deep equivalence to another command Parameters​ Name Type Description command TCommand the command to compare with Returns​ boolean whether they are equal or not Implementation of​ ICommand.equals Defined in​ domainobjs/ts/commands/TCommand.ts:39","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#equals","p":2414},{"i":2443,"t":"▸ toJSON(): IJsonTCommand Serialize into a JSON object Returns​ IJsonTCommand Implementation of​ ICommand.toJSON Defined in​ domainobjs/ts/commands/TCommand.ts:48","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#tojson","p":2414},{"i":2445,"t":"▸ fromJSON(json): TCommand Deserialize into a TCommand object Parameters​ Name Type Description json IJsonTCommand the json representation Returns​ TCommand the TCommand instance Defined in​ domainobjs/ts/commands/TCommand.ts:62","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#fromjson","p":2414},{"i":2447,"t":"domainobjs/ts.VerifyingKey Notice A TS Class representing a zk-SNARK VerifyingKey","s":"Class: VerifyingKey","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"","p":2446},{"i":2450,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#constructors","p":2446},{"i":2452,"t":"alpha1 beta2 delta2 gamma2 ic","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#properties","p":2446},{"i":2454,"t":"asContractParam copy equals fromContract fromJSON fromObj","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#methods","p":2446},{"i":2457,"t":"• new VerifyingKey(alpha1, beta2, gamma2, delta2, ic): VerifyingKey Generate a new VerifyingKey Parameters​ Name Type Description alpha1 G1Point the alpha1 point beta2 G2Point the beta2 point gamma2 G2Point the gamma2 point delta2 G2Point the delta2 point ic G1Point[] the ic points Returns​ VerifyingKey Defined in​ domainobjs/ts/verifyingKey.ts:27","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#constructor","p":2446},{"i":2460,"t":"• alpha1: G1Point Defined in​ domainobjs/ts/verifyingKey.ts:9","s":"alpha1","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#alpha1","p":2446},{"i":2462,"t":"• beta2: G2Point Defined in​ domainobjs/ts/verifyingKey.ts:11","s":"beta2","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#beta2","p":2446},{"i":2464,"t":"• delta2: G2Point Defined in​ domainobjs/ts/verifyingKey.ts:15","s":"delta2","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#delta2","p":2446},{"i":2466,"t":"• gamma2: G2Point Defined in​ domainobjs/ts/verifyingKey.ts:13","s":"gamma2","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#gamma2","p":2446},{"i":2468,"t":"• ic: G1Point[] Defined in​ domainobjs/ts/verifyingKey.ts:17","s":"ic","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#ic","p":2446},{"i":2471,"t":"▸ asContractParam(): IVkContractParams Return this as an object which can be passed to the smart contract Returns​ IVkContractParams the object representation of this Defined in​ domainobjs/ts/verifyingKey.ts:40","s":"asContractParam","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#ascontractparam","p":2446},{"i":2473,"t":"▸ copy(): VerifyingKey Produce a copy of this verifying key Returns​ VerifyingKey the copy Defined in​ domainobjs/ts/verifyingKey.ts:94","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#copy","p":2446},{"i":2475,"t":"▸ equals(vk): boolean Check whether this is equal to another verifying key Parameters​ Name Type Description vk VerifyingKey the other verifying key Returns​ boolean whether this is equal to the other verifying key Defined in​ domainobjs/ts/verifyingKey.ts:73","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#equals","p":2446},{"i":2477,"t":"▸ fromContract(data): VerifyingKey Create a new verifying key from a contract representation of the VK Parameters​ Name Type Description data IVkContractParams the object representation Returns​ VerifyingKey a new VerifyingKey Defined in​ domainobjs/ts/verifyingKey.ts:55","s":"fromContract","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#fromcontract","p":2446},{"i":2479,"t":"▸ fromJSON(json): VerifyingKey Deserialize into a VerifyingKey instance Parameters​ Name Type Description json string the JSON representation Returns​ VerifyingKey the VerifyingKey Defined in​ domainobjs/ts/verifyingKey.ts:115","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#fromjson","p":2446},{"i":2481,"t":"▸ fromObj(data): VerifyingKey Convert an object representation to a VerifyingKey Parameters​ Name Type Description data IVkObjectParams the object representation Returns​ VerifyingKey the VerifyingKey Defined in​ domainobjs/ts/verifyingKey.ts:125","s":"fromObj","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#fromobj","p":2446},{"i":2483,"t":"cli/ts.DeployedContracts","s":"Interface: DeployedContracts","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"","p":2482},{"i":2486,"t":"initialVoiceCreditProxyAddress maciAddress pollFactoryAddress poseidonT3Address poseidonT4Address poseidonT5Address poseidonT6Address signUpGatekeeperAddress stateAqAddress topupCreditAddress verifierAddress","s":"Properties","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#properties","p":2482},{"i":2489,"t":"• initialVoiceCreditProxyAddress: string Defined in​ cli/ts/utils/interfaces.ts:14","s":"initialVoiceCreditProxyAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#initialvoicecreditproxyaddress","p":2482},{"i":2491,"t":"• maciAddress: string Defined in​ cli/ts/utils/interfaces.ts:6","s":"maciAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#maciaddress","p":2482},{"i":2493,"t":"• pollFactoryAddress: string Defined in​ cli/ts/utils/interfaces.ts:8","s":"pollFactoryAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#pollfactoryaddress","p":2482},{"i":2495,"t":"• poseidonT3Address: string Defined in​ cli/ts/utils/interfaces.ts:10","s":"poseidonT3Address","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#poseidont3address","p":2482},{"i":2497,"t":"• poseidonT4Address: string Defined in​ cli/ts/utils/interfaces.ts:11","s":"poseidonT4Address","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#poseidont4address","p":2482},{"i":2499,"t":"• poseidonT5Address: string Defined in​ cli/ts/utils/interfaces.ts:12","s":"poseidonT5Address","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#poseidont5address","p":2482},{"i":2501,"t":"• poseidonT6Address: string Defined in​ cli/ts/utils/interfaces.ts:13","s":"poseidonT6Address","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#poseidont6address","p":2482},{"i":2503,"t":"• signUpGatekeeperAddress: string Defined in​ cli/ts/utils/interfaces.ts:15","s":"signUpGatekeeperAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#signupgatekeeperaddress","p":2482},{"i":2505,"t":"• stateAqAddress: string Defined in​ cli/ts/utils/interfaces.ts:7","s":"stateAqAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#stateaqaddress","p":2482},{"i":2507,"t":"• topupCreditAddress: string Defined in​ cli/ts/utils/interfaces.ts:9","s":"topupCreditAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#topupcreditaddress","p":2482},{"i":2509,"t":"• verifierAddress: string Defined in​ cli/ts/utils/interfaces.ts:16","s":"verifierAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#verifieraddress","p":2482},{"i":2511,"t":"cli/ts.PollContracts","s":"Interface: PollContracts","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"","p":2510},{"i":2514,"t":"messageProcessor poll subsidy tally","s":"Properties","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#properties","p":2510},{"i":2517,"t":"• messageProcessor: string Defined in​ cli/ts/utils/interfaces.ts:20","s":"messageProcessor","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#messageprocessor","p":2510},{"i":2519,"t":"• poll: string Defined in​ cli/ts/utils/interfaces.ts:23","s":"poll","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#poll","p":2510},{"i":2521,"t":"• subsidy: string Defined in​ cli/ts/utils/interfaces.ts:22","s":"subsidy","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#subsidy","p":2510},{"i":2523,"t":"• tally: string Defined in​ cli/ts/utils/interfaces.ts:21","s":"tally","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#tally","p":2510},{"i":2525,"t":"cli/ts.TallyData Interface for the tally file data.","s":"Interface: TallyData","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"","p":2524},{"i":2528,"t":"maci newTallyCommitment perVOSpentVoiceCredits pollId results totalSpentVoiceCredits","s":"Properties","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#properties","p":2524},{"i":2531,"t":"• maci: string The MACI address. Defined in​ cli/ts/utils/interfaces.ts:33","s":"maci","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#maci","p":2524},{"i":2533,"t":"• newTallyCommitment: string The new tally commitment. Defined in​ cli/ts/utils/interfaces.ts:43","s":"newTallyCommitment","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#newtallycommitment","p":2524},{"i":2535,"t":"• perVOSpentVoiceCredits: Object The per VO spent voice credits. Type declaration​ Name Type Description commitment string The commitment of the per VO spent voice credits. salt string The salt of the per VO spent voice credits. tally string[] The tally of the per VO spent voice credits. Defined in​ cli/ts/utils/interfaces.ts:88","s":"perVOSpentVoiceCredits","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#pervospentvoicecredits","p":2524},{"i":2537,"t":"• pollId: number The ID of the poll. Defined in​ cli/ts/utils/interfaces.ts:38","s":"pollId","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#pollid","p":2524},{"i":2539,"t":"• results: Object The results of the poll. Type declaration​ Name Type Description commitment string The commitment of the results. salt string The salt of the results. tally string[] The tally of the results. Defined in​ cli/ts/utils/interfaces.ts:48","s":"results","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#results","p":2524},{"i":2541,"t":"• totalSpentVoiceCredits: Object The total spent voice credits. Type declaration​ Name Type Description commitment string The commitment of the spent voice credits. salt string The salt of the spent voice credits. spent string The spent voice credits. Defined in​ cli/ts/utils/interfaces.ts:68","s":"totalSpentVoiceCredits","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#totalspentvoicecredits","p":2524}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,3.275,1,0.463,2,3.435,3,3.951,4,2.9,5,4.526,6,4.374,7,2.9,8,5.252,9,3.435,10,3.275,11,4.16,12,3.207,13,2.645,14,3.532,15,3.036,16,3.951,17,2.721,18,3.951,19,1.478,20,3.275,21,2.86,22,2.943,23,4.179,24,3.951,25,2.823,26,3.339,27,4.179,28,3.036,29,3.951,30,2.579,31,3.207,32,1.762,33,2.661,34,3.645,35,3.435,36,4.526,37,2.228,38,4.179,39,4.903,40,3.951,41,3.951,42,5.4,43,3.145,44,3.781,45,2.632,46,3.645,47,4.526,48,4.526,49,3.435,50,3.951,51,4.526,52,2.943,53,3.781,54,4.179,55,2.198]],["t/5",[0,3.183,11,3.451,13,2.132,15,3.851,17,4.071,19,3.157,20,1.872,21,1.635,22,1.682,26,1.248,28,2.952,32,1.713,56,2.151,57,2.373,58,1.25,59,2.533,60,3.339,61,1.743,62,1.915,63,3.002,64,2.353,65,2.259,66,1.42,67,2.587,68,2.587,69,1.833,70,2.389,71,2.259,72,1.232,73,1.915,74,3.843,75,3.117,76,4.28,77,3.197,78,2.587,79,1.225,80,1.736,81,1.915,82,1.798,83,2.084,84,2.084,85,1.407,86,1.446,87,2.084,88,1.614,89,1.474,90,3.543,91,3.002,92,2.019,93,3.543,94,1.658,95,1.963,96,1.13,97,1.316,98,3.628,99,2.084,100,1.708,101,0.71,102,1.798,103,2.084,104,1.708,105,2.084,106,2.019,107,1.682,108,2.084,109,2.533,110,2.615,111,1.635,112,1.708,113,1.054,114,2.259,115,2.587,116,1.963,117,1.682,118,2.952,119,1.963,120,1.872,121,2.389,122,1.915,123,1.555,124,2.819,125,2.389,126,1.35,127,2.019,128,1.257,129,1.232,130,1.538,131,1.407,132,1.538,133,2.161,134,1.31,135,2.587,136,2.259]],["t/7",[4,2.872,7,1.694,8,2.006,10,1.913,11,1.589,13,1.836,17,1.589,21,2.832,25,1.649,28,1.774,30,1.507,43,1.837,50,2.308,59,1.522,60,2.006,76,1.671,80,1.774,101,1.23,118,4.607,120,1.913,136,2.308,137,2.441,138,2.441,139,2.006,140,2.063,141,2.308,142,2.441,143,1.554,144,2.129,145,1.837,146,4.481,147,2.644,148,4.481,149,5.832,150,2.644,151,2.644,152,0.556,153,2.441,154,2.441,155,2.441,156,2.308,157,2.308,158,2.441,159,2.441,160,2.441,161,4.481,162,2.006,163,2.644,164,2.441,165,2.644,166,2.644,167,2.308,168,2.832,169,4.296,170,4.132,171,1.873,172,2.209,173,2.063,174,1.837,175,3.401,176,1.694,177,2.129,178,3.609,179,3.242,180,1.957,181,2.644,182,3.497,183,2.006,184,2.339,185,2.644,186,2.441,187,3.317,188,1.492,189,3.497,190,1.339,191,1.478,192,2.644,193,2.644,194,2.006,195,1.369,196,1.32,197,1.649,198,2.441,199,2.644,200,1.837,201,2.441,202,2.441,203,2.129,204,2.006,205,1.221,206,1.012,207,2.441,208,2.129,209,1.873,210,2.441,211,2.644,212,2.441,213,1.589,214,2.308,215,1.913,216,2.644,217,2.441,218,2.441,219,2.441,220,1.804,221,2.441,222,2.441,223,1.451,224,2.308,225,2.209,226,2.308,227,1.719,228,2.644]],["t/9",[11,4.548,13,1.209,14,1.724,15,2.576,16,1.928,18,1.928,19,2.812,20,2.778,21,4.359,22,3.959,25,1.378,41,3.353,57,1.191,58,0.628,64,2.724,65,3.353,77,0.93,82,2.668,86,1.235,101,0.606,107,1.436,118,1.482,132,1.313,134,1.118,139,1.676,140,1.724,141,1.928,162,1.676,172,1.845,175,1.676,179,1.598,182,1.724,184,1.153,187,1.635,205,1.02,213,1.328,215,2.778,229,2.209,230,2.209,231,1.779,232,2.535,233,1.059,234,1.779,235,1.223,236,1.598,237,3.093,238,2.209,239,1.928,240,1.635,241,2.209,242,1.928,243,2.209,244,2.209,245,2.209,246,2.209,247,2.621,248,3.84,249,1.415,250,2.209,251,2.04,252,2.209,253,0.657,254,1.779,255,1.779,256,2.209,257,1.565,258,2.209,259,4.231,260,2.209,261,2.209,262,1.928,263,1.724,264,2.209,265,2.461,266,2.209,267,2.209,268,2.209,269,1.36,270,2.04,271,0.954,272,1.676,273,2.209,274,1.845,275,1.202,276,1.635,277,2.209,278,1.153,279,1.928,280,1.676,281,5.094,282,3.353,283,1.928,284,2.209,285,2.04,286,2.209,287,2.209,288,1.928,289,2.209,290,2.209,291,1.928,292,2.209,293,2.209,294,2.209,295,3.476,296,1.635,297,2.209,298,1.928,299,0.926,300,2.04,301,2.842,302,2.209,303,2.04,304,1.845,305,1.779,306,2.209,307,2.914,308,2.04,309,2.209,310,2.04,311,1.779,312,1.676,313,2.209,314,2.209,315,2.209,316,2.04,317,1.928,318,1.507,319,2.209,320,1.565,321,1.565,322,2.209,323,2.209,324,2.209]],["t/11",[4,1.455,6,1.435,7,1.455,8,1.723,13,2.209,17,2.365,19,1.7,24,3.434,25,2.454,26,1.096,28,4.707,30,2.966,32,2.416,55,1.103,56,1.11,57,1.225,58,1.118,61,0.9,64,1.214,71,1.983,72,1.082,77,2.192,80,1.524,91,1.55,104,1.499,110,1.35,113,0.925,118,1.524,127,1.772,128,1.103,129,1.082,132,1.35,142,2.097,162,2.985,169,1.269,170,1.609,172,1.897,182,1.772,184,1.185,189,1.772,191,2.199,198,2.097,204,1.723,205,1.049,206,1.505,209,2.787,213,2.365,222,2.097,226,3.434,233,2.495,253,1.17,255,3.168,257,1.609,271,0.981,311,1.829,318,1.55,325,2.271,326,2.335,327,3.934,328,1.829,329,2.097,330,1.681,331,3.384,332,1.382,333,1.375,334,1.435,335,1.416,336,1.55,337,2.097,338,2.097,339,2.271,340,2.271,341,1.829,342,3.168,343,2.271,344,1.964,345,1.524,346,1.524,347,1.068,348,1.609,349,1.499,350,3.07,351,1.062,352,1.983,353,0.966,354,1.829,355,1.435,356,2.288,357,2.271,358,2.271,359,1.897,360,0.844,361,1.897,362,2.271,363,1.772,364,1.897,365,2.558,366,1.829,367,1.829,368,1.35,369,1.578,370,2.271,371,4.347,372,2.271,373,1.897,374,1.643,375,1.158,376,0.818,377,2.097,378,1.246,379,2.097,380,1.772,381,2.097,382,1.983,383,1.321,384,1.609,385,1.829,386,1.983,387,1.681,388,1.643,389,1.772,390,2.097,391,1.723,392,1.897,393,2.271,394,2.271]],["t/13",[13,2.349,17,4.486,28,5.006,63,5.092,118,5.006,128,3.624,129,3.554,169,5.532,206,2.855,208,6.009,311,6.009,395,7.461,396,6.89,397,7.461,398,6.89,399,7.461,400,5.092,401,7.461,402,6.514,403,7.461,404,6.233]],["t/15",[13,2.062,19,3.393,35,4.972,37,3.225,46,5.276,85,3.564,130,3.894,131,3.564,144,5.276,169,3.662,180,6.707,190,3.317,253,1.948,282,5.719,326,2.94,353,2.787,405,6.049,406,6.049,407,9.061,408,3.293,409,3.203,410,4.74,411,6.55,412,6.55,413,6.55,414,4.47,415,3.503]],["t/17",[13,2.349,19,2.437,24,6.514,32,2.905,77,4.169,85,4.059,89,4.252,126,3.894,190,3.778,203,6.009,240,5.523,253,2.219,416,7.461,417,6.89,418,8.267,419,9.896,420,7.461,421,5.822,422,5.398]],["t/19",[12,4.46,13,1.982,32,2.451,58,1.789,61,2.494,77,2.652,113,2.564,162,4.777,169,3.519,184,3.285,209,4.46,253,1.872,263,4.912,271,2.72,318,4.296,326,2.825,332,3.829,333,2.2,360,2.34,369,4.374,392,5.259,423,4.374,424,5.496,425,3.701,426,3.099,427,4.554,428,3.018,429,2.943,430,5.07,431,5.813,432,6.294,433,5.813,434,3.486,435,6.294]],["t/21",[4,5.264,7,3.653,8,4.326,13,3.317,17,3.427,25,3.556,56,4.016,61,2.259,76,6.659,170,4.039,180,4.219,191,3.187,233,2.733,253,1.695,351,2.665,392,4.762,400,3.89,436,5.7,437,5.7,438,5.7,439,7.799,440,4.591,441,5.264,442,5.7,443,4.219,444,4.124,445,1.723,446,4.882,447,3.282]],["t/23",[6,4.644,11,4.417,16,6.415,19,2.4,20,5.316,21,4.644,22,4.778,28,4.93,88,4.583,130,4.367,169,4.107,232,4.851,311,5.918,448,6.415,449,4.778,450,6.785,451,7.347,452,5.918,453,6.785,454,4.23,455,6.785,456,6.785,457,5.734]],["t/25",[9,2.465,10,2.35,11,3.198,12,2.301,13,2.127,15,2.179,17,1.953,19,3.775,32,2.071,76,2.053,82,2.257,85,4.688,86,3.777,88,4.214,95,2.465,101,0.892,122,2.404,128,1.577,129,1.547,200,2.257,213,1.953,235,1.799,236,5.651,237,2.616,240,2.404,242,4.645,253,0.966,254,2.616,263,2.535,265,2.081,272,2.465,278,1.695,320,2.301,326,1.458,330,2.404,353,4.158,414,3.63,452,2.616,458,2.535,459,2.999,460,2.974,461,2.208,462,2.836,463,2.616,464,2.999,465,4.888,466,2.999,467,2.081,468,2.836,469,2.836,470,2.616,471,2.999,472,2.616,473,2.836,474,2.713,475,2.999,476,1.5,477,2.836,478,2.616,479,2.465,480,1.466,481,4.913,482,2.999,483,2.081,484,2.465,485,2.999]],["t/27",[9,2.482,10,2.366,11,3.216,12,2.317,13,2.137,15,2.194,17,1.966,19,3.782,32,2.082,76,2.067,82,2.272,85,4.705,86,3.794,88,4.234,95,2.482,101,0.898,122,2.42,128,1.588,129,1.558,200,2.272,213,1.966,235,1.811,236,5.674,237,2.634,240,2.42,242,4.67,253,0.972,254,2.634,263,2.552,265,2.096,272,2.482,278,1.707,320,2.317,326,1.467,330,2.42,353,4.17,414,3.65,452,2.634,459,3.02,460,2.99,461,2.22,462,2.855,463,2.634,464,3.02,465,4.911,466,3.02,467,2.096,468,2.855,469,2.855,470,2.634,471,3.02,472,2.634,473,2.855,474,2.732,475,3.02,476,1.51,477,2.855,478,2.634,479,2.482,480,1.476,481,4.94,482,3.02,483,2.096,484,2.482,485,3.02]],["t/29",[0,1.795,1,0.674,6,1.568,8,1.883,9,1.883,10,1.795,11,2.552,12,1.758,13,2.541,15,1.664,19,2.971,26,1.197,32,0.966,72,2.022,74,4.087,75,3.008,76,4.163,77,3.119,79,1.174,80,1.664,81,1.836,82,1.724,83,1.998,84,1.998,85,1.35,86,1.387,87,1.998,88,1.547,89,1.414,90,1.998,91,2.897,92,1.936,93,1.998,94,1.59,95,1.883,96,1.083,97,1.27,98,3.516,99,1.998,100,1.638,101,0.681,102,1.724,103,1.998,104,1.638,105,1.998,106,1.936,107,1.613,108,1.998,109,1.428,110,1.475,111,1.568,112,1.638,113,1.01,128,3.199,129,3.137,133,3.546,139,1.883,140,1.936,156,3.706,157,2.166,208,3.419,215,1.795,247,1.693,251,2.291,269,3.426,299,1.04,346,1.664,360,1.578,382,2.166,458,3.312,486,3.706,487,2.481,488,2.291,489,2.481,490,2.073,491,2.481,492,2.481,493,1.724,494,2.481,495,2.291,496,2.481,497,2.291,498,2.166,499,2.481,500,1.638,501,1.936,502,5.138,503,2.481,504,2.166,505,2.481,506,2.481,507,1.568,508,2.291,509,2.481,510,2.481,511,2.166,512,1.883,513,1.936,514,2.481,515,2.481,516,2.291,517,2.481]],["t/32",[6,3.272,13,2.079,19,3.509,32,3.75,57,2.792,58,1.472,76,1.986,77,4.058,79,1.487,85,1.709,86,1.757,91,2.144,95,2.385,97,1.976,112,2.075,113,2.109,122,3.832,124,2.014,126,3.446,128,1.526,129,1.497,200,2.184,205,1.451,213,3.113,215,2.274,232,2.075,235,1.74,236,2.274,253,1.54,269,1.935,274,2.625,276,2.326,298,2.743,304,2.625,335,1.96,353,1.337,355,1.986,414,2.144,421,2.452,446,1.868,454,2.98,460,1.757,480,3.455,513,2.452,518,1.653,519,2.902,520,4.04,521,5.177,522,2.902,523,1.889,524,2.226,525,3.142,526,3.142,527,2.902,528,2.743,529,2.894,530,3.142,531,3.418,532,2.075,533,2.902,534,2.452,535,1.74,536,2.226,537,1.68,538,1.96,539,2.625,540,2.625,541,1.912]],["t/34",[1,0.556,13,1.163,19,3.366,26,1.019,32,2.745,45,0.662,55,0.552,57,1.594,58,0.84,77,1.829,79,1.399,82,0.79,86,0.636,88,1.843,89,2.475,95,1.602,97,3.146,98,1.335,101,2.798,106,0.888,109,1.215,113,1.203,123,0.684,126,1.542,128,1.026,129,1.006,167,0.993,169,0.636,175,0.863,184,1.102,205,2.273,206,1.131,208,0.916,213,0.684,236,4.27,240,0.842,247,0.776,253,0.879,259,0.79,269,1.3,271,0.492,274,0.95,275,1.149,276,1.563,278,0.594,291,0.993,295,0.776,299,1.239,304,0.95,326,0.51,347,3.467,349,1.394,353,2.313,355,1.335,400,0.776,414,1.441,421,0.888,443,4.679,446,0.676,447,0.655,448,0.993,450,1.05,458,0.888,465,0.823,470,0.916,473,0.993,476,0.525,483,1.894,484,0.863,486,0.993,490,0.95,493,0.79,523,1.269,531,1.951,532,1.394,534,0.888,536,2.094,537,2.732,541,0.692,542,0.916,543,0.806,544,1.652,545,2.884,546,1.137,547,2.111,548,0.95,549,0.751,550,0.676,551,3.317,552,0.806,553,1.137,554,0.261,555,0.993,556,2.469,557,0.842,558,1.95,559,2.094,560,2.195,561,3.085,562,0.993,563,1.137,564,1.137,565,0.842,566,0.842,567,0.63,568,2.729,569,1.701,570,1.137,571,0.888,572,0.993,573,0.888,574,5.838,575,2.018,576,1.818,577,0.56,578,3.692,579,0.993,580,0.572,581,0.863,582,0.863,583,0.888,584,0.519,585,1.137,586,1.05,587,0.719,588,0.842,589,1.137,590,1.764,591,1.137,592,0.806]],["t/36",[1,1.048,13,1.786,19,1.418,32,2.208,45,1.481,57,1.373,58,0.724,72,2.067,77,1.828,79,1.205,86,4.575,89,1.451,109,1.466,113,2.729,122,3.213,126,1.329,128,2.755,129,3.898,184,1.329,200,3.016,231,2.051,253,2.236,269,1.568,278,1.329,299,1.067,307,1.932,326,1.143,354,2.051,444,3.14,467,1.632,474,2.127,479,3.294,480,3.024,490,2.127,500,1.681,501,1.987,513,1.987,518,1.34,520,1.987,522,2.351,532,4.964,536,1.804,537,1.84,576,1.253,590,2.127,593,6.7,594,2.546,595,8.068,596,3.233,597,3.299,598,2.223,599,1.34,600,2.351,601,1.932,602,0.784,603,2.051,604,1.632,605,2.127,606,1.987,607,1.632,608,2.546,609,2.351,610,2.546,611,2.351,612,2.546,613,2.351,614,2.546,615,2.546,616,2.351,617,2.351,618,2.351,619,2.351,620,2.546,621,2.546,622,3.016,623,2.351,624,2.546,625,1.987,626,1.885,627,2.546,628,2.223,629,2.351,630,2.546]],["t/38",[1,0.337,13,2.733,19,2.228,32,3.379,42,2.569,49,2.499,52,3.497,57,3.678,58,3.016,74,1.667,77,1.387,86,1.84,97,0.985,101,0.904,113,2.777,124,2.11,133,2.75,134,1.667,143,1.935,184,1.718,204,2.499,205,2.485,213,1.979,253,2.028,296,2.437,332,3.272,333,3.033,344,1.643,347,2.53,360,1.224,415,1.761,423,2.288,426,1.621,446,1.957,460,1.84,461,3.269,467,2.11,476,3.15,480,2.428,511,2.874,513,2.569,529,1.84,533,3.04,537,2.555,541,2.003,560,1.957,579,2.874,588,2.437,631,3.292,632,3.292,633,2.174,634,4.967,635,2.003,636,4.332,637,2.499,638,2.874,639,2.874,640,2.874,641,3.292,642,2.174,643,1.979]],["t/40",[13,2.367,19,2.189,32,3.583,55,1.237,56,2.122,57,2.341,58,2.137,72,1.213,79,2.054,95,3.294,97,2.449,101,2.247,107,1.656,124,1.632,134,1.289,143,2.552,168,1.609,205,4.251,206,0.974,253,0.757,296,1.885,326,1.948,333,1.517,336,3.871,347,4.329,348,3.075,375,1.299,376,0.917,408,3.78,409,3.676,434,2.404,447,4.328,454,1.466,456,2.351,461,1.057,493,1.769,523,1.531,531,1.681,535,2.404,538,1.588,577,2.792,588,3.213,602,0.784,604,1.632,644,2.051,645,2.127,646,1.769,647,2.351,648,1.885,649,5.672,650,3.942,651,3.495,652,2.546,653,2.546,654,2.223,655,2.546,656,4.008,657,1.885,658,2.351,659,3.626,660,2.546,661,1.158,662,1.987,663,1.423,664,2.351,665,1.531,666,2.546,667,2.051,668,1.885,669,1.497]],["t/42",[13,1.605,19,2.473,32,2.947,57,2.75,58,2.152,72,2.429,77,3.189,89,2.906,97,3.194,126,4.713,188,2.878,253,2.251,296,3.774,333,2.645,348,5.364,349,3.366,375,2.601,376,1.837,426,2.51,434,2.824,447,2.935,454,4.358,529,2.85,531,3.366,535,2.824,537,3.463,538,3.18,544,2.85,551,2.398,588,3.774,604,3.268,656,4.709,670,5.099,671,3.543]],["t/44",[13,0.896,19,2.619,26,1.373,32,1.108,58,2.279,77,4.071,79,2.913,86,3.44,89,1.622,128,2.989,129,2.931,204,3.619,206,1.089,240,2.107,253,0.846,269,1.753,271,3.111,278,1.486,299,1.999,301,2.107,307,2.16,328,2.292,333,0.995,348,3.379,353,2.618,376,2.888,421,2.221,428,1.364,444,3.45,445,0.597,447,1.638,460,2.666,461,3.328,476,1.315,483,3.056,531,3.148,535,1.576,537,3.259,544,1.591,559,3.379,580,1.431,623,2.628,636,2.292,642,4.753,654,4.163,672,2.292,673,2.846,674,1.606,675,2.16,676,2.823,677,2.846,678,2.846,679,1.978,680,2.628,681,1.942,682,2.628,683,2.846,684,1.05,685,2.385,686,2.628,687,0.576,688,1.474,689,1.299,690,2.846,691,2.485]],["t/46",[19,2.963,32,2.244,58,2.054,76,3.643,77,3.045,79,4.294,86,3.222,109,3.318,113,3.694,123,2.156,128,2.799,129,2.746,213,3.465,269,3.55,271,3.578,299,1.503,333,1.253,348,4.084,376,1.291,414,2.447,447,2.064,449,3.748,461,3,480,4.094,520,2.798,531,2.367,537,2.943,544,2.004,558,3.311,559,2.54,601,2.721,626,2.654,642,2.367,661,2.209,663,2.004,676,1.262,684,1.322,685,2.234,687,0.725,692,3.585,693,3.311,694,2.064,695,4.933,696,3.311,697,3.311,698,3.311,699,3.585]],["t/48",[11,4.551,13,2.843,19,2.949,21,5.707,25,3.18,32,2.947,64,4.049,170,5.364,215,3.689,231,4.107,232,4.998,247,3.48,253,1.516,254,4.107,262,4.452,305,4.107,385,4.107,423,5.261,446,3.031,449,3.315,460,2.85,461,2.117,472,6.097,507,4.785,540,4.26,550,3.031,590,4.26,700,5.099,701,5.099,702,5.099,703,3.689,704,5.745,705,4.452,706,3.979,707,5.099,708,4.26,709,5.099]],["t/50",[6,5.674,7,4.142,9,4.905,10,4.676,11,3.886,12,4.579,13,2.826,120,4.676,127,5.044,130,3.842,184,3.373,206,3.435,217,5.968,220,4.411,299,2.709,355,4.085,434,3.579,488,5.968,566,4.784,580,4.513,590,5.399,629,5.968,710,5.399,711,4.784,712,8.976,713,5.399,714,4.085]],["t/52",[0,1.934,1,0.273,11,3.535,13,2.644,15,3.034,17,2.719,19,3.31,21,1.689,22,1.738,25,2.821,26,1.29,32,1.041,34,2.153,56,1.307,64,1.429,73,3.348,74,4.252,75,3.205,76,4.889,77,3.768,79,1.265,80,1.793,81,3.348,82,1.857,83,2.153,84,2.153,86,2.528,87,2.153,88,1.667,89,1.523,90,2.153,91,3.087,92,2.086,93,2.153,94,1.713,96,1.167,97,1.759,98,3.716,99,2.153,100,1.765,101,1.614,102,1.857,103,2.153,104,1.765,105,2.153,106,2.086,107,1.738,108,2.153,109,1.539,110,1.589,111,1.689,112,1.765,113,1.842,130,1.589,139,2.029,162,2.029,170,1.894,175,2.029,178,2.153,179,1.934,184,1.395,195,1.384,205,1.235,299,1.12,346,1.793,402,2.334,415,1.429,434,1.48,446,1.589,458,2.086,460,1.494,461,1.11,493,1.857,502,2.468,529,1.494,541,1.626,554,1.037,567,1.48,643,1.607,715,2.673,716,2.673,717,2.673,718,2.153,719,2.673,720,1.626,721,2.673,722,2.468,723,2.233,724,2.029,725,2.673,726,2.334]],["t/54",[4,3.165,7,1.902,13,1.555,19,0.97,32,1.923,33,1.745,39,4.494,41,2.592,43,3.432,52,4.807,58,1.803,59,1.709,61,1.176,69,2.103,77,1.251,79,1.405,107,1.93,109,1.709,113,1.209,120,3.574,128,1.442,129,1.414,143,2.904,184,3.31,188,1.675,200,2.063,205,1.371,215,2.148,223,1.629,253,1.469,259,2.063,326,1.332,333,2.216,334,1.876,346,1.992,355,1.876,360,1.104,375,1.514,376,1.069,387,2.197,423,2.063,446,1.765,461,1.232,467,1.902,479,2.253,480,2.229,518,1.562,537,2.058,538,1.852,557,2.197,580,1.492,581,2.253,599,0.917,605,2.48,643,1.785,674,1.675,684,1.095,685,1.151,711,2.197,722,2.741,727,2.968,728,2.741,729,2.741,730,2.968,731,4.312,732,4.126,733,2.391,734,2.48,735,2.592,736,2.968,737,2.968,738,2.48,739,2.592,740,2.968,741,1.902,742,2.592,743,3.005,744,1.451,745,2.968,746,2.968,747,2.741,748,1.785,749,1.992,750,1.806,751,1.96,752,2.391,753,1.745,754,2.48,755,2.253,756,2.253,757,2.741,758,2.741,759,2.592,760,2.741,761,2.103,762,2.968]],["t/56",[11,3.886,13,2.826,20,4.676,21,4.085,32,2.516,69,6.36,77,3.781,97,1.934,205,4.764,253,1.922,347,3.04,409,4.389,424,5.643,446,3.842,536,4.579,554,1.482,566,4.784,603,5.205,708,5.399,744,3.16,755,4.905,763,5.968,764,5.205,765,6.463,766,5.968,767,5.968]],["t/58",[14,2.345,19,2.09,21,4.044,32,3.47,55,1.46,58,1.418,69,3.536,72,1.432,77,1.266,97,0.899,101,0.825,123,1.807,130,2.966,131,1.635,132,1.786,143,1.767,167,2.624,175,2.281,188,2.816,190,1.522,197,1.875,205,2.955,220,2.051,253,0.894,326,1.349,332,3.036,333,3.3,347,1.414,356,1.748,377,5.909,378,1.65,408,2.509,409,3.642,434,1.665,447,2.873,454,1.73,465,2.175,476,1.388,478,2.421,484,2.281,507,1.9,531,1.984,536,3.536,537,2.417,550,1.786,554,0.689,565,2.225,567,1.665,643,1.807,661,1.332,663,2.789,664,2.775,676,1.058,749,5.545,750,1.828,751,1.984,752,2.421,768,3.005,769,3.005,770,2.775,771,4.019,772,1.984,773,4.998,774,2.511,775,1.767,776,2.345,777,1.356,778,3.536,779,3.005,780,0.383,781,2.624,782,3.005,783,2.13,784,1.635]],["t/60",[4,2.368,11,4.434,17,2.222,19,1.929,20,2.673,21,4.661,22,2.403,25,2.305,45,2.149,52,2.403,61,1.464,80,3.962,88,2.305,101,1.014,130,3.51,131,3.212,139,4.481,140,2.884,171,2.618,173,2.884,184,3.082,187,2.735,190,1.871,206,1.414,213,2.222,220,2.522,232,2.44,270,3.412,296,2.735,305,2.976,331,2.403,351,1.727,353,2.513,356,2.149,360,2.195,368,2.196,445,0.775,446,2.196,469,3.226,476,1.707,507,2.335,518,3.107,543,4.184,567,2.046,605,6.161,606,2.884,640,3.226,643,2.222,732,3.087,734,3.087,744,3.606,764,2.976,785,5.155,786,3.226,787,2.976,788,3.087,789,3.412,790,3.695,791,3.695,792,3.412,793,4.481,794,3.226,795,2.884,796,3.695,797,2.479,798,5.453,799,3.695]],["t/62",[13,2.473,32,3.058,33,2.392,49,3.088,55,1.976,57,2.194,58,1.156,59,2.342,60,3.088,64,2.176,74,3.227,77,3.744,85,2.213,97,1.217,123,2.446,130,2.418,190,2.06,205,1.879,233,3.055,271,1.758,347,1.914,421,3.175,460,2.274,518,3.352,519,3.757,529,2.274,531,2.686,534,3.175,536,2.883,537,1.32,538,2.538,549,2.686,567,2.253,580,2.045,648,3.011,676,1.432,755,7.769,766,3.757,767,5.884,800,3.757,801,3.552,802,4.717,803,4.068,804,4.068,805,7.854,806,3.757,807,4.068,808,4.973,809,3.011,810,4.068,811,4.068,812,3.011,813,4.068,814,3.088,815,3.757,816,3.399]],["t/64",[13,3.317,17,4.938,25,5.123,26,2.75,33,3.351,71,4.977,73,4.219,77,2.401,85,3.101,117,3.707,130,3.388,170,4.039,197,3.556,206,2.182,220,3.89,253,3.459,326,2.558,333,1.992,351,3.84,460,3.187,567,4.549,607,3.653,643,3.427,816,4.762,817,7.585,818,5.264,819,3.653,820,4.977,821,5.264]],["t/66",[4,4.034,7,6.517,13,3.202,26,3.037,32,2.451,33,3.701,52,4.093,164,5.813,168,3.978,184,3.285,253,1.872,331,4.093,363,4.912,566,6.523,734,5.259,757,5.813,822,8.813,823,6.294,824,8.813,825,6.294,826,6.294,827,5.813,828,5.813,829,4.659,830,5.496,831,5.07,832,6.294]],["t/68",[0,4.805,2,5.04,3,5.798,4,4.256,13,2.091,44,5.548,52,5.947,124,4.256,130,3.947,169,3.712,225,5.548,400,4.532,457,5.182,534,5.182,607,4.256,833,5.798,834,5.548,835,6.64,836,5.348,837,6.942,838,5.182,839,5.548,840,6.64,841,6.64,842,6.64,843,5.548,844,5.798,845,6.132]],["t/70",[8,6.035,9,6.035,10,5.754,11,4.781,12,5.635,13,3.249,39,5.635,120,5.754,140,6.206,458,6.206,637,6.035,726,6.943,744,3.888,764,6.405,836,6.405,846,7.952,847,7.952]],["t/72",[6,7.302,33,5.596,45,5.537,206,3.643,637,7.224,710,7.953,848,8.311]],["t/74",[6,5.577,13,2.778,25,5.503,139,6.697,206,4.602,398,8.148,549,5.825,566,6.531,580,4.436,849,8.823]],["t/76",[0,1.69,1,0.876,2,0.784,3,1.685,4,2.39,6,0.946,7,0.343,9,0.784,10,0.387,11,1.16,12,1.367,13,3.025,14,0.418,15,0.693,17,1.404,19,1.114,20,1.965,21,2.156,23,0.494,25,2.128,26,0.498,27,0.494,28,3.076,29,1.685,30,0.589,32,0.583,33,0.607,43,0.372,45,0.601,49,0.406,52,0.348,54,1.782,63,2.945,65,2.039,77,0.984,82,0.372,85,1.672,86,0.299,88,0.334,96,0.234,97,0.16,101,0.844,114,1.307,118,0.693,120,0.387,124,0.343,127,0.418,129,0.492,130,0.318,136,1.307,143,2.006,144,0.431,162,1.773,168,0.338,169,0.577,170,0.732,171,0.379,172,4.044,173,1.168,174,0.372,175,0.406,178,3.004,179,4.006,182,2.12,184,0.781,186,0.494,187,0.396,188,0.845,191,1.306,194,2.589,196,0.267,197,0.644,208,0.431,209,0.732,210,0.494,212,2.157,213,0.322,214,0.902,220,1.854,221,1.382,226,2.039,227,0.348,232,0.353,247,0.365,253,0.914,255,0.832,263,0.806,265,0.343,271,0.446,282,0.467,288,0.467,295,0.705,298,0.467,299,0.809,307,0.406,311,0.431,316,0.954,317,1.685,320,0.732,326,0.24,329,0.494,331,2.981,332,0.326,333,0.361,334,2.156,335,0.334,336,0.365,337,0.954,338,1.382,342,0.431,350,0.806,351,0.902,359,0.447,360,0.384,383,0.601,389,1.168,390,0.494,392,0.447,417,0.494,418,0.447,421,0.418,423,1.623,424,1.307,426,0.263,428,0.495,433,0.494,434,0.296,444,0.387,446,0.318,447,0.308,453,0.494,460,0.577,461,0.621,462,0.467,463,0.431,468,0.467,478,0.431,479,0.406,480,0.466,490,0.863,495,0.494,498,1.307,500,0.988,504,1.307,507,0.338,512,0.406,513,0.418,520,0.418,523,0.322,524,0.379,536,0.379,554,0.237,557,0.396,567,1.294,575,0.48,576,0.508,580,0.752,586,0.494,598,0.467,605,0.863,607,1.237,622,1.04,633,0.353,635,0.628,637,2.062,644,0.431,647,0.494,661,0.143,668,0.396,685,0.207,696,0.494,705,0.467,706,0.418,708,0.863,710,0.447,711,2.011,718,0.431,726,1.685,731,1.685,734,0.863,742,0.902,753,0.607,755,1.136,773,0.359,794,0.467,809,0.396,821,4.471,828,0.494,830,0.902,833,0.467,834,0.447,837,0.784,838,0.418,839,0.447,843,0.447,844,1.307,845,0.954,850,3.074,851,1.033,852,0.494,853,2.716,854,0.535,855,0.387,856,0.535,857,0.902,858,0.954,859,0.535,860,0.902,861,1.307,862,1.033,863,0.467,864,0.418,865,0.535,866,0.535,867,0.535,868,0.535,869,0.535,870,1.496,871,0.535,872,0.535,873,1.033,874,1.93,875,1.93,876,0.467,877,0.535,878,0.494,879,1.033,880,1.93,881,0.535,882,0.535,883,0.494,884,0.535,885,0.494,886,0.954,887,1.1,888,0.535,889,1.033,890,0.535,891,0.535,892,0.535,893,0.494,894,0.535,895,0.535,896,1.307,897,0.535,898,0.535,899,1.496,900,1.496,901,0.535,902,0.535,903,0.535,904,4.315,905,1.496,906,1.033,907,0.431,908,1.496,909,0.365,910,1.93,911,0.535,912,0.535,913,0.535,914,0.535,915,0.447,916,1.033,917,0.467,918,0.244,919,0.535,920,0.764,921,0.535,922,1.496,923,0.535,924,0.494,925,0.535,926,0.535,927,0.535,928,1.396,929,0.535,930,0.535,931,0.535,932,0.535,933,0.535,934,1.033,935,0.418,936,0.535,937,0.535,938,0.396,939,0.535,940,1.496,941,0.535,942,0.535,943,0.535,944,1.93,945,1.033,946,1.033,947,0.418,948,0.954,949,1.033,950,1.033,951,0.467,952,0.732,953,0.535,954,0.535,955,0.418,956,0.535,957,0.535,958,0.535,959,0.535,960,0.535,961,1.496,962,0.535,963,1.307,964,0.535,965,0.467,966,1.033,967,0.535,968,0.396,969,0.535,970,0.535,971,0.535,972,0.535,973,0.535,974,0.535,975,0.535,976,0.494,977,0.535,978,0.494,979,0.535,980,0.467,981,0.535,982,0.535,983,0.418,984,0.535,985,0.494,986,0.535,987,0.535,988,0.535,989,0.379,990,0.535,991,0.494,992,0.954,993,0.535,994,0.535,995,0.535,996,1.382,997,1.033,998,0.535,999,0.494,1000,0.535,1001,0.494,1002,0.467,1003,0.494,1004,0.535,1005,0.535,1006,0.535,1007,0.535,1008,0.535,1009,0.535,1010,0.379,1011,0.406,1012,0.535,1013,0.535,1014,0.535,1015,0.535]],["t/80",[39,8.185,40,10.086,44,9.651,1016,9.519,1017,9.519]],["t/82",[4,4.256,13,2.88,28,4.455,34,5.348,39,7.413,40,5.798,52,4.318,57,3.582,58,1.888,61,2.631,72,3.163,128,3.225,129,3.163,231,5.348,384,4.705,479,5.04,565,4.915,588,4.915,602,2.044,628,5.798,643,3.992,728,6.132,729,6.132,731,5.798,761,4.705,1018,5.04,1019,6.132]],["t/84",[13,1.64,19,1.701,32,2.994,52,3.387,61,2.064,77,2.194,97,1.559,101,1.43,110,3.096,184,2.719,190,2.638,206,1.993,233,2.497,326,2.338,408,2.619,409,2.547,443,3.856,480,2.351,523,3.132,528,4.548,537,2.495,580,2.619,602,1.603,603,6.194,643,3.132,676,3.791,685,3.544,752,4.195,1020,5.209,1021,4.548,1022,4.81,1023,4.81,1024,4.81,1025,5.209,1026,5.209,1027,5.209,1028,5.209,1029,2.42,1030,4.548,1031,2.657,1032,5.209]],["t/86",[1,1.135,26,3.596,52,3.247,58,2.119,101,2.046,104,3.297,301,3.696,326,2.241,351,2.335,408,2.51,409,2.442,472,4.022,518,2.627,550,6.289,583,3.897,601,3.79,661,2.639,680,4.611,681,3.408,938,3.696,1030,4.36,1033,4.993,1034,4.993,1035,4.172,1036,4.993,1037,4.993,1038,7.45,1039,4.611,1040,1.436,1041,7.453,1042,6.883,1043,4.993,1044,4.611,1045,3.2,1046,4.993]],["t/88",[52,5.783,59,3.671,61,3.524,77,2.687,79,3.019,137,5.89,187,4.721,197,3.978,232,4.211,253,1.897,275,3.47,334,4.031,428,3.057,480,2.878,607,4.087,739,5.568,747,5.89,752,5.137,938,4.721,1030,5.568,1031,3.253,1047,6.377,1048,6.377,1049,3.47,1050,5.89,1051,6.377,1052,5.89,1053,4.84,1054,4.432,1055,6.377,1056,6.377]],["t/90",[1,0.898,13,1.058,32,1.308,33,3.216,43,2.336,45,1.955,58,1.555,59,3.982,72,1.601,77,1.416,89,1.915,100,2.219,143,4.067,188,1.897,197,2.096,206,1.286,215,2.432,253,0.999,259,2.336,271,1.452,333,2.417,335,2.096,360,1.249,375,1.714,376,1.211,378,4.375,426,2.693,461,1.395,467,2.154,480,2.469,528,4.776,532,2.219,537,3.051,538,2.096,544,1.879,549,2.219,557,2.488,560,1.998,575,1.562,599,2.462,603,2.707,661,0.897,714,4.372,750,2.045,752,2.707,754,2.808,755,2.551,1040,0.967,1057,2.432,1058,3.557,1059,4.57,1060,3.361,1061,2.124,1062,2.934,1063,4.57,1064,3.361,1065,1.468,1066,2.623,1067,5.47,1068,2.808,1069,3.104,1070,3.361,1071,3.361,1072,1.508,1073,2.551,1074,1.552,1075,3.361,1076,3.361,1077,3.361]],["t/92",[1,0.972,13,0.958,33,1.789,39,2.156,43,2.115,44,2.543,45,1.77,52,4.197,58,1.433,94,1.95,101,0.835,114,2.657,130,1.809,190,1.541,206,1.93,227,1.979,253,0.905,259,2.115,278,1.588,288,2.657,321,2.156,333,2.256,334,1.924,346,2.042,355,1.924,360,1.131,426,1.498,447,1.752,540,2.543,567,1.686,577,1.498,580,1.53,581,2.31,604,1.95,639,2.657,648,2.253,661,1.723,676,1.071,679,2.115,710,2.543,714,4.08,732,4.212,759,2.657,783,2.156,784,1.656,809,2.253,836,2.451,837,2.31,935,2.375,1019,2.81,1023,2.81,1029,1.414,1040,1.45,1061,3.187,1074,1.406,1078,4.656,1079,2.81,1080,5.961,1081,3.043,1082,5.042,1083,3.043,1084,3.043,1085,3.504,1086,2.375,1087,2.375,1088,3.648,1089,2.009,1090,3.732,1091,2.009,1092,3.732,1093,4.778,1094,2.81,1095,2.657,1096,2.81,1097,2.657,1098,1.979,1099,1.83,1100,2.81,1101,2.451,1102,2.81,1103,2.81,1104,2.657,1105,3.043,1106,3.043,1107,2.451,1108,2.543,1109,2.31]],["t/94",[4,5.578,7,3.073,13,2.276,25,2.991,33,4.251,35,5.487,37,2.361,43,5.025,46,3.862,49,3.639,52,5.659,61,1.9,128,2.329,130,2.85,131,2.609,188,2.706,204,3.639,206,1.835,209,3.398,225,4.006,253,2.15,415,2.564,518,2.523,580,2.411,587,3.031,602,1.476,607,3.073,625,5.642,646,3.332,742,4.187,758,4.428,830,4.187,837,3.639,857,4.187,968,3.549,1110,4.795,1111,7.23,1112,7.23,1113,4.795,1114,3.549,1115,3.862,1116,4.795,1117,4.795,1118,4.795,1119,4.795,1120,4.006]],["t/96",[1,1.239,33,3.329,43,3.935,79,1.66,123,2.109,206,1.342,253,1.043,354,2.825,410,5.914,428,3.919,429,1.64,434,1.942,501,6.379,524,4.012,554,0.804,565,4.191,575,1.63,577,3.506,583,2.737,607,3.629,738,2.93,777,2.556,815,3.239,920,2.596,938,5.271,1010,2.485,1121,3.239,1122,2.737,1123,3.507,1124,3.507,1125,4.097,1126,3.062,1127,5.662,1128,3.239,1129,3.507,1130,3.507,1131,3.507,1132,3.507,1133,2.281,1134,2.134,1135,3.239,1136,3.239,1137,3.507,1138,3.507,1139,3.239,1140,3.507,1141,5.662,1142,3.507,1143,5.229,1144,3.507,1145,3.507,1146,5.229,1147,3.507,1148,3.507,1149,3.507,1150,3.507,1151,3.507]],["t/98",[1,1.237,33,2.565,43,4.675,52,5.339,188,2.462,206,1.669,253,1.297,347,2.052,356,2.537,410,6.677,428,4.424,429,2.039,501,3.404,554,1.001,575,3.126,583,3.404,602,2.527,607,4.311,777,3.705,938,4.979,1125,3.156,1126,3.809,1133,2.836,1134,4.092,1136,4.028,1139,4.028,1143,4.028,1146,4.028,1152,3.809,1153,4.362,1154,4.362,1155,4.362,1156,4.028,1157,4.362,1158,4.362,1159,4.362,1160,3.809,1161,4.362,1162,4.362,1163,4.362,1164,4.362]],["t/100",[1,1.3,33,4.127,43,3.205,174,5.906,195,2.389,197,2.877,253,1.372,410,3.337,418,3.853,429,2.156,476,2.13,541,2.806,554,1.058,559,3.268,571,3.599,575,3.262,577,2.27,580,2.319,622,3.205,626,3.414,753,2.711,887,2.628,938,5.196,1010,3.268,1050,4.259,1072,2.07,1125,3.337,1126,4.027,1128,4.259,1160,4.027,1165,4.259,1166,4.612,1167,4.612,1168,3.337,1169,4.612,1170,4.612,1171,2.578,1172,4.612,1173,4.612,1174,7.02,1175,4.612,1176,4.612,1177,4.612]],["t/102",[63,4.532,123,3.992,169,3.712,176,4.256,177,5.348,179,4.805,184,3.466,191,3.712,223,5.02,224,5.798,269,4.09,283,5.798,461,2.757,513,5.182,643,3.992,676,2.338,808,5.182,837,5.04,1002,9.135,1178,6.132,1179,8.741,1180,5.548,1181,5.798,1182,5.798,1183,5.348]],["t/105",[35,5.843,37,3.79,117,6.569,299,3.227,415,4.117,426,3.79,476,3.556,802,5.699,836,6.201,917,6.722,928,5.57,1031,3.927,1152,6.722,1179,8.44,1184,6.432,1185,7.699,1186,6.008,1187,5.843]],["t/107",[33,4.834,169,4.597,283,7.179,299,3.447,470,6.623,523,4.944,580,4.134,788,6.87,808,6.417,820,7.179,1152,7.179,1179,6.87,1181,7.179,1184,6.87,1188,7.179,1189,5.612]],["t/109",[63,6.134,123,5.404,191,5.024,196,4.486,225,7.509,569,7.239,625,7.014,788,7.509,1190,8.987,1191,8.987,1192,6.821]],["t/111",[6,6.813,131,4.631,360,3.165,529,4.759,1179,7.112,1184,7.112,1187,6.461,1193,7.432,1194,7.861,1195,8.512,1196,8.512,1197,7.861,1198,8.512]],["t/113",[1,0.423,13,1.303,19,1.352,32,1.611,56,3.157,61,3.555,64,2.213,89,2.358,96,1.807,97,1.238,126,2.16,128,2.01,129,1.971,169,2.313,196,2.066,205,1.911,247,2.824,253,1.231,271,1.788,278,2.16,295,2.824,331,2.691,351,1.935,360,1.538,376,1.49,387,3.063,415,3.453,445,1.355,461,1.718,467,2.652,476,1.911,537,2.576,549,2.732,559,2.932,642,4.263,646,2.876,689,3.625,741,2.652,744,2.023,753,2.433,764,3.333,863,3.613,920,3.063,938,3.063,1022,3.821,1078,3.821,1199,2.824,1200,3.821,1201,1.984,1202,4.138,1203,4.407,1204,4.138,1205,4.138,1206,2.271,1207,4.138,1208,3.613,1209,2.876,1210,3.821,1211,1.67,1212,2.232,1213,3.821,1214,3.821]],["t/116",[13,2.481,19,1.758,32,2.096,57,2.903,58,1.53,59,3.099,60,4.085,77,3.926,86,4.404,113,2.192,128,3.827,129,3.753,200,3.741,253,1.601,271,4.027,275,2.928,326,2.416,360,2.001,461,3.27,479,4.085,532,3.554,537,1.746,542,4.335,577,2.65,642,6.153,672,4.335,685,3.612,689,2.457,1215,1.149,1216,6.148,1217,6.879,1218,4.7]],["t/118",[28,4.395,61,3.59,74,3.317,128,4.401,129,3.12,130,3.894,145,4.552,184,3.419,189,5.112,190,3.317,220,4.47,253,3.089,365,5.892,404,5.473,444,4.74,567,3.628,1219,4.034,1220,6.049,1221,7.911,1222,9.061,1223,6.55,1224,6.049,1225,5.719,1226,6.55]],["t/120",[13,2.589,22,6.856,86,5.894,128,3.994,129,3.917,253,2.445,271,3.553,326,3.69,360,3.057,685,3.187,864,6.417,1227,8.002,1228,6.87]],["t/122",[19,2.056,37,3.099,58,2.505,61,2.494,77,4.284,86,3.519,113,2.564,180,4.659,253,1.872,271,3.808,333,2.2,360,2.34,376,2.267,460,3.519,461,2.613,476,2.908,537,3.299,560,3.742,580,3.164,642,5.818,676,2.216,685,2.44,689,4.023,1031,3.211,1216,4.912,1229,6.294]],["t/126",[1,0.696,2,0.606,19,1.377,26,0.385,30,0.455,31,0.566,32,0.311,37,0.746,58,0.614,61,2.256,62,1.122,64,0.81,66,0.438,72,1.03,74,0.405,75,0.566,77,0.911,86,2.357,89,1.232,91,0.545,96,1.2,97,1.385,100,0.527,101,0.416,109,0.872,110,0.475,111,0.958,123,0.48,124,0.512,126,0.791,133,0.667,134,0.405,143,0.47,174,0.555,195,0.785,196,0.756,206,0.58,213,0.911,233,0.383,249,2.702,253,1.49,269,1.331,271,0.934,276,0.591,278,0.417,326,1.472,333,0.755,334,0.958,344,0.756,349,1.814,351,0.374,353,1.169,355,0.958,360,1.021,374,1.096,375,1.402,376,2.691,410,0.578,414,0.545,428,1.317,430,1.221,434,0.442,445,0.318,446,0.475,454,0.872,460,0.447,461,1.14,467,0.512,476,2.771,480,0.361,483,0.512,523,1.3,532,1,537,2.764,539,0.667,541,2.565,551,1.017,554,0.348,561,0.667,567,0.442,575,0.704,576,1.064,577,0.393,580,0.402,582,0.606,599,1.013,604,1.385,635,0.486,642,1.427,661,0.213,669,0.47,671,0.555,672,0.643,675,2.86,676,2.478,684,1.39,685,0.587,689,1.925,694,0.46,741,1.761,751,0.527,761,0.566,773,1.45,777,0.361,831,0.643,909,1.875,947,0.623,955,0.623,1029,3.271,1053,0.606,1054,0.555,1065,0.944,1072,0.97,1134,2.816,1168,0.578,1171,1.208,1180,0.667,1189,0.545,1201,2.729,1206,0.438,1211,1.521,1212,1.482,1216,1.183,1218,0.698,1230,1.183,1231,1.323,1232,0.738,1233,0.667,1234,0.578,1235,1.674,1236,0.799,1237,0.738,1238,0.799,1239,0.799,1240,1.034,1241,2.399,1242,1.843,1243,1.45,1244,0.667,1245,2.133,1246,1.096,1247,0.606,1248,1.741,1249,2.49,1250,0.817,1251,1.266,1252,1.266,1253,0.799,1254,0.738,1255,3.396,1256,1.266,1257,2.295,1258,0.578,1259,0.667,1260,0.667,1261,0.667,1262,1.475,1263,3.159,1264,1.806,1265,1.806,1266,0.667,1267,0.667,1268,0.667,1269,0.667,1270,1,1271,0.667,1272,0.555,1273,0.667,1274,0.667,1275,0.545,1276,0.922,1277,0.643,1278,0.606,1279,0.578,1280,0.578,1281,0.891,1282,0.667,1283,0.667,1284,0.667,1285,1.266,1286,0.643,1287,0.623,1288,0.667,1289,0.985,1290,0.667,1291,1.532,1292,0.566,1293,0.591,1294,0.738,1295,0.799,1296,1.053,1297,1.582,1298,0.623,1299,0.606,1300,1.399,1301,0.773,1302,0.817,1303,0.643,1304,1.6,1305,1.315,1306,1.053,1307,0.545,1308,0.738,1309,0.738,1310,0.698,1311,0.698,1312,0.799,1313,0.492,1314,0.738,1315,0.623,1316,2.144,1317,0.492,1318,0.505]],["t/128",[1,0.29,19,2.76,26,0.523,30,0.618,31,0.768,32,0.786,56,0.53,58,0.805,61,1.123,64,1.08,66,2.886,72,1.35,74,1.435,75,0.768,77,1.495,79,0.513,86,1.984,96,0.473,98,0.685,109,0.624,111,0.685,113,2.498,134,1.022,190,0.549,195,2.167,196,0.541,205,0.501,233,0.52,249,2.275,253,1.244,276,0.802,326,1.272,344,0.541,347,0.51,353,2.61,375,2.135,376,1.894,388,0.784,408,2.388,409,2.323,410,1.461,428,1.702,445,0.423,449,0.705,461,0.45,476,1.933,480,0.489,532,2.344,537,0.655,541,2.16,554,0.463,575,0.504,576,0.534,599,2.217,602,0.621,607,0.695,622,1.403,626,0.802,642,0.716,661,0.289,675,1.532,676,1.672,684,2.109,689,2.169,706,0.846,733,0.873,750,0.659,751,0.716,756,1.532,761,0.768,777,0.911,831,0.873,909,2.423,955,0.846,965,0.946,1010,1.43,1018,0.823,1029,2.208,1031,2.423,1054,0.753,1065,1.55,1072,1.878,1134,3.478,1168,0.784,1171,1.584,1201,3.122,1211,1.143,1212,1.089,1235,1.03,1241,2.474,1242,2.382,1243,1.901,1244,0.906,1245,2.721,1262,0.74,1273,0.906,1274,0.906,1275,0.74,1276,1.228,1277,0.873,1278,0.823,1279,0.784,1280,0.784,1281,1.187,1282,0.906,1283,0.906,1284,0.906,1286,0.873,1288,0.906,1289,2.308,1290,0.906,1292,0.768,1293,0.802,1296,3.301,1297,2.043,1315,0.846,1316,2.77,1319,3.136,1320,2.282,1321,2.15,1322,1.575,1323,3.265,1324,1.494,1325,0.906,1326,0.906,1327,0.906,1328,0.906,1329,1.001,1330,3.366,1331,0.906,1332,0.906,1333,1.001,1334,0.906,1335,0.906,1336,0.906,1337,0.906,1338,3.265,1339,0.906,1340,0.784,1341,0.906,1342,0.906,1343,1.001,1344,1.084,1345,1.084,1346,1.084,1347,1.084,1348,1.001,1349,1.001,1350,1.084,1351,1.001,1352,1.001,1353,1.001,1354,0.946,1355,1.084,1356,1.001,1357,1.001,1358,1.001,1359,1.001,1360,1.084,1361,1.001,1362,1.084,1363,1.001,1364,1.001,1365,1.071,1366,0.768,1367,1.001,1368,0.906,1369,1.001]],["t/130",[1,0.486,4,3.043,11,2.855,13,1.495,19,2.826,32,1.848,61,2.844,66,2.606,85,2.583,169,2.654,184,2.478,190,2.404,196,2.37,207,4.385,253,2.134,326,3.883,344,2.37,351,3.355,353,3.681,376,2.585,445,1.505,461,1.971,554,1.089,566,3.515,575,2.206,576,2.337,661,1.267,676,2.527,689,3.276,711,3.515,744,3.509,759,4.145,764,3.824,996,4.385,1011,3.604,1065,2.073,1072,2.131,1211,3.491,1241,7.554,1370,3.705,1371,4.748]],["t/132",[19,0.579,26,0.855,32,1.231,61,4.206,72,1.506,74,3.026,79,2.828,89,1.01,96,1.381,97,1.788,101,0.868,109,1.82,113,1.288,205,1.46,253,3.001,331,1.152,333,0.619,347,0.833,349,1.169,355,1.12,360,2.221,375,0.904,376,1.542,384,1.255,387,1.311,388,1.282,408,0.891,409,0.866,415,1.691,428,3.684,429,1.478,430,1.427,434,0.981,454,1.02,457,1.382,461,1.777,480,1.427,537,2.151,545,0.94,551,0.833,577,2.108,592,1.255,606,1.382,626,1.311,663,2.393,669,1.041,684,2.203,685,1.225,689,0.809,691,1.547,694,1.02,695,1.209,743,1.078,749,1.188,750,1.923,753,1.041,773,1.188,777,1.427,787,1.427,938,1.311,1018,1.344,1029,1.469,1031,0.904,1057,1.282,1065,0.774,1121,1.636,1133,1.152,1165,1.636,1171,4.022,1203,7.134,1206,1.735,1235,2.184,1240,1.209,1243,2.873,1245,2.056,1246,1.282,1248,1.427,1250,2.309,1252,1.48,1255,1.427,1263,1.209,1276,1.923,1310,1.547,1319,1.169,1320,1.427,1321,1.344,1372,3.161,1373,1.771,1374,1.771,1375,1.771,1376,1.771,1377,1.636,1378,1.771,1379,1.152,1380,1.771,1381,1.771,1382,1.282,1383,0.981,1384,1.771,1385,1.771,1386,1.547,1387,1.382,1388,1.771,1389,1.344,1390,1.636,1391,1.771,1392,1.771,1393,1.771,1394,1.771,1395,1.771]],["t/135",[25,5.822,63,6.371,72,4.447,355,5.9,365,6.07,423,6.487,1192,7.085,1396,8.621,1397,7.518]],["t/137",[13,1.774,61,3.227,63,6.528,72,2.684,130,3.349,131,3.065,184,2.941,191,3.149,205,2.602,223,3.092,365,5.296,415,3.013,429,3.808,445,1.708,518,2.964,537,2.642,550,3.349,551,2.65,567,3.12,638,4.919,644,4.538,648,4.17,681,3.845,1292,3.992,1298,4.397,1398,7.111,1399,8.144,1400,6.028,1401,5.634,1402,5.634,1403,7.111,1404,4.919]],["t/139",[1,0.328,56,1.567,61,3.07,76,2.026,104,2.116,131,1.743,184,2.746,187,3.895,188,2.97,191,3.742,205,1.48,215,2.319,253,0.953,278,1.673,295,2.187,331,2.084,360,1.191,364,2.677,368,4.606,369,4.652,376,1.895,387,2.372,434,1.775,439,2.372,445,1.104,461,1.33,467,3.372,480,1.446,537,1.707,550,1.905,551,1.508,576,1.578,602,1.62,634,2.96,668,2.372,679,2.227,704,2.432,714,2.026,753,1.884,775,1.884,798,4.859,915,2.677,920,2.372,978,2.96,985,4.859,989,2.271,1049,2.862,1053,2.432,1210,2.96,1211,1.293,1212,1.728,1213,2.96,1214,2.96,1307,3.591,1390,4.859,1398,2.798,1405,4.419,1406,5.224,1407,3.474,1408,6.473,1409,2.96,1410,4.926,1411,2.96,1412,3.205,1413,2.581,1414,4.859,1415,3.205,1416,3.205,1417,3.205,1418,2.96,1419,2.581,1420,3.205]],["t/141",[79,4.419,111,5.9,128,4.534,271,4.034,360,3.47,364,7.799,365,6.07,434,5.17,1186,7.285]],["t/143",[26,2.569,61,4.043,72,2.536,117,3.462,130,4.645,184,2.779,191,6.562,220,3.633,223,6.951,253,2.324,520,4.154,551,2.504,567,2.948,588,5.785,643,3.201,679,3.699,694,4.499,695,5.333,1109,4.04,1405,6.113,1421,5.323,1422,4.288]],["t/145",[1,0.516,13,2.365,17,3.034,21,3.189,26,2.435,55,2.451,63,3.443,64,2.698,69,3.575,81,3.735,96,2.203,97,2.248,118,5.039,131,4.086,170,3.575,190,2.555,191,5.016,223,4.123,253,1.501,278,2.634,308,4.659,326,2.264,351,2.359,360,1.876,425,2.966,426,2.484,434,2.794,531,3.331,551,3.533,819,3.234,1199,3.443,1298,3.937,1405,3.331,1410,2.905,1423,4.064,1424,5.045,1425,5.045,1426,2.876,1427,5.045,1428,5.045,1429,5.045,1430,5.045,1431,4.215,1432,5.045,1433,3.575]],["t/147",[13,2.178,19,1.787,21,0.641,37,0.499,55,3.872,56,0.257,58,2.589,69,0.372,74,0.266,77,0.427,86,0.294,96,0.642,97,1.354,101,0.631,113,2.395,132,0.603,143,0.865,169,0.294,188,0.296,205,0.469,206,1.159,223,0.288,235,0.562,253,0.156,271,0.82,295,0.358,299,0.22,301,0.389,333,2.306,344,0.947,347,0.247,353,2.136,360,1.367,368,3.495,373,0.439,376,2.546,378,1.467,383,0.59,385,0.817,408,0.954,409,1.124,426,0.934,429,0.688,460,0.294,461,1.65,480,0.664,483,0.943,529,0.567,535,1.051,537,1.908,550,2.185,551,0.247,554,0.12,569,0.817,577,0.259,584,2.593,596,2.265,599,1.689,602,0.453,650,0.365,651,0.817,676,1.926,684,0.374,685,0.736,689,1.049,720,0.617,744,2.969,749,1.273,777,1.207,784,1.828,1035,0.847,1054,0.365,1061,1.69,1065,0.229,1074,0.877,1085,0.365,1099,0.61,1133,0.956,1199,0.692,1211,3.071,1228,0.847,1249,2.029,1262,3.733,1270,0.67,1291,0.372,1297,0.847,1304,0.389,1305,2.236,1306,2.336,1317,0.906,1318,1.199,1366,1.042,1382,0.38,1383,0.815,1400,2.488,1410,1.935,1431,0.439,1433,0.719,1434,1.851,1435,0.937,1436,1.542,1437,1.585,1438,0.937,1439,0.937,1440,0.847,1441,0.847,1442,5.47,1443,3.369,1444,4.776,1445,5.052,1446,0.485,1447,0.525,1448,1.752,1449,0.66,1450,1.148,1451,1.064,1452,0.886,1453,0.886,1454,2.066,1455,0.886,1456,1.014,1457,0.886,1458,0.459,1459,1.229,1460,1.467,1461,0.485,1462,0.389,1463,2.833,1464,0.525,1465,0.439,1466,0.751,1467,0.485,1468,1.528,1469,0.41,1470,0.459,1471,0.41,1472,0.423,1473,0.459,1474,0.459,1475,1.042,1476,0.41,1477,0.525,1478,0.552,1479,0.65,1480,1.185,1481,0.399,1482,0.423,1483,0.734,1484,0.847,1485,1.014,1486,1.014,1487,0.886,1488,0.423,1489,0.439,1490,0.917,1491,0.485,1492,0.525,1493,0.525,1494,0.485,1495,0.525,1496,0.525,1497,0.485,1498,0.459,1499,0.937,1500,0.886,1501,0.886,1502,0.525,1503,1.014,1504,0.525,1505,1.014,1506,0.77,1507,1.116,1508,2.336,1509,0.459,1510,1.284,1511,0.525,1512,1.979,1513,0.459,1514,0.525,1515,0.525,1516,0.525,1517,0.459,1518,0.485,1519,0.459,1520,0.485,1521,0.525,1522,0.485,1523,0.847,1524,0.485,1525,0.525,1526,0.485,1527,0.485,1528,0.439,1529,0.485,1530,0.439,1531,0.485,1532,0.525,1533,0.485,1534,0.423,1535,0.847,1536,0.485,1537,0.485,1538,0.485,1539,0.525]],["t/149",[13,2.808,32,1.944,64,2.671,89,2.846,96,4.846,97,3.441,101,2.448,118,5.001,128,2.425,129,2.379,253,2.217,278,2.606,279,4.36,334,3.156,347,2.349,383,2.904,426,2.458,537,1.62,551,2.349,573,3.897,661,1.332,773,3.35,819,3.2,1276,3.038,1478,4.055,1540,5.657,1541,4.993,1542,4.022,1543,3.408,1544,3.47,1545,4.993,1546,4.993,1547,4.993,1548,3.79,1549,3.897]],["t/151",[1,0.936,13,2.091,58,2.6,124,4.256,233,3.183,278,4.774,301,4.915,332,4.04,356,5.32,426,4.503,429,3.105,551,3.124,557,4.915,567,3.678,1099,6.29,1465,5.548,1550,6.132,1551,6.64,1552,4.455,1553,3.748,1554,3.269,1555,3.904,1556,6.64]],["t/153",[1,1.131,56,3.616,72,2.354,97,2.213,131,2.689,235,2.737,278,3.861,368,2.938,429,2.311,483,3.167,575,4.572,576,4.363,581,3.751,684,1.823,685,2.867,1061,3.124,1305,3.007,1410,2.845,1434,3.981,1450,3.857,1454,3.373,1476,3.857,1544,3.435,1552,3.316,1553,2.789,1554,2.433,1555,2.906,1557,4.942,1558,4.942,1559,4.942,1560,4.942,1561,4.942,1562,4.942,1563,4.942,1564,4.942,1565,3.214,1566,3.857,1567,5.613,1568,3.857,1569,4.942]],["t/155",[1,1.091,13,2.634,278,5.564,299,3.507,426,4.118,429,3.911,1305,5.089,1552,5.612,1553,4.721,1554,4.118,1555,4.918,1565,5.439,1570,8.365]],["t/157",[1,0.985,58,2.995,113,2.322,278,4.287,333,2.87,429,2.665,483,3.653,537,1.849,575,3.817,576,4.043,744,2.787,976,5.264,1072,2.558,1085,3.961,1292,5.82,1434,4.591,1440,4.762,1450,4.448,1454,3.89,1463,2.952,1470,4.977,1473,4.977,1535,4.762,1549,4.448,1552,3.824,1553,3.217,1554,2.806,1571,4.762,1572,5.7,1573,5.7,1574,5.7,1575,5.7]],["t/159",[1,1.163,235,4.333,278,5.329,344,3.905,429,3.658,575,3.635,676,2.754,684,2.885,777,3.531,1061,4.945,1549,6.105,1552,5.249,1553,4.415,1554,3.851,1571,6.536,1576,7.823]],["t/161",[1,1.181,77,2.126,96,2.203,97,1.51,188,2.848,223,2.769,235,2.794,278,5.188,385,4.064,429,3.512,529,2.821,575,3.49,684,1.861,1061,3.189,1072,3.371,1133,3.281,1228,4.215,1305,3.07,1306,3.506,1434,4.064,1459,4.215,1480,4.064,1489,4.215,1490,3.147,1549,3.937,1552,5.039,1553,4.239,1554,3.698,1555,4.416,1577,5.045,1578,3.735,1579,5.045,1580,3.735,1581,5.045,1582,4.405,1583,6.275]],["t/163",[1,1.132,30,4.603,37,4.678,110,4.801,235,4.473,253,2.402,278,4.215,415,2.978,429,2.604,575,3.753,676,3.345,684,2.978,1029,2.588,1072,2.499,1301,2.841,1302,4.356,1306,3.87,1488,4.485,1552,3.736,1553,3.143,1554,2.742,1555,3.274,1584,5.569,1585,4.653,1586,5.143,1587,5.569,1588,5.143,1589,5.143]],["t/165",[1,1.162,30,4.454,37,5.022,110,4.645,235,4.328,253,2.324,278,4.079,376,1.917,415,2.847,429,2.489,537,3.31,575,3.632,684,2.882,1029,2.474,1072,2.389,1301,2.716,1302,4.215,1306,3.699,1482,4.288,1552,3.572,1553,3.004,1554,2.621,1555,3.13,1590,4.648,1591,5.323,1592,5.323,1593,4.288,1594,4.916,1595,5.323]],["t/167",[1,1.185,13,1.774,57,3.039,58,1.601,66,3.092,145,3.915,176,3.611,278,4.251,333,1.969,360,3.028,429,3.808,676,3.367,689,2.572,770,5.203,909,3.845,1072,3.655,1199,3.845,1460,3.092,1463,2.918,1548,4.276,1552,3.78,1553,3.18,1554,2.773,1555,3.312,1596,5.203,1597,7.521,1598,4.076,1599,4.919,1600,3.427,1601,5.634,1602,5.634]],["t/169",[1,1.266,19,0.873,109,1.539,113,2.394,168,1.689,203,3.643,271,3.629,278,2.361,360,1.681,429,1.25,445,0.949,461,1.11,537,0.867,575,5.167,576,3.808,596,1.523,688,1.384,694,1.539,1031,1.364,1072,2.638,1304,1.978,1306,3.143,1307,1.824,1400,1.978,1454,3.087,1459,3.779,1480,2.153,1490,2.821,1506,3.433,1509,2.334,1512,1.978,1513,2.334,1517,3.949,1519,3.949,1523,3.779,1528,2.233,1530,2.233,1548,3.433,1552,1.793,1553,2.553,1554,2.227,1555,2.659,1566,5.397,1567,5.249,1568,5.397,1598,1.934,1599,2.334,1600,1.626,1603,2.673,1604,3.348,1605,2.233,1606,3.779,1607,2.334,1608,3.949,1609,2.334,1610,3.643,1611,3.949,1612,2.673,1613,2.673]],["t/171",[1,1.251,19,0.794,109,1.399,113,3.67,203,3.36,271,3.69,278,2.177,299,1.019,333,1.458,360,2.037,368,3.862,429,2.562,445,0.51,461,2.697,537,0.789,575,5.019,576,3.6,676,1.929,688,1.259,694,1.399,1031,1.24,1072,1.872,1199,2.847,1307,1.659,1400,1.799,1410,4.21,1460,2.29,1463,2.16,1480,1.958,1490,2.602,1506,3.166,1507,1.845,1510,3.642,1512,1.799,1528,2.031,1530,2.031,1548,3.166,1552,1.631,1553,2.354,1554,2.054,1555,2.452,1566,5.071,1567,4.931,1568,5.071,1596,2.245,1597,3.852,1604,3.088,1605,2.031,1606,3.485,1607,2.122,1608,3.642,1609,2.122,1610,3.36,1611,3.642,1614,1.897,1615,2.431,1616,2.431]],["t/173",[1,1.205,19,2.573,113,3.209,235,4.364,271,4.717,278,4.112,429,2.517,461,3.27,537,2.556,560,6.097,575,4.766,684,2.906,1072,2.416,1306,3.741,1523,4.497,1534,4.335,1552,3.611,1553,3.038,1554,2.65,1555,3.165,1610,6.345,1617,5.383,1618,5.383]],["t/175",[1,1.16,113,4.618,278,4.82,295,6.302,429,3.148,460,6.339,685,2.61,1031,4.71,1072,3.022,1306,4.679,1454,4.595,1552,4.517,1553,3.8,1554,3.315,1555,3.958,1604,4.984,1619,6.733]],["t/178",[19,3.902,77,2.373,88,3.514,97,1.686,113,2.295,195,2.918,213,3.387,240,4.17,461,2.339,465,4.076,480,2.543,483,6.13,523,4.897,559,3.992,560,3.349,561,6.804,582,4.276,685,2.184,1072,2.528,1189,3.845,1620,8.755,1621,8.953,1622,7.521,1623,5.634,1624,5.203]],["t/180",[77,3.586,96,4.707,97,3.721,101,2.959,1548,6.461,1549,6.643,1620,7.112,1625,7.432,1626,7.432]],["t/182",[1,1.154,426,4.508,429,4.282,1099,5.506,1465,7.651,1553,5.168,1554,4.508,1555,5.384,1627,9.158]],["t/184",[1,1.219,19,2.344,56,3.509,97,2.147,113,1.934,235,2.63,353,2.02,368,4.266,376,3.473,429,2.22,461,1.971,537,1.54,575,4.481,576,4.259,581,3.604,676,2.527,684,1.751,685,2.782,689,2.168,1211,4.178,1249,5.447,1448,4.385,1476,3.705,1553,2.68,1554,2.337,1555,2.791,1565,3.087,1566,3.705,1567,5.447,1568,3.705,1628,4.748]],["t/186",[1,1.128,13,2.778,299,3.699,426,4.344,429,4.125,1305,5.368,1553,4.98,1554,4.344,1555,5.187,1565,5.737,1629,8.823]],["t/188",[1,1.005,58,3.045,113,2.407,333,2.945,429,2.763,483,3.787,537,1.917,575,3.917,576,4.149,744,2.889,1072,2.652,1085,4.107,1292,5.972,1434,4.76,1440,4.937,1450,4.612,1454,4.033,1463,3.061,1470,5.16,1473,5.16,1535,4.937,1549,4.612,1553,3.335,1554,2.909,1571,4.937,1583,4.937,1630,5.909,1631,5.909,1632,5.909,1633,5.909]],["t/190",[1,1.191,235,4.554,344,4.105,429,3.844,575,3.821,676,2.895,684,3.032,777,3.711,1074,3.798,1553,4.641,1554,4.048,1571,6.87,1626,7.179,1634,8.223]],["t/192",[1,1.263,19,2.729,96,2.549,97,1.747,206,2.234,235,3.233,333,2.04,353,2.484,429,2.729,529,3.264,575,3.883,676,2.055,684,2.153,777,3.771,1072,3.75,1074,2.697,1270,3.854,1383,3.233,1460,3.204,1463,3.024,1553,3.295,1554,2.874,1555,3.432,1578,4.321,1580,4.321,1625,5.097,1626,5.097,1635,5.838,1636,5.838]],["t/194",[1,1.263,19,2.729,96,2.549,97,1.747,206,2.234,235,3.233,333,2.04,353,2.484,429,2.729,529,3.264,575,3.883,576,2.874,676,2.055,684,2.153,777,3.771,1072,2.62,1074,2.697,1270,3.854,1383,3.233,1460,3.204,1463,3.024,1553,3.295,1554,2.874,1555,3.432,1578,4.321,1580,4.321,1625,5.097,1637,5.838,1638,5.838,1639,5.838]],["t/196",[1,1.115,385,6.979,429,4.051,1228,7.239,1305,5.272,1489,7.239,1490,5.405,1553,4.89,1554,4.266,1555,5.094,1583,9.107]],["t/198",[1,1.143,30,4.681,37,4.74,110,4.882,235,4.549,253,2.443,333,1.992,415,3.049,429,2.665,575,3.817,676,3.39,684,3.029,1029,2.649,1072,2.558,1301,2.908,1302,4.43,1463,2.952,1488,4.591,1553,3.217,1554,2.806,1555,3.351,1585,4.762,1586,5.264,1588,5.264,1589,5.264,1640,5.7,1641,5.7]],["t/200",[1,1.171,30,4.527,37,5.076,110,4.722,235,4.399,253,2.362,333,1.902,376,1.961,415,2.911,429,2.545,537,3.345,575,3.691,684,2.929,1029,2.53,1072,2.443,1301,2.777,1302,4.284,1463,2.819,1482,4.384,1553,3.072,1554,2.68,1555,3.2,1590,4.753,1593,4.384,1594,5.027,1642,5.443,1643,5.443,1644,5.443]],["t/202",[1,1.232,19,1.245,109,2.194,113,3.809,203,4.875,271,4.041,333,1.332,360,2.25,368,3.598,429,2.83,461,2.513,537,1.237,575,5.311,576,3.706,688,1.974,694,2.194,1031,1.944,1072,1.711,1410,2.194,1460,2.092,1463,1.974,1480,3.07,1490,3.775,1506,2.893,1528,3.184,1530,3.184,1548,2.893,1553,2.151,1554,1.876,1555,2.241,1566,4.723,1567,4.594,1568,4.723,1604,2.821,1607,3.328,1608,5.285,1609,3.328,1610,4.875,1611,5.285,1645,3.812,1646,3.812]],["t/204",[1,1.209,19,2.595,113,3.235,235,4.399,271,4.947,333,1.902,429,2.545,461,3.297,537,2.577,560,6.129,575,4.792,684,2.929,1072,2.443,1463,2.819,1534,4.384,1537,5.027,1553,3.072,1554,2.68,1555,3.2,1610,6.398,1647,5.443,1648,5.443]],["t/206",[1,1.202,113,4.488,295,5.014,333,2.567,429,3.435,460,5.476,685,2.848,1031,4.997,1072,3.297,1410,4.23,1463,3.805,1553,4.147,1554,3.617,1555,4.32,1604,5.439,1649,7.347]],["t/208",[13,2.463,19,2.555,57,4.219,58,2.902,61,3.1,128,3.8,129,3.727,253,2.327,296,5.791,332,4.759,415,4.184,460,4.373,541,4.759,552,5.543,607,5.014,625,6.105,818,7.225,1650,7.823]],["t/210",[1,1.183,13,1.899,19,0.244,25,0.466,26,0.686,32,1.56,46,0.602,49,0.567,55,0.988,56,1.747,58,2.505,61,0.563,62,0.553,69,0.529,72,0.677,74,0.378,94,4.035,97,0.425,101,0.712,104,0.939,109,0.43,113,0.304,123,0.449,124,0.911,129,0.356,130,0.444,131,0.773,132,0.444,143,0.439,173,0.583,174,0.519,176,0.479,180,0.553,184,0.39,188,0.802,190,0.72,191,0.418,196,2.2,205,1.651,206,0.992,213,0.449,233,0.682,234,0.602,247,0.51,253,1.192,299,0.596,301,0.553,320,0.529,326,1.163,331,0.486,333,1.54,334,0.472,344,2.386,347,1.22,348,1.007,355,0.899,356,0.435,374,1.029,408,1.303,409,1.518,414,0.51,422,0.541,426,2.353,434,0.414,439,0.553,443,1.052,444,0.541,447,1.787,500,0.493,516,0.69,523,0.855,524,0.529,535,0.414,536,0.529,537,0.242,538,0.887,541,0.865,571,1.11,575,0.347,576,0.368,577,1.528,581,0.567,582,0.567,587,0.899,599,0.231,602,0.955,607,0.479,643,0.449,645,0.624,646,0.988,650,1.802,651,0.602,657,1.919,661,1.609,662,1.587,665,0.449,667,0.602,669,1.196,672,0.602,674,0.802,676,0.716,681,0.51,684,1.145,685,0.551,688,0.387,689,0.649,703,1.029,708,0.624,714,2.532,720,0.454,748,0.449,753,0.439,772,0.493,780,0.181,783,1.837,784,0.773,797,1.365,812,1.052,814,1.079,843,1.188,848,1.776,855,1.876,948,0.69,1010,0.529,1038,0.624,1040,1.028,1045,0.911,1049,0.773,1058,1.323,1061,0.899,1063,1.699,1065,0.326,1066,0.583,1072,0.638,1074,0.657,1085,0.988,1086,3.729,1087,1.11,1088,1.029,1089,0.493,1090,1.052,1091,0.493,1092,1.052,1093,1.506,1094,2.394,1095,1.241,1097,0.652,1098,1.686,1099,2.409,1100,0.69,1101,2.088,1102,0.69,1103,0.69,1108,0.624,1122,0.583,1206,1.116,1212,0.403,1218,0.652,1219,0.46,1276,0.454,1289,0.924,1404,0.652,1410,0.43,1426,0.426,1463,0.387,1479,0.479,1498,0.652,1565,0.924,1651,0.69,1652,0.787,1653,1.188,1654,1.313,1655,1.313,1656,1.313,1657,1.145,1658,0.747,1659,0.747,1660,0.69,1661,1.422,1662,1.388,1663,0.747,1664,0.747,1665,0.69,1666,1.313,1667,0.479,1668,0.41,1669,0.583,1670,0.69,1671,0.69,1672,0.602,1673,0.69,1674,0.747,1675,1.079,1676,3.682,1677,1.776,1678,1.188,1679,0.747,1680,0.541,1681,0.747,1682,1.188,1683,0.747,1684,0.747,1685,2.034,1686,0.747,1687,0.747,1688,0.747,1689,0.747,1690,0.747,1691,0.747,1692,0.69,1693,0.553,1694,0.747,1695,0.747,1696,0.553,1697,0.747,1698,0.69,1699,0.583,1700,0.747,1701,0.652,1702,1.699,1703,0.911,1704,1.241,1705,1.241,1706,0.747,1707,0.747,1708,1.313,1709,0.747,1710,0.567,1711,0.652,1712,0.69,1713,0.747,1714,1.388,1715,0.747,1716,0.69,1717,0.486,1718,0.747,1719,0.747,1720,0.747,1721,0.747,1722,0.747,1723,0.747,1724,0.747,1725,1.422]],["t/212",[1,1.065,13,0.46,19,1.912,31,1.035,32,0.569,37,2.882,56,0.714,58,1.82,59,0.841,61,0.579,66,2.006,72,1.741,74,1.346,77,0.615,79,0.691,94,1.703,97,1.347,101,1.235,126,0.762,132,0.868,190,0.74,196,1.326,197,1.657,206,0.559,213,1.598,253,0.434,299,0.612,320,1.035,326,1.193,333,2.046,348,2.59,349,0.964,355,1.68,360,0.988,375,0.745,376,1.317,383,1.546,384,1.035,415,0.781,434,0.809,445,0.944,447,3.966,454,0.841,518,1.923,529,0.817,537,2.716,538,1.657,541,1.617,544,0.817,550,1.579,552,1.035,571,1.14,575,1.235,577,2.215,582,1.109,584,0.667,587,0.923,601,1.109,602,1.385,625,1.14,661,2.31,676,0.514,684,0.98,688,0.757,694,0.841,714,0.923,748,1.598,749,0.98,753,0.859,771,1.176,783,1.035,784,0.795,801,1.275,812,3.331,843,2.22,855,1.057,907,1.176,920,1.081,1029,2.091,1031,0.745,1038,2.22,1040,0.42,1045,0.936,1058,0.95,1066,2.074,1101,2.14,1201,0.7,1206,0.802,1219,0.9,1240,0.997,1263,1.813,1301,0.745,1302,0.788,1463,0.757,1468,1.176,1472,1.176,1479,0.936,1543,2.495,1580,1.081,1585,1.22,1590,1.275,1593,1.176,1657,1.176,1672,1.176,1692,1.349,1726,5.406,1727,1.266,1728,1.349,1729,1.22,1730,1.275,1731,1.813,1732,3.071,1733,2.454,1734,2.657,1735,2.657,1736,2.657,1737,1.461,1738,1.461,1739,1.461,1740,1.22,1741,1.349,1742,1.461,1743,2.454,1744,1.461,1745,1.349,1746,1.461,1747,1.461,1748,1.461,1749,1.461,1750,1.461,1751,1.461,1752,1.461,1753,1.461,1754,1.275,1755,1.349,1756,1.109,1757,1.349,1758,1.349,1759,1.349,1760,1.349,1761,1.349,1762,1.349,1763,1.349,1764,1.349,1765,1.349,1766,1.349,1767,2.14]],["t/214",[13,2.383,55,2.958,56,2.978,57,2.072,58,2.669,62,2.844,72,1.83,94,5.519,196,1.918,197,2.396,206,3.593,253,2.25,326,2.733,333,3.491,426,5.153,518,2.021,544,2.148,661,2.298,679,2.67,714,5.443,748,2.31,771,4.906,783,2.722,1040,1.105,1066,2.998,1074,1.775,1085,2.67,1086,2.998,1088,2.78,1089,2.536,1090,2.844,1091,2.536,1092,2.844,1093,2.844,1098,2.498,1099,2.31,1653,3.21,1675,2.916,1676,3.21,1678,3.21,1768,3.842,1769,3.094,1770,3.21,1771,2.916,1772,3.354,1773,4.753]],["t/216",[13,2.589,58,2.337,61,3.258,77,3.464,128,3.994,129,3.917,197,5.129,253,2.445,271,3.553,426,4.048,445,1.725,685,3.187,1701,7.179,1773,6.417,1774,7.594,1775,6.087]],["t/218",[1,1.127,58,3.267,74,2.788,94,5.133,101,1.511,206,3.065,234,4.434,326,2.471,356,3.202,426,4.647,447,3.169,661,2.137,687,1.62,748,4.815,771,4.434,1038,4.6,1087,6.25,1676,4.6,1773,4.296,1776,5.084,1777,4.178,1778,5.505,1779,4.807,1780,3.901,1781,8.009,1782,5.505,1783,5.505]],["t/220",[13,2.279,19,2.364,26,3.492,32,2.818,58,3.109,77,3.049,132,5.764,234,5.829,253,2.884,257,5.128,326,3.248,461,3.004,476,3.343,584,3.304,657,5.357,659,6.047,797,4.856,1426,4.125,1693,5.357,1784,6.047]],["t/222",[1,0.926,13,2.528,26,2.031,32,1.639,58,2.282,101,1.797,119,3.195,123,2.531,132,2.503,196,2.102,205,3.023,253,1.252,304,3.517,326,2.937,344,4.52,347,1.98,351,1.968,400,2.873,414,2.873,423,2.926,426,2.073,434,2.332,447,2.424,518,3.443,541,2.561,545,2.233,571,3.286,601,3.195,650,5.579,657,3.116,661,2.617,679,2.926,714,2.661,797,4.391,836,3.391,1219,2.593,1693,3.116,1703,2.698,1771,3.195,1785,3.676,1786,4.21,1787,4.21,1788,3.676,1789,5.714,1790,4.21,1791,4.637,1792,3.517,1793,3.391,1794,3.286]],["t/224",[1,0.652,13,2.008,32,3.463,58,1.813,64,3.411,74,3.23,101,1.751,253,2.645,351,4.158,408,3.206,409,3.118,426,3.14,541,3.88,661,2.373,665,3.834,687,1.799,714,4.031,918,4.06,1040,1.834,1698,5.89,1703,4.087,1775,4.721,1791,4.519,1793,5.137,1794,4.977,1795,6.377,1796,5.568]],["t/226",[58,2.653,445,1.958,446,5.549,602,2.873,684,4.21,1206,5.124,1313,5.749,1777,7.085]],["t/228",[56,3.118,58,1.813,61,4.617,97,3.487,128,3.098,129,3.038,134,3.23,188,3.599,446,3.791,476,2.946,545,3.383,646,4.432,685,2.472,694,3.671,695,4.352,744,3.118,772,5.872,1040,1.834,1099,3.834,1407,4.211,1669,4.977,1797,5.89,1798,5.89,1799,5.89]],["t/230",[1,1.181,58,2.296,253,1.656,328,4.485,389,4.346,538,3.474,646,3.87,751,3.677,772,3.677,1040,2.323,1089,3.677,1091,3.677,1098,3.621,1291,3.946,1317,3.43,1366,3.946,1407,3.677,1451,4.029,1469,4.346,1471,4.346,1542,4.485,1667,6.679,1800,4.933,1801,8.775,1802,4.227,1803,4.653,1804,4.653,1805,5.569,1806,2.382]],["t/232",[30,1.814,37,3.799,57,1.717,58,2.606,66,2.872,74,1.612,94,3.354,127,2.484,134,1.612,143,1.872,169,1.78,190,1.612,196,1.589,235,1.763,247,2.173,253,0.947,265,3.354,326,3.463,332,1.937,375,2.67,376,3.302,378,1.747,383,3.044,415,2.799,445,1.098,476,1.471,507,2.012,518,2.753,524,2.256,541,1.937,552,2.256,576,1.567,580,1.601,599,0.983,625,2.484,661,1.396,681,2.173,689,1.453,748,1.914,750,4.053,753,1.872,801,4.569,812,3.874,935,2.484,989,2.256,1029,1.479,1057,2.304,1058,3.403,1065,2.91,1114,2.357,1184,2.66,1211,2.112,1212,1.717,1235,3.399,1301,4.35,1543,2.173,1554,2.576,1598,2.304,1652,1.763,1653,2.66,1731,2.173,1807,2.484,1808,3.786,1809,3.184,1810,2.94,1811,2.94,1812,2.564,1813,2.66]],["t/234",[1,1.253,58,2.088,376,2.646,544,4.107,1029,3.414,1065,3.209,1114,5.439,1201,3.522,1403,6.415,1757,6.785,1758,6.785,1759,6.785,1760,6.785,1761,6.785,1762,6.785,1763,6.785,1764,6.785,1765,6.785,1766,6.785]],["t/236",[19,2.777,45,3.48,49,4.541,61,2.371,77,2.52,79,2.832,85,3.255,113,3.463,128,4.13,129,4.05,174,4.158,194,4.541,253,1.779,271,3.674,355,3.781,360,2.224,361,4.998,461,4.106,476,2.764,537,3.209,560,3.556,609,5.525,642,3.95,672,4.818,685,2.319,689,2.731,741,3.834,1199,4.083,1219,3.684]],["t/238",[72,4.625,88,6.057,449,6.314,457,7.578,501,7.578,569,7.821,1814,9.71]],["t/240",[19,3.304,113,4.12,461,4.2,537,3.282,1815,10.117]],["t/242",[113,3.877,180,7.046,271,4.113,333,3.326,360,3.539,461,4.795,1031,4.856]],["t/245",[13,2.906,38,4.028,72,2.078,102,3.031,131,2.373,169,3.76,191,3.76,204,3.311,209,3.091,223,4.506,253,2.965,271,2.907,326,1.958,359,3.644,360,2.501,364,5.62,434,2.416,480,1.969,497,4.028,951,3.809,1397,3.513,1400,3.229,1507,3.311,1554,4.908,1816,3.809,1817,4.362,1818,6.727,1819,6.727,1820,6.727,1821,6.727,1822,6.727,1823,5.873,1824,5.873,1825,6.727,1826,4.362,1827,6.727,1828,4.028,1829,4.362,1830,4.362,1831,3.513,1832,4.362]],["t/247",[1,1.277,63,4.861,131,2.558,474,3.928,580,2.364,587,2.972,674,2.654,928,3.402,1003,6.579,1063,3.928,1120,5.951,1125,3.402,1192,3.568,1397,6.927,1405,5.678,1406,5.559,1507,6.527,1508,3.267,1833,4.342,1834,4.342,1835,4.342,1836,4.702,1837,4.342,1838,9.001,1839,5.406,1840,4.702,1841,3.568,1842,4.342,1843,4.702,1844,6.579,1845,4.702,1846,4.702,1847,4.702]],["t/249",[131,5.078,365,6.07,434,5.17,654,8.15,928,6.754,1125,6.754,1508,6.487,1848,9.335,1849,9.335]],["t/251",[1,1.185,2,4.276,13,1.774,63,3.845,131,3.065,191,3.149,360,2.095,368,3.349,369,3.915,434,3.12,604,3.611,1120,6.804,1192,4.276,1307,3.845,1311,4.919,1397,6.559,1405,5.377,1407,3.72,1440,4.707,1512,4.17,1823,4.919,1824,4.919,1833,5.203,1834,5.203,1835,5.203,1837,5.203,1838,4.919,1839,4.276,1841,4.276,1850,5.634,1851,5.634,1852,5.634,1853,5.203,1854,5.634,1855,5.634]],["t/253",[365,6.07,549,6.163,1262,6.371,1508,6.487,1856,8.15,1857,9.335,1858,7.799,1859,9.335,1860,9.335]],["t/255",[13,1.556,56,3.616,61,4.174,74,2.503,76,5.602,128,2.4,129,2.354,130,2.938,131,2.689,184,2.58,196,2.467,353,2.103,360,1.837,368,5.268,400,3.373,415,2.643,439,6.56,445,1.037,476,3.416,518,2.6,551,2.325,567,2.737,638,4.315,643,2.971,744,2.417,753,2.906,819,3.167,1125,3.576,1186,3.857,1208,4.315,1410,5.102,1423,3.981,1621,3.981,1807,3.857,1861,4.315,1862,4.564,1863,4.315,1864,4.564,1865,4.315,1866,4.942,1867,4.315]],["t/257",[1,0.413,42,3.148,56,1.973,61,1.599,72,1.922,169,2.255,188,2.277,191,2.255,196,2.014,213,2.426,360,3.289,368,5.714,369,5.429,400,2.753,434,2.234,445,1.328,549,2.664,569,3.249,575,1.875,587,4.001,604,2.586,674,2.277,714,2.55,775,2.372,819,2.586,1307,6.038,1405,5.158,1406,6.096,1407,4.179,1408,7.392,1410,5.093,1413,3.249,1414,3.726,1418,3.726,1512,2.986,1806,3.784,1824,3.522,1856,3.522,1868,4.034,1869,4.034,1870,3.726,1871,4.034,1872,4.034,1873,3.522,1874,4.034,1875,4.034,1876,4.034,1877,6.33]],["t/259",[7,3.741,11,3.51,13,3.072,15,3.917,17,3.51,20,4.224,21,3.69,45,3.396,52,3.796,64,3.122,130,3.47,131,3.176,170,4.137,171,4.137,179,6.046,196,2.914,233,2.799,253,2.902,384,4.137,572,5.097,580,2.935,637,4.431,723,8.152,827,5.391,833,5.097,834,4.877,837,4.431,963,5.097,991,5.391,1011,4.431,1878,4.877,1879,5.097,1880,5.838]],["t/261",[1,1.173,12,2.54,13,2.607,20,2.594,21,2.266,25,2.236,32,1.396,45,2.085,58,2.054,62,2.654,74,1.816,119,4.374,124,2.298,171,2.54,182,2.798,187,5.35,197,2.236,205,2.662,227,2.331,239,3.13,278,1.871,320,2.54,326,1.609,334,2.266,344,2.877,347,2.711,408,1.802,409,1.753,426,1.765,434,1.986,448,3.13,500,2.367,550,4.296,602,1.104,650,2.492,651,2.888,661,1.929,688,1.857,714,2.266,723,2.995,749,2.405,785,3.13,797,2.405,817,3.311,1040,1.658,1074,3.339,1096,5.323,1101,2.888,1703,2.298,1716,3.311,1777,2.721,1881,3.585,1882,5.764,1883,3.585,1884,3.585,1885,3.585,1886,3.585,1887,7.228,1888,3.585,1889,3.585]],["t/263",[1,1.245,58,1.274,64,2.398,69,3.177,119,3.403,196,2.238,205,2.071,227,2.915,233,2.149,239,5.998,333,2.401,334,2.834,356,3.996,447,2.581,518,2.359,529,2.506,537,1.455,541,2.728,571,3.499,577,2.207,661,2.498,723,3.746,1040,1.29,1072,2.012,1073,5.214,1074,2.071,1098,4.467,1101,3.611,1250,2.418,1667,2.873,1729,3.746,1777,3.403,1890,3.611,1891,4.484,1892,6.87,1893,5.533,1894,4.971,1895,6.87,1896,4.484,1897,4.484,1898,4.484,1899,4.484,1900,4.484]],["t/265",[0,3.848,1,0.647,10,1.691,11,3.804,12,1.656,13,2.635,15,4.245,17,1.405,19,3.023,21,1.477,22,1.519,26,1.128,32,0.91,57,1.26,58,0.664,59,1.345,60,1.773,63,1.595,72,1.113,74,3.616,75,2.857,76,3.999,77,3.526,79,1.106,80,1.568,81,1.73,82,3.696,83,1.882,84,1.882,85,1.271,86,1.306,87,1.882,88,1.458,89,1.332,90,3.247,91,2.752,92,3.147,93,3.247,94,1.498,96,2.322,97,1.591,98,3.361,99,1.882,100,1.543,101,1.107,102,1.624,103,1.882,104,1.543,105,1.882,106,3.147,107,1.519,108,1.882,109,2.321,110,3.161,111,1.477,112,1.543,113,0.952,118,3.568,119,1.773,120,2.917,121,2.158,122,1.73,123,1.405,124,2.584,125,2.158,126,1.22,127,1.824,128,1.135,129,1.113,131,1.271,138,2.158,139,1.773,140,1.824,141,2.04,170,1.656,174,1.624,175,1.773,202,2.158,253,0.695,271,1.742,291,2.04,320,1.656,346,1.568,476,1.079,493,1.624,543,1.656,720,1.422,789,2.158,839,1.952,955,1.824,1021,2.04,1299,1.773,1651,2.158,1682,1.952,1901,2.158,1902,1.952,1903,2.337,1904,2.337,1905,2.337,1906,2.158,1907,2.158,1908,2.158,1909,2.337]],["t/267",[4,3.569,7,3.569,13,3.282,28,3.736,74,2.82,153,5.143,154,5.143,155,5.143,156,4.862,157,4.862,158,5.143,159,5.143,160,5.143,169,3.113,171,3.946,177,4.485,178,4.485,190,2.82,206,2.131,218,5.143,219,5.143,220,5.512,253,1.656,269,3.43,405,5.143,406,5.143,443,4.122,493,3.87,668,4.122,756,4.227,1910,5.569,1911,5.143,1912,5.569,1913,5.569,1914,5.569,1915,5.569,1916,5.569,1917,5.569,1918,5.143,1919,5.569]],["t/271",[333,3.772,1920,7.367]],["t/273",[1089,6.411,1091,6.411,1098,6.314,1921,8.478,1922,8.967,1923,8.967,1924,8.967]],["t/275",[1925,9.64]],["t/277",[1926,10.197]],["t/279",[1927,9.519,1928,9.519,1929,9.519,1930,9.519,1931,9.519,1932,9.519,1933,9.519,1934,9.519]],["t/282",[1,1.305,61,4.003,365,5.006,428,3.691,780,0.981,1925,6.722,1935,6.008,1936,3.289,1937,3.884,1938,7.699]],["t/285",[1,1.014,780,1.263,1212,5.345,1926,9.151,1939,7.335,1940,9.909]],["t/288",[1,0.476,19,1.521,57,2.511,58,2.01,61,1.845,97,1.393,152,0.979,253,1.385,353,1.981,360,1.731,376,3.079,427,3.369,445,1.483,537,1.511,545,3.751,554,1.068,577,2.292,602,2.939,661,1.243,663,2.603,676,1.639,685,2.741,687,1.431,689,2.126,694,4.071,703,3.369,772,3.074,780,0.594,797,4.744,1018,3.534,1049,2.533,1098,4.598,1211,3.45,1215,0.994,1317,4.355,1318,2.943,1436,4.744,1451,5.117,1937,2.294,1941,4.656,1942,4.066,1943,4.656]],["t/290",[1,0.495,19,1.582,57,2.612,58,2.071,61,1.919,97,1.449,152,1.018,253,1.44,353,2.061,360,1.801,376,3.154,427,3.504,445,1.528,545,3.864,554,1.111,577,2.384,602,2.695,661,1.292,663,2.707,676,2.565,685,2.824,687,1.474,703,3.504,744,2.368,772,3.198,780,0.617,797,4.887,1018,3.676,1211,3.533,1215,1.033,1436,4.887,1449,3.149,1937,2.363,1942,4.229,1944,4.843,1945,5.062,1946,4.604,1947,4.473,1948,3.149,1949,4.843]],["t/292",[1,0.495,19,1.582,57,2.612,58,2.071,61,1.919,97,1.449,113,1.973,152,1.018,253,1.44,353,2.061,360,1.801,376,3.154,427,3.504,445,1.528,545,3.864,554,1.111,577,2.384,602,2.695,661,1.292,663,2.707,676,2.565,685,2.824,687,1.474,695,3.305,703,3.504,772,3.198,780,0.617,797,4.887,1018,3.676,1211,3.533,1215,1.033,1436,4.887,1449,3.149,1937,2.363,1942,4.229,1945,5.062,1946,4.604,1948,3.149,1950,4.843,1951,4.843]],["t/294",[1,0.557,19,1.778,32,2.119,152,1.145,168,3.441,335,4.955,353,2.316,445,1.666,544,3.043,554,1.249,599,1.681,602,3.174,661,1.453,687,1.607,689,3.626,773,3.652,777,3.585,780,0.694,1045,3.489,1215,1.162,1285,6.636,1291,3.857,1338,6.199,1370,4.248,1937,3.714,1952,5.443,1953,6.935,1954,5.021,1955,5.443]],["t/296",[1,0.636,152,1.307,335,5.447,344,3.102,445,1.832,544,3.473,554,1.425,599,1.919,602,3.372,661,1.658,687,1.767,780,0.792,1215,1.326,1289,5.679,1370,4.849,1937,3.554,1954,5.52,1956,6.213,1957,8.733,1958,6.815,1959,5.004,1960,6.213]],["t/298",[1,0.612,152,1.258,168,3.781,335,5.303,344,2.986,445,1.784,544,3.344,554,1.372,599,1.848,602,3.316,661,1.596,687,1.72,689,3.882,777,2.7,780,0.763,1049,3.255,1098,5.529,1215,1.277,1289,5.529,1338,4.669,1370,4.669,1937,3.494,1954,5.374,1961,5.983,1962,5.983]],["t/300",[1,0.59,61,2.286,152,1.742,335,5.167,445,1.21,544,4.631,554,1.323,599,2.993,661,1.539,687,1.676,694,3.321,780,0.735,1215,1.768,1245,3.751,1285,4.819,1291,4.087,1338,4.502,1389,6.287,1727,4.617,1937,3.903,1953,5.036,1954,3.646,1963,5.768,1964,5.036,1965,5.768]],["t/302",[1,0.62,61,2.4,152,1.804,335,5.35,445,1.271,544,4.795,554,1.389,599,3.075,661,1.616,687,1.735,695,4.134,780,0.772,1215,1.83,1245,3.939,1289,3.939,1338,4.727,1389,6.51,1727,4.744,1937,3.709,1954,3.829,1964,5.289,1966,6.058,1967,6.058]],["t/304",[11,3.736,13,1.956,15,4.169,17,3.736,19,2.853,26,2.998,32,2.419,73,4.599,85,3.38,96,2.713,97,3.022,101,1.706,201,5.738,247,4.24,255,5.004,262,5.425,333,2.171,347,2.923,400,4.24,415,3.323,422,4.496,523,3.736,537,2.016,552,4.403,560,3.693,735,5.425,806,5.738,968,4.599,1219,5.378,1902,5.191,1968,5.738]],["t/306",[13,1.676,61,2.109,77,2.243,86,2.976,97,2.338,109,3.065,128,2.586,129,2.536,169,4.369,178,4.288,253,1.583,333,1.86,349,6.736,356,3.096,434,2.948,446,3.164,460,2.976,461,4.511,476,2.459,498,6.823,523,4.699,537,3.525,560,3.164,689,3.568,756,4.04,773,3.572,1011,4.04,1134,3.239,1230,6.099,1696,3.94,1969,5.323]],["t/308",[19,2.795,33,1.884,56,1.567,72,1.527,79,4.05,85,1.743,88,1.999,96,1.4,97,3.036,131,1.743,183,2.432,190,1.623,205,2.43,232,2.116,236,5.606,259,2.227,269,1.974,278,2.746,305,2.581,347,3.149,349,4.419,356,1.864,461,3.216,465,2.319,467,2.054,523,4.658,536,2.271,537,2.984,559,3.728,560,5.467,574,6.182,575,1.489,587,2.026,588,2.372,713,2.677,756,3.993,788,2.677,920,2.372,1215,0.684,1230,4.106,1383,1.775,1550,2.96,1620,6.473,1624,4.859,1682,2.677,1696,3.895,1890,2.581,1970,3.205,1971,3.205,1972,5.262,1973,3.205,1974,6.694,1975,3.205,1976,3.205,1977,3.205]],["t/310",[1,1.254,19,2.755,25,2.423,32,0.872,33,1.316,56,1.526,74,0.614,97,1.163,117,1.456,205,1.034,206,3.029,213,1.346,223,0.665,247,0.827,269,0.746,278,0.632,299,0.508,333,1.592,344,0.605,347,1.468,384,0.859,426,1.102,440,0.976,461,0.929,467,0.776,480,1.01,500,0.8,518,0.637,523,2.739,531,0.8,534,0.946,537,1.67,540,1.012,545,0.643,551,0.57,559,2.211,560,1.855,575,2.117,577,1.102,583,0.946,604,0.776,611,1.119,613,1.119,616,1.119,617,4.753,618,1.119,619,2.881,635,2.364,646,1.556,668,0.897,674,2.571,713,1.012,784,0.659,819,0.776,947,0.946,1072,1.005,1089,0.8,1091,0.8,1122,0.946,1189,2.129,1199,0.827,1212,2.457,1270,1.478,1292,0.859,1383,1.728,1466,1.657,1490,0.756,1578,2.31,1583,2.607,1714,1.528,1802,0.92,1920,2.129,1939,7.932,1978,4.152,1979,1.212,1980,1.212,1981,1.212,1982,3.12,1983,1.212,1984,2.239,1985,3.885,1986,2.239,1987,1.212,1988,3.12,1989,1.212,1990,3.12,1991,1.212,1992,1.212,1993,1.212,1994,1.212,1995,3.12,1996,1.212,1997,1.212,1998,1.212,1999,0.976,2000,3.885,2001,2.368,2002,2.239,2003,1.212,2004,3.12,2005,1.212,2006,1.212,2007,1.212,2008,2.239,2009,1.212,2010,3.12,2011,1.212,2012,1.212,2013,1.212,2014,1.212,2015,1.212,2016,1.212,2017,1.212,2018,1.212,2019,2.239,2020,1.212,2021,1.212,2022,1.212,2023,1.212,2024,1.212,2025,1.212,2026,1.212,2027,1.955,2028,1.212,2029,1.212,2030,1.212,2031,1.212,2032,1.212,2033,1.212,2034,1.212,2035,1.212,2036,1.212,2037,1.212,2038,1.212,2039,1.212,2040,1.212,2041,1.212,2042,1.212,2043,1.212]],["t/312",[0,5.483,13,2.386,19,2.475,22,4.927,57,4.087,58,2.154,61,3.003,116,5.751,171,5.369,351,3.543,365,4.927,446,4.504,460,4.236,646,5.266,761,5.369,1183,6.103,1221,6.616,1662,5.172,1828,6.998,2044,7.578,2045,7.578]],["t/314",[6,3.829,13,3.41,19,1.979,59,3.487,60,4.598,61,4.704,77,2.552,110,3.601,113,2.467,117,3.939,123,3.642,128,2.942,129,2.886,145,4.21,180,4.484,184,3.162,195,3.137,271,2.618,318,4.134,332,3.685,365,3.939,404,5.061,460,3.386,461,2.515,537,1.965,642,5.663,1080,5.594,1187,4.598]],["t/316",[6,3.48,13,3.264,19,2.616,22,3.58,26,2.656,57,4.32,58,3.131,61,2.182,64,2.944,85,2.995,117,3.58,126,2.874,128,2.674,129,2.622,145,3.826,184,2.874,205,2.543,235,3.049,271,2.379,318,3.757,333,2.799,347,2.59,369,3.826,404,4.6,426,2.71,460,4.477,535,3.049,538,3.434,644,4.434,661,1.469,685,2.134,761,3.901,1187,4.178,2046,5.505]],["t/318",[1,0.57,6,3.52,13,3.748,19,1.819,26,2.687,33,3.274,57,3.004,58,1.583,61,2.207,64,4.319,72,2.653,113,2.268,116,6.129,117,3.621,126,2.907,209,3.946,271,2.406,312,4.227,318,3.801,342,4.485,360,2.07,369,3.87,500,3.677,661,1.486,793,4.227,809,4.122,819,5.176,1187,4.227,1203,3.801,1662,5.512,2047,5.569,2048,5.569,2049,4.485,2050,5.143]],["t/320",[13,2.634,169,4.676,197,5.218,223,5.851,253,2.488,296,6.192,643,5.029,648,6.192,785,7.304,816,8.906,1219,5.152,1918,7.725,2051,5.927]],["t/323",[13,2.46,14,3.148,19,2.552,22,2.623,26,1.947,57,2.176,58,1.799,77,2.667,85,4.25,113,2.578,123,2.426,169,2.255,190,3.206,194,3.062,223,5.854,253,1.2,301,2.986,310,3.726,387,2.986,389,4.94,426,3.116,446,3.763,480,2.857,518,2.123,537,1.309,549,2.664,551,1.898,560,3.763,565,2.986,566,2.986,584,1.842,602,1.949,604,2.586,679,2.804,685,1.564,744,1.973,809,4.686,819,4.057,952,2.859,1109,3.062,1189,5.331,1219,2.485,1831,5.098,1890,3.249,2052,3.522,2053,4.034,2054,3.148,2055,4.034,2056,4.034,2057,4.034]],["t/325",[1,1.232,13,0.497,14,0.852,18,0.495,19,1.646,26,1.185,32,1.391,37,0.279,42,0.443,45,0.33,57,0.306,58,0.31,72,0.52,74,0.553,79,0.962,85,0.594,97,0.854,107,0.71,112,0.374,113,1.162,116,0.431,117,0.369,123,0.341,145,0.394,152,0.517,169,0.611,176,0.364,179,1.143,190,0.287,206,0.418,213,0.341,223,3.49,234,0.457,236,0.41,247,0.387,253,0.959,271,0.245,278,0.57,280,0.431,312,0.431,344,0.789,349,0.721,351,0.511,353,1.214,360,0.913,376,0.393,384,0.402,387,1.505,391,0.431,402,0.495,408,0.794,409,0.772,446,0.649,461,0.235,476,1.135,480,1.76,524,0.774,529,0.317,535,0.314,537,0.354,544,0.611,554,0.563,560,0.649,565,0.42,566,0.42,572,0.495,575,3.487,576,3.13,582,0.431,598,3.119,599,0.337,602,0.486,603,0.457,604,0.7,622,0.394,633,3.327,635,2.373,642,0.374,643,1.938,663,0.317,676,0.2,679,0.394,685,0.612,688,1.272,689,0.259,713,0.913,744,1.747,753,0.333,777,0.493,780,0.072,793,0.431,819,0.364,829,2.386,920,1.169,935,0.443,980,0.954,983,0.443,1072,5.941,1109,0.431,1189,2.438,1212,2.27,1262,0.387,1270,0.721,1276,0.665,1292,2.021,1330,1.119,1382,3.826,1410,1.414,1426,0.9,1544,0.394,1565,2.323,1578,2.386,1670,0.524,1696,0.42,1727,0.752,1754,0.495,1873,0.495,1953,2.145,2049,0.457,2058,0.524,2059,0.567,2060,0.327,2061,0.567,2062,2.457,2063,2.457,2064,2.457,2065,2.033,2066,0.567,2067,0.567,2068,0.341,2069,5.287,2070,1.092,2071,0.567,2072,0.567,2073,0.759,2074,1.092,2075,1.092,2076,2.033,2077,1.58,2078,1.092,2079,0.954,2080,0.567,2081,0.443,2082,0.457,2083,0.567,2084,0.567]],["t/327",[1,0.298,13,0.918,19,1.589,32,1.894,42,2.275,45,1.695,57,1.572,58,2.077,61,2.896,64,1.559,69,2.065,76,1.842,102,2.026,109,1.678,113,1.187,116,3.692,117,3.163,123,1.752,145,3.38,169,2.719,184,1.521,191,3.499,194,2.212,196,1.455,223,5.897,233,1.397,253,2.903,312,2.212,334,3.075,356,1.695,360,1.084,363,2.275,383,1.695,415,1.559,426,1.435,434,1.614,439,2.158,445,1.533,447,1.678,500,4.133,535,2.694,537,0.946,575,1.354,576,2.395,602,1.497,643,1.752,661,1.67,674,1.645,675,2.212,676,1.026,679,2.026,685,1.886,694,1.678,809,2.158,983,2.275,1109,3.692,1189,4.272,1431,2.435,1565,1.895,1785,2.545,1954,1.842,2049,2.348,2052,2.545,2081,2.275,2082,2.348,2085,5.781,2086,4.864,2087,2.692,2088,2.915,2089,2.915,2090,2.692,2091,2.915,2092,2.915,2093,2.692]],["t/329",[13,1.219,19,2.002,32,1.508,45,2.253,64,2.071,113,1.577,116,2.939,117,3.986,123,2.328,145,2.691,169,4.835,190,1.961,194,2.939,213,2.328,223,5.763,253,2.572,312,2.939,328,3.119,344,1.933,383,2.253,415,2.071,461,2.544,500,5.711,529,2.165,535,2.145,537,1.256,544,2.165,602,1.192,606,3.022,661,2.03,676,1.363,685,2.949,694,2.229,695,2.643,756,2.939,809,2.867,983,3.022,1189,5.903,1199,2.643,1410,3.529,1785,3.381,1831,6.127,1890,3.119,2052,3.381,2054,3.022,2081,3.022,2082,3.119,2085,3.576,2094,3.873,2095,3.873,2096,7.025,2097,3.873]],["t/331",[64,4.398,96,3.591,97,2.461,116,6.241,145,5.714,169,4.597,223,4.513,253,3.136,685,3.187,983,6.417,1189,5.612,1219,5.064,2081,6.417,2082,6.623,2098,7.179]],["t/333",[13,2.541,19,1.121,32,1.336,37,2.739,56,1.678,57,1.851,58,2.522,72,1.635,77,1.446,85,1.867,91,2.342,97,1.027,109,1.976,113,2.266,122,2.541,123,3.346,169,3.111,184,1.792,188,1.937,191,1.919,196,1.713,200,2.385,223,3.852,224,2.997,253,1.021,271,2.405,333,1.945,344,2.778,360,1.276,376,2.004,384,2.432,389,4.343,422,4.026,426,3.455,455,3.17,460,1.919,461,1.425,529,1.919,537,2.277,544,1.919,565,2.541,575,1.595,576,1.69,580,1.726,602,1.057,604,2.2,643,2.064,676,1.208,679,2.385,685,1.331,706,2.679,763,3.17,773,2.303,819,2.2,1054,2.385,1099,2.064,1109,2.605,1189,3.798,1199,2.342,1203,2.342,1224,3.17,1422,4.482,1554,1.69,1582,2.997,1831,4.482,1901,3.17,2054,2.679,2099,3.17,2100,3.17,2101,2.605,2102,3.432,2103,3.432]],["t/337",[1,1.222,64,2.385,72,2.125,110,1.563,233,2.138,253,0.782,271,2.51,356,1.529,360,2.159,368,2.651,369,1.827,384,1.863,423,1.827,447,2.568,449,1.71,461,1.091,500,2.945,537,0.853,551,1.237,575,4.124,576,3.369,596,1.498,819,1.685,837,3.385,1069,2.428,1072,2.002,1304,1.946,1306,1.827,1307,1.794,1396,2.428,1405,1.736,1406,2.052,1407,1.736,1408,2.197,1410,3.939,1433,4.116,1454,1.794,1459,2.197,1506,3.385,1509,2.296,1513,2.296,1517,2.296,1519,2.296,1523,2.197,1548,1.995,1553,1.484,1554,1.294,1555,1.546,1566,4.533,1567,3.385,1568,3.481,1600,1.6,1604,1.946,1605,2.197,1606,4.853,1711,3.894,1806,2.484,1841,1.995,2104,2.296,2105,4.119,2106,2.296,2107,2.629,2108,2.629,2109,4.46,2110,4.46,2111,4.46,2112,4.46,2113,4.46,2114,4.46,2115,2.629,2116,2.629,2117,2.629,2118,2.629,2119,2.629,2120,2.629,2121,2.629,2122,2.428,2123,2.629,2124,2.629]],["t/339",[425,5.826,780,1.263,1281,5.826,1920,6.763,2060,5.705,2125,9.909]],["t/342",[333,3.463,1289,6.443,1318,6.263,2126,8.279,2127,8.279,2128,7.521]],["t/345",[1,1.035,780,1.29,1936,3.293,2126,8.452,2129,10.117]],["t/347",[1,1.035,602,3.114,780,1.29,1289,6.578,2130,10.117]],["t/349",[1,1.035,780,1.29,2127,8.452,2131,4.947,2132,10.117]],["t/351",[1,1.035,333,3.535,780,1.29,2133,8.833,2134,10.117]],["t/353",[1,1.035,780,1.29,2128,7.678,2135,8.452,2136,10.117]],["t/355",[1,1.035,602,3.114,780,1.29,1318,6.394,2137,10.117]],["t/357",[425,5.948,689,4.619,780,1.29,1049,5.504,2138,10.117]],["t/360",[1802,8.014,1803,8.822,1804,8.822]],["t/363",[1,0.974,537,3.088,602,2.93,689,4.346,780,1.213,1049,5.178,1802,7.224,2139,9.519]],["t/365",[1,0.974,602,2.93,689,4.346,744,4.654,780,1.213,1049,5.178,1804,7.953,2140,9.519]],["t/367",[1,0.974,113,3.877,602,2.93,689,4.346,780,1.213,1049,5.178,1803,7.953,2141,9.519]],["t/369",[61,4.633,249,6.223,425,5.709,428,4.655,694,5.59,2142,9.71]],["t/372",[1242,5.084,1245,4.927,1246,5.483,1248,6.103,1249,5.751,1251,6.331,1255,6.103,1256,6.331,1257,6.331,1258,5.483,1259,6.331,1260,6.331,1261,6.331,1263,5.172,1264,6.331,1265,6.331,1266,6.331,1267,6.331,1268,6.331,1269,6.331,1271,6.331]],["t/375",[1,1.035,780,1.29,1256,8.452,1936,3.293,2143,10.117]],["t/377",[1,1.035,780,1.29,1257,8.452,1936,3.293,2144,10.117]],["t/379",[1,1.035,780,1.29,1266,8.452,1936,3.293,2145,10.117]],["t/381",[1,1.035,780,1.29,1267,8.452,1936,3.293,2146,10.117]],["t/383",[1,1.035,780,1.29,1268,8.452,1936,3.293,2147,10.117]],["t/385",[1,1.035,780,1.29,1263,6.904,1936,3.293,2148,10.117]],["t/387",[1,1.035,780,1.29,1264,8.452,1936,3.293,2149,10.117]],["t/389",[1,1.035,780,1.29,1260,8.452,1936,3.293,2150,10.117]],["t/391",[1,1.035,780,1.29,1261,8.452,1936,3.293,2151,10.117]],["t/393",[1,1.035,780,1.29,1259,8.452,1936,3.293,2152,10.117]],["t/395",[1,1.035,780,1.29,1269,8.452,1936,3.293,2153,10.117]],["t/397",[1,1.035,780,1.29,1271,8.452,1936,3.293,2154,10.117]],["t/399",[1,1.035,780,1.29,1258,7.32,1936,3.293,2155,10.117]],["t/401",[1,1.035,780,1.29,1242,6.788,1936,3.293,2156,10.117]],["t/403",[1,1.035,780,1.29,1248,8.148,1936,3.293,2157,10.117]],["t/405",[1,1.035,780,1.29,1251,8.452,1936,3.293,2158,10.117]],["t/407",[1,1.035,780,1.29,1249,7.678,1936,3.293,2159,10.117]],["t/409",[1,1.035,780,1.29,1255,8.148,1936,3.293,2160,10.117]],["t/411",[1,1.035,780,1.29,1265,8.452,1936,3.293,2161,10.117]],["t/413",[1,1.035,780,1.29,1245,6.578,1936,3.293,2162,10.117]],["t/415",[1,1.035,780,1.29,1246,7.32,1936,3.293,2163,10.117]],["t/417",[61,4.633,249,6.223,425,5.709,428,4.655,744,4.748,2164,9.71]],["t/420",[1242,5.425,1245,5.257,1319,5.338,1322,6.31,1323,6.31,1324,5.985,2165,7.467,2166,7.467,2167,7.467,2168,7.467,2169,7.467,2170,7.467,2171,7.467,2172,7.467,2173,7.467,2174,7.467,2175,7.467]],["t/423",[1,1.035,780,1.29,1936,3.293,2165,9.343,2176,10.117]],["t/425",[1,1.035,780,1.29,1936,3.293,2166,9.343,2177,10.117]],["t/427",[1,1.035,780,1.29,1323,7.895,1936,3.293,2178,10.117]],["t/429",[1,1.035,780,1.29,1936,3.293,2167,9.343,2179,10.117]],["t/431",[1,1.035,780,1.29,1936,3.293,2168,9.343,2180,10.117]],["t/433",[1,1.035,780,1.29,1936,3.293,2169,9.343,2181,10.117]],["t/435",[1,1.035,780,1.29,1936,3.293,2170,9.343,2182,10.117]],["t/437",[1,1.035,780,1.29,1936,3.293,2171,9.343,2183,10.117]],["t/439",[1,1.035,780,1.29,1242,6.788,1936,3.293,2184,10.117]],["t/441",[1,1.035,780,1.29,1936,3.293,2172,9.343,2185,10.117]],["t/443",[1,1.035,780,1.29,1936,3.293,2173,9.343,2186,10.117]],["t/445",[1,1.035,780,1.29,1245,6.578,1936,3.293,2187,10.117]],["t/447",[1,1.035,780,1.29,1319,6.679,1936,3.293,2188,10.117]],["t/449",[1,1.035,780,1.29,1324,7.488,1936,3.293,2189,10.117]],["t/451",[1,1.035,780,1.29,1322,7.895,1936,3.293,2190,10.117]],["t/453",[1,1.035,602,3.114,780,1.29,2174,9.343,2191,10.117]],["t/455",[1,1.035,602,3.114,780,1.29,2175,9.343,2192,10.117]],["t/457",[61,3.848,425,5.709,599,2.999,644,7.821,780,1.238,1045,6.223,2193,9.71]],["t/460",[1291,7.649,1469,8.424]],["t/463",[1,0.974,537,3.088,602,3.556,780,1.213,1045,6.1,1469,7.428,2194,9.519]],["t/465",[1,0.955,19,3.049,353,3.972,602,3.514,780,1.19,1045,5.982,1291,6.614,2195,9.335]],["t/467",[61,4.633,249,6.223,425,5.709,428,4.655,695,6.627,2196,9.71]],["t/470",[19,2.515,1201,3.691,1242,5.165,1245,5.006,1319,5.083,1320,6.201,1321,5.843,1322,6.008,1323,6.008,1324,5.699,1325,6.432,1326,6.432,1327,6.432,1328,6.432,1331,6.432,1332,6.432,1334,6.432,1335,6.432,1336,6.432,1337,6.432]],["t/473",[1,1.035,780,1.29,1325,8.452,2197,8.833,2198,10.117]],["t/475",[1,1.035,780,1.29,1323,7.895,1936,3.293,2199,10.117]],["t/477",[1,1.035,780,1.29,1201,4.85,1936,3.293,2200,10.117]],["t/479",[1,1.035,780,1.29,1332,8.452,1936,3.293,2201,10.117]],["t/481",[1,1.035,780,1.29,1334,8.452,1936,3.293,2202,10.117]],["t/483",[1,1.035,780,1.29,1326,8.452,1936,3.293,2203,10.117]],["t/485",[1,1.035,780,1.29,1327,8.452,1936,3.293,2204,10.117]],["t/487",[1,1.035,780,1.29,1328,8.452,1936,3.293,2205,10.117]],["t/489",[1,1.035,780,1.29,1331,8.452,1936,3.293,2206,10.117]],["t/491",[1,1.035,780,1.29,1320,8.148,1936,3.293,2207,10.117]],["t/493",[1,1.035,780,1.29,1242,6.788,1936,3.293,2208,10.117]],["t/495",[1,1.035,780,1.29,1336,8.452,1936,3.293,2209,10.117]],["t/497",[1,1.035,780,1.29,1335,8.452,1936,3.293,2210,10.117]],["t/499",[1,1.035,780,1.29,1337,8.452,1936,3.293,2211,10.117]],["t/501",[1,1.035,780,1.29,1321,7.678,1936,3.293,2212,10.117]],["t/503",[1,1.035,780,1.29,1245,6.578,1936,3.293,2213,10.117]],["t/505",[1,1.035,780,1.29,1319,6.679,1936,3.293,2214,10.117]],["t/507",[1,1.035,780,1.29,1324,7.488,1936,3.293,2215,10.117]],["t/509",[1,1.035,780,1.29,1322,7.895,1936,3.293,2216,10.117]],["t/511",[1,1.035,19,3.304,780,1.29,1936,3.293,2217,10.117]],["t/513",[376,3.644,425,5.948,780,1.29,1211,4.082,2218,10.117]],["t/516",[1317,6.364,1366,7.322,1451,7.477,1471,8.064]],["t/519",[1,0.955,376,3.362,602,2.873,676,3.286,780,1.19,1211,3.767,1366,6.614,1449,6.07,2219,9.335]],["t/521",[1,0.974,376,3.429,537,3.088,602,2.93,780,1.213,1211,3.841,1451,6.887,2220,9.519]],["t/523",[1,0.955,376,3.362,537,3.028,602,2.873,780,1.19,1211,3.767,1471,7.285,1472,7.518,2221,9.335]],["t/525",[1,0.955,19,3.049,353,3.972,376,3.362,602,2.873,780,1.19,1211,3.767,1317,5.749,2222,9.335]],["t/527",[96,4.418,97,3.585,101,2.777,2223,10.117]],["t/530",[1074,4.986,1460,5.925]],["t/533",[1,1.035,780,1.29,1460,5.553,2224,7.32,2225,10.117]],["t/535",[1,1.035,780,1.29,1074,4.673,2226,10.117,2227,10.117]],["t/537",[425,5.948,661,2.7,684,3.731,1206,5.553,2228,10.117]],["t/539",[1,1.196,97,2.906,428,4.655,602,2.989,1937,3.793]],["t/542",[576,5.087,633,6.822,635,6.286,1212,5.573]],["t/545",[1,1.154,152,1.619,428,5.406,445,1.615,576,3.79,687,1.557,780,0.981,1215,2.156,1937,4.033,2068,4.629,2229,7.699]],["t/547",[1,1.154,152,1.619,428,5.406,445,1.615,635,4.684,687,1.557,780,0.981,1215,2.156,1937,4.033,2068,4.629,2230,7.699]],["t/549",[1,1.154,152,1.619,428,5.406,445,1.615,633,5.083,687,1.557,780,0.981,1215,2.156,1937,4.033,2068,4.629,2231,7.699]],["t/551",[1,1.154,152,1.619,428,5.406,445,1.615,687,1.557,780,0.981,1212,4.152,1215,2.156,1937,4.033,2068,4.629,2232,7.699]],["t/553",[2233,11.041]],["t/555",[152,2.173,1133,6.719,1215,2.205,2224,7.477]],["t/558",[1305,6.567,2234,9.425]],["t/561",[1,1.035,780,1.29,2234,8.833,2235,9.343,2236,10.117]],["t/563",[1,1.035,780,1.29,1133,6.578,1305,6.155,2237,10.117]],["t/565",[425,5.948,551,4.759,2238,10.117,2239,5.766,2240,8.833]],["t/567",[2001,8.193,2241,8.424]],["t/570",[1365,5.481,2242,7.052,2243,5.573,2244,6.142]],["t/573",[1,1.035,780,1.29,1937,3.282,2242,6.904,2245,10.117]],["t/575",[1,1.145,152,1.593,445,1.59,687,1.533,780,0.966,1215,2.388,1454,8.669,2051,5.369,2068,4.556,2243,4.087,2246,5.914,2247,7.578]],["t/577",[1,1.094,152,1.98,445,1.975,551,3.258,687,1.401,780,0.883,1215,2.448,1365,3.674,1454,7.298,2051,4.908,2068,4.164,2131,5.229,2246,5.405,2248,9.414,2249,6.926]],["t/579",[1,1.312,687,1.722,780,1.085,1215,1.816,2068,5.118,2244,5.06,2250,11.828,2251,8.512]],["t/581",[2252,11.041]],["t/584",[596,6.152,597,6.279]],["t/587",[1,1.035,596,5.766,780,1.29,2253,6.082,2254,10.117]],["t/589",[1,1.035,597,5.885,780,1.29,2253,6.082,2255,10.117]],["t/591",[2256,11.041]],["t/594",[596,6.152,597,6.279]],["t/597",[1,1.035,596,5.766,780,1.29,2253,6.082,2257,10.117]],["t/599",[1,1.035,597,5.885,780,1.29,2253,6.082,2258,10.117]],["t/601",[134,4.917,360,3.61,425,5.709,551,4.568,2060,5.59,2239,5.534,2259,9.71]],["t/603",[1,1.226,2260,8.452,2261,8.148,2262,8.148]],["t/606",[2242,7.535]],["t/609",[1,1.035,780,1.29,1936,3.293,2242,6.904,2263,8.833]],["t/611",[2264,11.041]],["t/614",[19,3.449,1317,6.503,1383,5.848]],["t/617",[1,1.035,780,1.29,1383,5.603,2253,6.082,2265,10.117]],["t/619",[1,1.035,780,1.29,1317,6.23,2253,6.082,2266,10.117]],["t/621",[1,1.035,19,3.304,780,1.29,2253,6.082,2267,10.117]],["t/623",[2268,11.041]],["t/626",[1074,4.986,1460,5.925]],["t/629",[1,1.035,780,1.29,1460,5.553,1936,3.293,2269,10.117]],["t/631",[1,1.035,780,1.29,1074,4.673,1936,3.293,2270,10.117]],["t/633",[134,4.917,425,5.709,551,4.568,1061,6.137,2060,5.59,2239,5.534,2271,9.71]],["t/635",[1,1.08,2260,8.822,2262,8.504]],["t/638",[784,5.178,1297,5.48,1382,6.887,1383,5.272,1479,6.1,1481,7.224,2242,6.496,2272,7.666]],["t/641",[1,0.993,119,7.37,780,1.238,1936,3.161,2242,6.627,2263,8.478,2273,8.967]],["t/643",[1,1.035,780,1.29,1936,3.293,2272,8.148,2274,10.117]],["t/645",[1,1.035,780,1.29,1481,7.678,1936,3.293,2275,10.117]],["t/647",[1,1.035,780,1.29,1383,5.603,1936,3.293,2276,10.117]],["t/649",[1,1.035,780,1.29,784,5.504,1936,3.293,2277,10.117]],["t/651",[1,1.035,780,1.29,1297,5.824,1936,3.293,2278,10.117]],["t/653",[1,1.035,780,1.29,1479,6.484,1936,3.293,2279,10.117]],["t/655",[1,1.035,780,1.29,1382,7.32,1936,3.293,2280,10.117]],["t/657",[2281,11.041]],["t/660",[669,6.208,1074,4.877,1714,7.206]],["t/663",[1,1.035,780,1.29,1074,4.673,1936,3.293,2282,10.117]],["t/665",[1,1.035,669,5.948,780,1.29,1936,3.293,2283,10.117]],["t/667",[1,1.035,780,1.29,1714,6.904,1936,3.293,2284,10.117]],["t/669",[134,4.917,425,5.709,551,4.568,1454,6.627,2060,5.59,2239,5.534,2285,9.71]],["t/671",[1,1.08,2260,8.822,2261,8.504]],["t/674",[550,6.142,784,5.622,1479,6.622,2242,7.052]],["t/677",[1,1.035,550,6.014,780,1.29,1936,3.293,2286,10.117]],["t/679",[1,0.993,119,7.37,780,1.238,1936,3.161,2242,6.627,2263,8.478,2273,8.967]],["t/681",[1,1.035,780,1.29,784,5.504,1936,3.293,2287,10.117]],["t/683",[1,1.035,780,1.29,1479,6.484,1936,3.293,2288,10.117]],["t/685",[13,3.057,134,4.917,425,5.709,676,3.419,1065,4.24,2239,5.534,2289,9.71]],["t/687",[1717,7.18]],["t/690",[1074,4.986,1714,7.367]],["t/693",[1,1.035,780,1.29,1074,5.535,2290,10.117]],["t/695",[1,1.035,780,1.29,1714,6.904,1937,3.282,2291,10.117]],["t/697",[2292,11.041]],["t/700",[669,6.208,1074,4.877,1714,7.206]],["t/703",[1,1.035,780,1.29,1074,4.673,2293,8.148,2294,10.117]],["t/705",[1,1.035,669,5.948,780,1.29,2253,6.082,2295,10.117]],["t/707",[1,1.035,780,1.29,1714,6.904,2253,6.082,2296,10.117]],["t/709",[378,5.795,2297,10.559,2298,10.559]],["t/712",[388,7.811,887,6.152]],["t/715",[1,1.035,388,7.32,602,3.114,780,1.29,2299,10.117]],["t/717",[1,1.035,780,1.29,887,5.766,1937,3.282,2300,10.117]],["t/719",[2301,11.041]],["t/722",[535,5.979,2302,8.193]],["t/725",[1,1.035,535,5.603,780,1.29,2253,6.082,2303,10.117]],["t/727",[1,1.035,780,1.29,1936,3.293,2302,7.678,2304,10.117]],["t/729",[2305,11.041]],["t/732",[2306,7.895,2307,7.895,2308,7.895,2309,7.895,2310,7.488]],["t/735",[1,1.035,780,1.29,2293,8.148,2306,7.895,2311,10.117]],["t/737",[1,1.035,780,1.29,2307,7.895,2312,8.452,2313,10.117]],["t/739",[1,1.035,780,1.29,2308,7.895,2312,8.452,2314,10.117]],["t/741",[1,1.035,780,1.29,2309,7.895,2312,8.452,2315,10.117]],["t/743",[1,1.035,780,1.29,2293,8.148,2310,7.488,2316,10.117]],["t/745",[2317,11.041]],["t/748",[171,6.614,2310,6.91,2318,5.32,2319,8.621,2320,8.621,2321,8.621,2322,8.621,2323,8.621,2324,8.621]],["t/751",[1,1.035,780,1.29,2253,6.082,2310,7.488,2325,10.117]],["t/753",[1,1.035,780,1.29,2253,6.082,2318,5.766,2326,10.117]],["t/755",[1,1.035,780,1.29,2253,6.082,2319,9.343,2327,10.117]],["t/757",[1,1.035,171,7.168,780,1.29,2253,6.082,2328,10.117]],["t/759",[1,1.035,780,1.29,2253,6.082,2320,9.343,2329,10.117]],["t/761",[1,1.035,780,1.29,2253,6.082,2321,9.343,2330,10.117]],["t/763",[1,1.035,780,1.29,2253,6.082,2322,9.343,2331,10.117]],["t/765",[1,1.035,780,1.29,2253,6.082,2323,9.343,2332,10.117]],["t/767",[1,1.035,780,1.29,2253,6.082,2324,9.343,2333,10.117]],["t/769",[128,4.716,129,4.625,134,4.917,271,4.196,425,5.709,2239,5.534,2334,9.71]],["t/772",[483,6.918,1307,7.367]],["t/775",[1,1.057,780,1.317,2335,7.477,2336,10.333]],["t/777",[1,1.035,483,6.484,780,1.29,2337,7.32,2338,10.117]],["t/779",[1,1.035,780,1.29,1307,6.904,2335,7.32,2339,10.117]],["t/783",[2340,10.559,2341,10.559,2342,9.751]],["t/785",[344,3.969,426,3.915,529,4.445,685,3.083,749,5.335,1035,6.644,1085,5.526,1446,7.344,1458,6.943,1476,6.206,1482,6.405,1488,6.405,1489,6.644,1497,7.344,1506,6.035,1534,6.405,2343,7.952,2344,6.943]],["t/788",[1,0.522,13,1.605,55,3.677,58,2.152,77,2.148,152,1.072,253,1.516,333,1.782,409,3.701,429,2.384,445,1.07,550,4.5,554,1.169,584,2.328,599,1.575,602,2.33,687,1.032,688,2.641,749,3.421,780,0.65,784,4.118,1035,4.26,1203,3.48,1215,1.088,1426,2.906,1443,4.662,1463,2.641,1475,5.364,1600,3.102,1936,2.464,2131,2.493,2345,5.099,2346,7.57,2347,5.477,2348,5.099,2349,6.315,2350,5.099,2351,5.099]],["t/790",[1,0.359,19,1.85,55,1.703,58,1.61,74,1.776,97,1.694,113,1.428,152,0.738,295,3.864,353,1.492,368,3.366,376,2.944,429,1.64,445,0.736,461,1.456,537,2.31,551,1.65,554,0.804,584,2.585,599,1.083,602,2.761,676,1.994,685,2.195,687,0.71,688,1.816,689,1.601,780,0.447,1099,4.281,1122,2.737,1199,2.393,1211,3.619,1215,0.748,1262,3.864,1301,1.789,1317,3.487,1318,2.217,1366,4.012,1426,1.999,1443,3.487,1451,4.097,1452,4.944,1453,4.944,1455,4.944,1457,4.944,1600,2.134,1936,2.661,2131,1.715,2349,6.856,2352,3.507,2353,5.662,2354,3.507]],["t/792",[1,0.506,13,1.556,55,4.305,58,2.797,143,2.906,152,1.039,376,1.78,408,2.485,409,2.417,426,3.641,429,2.311,445,1.037,554,1.134,584,2.256,599,1.526,602,2.277,657,3.658,676,1.74,687,1,688,2.56,780,0.63,947,3.857,1211,1.994,1215,1.055,1318,3.124,1426,2.817,1438,6.83,1439,6.83,1441,6.179,1443,4.555,1600,3.007,1784,4.129,1936,2.408,2131,2.417,2349,6.219,2355,4.942,2356,7.396,2357,4.942,2358,4.942]],["t/794",[1,0.332,13,1.023,19,1.738,55,3.281,56,1.588,58,2.22,97,0.972,101,0.892,152,0.683,206,1.243,333,1.859,353,2.264,376,2.813,426,3.326,429,1.518,445,0.681,537,2.192,554,0.745,560,1.931,584,1.483,599,1.003,602,3.25,676,1.143,687,0.657,688,1.682,703,2.35,741,2.081,780,0.414,1045,3.409,1099,1.953,1211,3.152,1215,0.693,1219,2,1291,3.769,1317,3.276,1366,3.769,1426,1.851,1435,4.913,1443,3.276,1445,2.999,1449,2.112,1451,3.849,1466,2.404,1467,2.999,1469,4.151,1471,4.151,1474,4.645,1475,3.769,1490,2.026,1600,1.976,1936,2.199,2131,1.588,2349,6.866,2359,3.248,2360,5.32,2361,3.248,2362,3.248]],["t/796",[1,0.752,55,3.569,58,2.784,152,1.545,426,3.617,445,1.541,554,1.685,584,3.354,599,2.269,687,1.486,688,3.805,780,0.937,1099,4.417,1215,1.568,1426,4.187,1443,4.525,1444,6.415,2131,3.593,2363,7.347,2364,8.552,2365,7.347]],["t/798",[1,0.62,21,5.422,55,4.837,152,1.274,206,2.318,429,2.832,445,1.271,531,3.999,550,5.099,554,1.389,584,2.766,599,1.871,602,1.865,687,1.226,688,3.137,780,0.772,1215,1.293,1426,3.452,1443,5.283,1498,7.489,1499,7.922,1600,3.685,1936,1.972,2131,2.962,2347,6.207,2349,5.422,2366,6.058,2367,6.058]],["t/800",[1,0.661,13,2.035,97,1.934,152,1.888,206,2.473,360,2.403,429,3.022,445,1.356,554,1.482,584,2.95,599,1.996,687,1.307,688,3.347,780,0.824,1215,1.915,1426,3.683,1443,3.98,1444,5.643,1462,4.784,1600,3.932,1727,4.276,1936,2.922,2131,3.16,2368,6.463,2369,6.463,2370,5.399,2371,5.968,2372,6.463]],["t/802",[1,0.652,13,2.008,96,2.785,97,3.064,101,2.441,152,1.341,206,2.441,360,2.371,429,2.982,445,1.338,554,1.463,584,2.912,599,1.969,687,1.29,688,3.303,780,0.813,1215,1.361,1426,3.635,1443,5.477,1460,3.5,1478,3.47,1600,3.88,1936,3.334,2131,3.118,2349,4.031,2373,6.377,2374,6.377]],["t/804",[1,0.204,13,1.104,55,0.967,58,0.566,96,0.869,97,0.596,113,2.899,152,0.419,168,1.258,235,1.942,253,0.592,271,2.446,333,0.695,360,0.74,368,2.792,429,0.93,445,0.417,461,2.35,527,1.838,535,1.102,537,0.646,538,2.93,554,0.456,584,1.6,599,0.615,602,2.366,674,1.123,676,0.701,684,0.734,687,0.403,688,1.031,741,1.275,743,1.211,744,3.156,780,0.254,784,1.907,1215,0.425,1262,6.12,1400,4.19,1410,4.948,1426,1.134,1433,1.41,1443,2.159,1463,1.031,1475,2.484,1478,1.083,1500,3.061,1501,3.061,1507,4.296,1508,3.934,1510,4.102,1518,3.237,1520,3.237,1522,3.237,1524,1.838,1526,3.237,1529,3.237,1531,3.237,1533,3.237,1598,3.399,1599,4.102,1600,3.444,1936,3.477,2131,1.714,2349,7.197,2375,1.99,2376,3.505,2377,3.505,2378,3.505,2379,3.505,2380,3.505,2381,3.505,2382,3.505,2383,3.505,2384,3.505,2385,3.505,2386,1.99]],["t/806",[1,0.57,13,1.753,37,3.976,55,2.705,58,1.583,152,1.171,333,1.946,378,4.433,383,3.239,429,2.604,445,1.168,460,3.113,537,1.807,554,1.277,584,2.542,599,1.72,602,2.486,687,1.127,688,2.884,780,0.71,784,3.03,1215,1.188,1426,3.174,1443,4.974,1463,2.884,1484,6.747,1487,7.051,1600,3.388,1936,2.629,2131,2.723,2347,5.844,2349,6.006,2387,5.569,2388,5.569]],["t/808",[1,0.563,13,2.522,37,2.71,55,2.674,58,2.277,152,1.158,333,1.924,344,2.748,378,3.022,383,3.202,429,2.574,445,1.155,551,2.59,554,1.263,584,2.513,599,1.7,602,2.465,687,1.114,688,2.851,753,3.237,780,0.702,784,2.995,1215,1.175,1426,3.138,1443,4.932,1463,2.851,1484,6.691,1487,6.993,1600,3.349,1936,2.607,2131,2.692,2347,5.795,2349,5.967,2389,5.505,2390,5.505]],["t/810",[1,0.459,13,1.412,55,4.547,58,2.661,86,2.506,113,1.826,152,0.943,271,1.937,333,2.401,429,2.096,445,0.941,460,2.506,480,2.024,544,2.506,551,2.109,554,1.028,584,2.047,599,1.385,687,0.907,688,2.322,744,2.192,780,0.571,784,2.439,1215,0.957,1272,3.116,1426,2.555,1433,3.177,1443,4.231,1463,2.322,1475,4.868,1536,6.345,1538,6.345,1600,2.728,1936,3.467,2131,2.192,2347,4.971,2349,6.731,2391,4.484,2392,6.345,2393,6.345,2394,4.484]],["t/812",[1,0.37,13,1.826,19,1.894,32,2.257,55,1.754,58,1.648,96,2.532,97,2.174,101,0.992,126,1.885,152,0.76,206,2.219,253,1.074,333,2.026,353,1.537,429,1.689,445,0.758,529,2.019,537,2.698,554,0.829,584,1.649,599,1.115,602,2.803,676,1.272,687,0.731,688,1.871,777,2.617,780,0.46,784,3.155,1065,1.577,1074,1.669,1215,0.771,1270,2.385,1297,4.182,1382,4.195,1383,4.023,1426,2.059,1443,3.571,1463,1.871,1479,3.716,1481,4.401,1484,4.844,1580,2.674,1600,2.197,1936,2.707,2131,1.766,2349,6.925,2364,5.063,2370,4.844,2395,3.612,2396,3.612]],["t/814",[1,0.367,19,1.883,55,1.741,56,1.753,58,1.638,97,1.073,113,1.46,152,0.754,353,1.526,368,4.296,376,2.982,429,1.676,445,0.752,461,1.488,537,2.345,554,0.822,584,1.637,599,1.107,602,2.792,661,0.957,676,2.029,685,1.39,687,0.725,688,1.857,689,1.637,744,1.753,780,0.457,1099,4.978,1211,3.66,1215,0.765,1262,4.933,1301,1.829,1317,3.55,1318,2.266,1366,4.084,1426,2.043,1443,3.55,1451,4.17,1452,5.032,1453,5.032,1455,5.032,1457,5.032,1600,2.181,1936,2.695,2131,1.753,2347,4.17,2349,6.908,2397,3.585,2398,3.585]],["t/816",[1,0.501,13,2.311,32,3.43,55,2.376,58,2.086,97,1.464,101,1.343,143,2.876,152,1.029,344,3.664,408,2.46,409,2.392,429,2.287,445,1.026,535,4.065,554,1.122,584,2.233,599,1.511,651,3.94,676,1.722,687,0.99,688,2.534,777,2.208,780,0.624,1215,1.044,1426,2.788,1443,4.52,1475,5.201,1491,4.518,1494,4.518,1600,2.976,1936,3.187,2131,2.392,2349,6.187,2364,6.409,2399,4.892,2400,7.34,2401,7.34,2402,4.892]],["t/818",[1,0.652,122,4.721,152,1.341,188,5.019,253,1.897,429,2.982,445,1.338,554,1.463,584,2.912,599,1.969,602,2.738,687,1.29,688,3.303,780,0.813,1199,4.352,1203,4.352,1215,1.361,1426,3.635,1443,5.477,1490,5.547,1582,7.765,1600,3.88,2131,3.118,2347,6.435,2349,4.031,2403,6.377,2404,6.377]],["t/820",[1,0.545,13,1.676,32,2.073,55,2.586,58,1.513,152,1.119,333,1.86,429,2.489,445,1.117,529,2.976,537,1.727,550,4.645,554,1.221,584,2.43,599,1.644,602,2.85,676,1.874,687,1.077,688,2.757,749,5.243,777,2.403,780,0.679,784,4.252,1215,1.136,1426,3.034,1443,4.813,1463,2.757,1475,5.537,1479,5.008,1600,3.239,1936,1.733,2131,2.603,2347,5.654,2349,6.448,2405,5.323,2406,5.323]],["t/822",[1,0.438,13,1.349,55,3.943,58,2.308,113,2.702,152,0.901,333,2.318,353,1.823,429,2.003,445,0.899,480,2.994,554,0.983,584,1.956,599,1.323,685,1.661,687,0.867,688,2.219,744,3.97,780,0.546,784,2.331,1215,0.914,1262,4.528,1410,3.819,1426,2.442,1443,4.086,1463,2.219,1475,4.701,1500,5.793,1501,5.793,1600,2.607,1936,3.404,2131,2.095,2342,7.497,2347,4.8,2349,6.893,2392,6.127,2393,6.127,2407,4.285,2408,4.285]],["t/826",[537,3.028,1074,4.312,1201,4.475,1460,5.124,1717,6.07,1978,5.9,2001,7.085,2241,7.285,2409,6.614]],["t/828",[271,3.553,2135,6.87,2246,6.417,2260,6.87,2261,6.623,2262,6.623,2293,6.623,2312,6.87,2410,7.179,2411,7.179,2412,6.87,2413,7.594,2414,7.594,2415,7.179,2416,7.594,2417,8.223]],["t/830",[2418,9.019,2419,9.019]],["t/832",[2420,9.542,2421,9.542,2422,9.542,2423,9.542]],["t/835",[1,1.014,780,1.263,1460,5.439,2418,8.279,2424,9.151,2425,9.909]],["t/837",[1,1.014,780,1.263,1074,4.577,2419,8.279,2424,9.151,2426,9.909]],["t/840",[1,1.014,780,1.263,1939,7.335,2420,9.151,2427,8.279,2428,9.909]],["t/842",[1,1.014,780,1.263,1939,7.335,2421,9.151,2429,8.279,2430,9.909]],["t/844",[1,1.014,780,1.263,1717,6.443,1939,7.335,2422,9.151,2431,9.909]],["t/846",[1,1.014,780,1.263,1937,3.215,1939,7.335,2423,9.151,2432,9.909]],["t/848",[13,2.997,19,3.109,134,4.82,353,4.05,425,5.596,1065,4.157,2239,5.425,2433,9.519]],["t/851",[19,3.607]],["t/854",[1,1.035,19,3.304,780,1.29,1937,3.282,2434,10.117]],["t/858",[748,6.213,2335,7.477,2337,7.477,2435,7.322]],["t/860",[378,5.671,545,5.481,1978,6.531,2436,10.333]],["t/862",[275,5.178,1065,4.157,1074,4.397,1460,5.224,2197,8.311,2437,7.046,2438,7.666,2439,6.386]],["t/864",[1059,9.019,2440,9.969]],["t/866",[347,3.167,1386,5.879,2344,5.879,2441,6.733,2442,6.733,2443,6.733,2444,6.733,2445,6.218,2446,5.423,2447,6.218,2448,6.218,2449,6.218,2450,6.733,2451,6.733,2452,6.733,2453,6.733,2454,6.218,2455,6.733,2456,5.625,2457,5.625,2458,6.733,2459,6.733,2460,6.733,2461,6.733,2462,6.733,2463,6.733,2464,6.733,2465,6.733,2466,6.733]],["t/869",[1,0.919,152,1.89,445,1.885,780,1.146,1133,7.251,1215,2.38,1937,2.916,2467,8.987,2468,8.987]],["t/871",[1,0.903,152,1.855,445,1.851,780,1.125,1133,7.819,1215,2.353,1937,2.863,2469,8.823,2470,8.823]],["t/873",[1,1.035,780,1.29,1065,4.418,1937,3.282,2471,10.117]],["t/875",[1,1.035,780,1.29,1937,3.282,2197,8.833,2472,10.117]],["t/877",[1,0.919,152,1.89,445,1.885,780,1.146,1133,7.251,1215,2.38,1937,2.916,2473,8.987,2474,8.987]],["t/879",[1,0.903,152,1.855,445,1.851,780,1.125,1133,7.819,1215,2.353,2224,6.384,2235,8.148,2475,8.823]],["t/881",[1,1.035,780,1.29,1460,5.553,2224,7.32,2476,10.117]],["t/883",[1,0.903,152,1.855,445,1.851,780,1.125,1133,7.819,1215,2.353,1937,2.863,2477,8.823,2478,8.823]],["t/886",[1,1.014,780,1.263,1059,8.279,1937,3.215,1939,7.335,2479,9.909]],["t/888",[1,1.182,780,1.213,1304,7.046,1937,3.088,1939,7.046,2440,8.79,2480,9.519]],["t/891",[1,0.814,152,1.672,445,1.668,554,1.824,687,1.609,780,1.014,1215,1.697,1379,6.709,1937,3.716,2481,7.952,2482,9.763,2483,7.952]],["t/893",[1,0.689,152,1.416,336,4.595,376,2.425,445,1.412,554,1.544,602,3.657,661,1.797,663,3.764,684,2.483,687,1.362,743,4.096,780,0.858,1211,3.726,1215,1.437,1235,4.71,1614,5.254,1894,4.872,2484,6.733,2485,7.437,2486,5.423,2487,6.733]],["t/895",[1,0.752,152,1.545,299,3.08,445,1.541,554,1.685,687,1.486,780,0.937,1215,1.568,1250,5.943,1937,3.972,2243,5.943,2488,7.347,2489,7.347,2490,4.93,2491,7.347]],["t/897",[1,0.636,61,2.462,96,4.41,97,3.022,152,1.307,253,1.848,360,2.31,445,1.303,554,1.425,661,1.658,687,1.257,780,0.792,1074,2.87,1215,1.326,1296,4.318,1460,3.41,1540,6.628,1543,4.24,1544,6.069,1668,3.41,1937,2.833,2224,4.496,2318,3.541,2446,5.004,2492,6.213,2493,6.815,2494,6.213]],["t/899",[1,0.59,96,3.618,97,3.495,101,2.274,152,1.213,253,2.464,360,3.604,445,1.21,454,4.769,554,1.323,663,3.225,687,1.167,780,0.735,1074,4.477,1215,1.231,1240,5.653,1460,3.166,2224,4.174,2318,3.287,2438,6.672,2446,4.646,2447,5.327,2495,5.327,2496,3.937,2497,5.327,2498,5.768]],["t/901",[1,0.937,360,3.405,687,1.853,780,1.167,1978,8.067,2344,7.996,2499,9.158]],["t/903",[1,0.871,96,4.707,97,3.225,360,3.165,687,1.722,780,1.085,1540,6.461,1937,3.497,2446,6.856,2493,6.643,2500,8.512]],["t/905",[1,0.752,96,4.278,97,3.297,101,2.017,152,1.545,253,2.185,360,2.732,445,1.541,554,1.685,687,1.486,780,0.937,1074,4.525,1215,1.568,1460,4.033,2101,5.576,2224,5.316,2446,5.918,2501,7.347,2502,7.347]],["t/907",[1,0.545,97,1.593,129,2.536,143,3.13,184,2.779,232,3.515,249,3.412,253,1.583,299,2.232,360,1.979,480,2.403,599,2.859,674,3.004,687,1.581,704,4.04,780,0.679,1011,4.04,1049,4.252,1134,5.633,1168,5.654,1276,3.239,1277,4.288,1278,4.04,1296,6.435,1540,5.931,1937,2.535,2448,4.916,2493,6.099,2503,4.648,2504,5.323,2505,5.323,2506,4.648,2507,4.154,2508,5.323,2509,5.323,2510,5.323]],["t/909",[1,0.887,360,3.221,599,2.676,687,1.753,780,1.104,1296,6.022,1297,4.988,1540,6.576,1937,3.536,2449,8.002,2493,6.762,2511,8.665]],["t/911",[1,0.612,152,1.258,183,4.541,367,4.818,376,2.155,445,1.255,480,2.7,554,1.372,592,6.025,599,1.848,602,1.842,661,1.596,684,3.648,687,1.72,780,0.763,1211,3.991,1215,1.277,1235,4.337,1296,4.158,1297,6.806,1937,3.494,2512,5.983,2513,5.983]],["t/913",[1,0.62,152,1.274,271,4.304,360,3.189,367,4.879,376,3.09,445,1.271,554,1.389,592,4.292,599,3.075,602,2.641,661,1.616,663,3.386,687,1.226,777,4.495,780,0.772,1211,4.019,1215,1.293,1235,5.081,1937,3.231,2514,6.058,2515,6.058]],["t/915",[1,0.719,152,1.478,184,3.668,253,2.09,445,1.474,554,1.612,661,1.875,684,3.973,687,1.422,780,0.896,1171,6.453,1206,3.857,1215,1.499,1377,6.489,1937,3.084,2439,6.378,2516,7.027,2517,6.489,2518,7.027]],["t/917",[1,0.903,152,1.855,445,1.851,687,1.785,780,1.125,1171,4.932,1215,1.883,1937,3.577,2439,5.92,2519,8.823,2520,8.823]],["t/919",[1,0.903,152,1.855,445,1.851,687,1.785,780,1.125,1171,4.932,1215,1.883,1937,3.577,2439,5.92,2521,8.823,2522,8.823]],["t/921",[1,0.903,152,1.855,445,1.851,687,1.785,780,1.125,1171,4.932,1215,1.883,1937,3.577,2439,5.92,2523,8.823,2524,8.823]],["t/923",[1,0.903,152,1.855,445,1.851,687,1.785,780,1.125,1171,4.932,1215,1.883,1937,3.577,2439,5.92,2525,8.823,2526,8.823]],["t/925",[1,0.652,152,1.341,321,6.302,445,1.338,518,4.679,554,1.463,661,1.702,684,4.297,687,1.29,780,0.813,1171,5.725,1206,3.5,1209,7.117,1215,1.361,1890,7.163,1937,3.78,2527,6.377,2528,6.377]],["t/927",[1,0.709,152,1.456,205,3.199,445,1.453,554,1.589,602,2.898,684,4.232,687,1.401,780,0.883,1133,4.504,1171,6.919,1215,1.478,1937,3.054,2439,4.647,2529,6.926,2530,6.926,2531,6.926]],["t/929",[1,0.752,152,1.545,335,4.583,445,1.541,554,1.685,661,1.961,684,4.335,687,1.486,780,0.937,1171,5.476,1206,4.033,1215,1.568,1316,5.734,1937,3.813,2532,7.347,2533,7.347]],["t/931",[1,0.73,80,4.784,97,3.248,101,2.98,152,1.499,445,1.496,554,1.636,687,1.443,780,0.909,1049,3.879,1074,4.435,1215,1.522,1281,4.192,1937,3.115,1954,6.068,2534,7.13,2535,7.13,2536,7.13]],["t/933",[1,0.59,89,5.524,97,2.9,126,4.324,152,1.213,253,2.464,445,1.21,554,1.323,602,1.776,687,1.167,780,0.735,1206,3.166,1215,1.231,1383,5.368,1894,7.013,1937,1.871,2437,7.175,2439,5.558,2537,5.768,2538,7.65,2539,5.327,2540,5.327,2541,4.819,2542,5.327,2543,5.327,2544,5.327,2545,5.768]],["t/935",[1,0.62,97,2.98,126,5.654,152,1.274,253,1.802,259,4.21,445,1.271,537,1.965,554,1.389,687,1.226,780,0.772,1206,3.325,1215,1.293,1249,4.598,1383,5.516,1542,4.879,1937,1.965,2437,4.484,2439,4.064,2538,5.594,2539,7.922,2540,5.594,2541,5.061,2542,5.594,2543,5.594,2544,5.594,2546,6.058,2547,6.058,2548,6.058]],["t/937",[1,0.709,88,4.32,152,1.456,356,4.029,428,3.32,445,1.453,554,1.589,599,2.907,684,3.944,687,1.401,780,0.883,1040,1.992,1215,1.478,1243,4.647,1250,5.077,1937,3.469,2493,5.405,2549,6.926,2550,8.693,2551,6.926]],["t/939",[1,0.516,26,2.435,64,2.698,73,3.735,96,3.28,97,2.248,152,1.061,253,2.234,347,4.221,445,1.058,537,3.448,544,2.821,545,3.984,554,1.157,599,1.558,684,1.861,687,1.021,780,0.643,1115,4.064,1206,2.769,1215,1.077,1305,3.07,1387,5.862,1727,2.403,2234,4.405,2253,4.516,2318,2.876,2370,4.215,2496,3.443,2541,4.215,2552,5.045,2553,7.511,2554,5.045,2555,3.385,2556,3.281,2557,4.659,2558,4.659,2559,4.659,2560,4.659,2561,5.045]],["t/941",[1,0.709,152,1.456,428,5.501,445,1.453,554,1.589,599,2.907,663,3.872,687,1.401,780,0.883,1215,1.478,1281,4.072,1379,6.954,1936,3.064,1937,3.054,2562,6.926,2563,8.693,2564,6.396,2565,6.926]],["t/943",[1,0.752,97,2.199,101,2.017,152,1.545,445,1.541,493,5.106,554,1.685,599,2.269,687,1.486,780,0.937,1074,5.09,1215,1.568,1281,4.32,1389,7.434,1937,2.384,1954,6.191,2566,7.347,2567,7.347,2568,7.347]],["t/945",[1,0.709,152,1.456,428,5.501,445,1.453,544,3.872,554,1.589,599,2.907,663,3.872,687,1.401,780,0.883,1215,1.478,1379,6.954,1936,3.064,1937,3.054,2563,6.396,2564,8.693,2569,6.926,2570,6.926]],["t/947",[1,0.486,79,2.247,96,2.073,97,2.589,100,3.135,101,1.97,112,3.135,152,0.998,253,2.134,275,2.583,347,3.376,445,0.996,493,3.3,537,3.128,545,5.776,554,1.089,661,1.267,684,1.751,685,2.782,687,1.452,688,2.459,724,3.604,780,0.605,1206,2.606,1215,1.013,1387,5.6,2101,3.604,2131,3.509,2253,2.855,2318,2.706,2371,6.627,2496,3.24,2541,3.967,2555,3.186,2556,3.087,2557,4.385,2558,4.385,2559,4.385,2560,4.385,2571,4.748,2572,4.748]],["t/949",[6,4.79,7,4.856,13,3.148,25,4.727,26,3.656,28,5.084,29,6.616,32,2.95,45,4.408,53,6.331,56,3.705,117,4.927,179,5.483,194,5.751,220,5.172,781,6.616,852,6.998,1001,6.998,1183,6.103,1189,5.172]],["t/951",[6,4.644,13,2.313,33,4.32,58,2.088,61,2.911,117,4.778,144,5.918,184,3.835,269,4.525,365,4.778,486,6.415,500,4.851,622,5.106,635,4.47,643,4.417,706,5.734,761,5.206,829,5.439,1183,5.918,1187,5.576,1662,5.014,2573,6.785,2574,6.138]],["t/953",[4,3.787,6,6.77,7,6.296,13,3.093,72,4.015,117,6.388,124,3.787,190,2.993,206,2.262,299,2.477,356,3.437,444,4.276,500,3.902,637,6.397,705,5.16,781,5.16,918,2.698,1178,5.457,1193,7.359,1404,5.16,1879,5.16,2575,5.909,2576,5.909,2577,5.909,2578,5.909,2579,5.909,2580,5.16]],["t/955",[2,2.173,6,3.906,7,6.208,13,3.17,35,2.173,37,2.359,45,1.665,58,0.814,61,1.134,72,2.283,117,4.018,191,1.6,196,1.429,206,1.096,223,1.571,253,0.851,278,1.494,299,2.009,312,2.173,347,1.347,348,2.029,373,2.392,422,3.467,449,1.862,500,1.89,523,2.881,524,2.029,529,4.04,537,1.555,568,2.644,580,1.439,602,2.225,637,4.69,667,2.306,685,1.11,808,3.74,819,1.835,858,2.644,1031,3.687,1181,4.184,1187,2.173,1192,2.173,1193,7.023,1194,6.674,1197,2.644,1311,2.5,1397,3.859,1405,3.164,1406,2.234,1472,2.306,1543,1.954,1838,7.596,1839,3.637,1842,2.644,2049,2.306,2050,2.644,2580,2.5,2581,2.863,2582,7.226,2583,2.863,2584,4.792,2585,4.792,2586,2.863,2587,2.863,2588,6.18,2589,2.863]],["t/958",[13,2.997,26,4.593,253,2.831,415,5.091,458,7.428,588,7.046,883,8.79,2098,8.311]],["t/960",[13,2.463,253,2.327,334,4.945,360,2.909,1061,4.945,1168,5.661,1275,5.339,1276,6.211,1710,5.938,2318,4.459,2496,5.339,2555,5.249,2556,5.087,2590,7.225,2591,7.823,2592,7.823,2593,7.823,2594,6.83]],["t/962",[1,1.209,13,1.572,96,2.181,97,2.23,101,1.371,197,3.115,232,3.297,253,1.485,275,2.717,360,1.856,576,2.458,599,1.542,661,1.332,671,3.47,688,2.586,876,4.36,1061,4.711,1168,3.613,1305,3.038,1460,2.741,1703,3.2,2318,2.846,2503,4.36,2506,4.36,2507,3.897,2555,3.35,2556,3.247,2595,4.993,2596,4.611,2597,4.611,2598,4.611,2599,4.172,2600,4.993,2601,6.883,2602,6.507,2603,9.132,2604,4.172,2605,4.611,2606,4.36,2607,4.993]],["t/964",[13,2.778,253,2.624,347,4.151,351,4.125,537,2.863,545,4.68,1387,6.886,1902,7.372,2318,5.029,2507,6.886,2608,7.704,2609,8.148]],["t/966",[1,0.878,13,1.907,17,3.642,61,2.4,101,1.663,111,3.829,128,2.942,215,4.383,253,2.551,335,3.778,428,4.112,429,2.832,575,2.815,661,1.616,684,2.234,812,4.484,1011,4.598,1171,3.386,1206,4.708,1243,4.064,1275,4.134,1276,5.219,1878,5.061,2594,5.289,2610,4.484,2611,5.594,2612,6.058,2613,5.594,2614,5.594,2615,5.289,2616,6.058,2617,6.058]],["t/968",[13,1.753,26,2.687,42,4.346,45,3.239,89,3.174,97,1.666,126,4.215,184,2.907,253,1.656,275,3.03,349,3.677,351,2.604,454,3.206,537,1.807,643,3.348,661,2.155,774,4.653,1072,2.499,1133,5.251,1206,3.057,1383,3.084,1894,4.029,2318,3.174,2439,3.736,2555,3.736,2556,3.621,2610,4.122,2618,5.143,2619,5.143,2620,5.143,2621,5.569,2622,6.747,2623,7.458,2624,5.143,2625,5.569,2626,5.143,2627,4.653,2628,4.862,2629,5.143]],["t/970",[19,1.207,32,3.279,77,2.487,89,2.106,96,3.679,97,3.522,98,2.335,101,2.528,126,3.082,184,1.929,253,2.505,265,2.368,299,1.549,326,1.658,356,2.149,360,2.742,454,4.246,476,1.707,477,3.226,529,2.066,531,3.898,537,2.988,545,1.96,551,1.738,643,2.222,663,2.066,720,2.248,741,3.784,802,2.735,1217,3.226,1240,2.522,1580,6.235,1978,2.335,2437,2.735,2507,2.884,2630,5.155,2631,3.412,2632,5.155,2633,5.155,2634,6.439,2635,4.608,2636,3.226,2637,3.412]],["t/972",[13,0.94,30,1.702,32,1.163,37,3.136,57,1.611,58,1.811,66,1.639,77,1.258,110,1.775,184,1.559,188,1.686,195,4.265,196,2.478,205,2.293,235,1.654,253,1.894,326,2.228,335,1.863,347,1.405,355,1.888,375,4.805,376,3.201,378,2.725,383,2.888,415,1.597,418,2.495,434,1.654,440,2.406,507,1.888,537,0.969,580,2.496,602,1.528,607,1.914,646,2.076,661,1.98,684,2.349,743,1.817,748,1.796,750,1.817,753,1.756,772,1.972,775,1.756,787,2.406,814,2.267,864,2.331,989,3.518,1011,2.267,1029,4.377,1057,2.161,1058,3.228,1065,2.782,1114,2.211,1206,1.639,1212,1.611,1235,2.532,1301,3.25,1302,2.677,1419,2.406,1483,2.161,1508,2.076,1554,1.47,1777,2.267,1808,2.161,1812,2.406,2054,2.331,2638,2.608,2639,2.495,2640,2.758,2641,2.758,2642,2.406,2643,2.608,2644,2.987]],["t/974",[1,0.367,19,1.443,32,1.012,61,0.565,64,1.391,72,1.238,74,0.722,77,2.164,79,0.675,85,0.776,89,2.042,96,1.929,97,3.001,98,1.643,100,0.942,101,1.865,126,0.744,128,0.693,129,0.679,134,0.722,152,0.3,173,1.113,190,1.317,195,1.347,205,0.659,253,1.066,259,0.991,271,0.616,272,1.082,275,3.432,321,1.011,326,0.64,328,1.149,330,1.056,333,0.909,347,0.671,353,1.106,380,2.029,391,1.082,408,0.717,409,1.271,422,1.881,445,1.077,446,0.848,454,0.821,465,1.032,467,0.914,476,0.659,493,0.991,523,2.154,531,0.942,537,1.869,541,0.868,551,1.685,554,0.327,592,1.011,596,1.482,597,1.512,599,1.364,665,0.857,671,0.991,676,1.555,685,1.713,720,0.868,777,2.318,780,0.655,786,1.245,793,1.082,814,1.973,829,1.056,907,1.149,909,4.636,952,1.011,968,1.056,1024,1.317,1031,0.728,1049,0.776,1061,0.901,1062,2.27,1065,1.135,1104,1.245,1108,2.172,1114,1.056,1125,1.032,1134,3.505,1171,0.797,1192,1.082,1209,0.991,1219,0.878,1270,0.942,1275,1.774,1278,2.719,1297,0.821,1299,1.082,1383,0.79,1389,1.082,1462,1.925,1463,0.739,1478,1.414,1680,1.032,1703,0.914,1710,1.082,1767,1.149,1775,1.056,1861,1.245,2240,1.245,2318,3.595,2427,1.192,2429,1.192,2439,0.957,2496,1.774,2555,1.744,2556,1.691,2610,2.652,2622,2.172,2627,2.172,2635,1.113,2645,1.317,2646,1.317,2647,2.27,2648,1.317,2649,3.128,2650,1.317,2651,1.317,2652,1.317,2653,1.245,2654,2.094,2655,1.113,2656,1.245,2657,1.317,2658,2.094,2659,1.317,2660,1.317,2661,1.317,2662,1.317,2663,1.317,2664,1.317,2665,1.245,2666,1.317,2667,1.317,2668,1.192,2669,1.317,2670,1.245,2671,1.245,2672,1.317,2673,1.245,2674,1.245,2675,1.317,2676,2.401,2677,2.27,2678,1.317,2679,1.426,2680,1.192,2681,1.426,2682,2.401,2683,1.317,2684,1.317,2685,1.317,2686,1.426,2687,1.317,2688,1.317,2689,1.082,2690,1.192]],["t/976",[19,3.441,64,2.333,74,2.209,79,3.184,85,2.373,134,2.209,152,0.917,168,2.757,190,2.209,195,4.252,197,2.721,330,3.229,333,1.524,353,2.862,354,3.513,374,3.156,375,2.225,376,2.423,544,2.439,551,2.052,567,2.416,575,2.027,587,2.757,592,3.091,599,1.347,674,2.462,684,1.609,720,2.654,838,3.404,1029,2.027,1072,1.958,1201,2.091,1211,2.714,1212,2.353,1250,2.353,1270,4.441,1303,3.513,1368,3.644,1383,4.547,1775,3.229,2655,3.404,2691,3.809,2692,4.028,2693,4.028,2694,4.028,2695,4.028,2696,4.028,2697,4.028,2698,6.212,2699,3.809,2700,3.809,2701,4.362,2702,4.028]],["t/978",[1,0.635,19,0.742,33,1.335,45,1.321,56,1.11,64,2.104,72,1.874,74,1.15,77,1.657,96,0.992,97,1.557,98,1.435,101,1.703,134,1.15,152,0.478,188,1.282,195,2.037,196,1.134,205,1.817,249,1.455,253,1.17,257,1.609,275,2.831,318,1.55,333,0.794,341,1.829,347,1.068,360,0.844,361,1.897,408,1.978,409,1.923,447,1.307,452,1.829,480,1.775,532,1.499,542,1.829,543,1.609,575,1.055,596,2.242,597,2.288,599,2.167,604,1.455,648,1.681,661,0.606,663,1.269,665,2.365,669,2.313,671,2.734,676,2.185,684,2.289,720,1.382,780,0.289,795,1.772,838,1.772,1065,2.71,1072,2.335,1115,1.829,1134,1.382,1209,1.578,1247,1.723,1279,1.643,1280,1.643,1293,1.681,1313,1.399,1340,2.846,1379,1.477,1490,1.416,1540,1.723,1544,1.578,1598,2.846,1936,1.28,2068,1.365,2073,1.578,2318,2.242,2482,1.829,2496,1.55,2655,1.772,2658,3.168,2703,3.633,2704,2.271,2705,1.983,2706,1.983,2707,1.983,2708,2.097,2709,2.097,2710,2.097,2711,2.097,2712,2.097,2713,2.271,2714,2.097,2715,2.097,2716,2.097,2717,2.097,2718,2.097,2719,2.097,2720,2.097,2721,2.097,2722,2.097,2723,2.097,2724,2.271,2725,2.097,2726,2.097,2727,4.806,2728,4.806,2729,2.097,2730,2.097,2731,2.271,2732,2.097,2733,2.097,2734,2.097,2735,1.983,2736,1.772,2737,2.097,2738,2.097,2739,2.097,2740,2.271,2741,1.829,2742,1.983,2743,2.097,2744,1.829,2745,1.897]],["t/980",[58,2.817,253,2.947,661,2.644,684,3.654,1206,5.439,2746,8.652]],["t/982",[101,1.774,152,1.888,428,4.944,445,1.356,480,4.051,554,2.059,599,1.996,661,2.395,684,3.804,687,1.816,1040,2.582,1206,3.547,1212,3.486,1215,1.915,1250,5.563,2746,5.643,2747,6.463,2748,3.8,2749,5.643]],["t/984",[101,1.603,152,1.757,321,4.137,428,5.107,445,1.225,480,3.771,518,3.072,554,1.916,576,2.874,599,1.803,661,2.23,684,3.928,687,1.69,1040,3.242,1206,3.204,1209,4.057,1215,1.783,2746,5.097,2748,3.432,2750,5.838,2751,8.355,2752,8.355]],["t/986",[428,5.055,576,4.048,602,2.531,633,5.429,635,5.002,661,2.813,684,3.888,980,7.179,1171,5.894,1206,4.513,1212,4.435,1243,5.517]],["t/988",[101,1.751,152,1.87,195,3.303,445,1.338,480,4.014,554,2.04,599,1.969,661,1.702,684,3.28,687,1.799,1040,3.352,1171,4.972,1215,1.898,1243,5.967,1250,6.285,2748,3.749,2753,5.89]],["t/990",[101,1.706,152,1.836,195,3.218,445,1.303,480,3.941,518,5.313,554,2.003,599,1.919,661,1.658,684,3.221,687,1.767,1040,3.151,1068,5.191,1171,5.645,1206,4.793,1215,1.864,1250,5.446,2748,3.653,2754,6.213]],["t/992",[101,1.706,152,1.836,195,3.218,445,1.303,480,3.941,554,2.003,599,1.919,646,7.017,661,1.658,684,3.221,687,1.767,1040,3.151,1171,5.645,1206,4.793,1215,1.864,1250,5.446,1745,5.738,2748,3.653,2755,6.213]],["t/994",[101,1.706,152,1.836,195,3.218,445,1.303,480,3.941,554,2.003,599,1.919,661,1.658,684,3.221,687,1.767,1040,3.151,1171,5.645,1206,4.793,1215,1.864,1250,5.446,2639,8.436,2748,3.653,2756,6.213,2757,6.213]],["t/996",[101,1.706,152,1.836,195,3.218,445,1.303,480,3.941,554,2.003,599,1.919,661,1.658,684,3.221,687,1.767,1040,3.151,1114,7.475,1171,5.645,1206,4.793,1215,1.864,1250,5.446,2748,3.653,2749,5.425,2758,6.213]],["t/998",[101,1.583,152,1.742,195,2.988,321,5.87,445,1.21,480,3.739,518,4.358,554,1.9,599,1.781,661,1.539,674,3.255,684,3.907,687,1.676,1040,3.359,1171,5.922,1206,4.547,1209,5.757,1215,1.768,1490,3.598,2748,3.391,2759,5.768]],["t/1000",[58,2.937,425,6.075,685,4.005,1227,7.842]],["t/1002",[101,2.337,128,4.135,129,4.055,271,3.678,661,2.271,685,3.3,687,1.722,918,3.886,1040,2.449,1791,6.032,1800,4.029,2760,7.432,2761,5.62,2762,4.804]],["t/1004",[223,5.795,253,3.14,2763,10.559]],["t/1006",[79,3.059,97,1.934,101,2.464,128,3.139,129,3.079,152,1.359,223,3.547,271,3.879,480,4.051,554,1.482,584,2.95,599,1.996,661,1.725,663,3.613,685,3.48,687,2.086,688,3.347,1040,1.859,1180,5.399,1215,1.379,1800,3.059,2748,3.8,2760,5.643,2761,4.267,2762,5.066]],["t/1008",[351,4.633,383,5.764,1662,6.763,2318,5.647,2496,6.763,2764,9.151]],["t/1010",[1040,3.105,2765,9.969]],["t/1012",[1,1.182,596,5.425,597,5.537,1040,3.323,1800,4.506,2335,6.887]],["t/1014",[1,1.182,596,5.425,597,5.537,1068,9.651,1800,4.506,2337,6.887]],["t/1016",[345,6.933,1806,5.189,2766,10.333]],["t/1018",[1806,4.617,2767,10.795]],["t/1020",[1806,4.617,2768,10.795]],["t/1022",[59,4.9,661,2.271,687,1.722,802,6.301,1061,6.813,1668,4.672,1800,4.029,2748,5.005,2769,8.512,2770,8.412,2771,8.512,2772,8.512]],["t/1024",[275,4.256,518,4.116,626,5.791,661,2.088,687,2.065,918,3.572,1304,7.557,1668,4.294,1800,4.833,2770,8.869,2773,7.823,2774,7.823,2775,7.225,2776,6.83]],["t/1026",[1,0.963,275,5.121,661,1.848,687,1.904,711,5.127,802,5.127,918,3.162,1040,1.992,1061,6.759,1304,6.968,1305,4.214,1668,3.801,1710,5.257,1800,3.278,2770,7.346,2776,6.047,2777,6.926,2778,6.926,2779,6.926,2780,6.926]],["t/1028",[1,0.996,152,1.018,195,2.508,278,2.528,480,2.186,554,1.111,575,2.251,577,2.384,599,1.496,661,1.292,687,1.771,688,2.508,918,2.211,1215,1.033,1462,3.585,1668,2.658,1800,5.388,2762,4.111,2770,7.601,2775,6.727,2781,4.843,2782,4.843,2783,8.503,2784,4.843,2785,4.843,2786,4.843,2787,4.843,2788,4.843,2789,4.843,2790,4.843,2791,5.392,2792,4.843,2793,4.843,2794,4.843,2795,4.843,2796,4.843,2797,4.843]],["t/1030",[26,4.781,195,5.132,661,2.644,684,3.654,1662,6.763,2798,7.981]],["t/1032",[101,2.665,428,4.655,661,2.591,687,1.964,1040,2.793,2748,5.709,2799,9.71]],["t/1034",[26,4.781,195,5.132,661,2.644,684,3.654,1662,6.763,2798,7.981]],["t/1036",[101,2.665,428,4.655,661,2.591,687,1.964,1040,2.793,2748,5.709,2800,9.71]],["t/1038",[26,4.781,195,5.132,661,2.644,684,3.654,1662,6.763,2798,7.981]],["t/1040",[101,2.665,428,4.655,661,2.591,687,1.964,1040,2.793,2748,5.709,2801,9.71]],["t/1042",[26,4.781,195,5.132,661,2.644,684,3.654,1662,6.763,2798,7.981]],["t/1044",[101,2.665,428,4.655,661,2.591,687,1.964,1040,2.793,2748,5.709,2802,9.71]],["t/1046",[58,2.76,97,2.906,134,4.917,685,3.764,772,6.411,1227,7.37,1800,4.596]],["t/1048",[1,1.044,1800,6.066,2306,6.105,2307,6.105,2308,6.105,2309,6.105,2310,5.791,2409,5.543,2770,7.967,2783,9.923]],["t/1050",[13,3.057,58,2.76,129,4.625,501,7.578,544,5.428,947,7.578,1669,7.578]],["t/1052",[1040,2.972,1276,6.286,1708,9.542,1710,7.842]],["t/1054",[45,3.759,74,3.273,96,2.822,97,3.086,101,2.464,174,4.491,253,1.922,269,3.98,275,3.516,351,3.022,360,2.403,366,5.205,532,4.267,661,1.725,674,3.647,684,3.804,1040,1.859,1188,5.643,1365,3.428,1673,5.968,2101,4.905,2318,3.683,2798,7.23,2803,6.463,2804,5.968,2805,6.463]],["t/1056",[1040,3.105,2806,10.795]],["t/1058",[13,3.185,684,3.731,1040,2.91,1059,8.452,2807,10.117]],["t/1060",[58,3.001,685,4.093,1227,8.014]],["t/1062",[1,1.128,271,3.813,483,5.655,1307,6.022,1800,5.962,2770,8.604,2783,7.704]],["t/1064",[1040,3.105,2765,9.969]],["t/1066",[345,6.933,1806,5.189,2808,10.333]],["t/1068",[1806,4.617,2809,10.795]],["t/1070",[33,2.661,61,1.793,74,2.292,79,2.142,97,2.071,101,2.783,128,2.198,129,2.156,131,2.462,152,1.455,271,3.63,331,4.499,332,2.753,428,5.124,445,0.949,554,1.587,567,2.507,584,2.066,599,1.398,661,1.846,663,2.53,685,3.647,687,1.4,857,3.951,918,2.066,1040,1.99,1215,1.477,1436,4.642,1800,3.275,2760,3.951,2761,4.568,2762,3.905,2791,5.122,2810,5.122,2811,3.35,2812,4.526]],["t/1072",[275,5.504,661,2.7,1668,5.553,2748,5.948,2813,10.117]],["t/1074",[205,4.673,326,4.54,347,4.759,601,7.678,657,7.488]],["t/1076",[101,2.665,206,3.716,233,4.655,299,4.07,1652,5.378,2814,6.515,2815,9.71]],["t/1078",[13,3.635,58,2.965,101,2.219,152,1.7,445,1.696,554,1.854,650,5.619,661,2.157,1215,1.725,1771,7.916,2744,6.512,2816,7.059,2817,8.085]],["t/1080",[32,3.814,55,4.758,101,2.017,152,1.545,200,5.106,350,5.734,445,1.541,535,4.069,554,1.685,661,1.961,714,4.644,797,4.93,1215,1.568,1703,6.278,1792,6.138,1794,7.644,2818,9.795,2819,6.785]],["t/1082",[32,3.78,58,2.76,205,4.485,326,4.358,333,3.393,347,4.568,650,6.748]],["t/1084",[13,3.552,56,4.478,58,2.603,101,2.514,326,4.11,661,2.444,1771,6.95,1791,6.489,2816,7.996]],["t/1086",[32,3.892,55,4.856,101,2.08,152,1.593,350,5.914,445,1.59,535,4.197,554,1.738,661,2.022,797,5.084,1215,1.617,1703,6.408,1791,5.369,1792,6.331,1793,8.053,1794,7.802]],["t/1088",[13,2.83,58,2.555,85,4.889,132,5.342,196,4.486,206,3.44,326,4.033,344,4.486,346,6.03,650,6.246,1693,6.653]],["t/1090",[58,3.364,132,5.89,567,5.488,2820,10.929]],["t/1092",[13,3.984,58,3.364,567,5.488]],["t/1094",[1,0.937,205,4.23,253,2.724,347,4.308,584,4.181,1756,6.95,2762,5.168,2821,6.489,2822,9.158,2823,8.457]],["t/1096",[345,6.933,1806,5.189,2824,10.333]],["t/1098",[1806,4.617,2825,10.795]],["t/1100",[1806,4.617,2826,10.795]],["t/1102",[55,3.862,58,2.933,101,2.183,152,1.672,206,3.043,299,3.333,445,1.668,554,1.824,1215,1.697,1788,6.943,2814,5.335,2820,10.578,2827,6.405,2828,10.318]],["t/1104",[13,3.701,58,2.784,101,2.017,132,4.367,152,1.545,233,3.522,326,3.297,344,3.668,425,4.32,445,1.541,524,5.206,538,4.583,554,1.685,661,1.961,1215,1.568,1771,7.434,2816,6.415,2829,6.785]],["t/1106",[32,3.37,55,4.204,101,1.684,118,4.116,132,6.475,152,1.29,205,2.834,253,1.824,347,2.886,445,1.287,554,1.407,661,1.637,703,4.439,720,3.732,797,4.116,1040,1.765,1215,1.309,1463,3.177,1703,5.547,1711,5.356,1792,5.125,1793,6.971,1794,7.826,2823,5.665,2830,7.557,2831,5.665]],["t/1108",[56,4.162,58,3.362,85,4.631,143,5.005,174,5.916,326,3.82,345,5.711,408,4.28,409,4.162,662,6.643,665,5.118,1219,5.242]],["t/1110",[55,4.13,85,4.626,101,1.642,143,3.517,152,1.788,206,2.29,350,4.669,408,3.008,409,2.925,445,1.255,535,3.314,554,1.95,599,1.848,661,1.596,665,5.112,687,2.001,918,2.731,1040,2.446,1072,2.685,1215,1.814,1219,3.684,1703,5.449,1791,4.239,1793,6.848,1794,6.635,1796,5.223]],["t/1112",[56,4.478,58,2.603,85,4.982,143,5.384,326,4.11,408,4.604,409,4.478,665,5.506,1219,5.64,1669,7.147]],["t/1114",[665,7.204,687,2.047,1040,2.91,2832,9.343]],["t/1116",[101,2.257,152,1.729,206,3.147,299,3.447,445,1.725,554,1.886,665,4.944,687,1.664,1040,2.365,1215,1.755,2814,5.517,2832,7.594,2833,5.826,2834,10.543,2835,8.223]],["t/1118",[85,4.123,101,2.08,152,1.593,206,2.9,554,1.738,599,2.34,661,2.022,665,6.011,687,2.264,918,3.46,1040,2.876,1072,3.401,1215,1.617,1219,4.667,1669,5.914,1703,4.856,1796,6.616]],["t/1121",[152,1.645,227,5.087,376,3.677,554,1.794,599,2.416,661,2.088,676,3.594,687,2.065,918,3.572,1072,3.511,1211,4.12,1215,1.669,1318,4.945,1667,6.543]],["t/1123",[152,1.593,227,4.927,378,5.488,554,1.738,599,2.34,661,2.022,676,3.52,687,2.023,918,3.46,1029,4.646,1040,2.876,1072,3.401,1215,1.617,1483,7.234,2836,6.616]],["t/1125",[37,3.51,152,1.499,227,4.637,333,2.492,378,5.269,383,4.148,445,1.496,554,1.636,602,2.195,661,1.903,676,2.51,968,5.278,1029,3.314,1040,3.122,1215,1.522,1472,5.743,1483,5.159,1731,6.552,1732,6.552,2837,6.226]],["t/1127",[37,4.46,152,1.905,206,2.507,227,4.259,333,2.289,378,4.973,445,1.374,554,2.078,599,2.023,661,1.748,676,3.19,687,1.833,968,4.849,1029,3.044,1040,2.988,1072,2.94,1215,1.933,1483,6.556,1732,6.183,2838,5.719]],["t/1129",[152,1.7,227,5.257,344,5.206,554,1.854,599,2.497,602,3.211,661,2.157,687,2.11,918,3.691,1040,3,1072,3.628,1215,1.725,1289,5.257]],["t/1131",[58,2.842,152,1.593,227,4.927,378,5.488,554,1.738,599,2.34,661,2.022,676,3.52,687,2.023,748,6.011,918,3.46,1072,3.401,1215,1.617,1483,7.234,1657,6.103]],["t/1133",[32,3.706,58,2.706,205,4.397,206,3.643,326,4.272,333,3.326,347,4.478,426,4.686]],["t/1135",[1,1.012,32,2.905,43,5.185,61,2.956,64,3.99,295,5.092,336,5.092,365,4.851,376,2.687,445,1.565,507,4.716,676,2.627,704,5.662,802,5.523,896,6.514,1211,3.011,1212,4.024,1565,4.851,1667,4.781,2839,7.461,2840,7.461]],["t/1137",[247,5.809,376,3.882,523,6.481,676,2.997,1201,4.081,1211,4.349,1410,4.9,1666,7.861,1667,5.455,1671,7.861,2841,7.861]],["t/1139",[1667,6.918,2842,9.019]],["t/1141",[676,3.489,684,3.654,1040,2.85,1065,4.327,1340,7.17,2843,9.909]],["t/1143",[333,3.463,374,7.17,476,4.577,1040,2.85,1095,8.652,1463,5.132]],["t/1145",[1,0.937,58,3.207,333,4.46,1463,4.743,1756,6.95,2821,6.489]],["t/1147",[344,5.158,602,3.181,1040,2.972,1289,6.719]],["t/1149",[1,0.937,602,2.819,669,5.384,676,3.224,1040,2.634,1235,4.672,1598,6.626,1756,6.95,2821,6.489,2844,9.158]],["t/1151",[58,3.001,783,8.706]],["t/1153",[58,3.001,1086,9.588]],["t/1155",[58,2.378,97,2.503,101,2.296,134,4.236,408,4.205,409,4.09,476,3.864,665,5.029,676,2.945,720,5.089,748,6.409,793,6.349,1657,6.737,1756,6.349]],["t/1157",[19,2.882,32,3.435,55,4.286,58,3.134,205,4.076,347,4.151,584,4.028,657,8.901,659,7.372]],["t/1159",[26,4.257,32,3.435,58,3.134,66,4.843,143,5.187,408,4.436,409,4.314,599,2.725,662,8.604,665,5.305]],["t/1161",[58,2.555,62,6.653,168,5.681,344,4.486,426,5.49,778,6.368,795,7.014,1040,2.585,1107,7.239,1660,8.3]],["t/1163",[176,5.869,1040,3.245,1800,4.335,2845,9.158,2846,9.158,2847,6.25,2848,9.158,2849,9.158,2850,9.158]],["t/1165",[55,4.623,176,6.1,1702,7.953,1732,6.496,1800,4.506,2847,6.496,2851,8.311,2852,9.519]],["t/1167",[58,2.653,104,7.537,326,4.189,333,3.262,447,5.374,661,2.491,1732,6.371,2853,9.335]],["t/1169",[345,6.788,1806,5.124,2854,10.117,2855,10.117]],["t/1171",[1806,4.617,2856,10.795]],["t/1173",[1806,4.617,2857,10.795]],["t/1175",[1806,4.617,2858,9.969]],["t/1177",[784,5.744,1806,4.516,2859,10.559]],["t/1179",[784,5.744,1806,4.516,2860,10.559]],["t/1181",[13,1.676,58,3.6,101,1.461,152,1.119,206,2.037,233,2.552,299,2.232,376,1.917,445,1.117,554,1.221,657,6.854,662,7.226,676,1.874,783,5.537,1086,7.226,1211,2.148,1215,1.136,1654,7.217,1655,7.217,1656,7.217,1667,5.008,1678,6.529,1948,5.082,2814,3.572,2827,4.288]],["t/1183",[152,1.645,227,5.087,376,3.677,554,1.794,599,2.416,661,2.088,676,3.594,687,2.065,918,3.572,1072,3.511,1211,4.12,1215,1.669,1318,4.945,1667,6.543]],["t/1185",[32,3.058,97,1.217,101,1.749,132,2.418,152,0.855,196,2.031,205,4.458,232,2.686,233,1.95,326,2.86,336,2.776,347,4.54,408,2.045,409,1.989,445,0.853,535,3.529,554,0.933,599,1.256,650,2.827,659,3.399,661,2.096,662,3.175,676,2.243,697,3.757,720,2.475,748,2.446,797,2.73,1058,2.645,1065,1.777,1215,0.868,1463,2.107,1543,5.36,1702,5.323,1703,5.696,1704,5.563,1705,5.563,1712,3.757,1726,3.757,1788,3.552,1800,1.926,1813,3.399,1863,3.552,2830,3.552,2831,3.757,2847,4.349,2861,4.068,2862,4.068,2863,4.068,2864,3.757,2865,4.068,2866,4.068]],["t/1187",[19,1.536,55,4.177,58,2.025,97,1.407,101,1.955,152,1.498,183,3.568,206,2.726,333,3.005,353,2.001,375,2.399,376,1.694,426,2.315,445,0.986,537,1.525,554,1.634,557,3.48,599,1.452,602,1.447,661,1.255,687,1.441,741,3.013,1040,1.352,1045,3.013,1088,5.154,1090,5.273,1092,5.273,1093,5.273,1211,1.897,1215,1.52,1800,5.135,2847,4.861,2851,4.105,2867,5.951,2868,5.951,2869,7.123]],["t/1189",[37,3.51,58,2.027,101,1.957,152,1.499,326,3.2,333,3.355,383,4.148,445,1.496,554,1.636,602,2.195,661,1.903,676,2.51,861,6.226,1040,3.122,1215,1.522,1302,3.846,1463,3.693,1731,6.552,1732,6.552,2837,6.226]],["t/1191",[37,3.182,58,1.837,101,1.774,152,1.888,326,2.9,333,3.137,375,3.297,445,1.356,554,2.059,599,1.996,661,1.725,676,2.275,687,1.816,743,3.932,861,5.643,1029,5.178,1040,2.967,1215,1.915,1463,3.347,1732,6.126,2838,5.643]],["t/1193",[58,2.154,101,2.08,152,1.593,375,3.866,415,4.053,554,1.738,599,2.34,661,2.022,687,2.264,918,3.46,1029,5.529,1040,2.876,1215,1.617,1657,6.103,2836,6.616]],["t/1195",[58,2.953,101,1.798,152,1.905,333,4.359,445,1.374,554,2.078,599,2.023,643,3.938,661,1.748,667,5.276,687,1.833,918,2.99,968,4.849,1040,1.884,1215,1.933,1727,3.12,1732,6.183,2870,6.049]],["t/1197",[32,2.95,58,2.154,113,3.086,253,2.973,344,3.783,461,4.645,529,4.236,537,3.63,689,3.46,704,5.751,744,3.705,1049,4.123,1272,5.266,1319,5.003,1696,5.609,2871,6.998]],["t/1199",[345,6.933,1806,5.189,2872,10.333]],["t/1201",[1806,4.617,2873,10.795]],["t/1203",[1806,4.617,2874,10.795]],["t/1205",[1806,4.617,2875,10.795]],["t/1207",[1806,4.617,2876,9.969]],["t/1209",[1806,4.617,2877,10.795]],["t/1211",[1806,4.617,2878,9.425]],["t/1213",[1806,4.617,2879,10.795]],["t/1215",[1806,4.617,2880,10.795]],["t/1217",[321,7.021,537,3.215,584,4.524,2762,5.592,2881,9.909,2882,9.151]],["t/1219",[461,4.2,602,3.114,689,4.619,1040,2.91,2883,8.833]],["t/1221",[1,0.841,77,3.464,190,4.164,191,4.597,422,5.95,537,3.421,689,3.754,694,4.734,777,3.711,947,6.417,1040,2.365,1287,9.083,1802,6.241]],["t/1223",[676,3.489,1029,4.605,1031,5.055,1040,2.85,1201,4.75,1319,6.542]],["t/1225",[58,3.001,685,4.763]],["t/1227",[58,3.001,1099,7.387]],["t/1229",[55,4.572,58,3.411,101,1.901,152,1.456,206,2.651,233,3.32,299,2.903,445,1.453,554,1.589,685,4.145,1099,6.43,1215,1.478,1675,7.145,2814,4.647,2827,5.578,2884,8.219]],["t/1231",[58,1.701,79,2.832,128,2.906,129,2.85,152,1.258,206,2.29,227,3.89,271,3.674,333,3.456,445,1.255,461,2.483,537,1.941,554,1.372,580,4.275,661,1.596,676,2.106,1029,3.951,1031,3.052,1040,2.446,1201,2.868,1215,1.277,1263,4.083,1767,4.818,2810,6.294,2811,6.294,2885,5.983,2886,6.025,2887,6.848]],["t/1233",[55,1.993,58,1.823,79,1.942,128,1.993,129,1.954,152,1.349,190,3.248,206,1.57,253,1.22,271,3.413,333,2.76,376,1.478,445,0.861,537,2.562,554,1.471,580,3.225,584,1.873,599,1.267,661,1.095,676,1.444,685,1.59,687,1.298,689,3.605,694,2.362,777,1.852,918,1.873,1029,1.907,1040,3.195,1201,1.967,1215,1.369,1319,5.214,1668,2.252,2762,3.62,2791,4.748,2810,4.748,2811,4.748,2886,4.545,2887,5.166,2888,4.103,2889,5.166,2890,5.359,2891,5.6]],["t/1235",[30,1.803,32,1.231,55,1.536,58,1.479,61,1.253,80,2.122,86,1.768,96,1.381,97,0.946,101,1.821,152,1.095,188,1.785,190,3.359,206,1.21,269,1.948,333,2.318,335,1.973,344,1.579,371,2.642,428,2.495,445,0.663,537,2.152,554,1.194,580,1.59,599,2.374,602,1.602,661,0.844,676,1.832,684,2.835,687,1.555,689,3.028,741,2.027,777,1.427,918,1.444,1029,3.572,1031,1.613,1040,3.241,1053,2.4,1054,2.198,1201,2.495,1215,1.111,1242,3.492,1243,4.45,1316,2.468,1319,3.436,1543,2.158,1873,2.761,1954,3.29,2886,3.688,2887,4.192,2889,4.192,2890,4.349,2891,4.544,2892,3.163,2893,3.766,2894,2.921,2895,2.921,2896,3.163]],["t/1237",[19,1.352,32,1.611,58,1.835,61,1.64,74,2.095,101,1.136,152,1.358,190,4.021,333,2.775,344,3.223,353,1.761,360,1.538,428,1.984,445,0.868,480,2.914,537,2.095,554,1.481,599,2.77,602,2.444,661,1.723,687,1.306,689,4.095,694,2.382,773,2.776,777,3.584,909,2.824,918,1.889,1040,2.965,1045,2.652,1134,4.831,1183,3.333,1215,1.378,1281,2.433,1954,2.615,2639,3.457,2689,4.901,2886,4.575,2889,5.201,2893,4.672,2897,4.138]],["t/1239",[152,1.359,388,4.676,445,1.356,461,3.726,537,2.097,548,5.399,554,1.482,580,5.602,661,1.725,676,2.275,1040,2.967,1215,1.379,1287,5.044,1319,4.267,1668,3.547,1867,5.643,2762,5.066,2871,5.968,2887,7.23,2889,7.23,2898,6.463,2899,8.976]],["t/1241",[19,2.437,58,2.121,85,4.059,97,2.233,126,3.894,253,2.219,326,3.348,333,3.458,426,3.673,523,4.486,537,3.602,560,4.435,577,3.673,749,5.006,753,4.386,1097,6.514,1652,4.132,1653,6.233,2900,6.89]],["t/1243",[2762,6.092,2901,10.795]],["t/1245",[1474,9.219,1800,4.998,2847,7.206]],["t/1247",[1040,3.105,1743,9.969]],["t/1249",[1040,3.105,1252,9.019]],["t/1251",[1040,3.105,2902,10.795]],["t/1253",[1040,3.105,1466,7.99]],["t/1255",[1741,9.969,2762,6.092]],["t/1257",[1040,3.105,1263,7.367]],["t/1259",[1040,3.105,2903,10.795]],["t/1261",[1089,6.971,1800,4.998,2867,8.822]],["t/1263",[1091,6.971,1800,4.998,2868,8.822]],["t/1265",[1098,6.866,1800,4.998,2904,9.219]],["t/1267",[345,6.933,1806,5.189,2905,10.333]],["t/1269",[1806,4.617,2906,10.795]],["t/1271",[1806,4.617,2907,10.795]],["t/1273",[1806,4.617,2908,10.795]],["t/1275",[1806,4.617,2858,9.969]],["t/1277",[1806,4.617,2909,10.795]],["t/1279",[1806,4.617,2910,10.795]],["t/1281",[176,6.223,1073,7.37,1800,4.596,1893,7.821,2847,6.627,2911,8.967,2912,7.821]],["t/1283",[176,6.622,1073,7.842,2912,8.322,2913,10.333]],["t/1285",[176,6.767,1730,9.219,1731,7.206]],["t/1287",[176,6.767,1740,8.822,2914,10.559]],["t/1289",[176,6.767,1731,7.206,2915,9.219]],["t/1291",[176,6.767,2890,8.822,2916,10.559]],["t/1293",[1800,4.998,2917,9.751,2918,9.751]],["t/1295",[13,1.349,19,2.167,58,1.218,97,1.282,101,1.821,152,0.901,168,2.708,227,2.786,233,2.054,332,2.607,333,2.318,344,2.139,375,2.186,376,1.543,426,2.109,445,0.899,461,1.779,476,1.979,537,1.39,554,0.983,602,1.319,689,1.956,741,2.746,778,4.701,1040,1.232,1045,2.746,1049,2.331,1088,4.8,1090,4.911,1092,4.911,1093,4.911,1107,3.451,1211,1.729,1215,0.914,1466,3.172,1490,2.673,1769,5.343,1800,5.595,2814,2.875,2833,3.036,2847,4.528,2867,5.543,2868,5.543,2904,5.793,2917,6.127,2919,6.634]],["t/1297",[19,3.049,104,7.537,512,7.085,661,2.491,778,6.614,1182,8.15,1699,7.285,1733,8.621]],["t/1299",[19,3.049,104,7.537,512,7.085,661,2.491,778,6.614,1182,8.15,1699,7.285,2920,9.335]],["t/1301",[101,2.422,143,5.187,333,3.083,447,5.079,661,2.942,771,7.106,1063,7.372,1066,6.886,1107,7.106,1527,8.148,1773,6.886]],["t/1303",[32,2.776,101,1.957,152,1.499,326,3.2,378,3.914,409,3.487,445,1.496,529,3.986,537,2.313,550,6.452,554,1.636,661,1.903,676,2.51,749,6.441,777,3.218,1040,3.122,1215,1.522,1479,6.153,2921,7.13]],["t/1305",[96,2.46,97,2.862,101,2.236,126,4.251,152,1.185,326,2.528,360,2.095,445,1.182,454,3.243,529,4.553,537,3.4,545,2.988,551,2.65,554,1.292,601,4.276,661,2.173,741,3.611,1058,3.663,1073,6.181,1215,1.202,1240,3.845,1800,4.527,1893,6.559,2847,5.558,2911,5.203,2912,6.559,2922,5.634,2923,4.538]],["t/1307",[13,2.349,37,3.673,61,2.956,101,2.048,124,4.781,326,3.348,363,5.822,376,2.687,449,4.851,661,1.991,674,4.211,676,3.484,694,4.295,748,4.486,855,5.398,1040,2.146,1201,3.577,1263,5.092,1730,6.514,1731,5.092,1732,5.092]],["t/1309",[13,2.15,37,3.361,61,2.706,101,1.874,124,4.376,152,1.436,326,3.064,333,2.386,363,5.329,376,2.459,445,1.432,449,4.44,554,1.566,661,1.822,676,3.282,694,3.931,748,4.105,855,4.941,1040,1.964,1201,3.273,1215,1.457,1263,4.66,1463,3.536,1490,4.259,1732,6.362,1740,5.705]],["t/1311",[37,3.51,61,2.825,101,1.957,152,1.499,378,3.914,383,4.148,445,1.496,449,4.637,537,3.115,554,1.636,602,2.195,661,1.903,674,4.024,694,4.105,748,4.287,753,4.192,855,5.159,1029,3.314,1040,2.051,1215,1.522,1302,3.846,1731,6.552,2915,6.226]],["t/1313",[37,4.266,61,3.434,101,2.379,449,5.634,537,3.536,661,2.312,694,4.988,748,5.21,855,6.27,1029,4.027,1490,5.405,1593,6.979]],["t/1315",[101,1.901,152,1.456,188,3.909,333,2.42,426,4.634,554,1.589,599,2.139,661,1.848,669,4.072,687,2.163,918,3.162,1040,3.3,1088,6.811,1215,1.478,1466,6.968,1767,5.578,2924,6.396,2925,9.414]],["t/1317",[85,3.663,101,1.848,152,1.416,344,4.609,461,2.795,537,2.996,554,1.544,599,2.079,602,3.491,661,1.797,687,1.868,698,6.218,918,3.074,1040,3.262,1215,1.437,1289,6.004,2926,6.218,2927,9.234]],["t/1319",[13,2.634,56,4.09,58,3.335,326,3.754,333,2.923,334,5.287,426,4.118,681,5.709,1049,4.551,1087,6.528,2928,8.365,2929,7.304,2930,8.365]],["t/1321",[1040,3.105,2842,9.019]],["t/1323",[1806,4.617,2931,10.795]],["t/1325",[101,2.777,1086,7.895,1652,6.636,2814,6.788]],["t/1327",[13,1.112,55,2.766,58,3.244,94,2.264,97,1.057,101,1.564,152,1.198,206,1.352,333,3.8,375,1.802,376,1.273,425,2.077,426,2.804,445,0.741,461,1.467,537,1.146,554,1.306,567,1.957,599,1.759,661,0.943,687,1.152,689,1.613,741,2.264,748,2.124,783,5.071,1040,1.016,1049,1.922,1088,4.121,1090,4.216,1092,4.216,1093,4.216,1211,1.426,1215,1.215,1466,2.615,1468,2.845,1678,4.759,1769,4.587,1770,4.759,1771,4.323,1772,4.973,1779,3.085,1800,4.985,2847,3.887,2867,4.759,2868,4.759,2904,4.973]],["t/1329",[32,3.565,58,3.207,132,5.444,205,4.23,253,2.724,326,4.11,333,3.2,347,4.308,1693,6.779]],["t/1331",[101,2.665,447,5.59,1652,6.948,1693,7.187,2814,6.515]],["t/1333",[55,5.393,101,2.048,132,6.6,152,1.569,445,1.565,470,8.943,554,1.711,661,1.991,1040,2.846,1215,1.592,1463,3.864,1693,5.523,2932,7.461,2933,9.896]],["t/1335",[58,2.508,79,4.177,109,5.079,253,3.279,271,3.813,580,4.436,685,3.42,743,5.368,744,5.391,1031,4.501]],["t/1337",[1040,3.105,2934,8.424]],["t/1339",[1040,3.105,2935,8.424]],["t/1341",[1040,3.105,1319,7.127]],["t/1343",[1040,3.105,2936,10.795]],["t/1345",[1667,6.918,2842,9.019]],["t/1347",[1806,4.617,2937,9.969]],["t/1349",[1806,4.617,2938,10.795]],["t/1351",[1806,4.617,2939,10.795]],["t/1353",[1806,4.617,2876,9.969]],["t/1355",[1806,4.617,2878,9.425]],["t/1357",[1806,4.617,2940,10.795]],["t/1359",[1806,4.617,2941,10.795]],["t/1361",[58,3.001,685,4.763]],["t/1363",[58,3.001,1099,7.387]],["t/1365",[58,3.533,101,1.929,152,1.478,206,2.689,299,2.946,445,1.474,554,1.612,685,4.176,744,3.436,1099,6.477,1215,1.499,1675,7.215,2814,4.714,2827,5.659,2884,8.3]],["t/1367",[58,2.784,79,3.478,101,2.017,152,1.545,271,3.175,445,1.541,554,1.685,580,3.694,661,1.961,676,2.587,1029,3.414,1031,3.748,1201,3.522,1215,1.568,1263,6.685,1272,7.658,2942,6.785,2943,8.184]],["t/1369",[101,1.823,152,1.923,271,2.87,344,3.315,360,2.469,445,1.393,480,4.128,554,2.098,599,3.231,602,2.044,661,1.772,687,1.85,744,3.247,918,3.032,1040,3.009,1215,1.952,1954,5.781,2893,6.618,2944,6.64]],["t/1371",[101,2.697,152,1.772,206,2.262,271,2.554,344,2.95,360,2.197,428,4.041,445,1.24,554,1.933,599,1.825,602,1.819,661,1.577,684,3.108,687,1.705,744,4.121,918,2.698,1031,3.015,1040,3.257,1215,1.798,1242,5.655,2893,6.098,2945,5.909,2946,7.359]],["t/1373",[58,3.219,79,2.797,152,1.243,206,2.262,227,3.843,271,3.642,333,3.433,445,1.24,554,1.355,580,2.971,661,1.577,744,4.121,1031,4.3,1040,2.424,1215,1.261,1272,6.827,2810,6.239,2811,6.239,2886,5.972,2943,7.042,2946,7.359,2947,5.909]],["t/1375",[32,2.902,152,1.05,320,5.281,344,3.72,445,1.047,476,2.307,512,3.79,554,1.145,575,2.32,576,2.458,582,3.79,587,3.156,602,2.294,622,3.47,661,1.332,689,4.515,724,3.79,743,3.038,744,3.644,776,3.897,777,3.364,802,3.696,989,3.538,1040,2.565,1049,2.717,1098,4.846,1215,1.066,1235,2.547,1668,2.741,1754,4.36,1958,3.897,2485,7.182,2934,5.816,2935,5.816,2948,4.993,2949,7.453,2950,4.993]],["t/1377",[58,2.135,79,2.388,101,1.385,152,1.579,206,1.931,253,1.501,271,3.877,333,3.135,344,2.519,445,1.058,460,2.821,554,1.723,599,1.558,602,1.553,661,1.346,685,2.912,687,1.52,688,2.613,744,3.673,918,2.303,1031,2.574,1040,2.859,1215,1.603,1227,3.829,2762,4.239,2791,5.56,2810,5.56,2811,5.56,2886,5.322,2893,5.435,2946,6.558,2951,5.045]],["t/1379",[19,2.991,32,3.565,58,2.603,113,4.98,253,2.724,480,4.133,685,3.55,751,6.046]],["t/1381",[1806,4.617,2937,9.969]],["t/1383",[1806,4.617,2952,10.795]],["t/1385",[1806,4.617,2953,10.795]],["t/1387",[1806,4.617,2878,9.425]],["t/1389",[1806,4.617,2954,10.795]],["t/1391",[1806,4.617,2955,10.795]],["t/1393",[1,0.793,19,1.72,66,2.89,113,3.157,124,3.374,128,2.557,129,2.508,143,3.096,190,2.666,353,2.241,375,2.686,408,3.897,409,3.79,460,2.943,476,3.581,480,3.499,557,3.898,580,2.647,599,1.626,689,2.404,1029,4.276,1031,2.686,1040,1.515,1072,2.363,1235,2.686,1250,2.84,1297,3.031,1299,3.996,1317,3.243,1330,5.493,1878,4.399,2454,4.863,2842,4.399,2956,4.863,2957,6.768,2958,5.265,2959,4.863,2960,5.265,2961,5.265]],["t/1395",[1040,3.105,2962,10.795]],["t/1397",[1040,3.105,1319,7.127]],["t/1399",[58,3.001,685,4.763]],["t/1401",[58,3.001,1099,7.387]],["t/1403",[58,3.533,101,1.929,113,2.862,152,1.478,206,2.689,299,2.946,445,1.474,554,1.612,685,4.176,1099,6.477,1215,1.499,1675,7.215,2814,4.714,2827,5.659,2884,8.3]],["t/1405",[101,1.529,134,2.82,152,1.698,168,3.52,344,2.78,428,2.67,445,1.168,480,3.645,552,3.946,554,1.852,599,2.494,602,1.714,635,3.388,661,1.486,687,1.634,689,2.542,777,2.513,1040,3.507,1134,3.388,1215,1.723,1954,5.105,2079,4.862,2748,3.274,2893,5.844,2963,5.569,2964,6.747,2965,6.747]],["t/1407",[61,2.259,101,2.643,113,2.322,152,1.727,360,2.119,428,3.937,445,1.196,554,1.884,599,1.76,661,1.521,684,3.029,687,1.662,918,2.602,1040,3.595,1215,1.753,1242,5.511,2893,5.943,2964,6.862,2965,6.862,2966,5.7,2967,6.862]],["t/1409",[55,3.739,58,2.872,101,2.113,152,1.619,445,1.615,554,1.766,580,3.87,661,2.054,676,2.71,1029,3.578,1031,3.927,1201,3.691,1215,1.643,1272,7.836,2942,7.11,2943,8.44]],["t/1411",[55,3.858,58,3.117,101,1.494,113,3.82,152,1.145,206,2.083,271,3.433,333,3.277,360,2.024,445,1.142,480,2.457,554,1.249,661,1.453,685,3.636,689,3.626,1031,2.777,1040,2.285,1215,1.162,1272,6.518,2810,5.88,2811,5.88,2886,5.628,2943,6.636,2967,6.636,2968,5.443]],["t/1413",[55,1.927,58,1.776,79,1.878,97,1.187,101,1.089,113,3.148,152,1.314,253,1.18,271,3.789,333,3.064,344,1.981,360,1.475,445,0.832,461,1.647,537,1.287,554,1.433,584,1.812,599,1.225,602,1.923,661,1.059,663,3.493,685,3.399,687,1.264,689,4.003,777,1.791,918,1.812,1031,2.024,1040,3.159,1049,3.399,1215,1.333,2736,3.097,2762,3.526,2791,4.625,2810,4.625,2811,4.625,2886,4.427,2893,4.521,2964,5.22,2965,5.22,2967,5.22,2969,3.968]],["t/1415",[152,1.592,190,3.833,195,2.641,375,5.097,376,1.837,445,1.07,554,1.736,599,1.575,661,1.361,687,1.531,777,2.301,1029,4.196,1040,3.421,1065,3.943,1171,4.232,1211,2.057,1215,1.615,1262,5.166,1667,3.268,1668,2.799,2748,2.998,2970,5.099,2971,6.097,2972,6.609,2973,5.364,2974,7.57,2975,5.099]],["t/1417",[19,1.438,26,2.124,66,2.416,79,2.084,100,2.906,101,1.208,152,1.424,353,1.873,408,3.406,409,3.312,445,0.923,554,1.554,584,2.01,599,2.092,602,1.355,661,1.175,667,3.545,685,1.706,687,1.37,918,2.01,1029,3.148,1040,3.168,1215,1.445,1276,2.678,1297,3.9,1330,5.851,1410,2.534,1604,5.014,1727,3.227,2762,3.823,2791,5.014,2957,5.914,2976,4.402,2977,6.774,2978,6.774,2979,6.256,2980,6.256,2981,5.456,2982,4.402,2983,4.402]],["t/1419",[26,3.161,79,3.101,101,1.798,152,1.377,271,2.831,554,1.502,584,2.99,599,2.023,661,1.748,687,1.833,918,2.99,1040,3.384,1215,1.398,1667,4.198,1946,4.14,2762,5.114,2791,6.707,2979,6.049,2984,6.55,2985,6.049,2986,6.55,2987,6.55,2988,6.55,2989,6.049]],["t/1421",[19,2.373,26,1.743,66,1.983,79,1.71,100,2.385,101,0.992,109,2.079,113,2.958,152,1.219,271,2.506,353,3.091,360,1.343,376,1.301,408,2.915,409,2.835,445,0.758,480,3.278,554,1.33,584,1.649,599,1.115,661,0.964,685,2.248,687,1.173,777,1.63,918,1.649,1029,1.679,1040,3.304,1211,1.458,1215,1.237,1233,3.018,1250,1.948,1297,4.182,1330,5.147,1604,4.292,1667,3.716,1727,1.721,1946,3.665,2762,3.272,2791,4.292,2957,3.154,2959,3.336,2980,5.355,2985,5.355,2989,5.355,2990,3.612,2991,5.798,2992,5.798,2993,5.798,2994,3.612,2995,2.909]],["t/1423",[58,2.706,85,5.178,132,5.658,134,4.82,253,2.831,409,4.654,749,6.386,1219,5.862]],["t/1425",[1667,6.918,2996,9.969]],["t/1427",[1040,3.105,1042,9.969]],["t/1429",[345,6.933,1806,5.189,2997,10.333]],["t/1431",[101,2.665,132,5.772,206,3.716,299,4.07,783,6.88,1652,5.378,2814,6.515]],["t/1433",[55,3.569,101,2.017,132,6.55,152,1.545,301,8.7,445,1.541,550,6.55,554,1.685,661,1.961,1039,6.785,1040,2.818,1215,1.568,1784,9.206]],["t/1435",[58,2.298,94,5.182,101,2.219,132,6.2,152,1.7,445,1.696,550,6.863,554,1.854,661,2.157,1040,2.326,1044,7.467,1215,1.725,1784,8.714]],["t/1437",[30,3.683,37,5.077,58,2.552,94,4.142,196,3.226,235,3.579,332,3.932,375,3.297,376,3.233,383,3.759,415,3.456,476,2.985,552,4.579,576,3.182,580,3.249,681,4.411,718,5.205,750,3.932,753,3.8,780,0.824,1029,3.003,1065,2.822,1301,5.261,1807,5.044,1808,6.495]],["t/1439",[1040,3.105,2998,9.425]],["t/1441",[1,1.182,378,5.224,388,6.887,887,5.425,1800,4.506,2999,9.519,3000,8.79]],["t/1443",[1040,3.105,3001,10.795]],["t/1445",[1040,3.105,3002,10.795]],["t/1447",[1040,3.105,3003,10.795]],["t/1449",[2762,6.092,3004,10.795]],["t/1451",[1040,3.105,3005,9.425]],["t/1453",[1800,4.998,3006,9.751,3007,9.219]],["t/1455",[1800,4.998,3006,9.751,3008,9.219]],["t/1457",[1,1.057,1040,2.972,1302,5.573,2821,7.322]],["t/1459",[3000,9.969,3009,9.019]],["t/1461",[2762,6.092,3010,9.425]],["t/1463",[2762,6.092,3011,10.795]],["t/1465",[1040,3.105,2642,8.694]],["t/1467",[1040,3.105,3012,10.795]],["t/1469",[1040,3.105,2485,8.694]],["t/1471",[345,6.933,1806,5.189,3013,10.333]],["t/1473",[1040,2.91,1468,8.148,1780,7.168,1806,4.327,3014,10.117]],["t/1475",[1806,4.617,3015,10.795]],["t/1477",[1806,4.617,3016,10.795]],["t/1479",[1806,4.617,3017,10.795]],["t/1481",[1806,4.617,3018,10.795]],["t/1483",[1806,4.617,3019,10.795]],["t/1485",[1040,2.91,1468,8.148,1806,4.327,2971,8.148,3020,10.117]],["t/1487",[1040,2.91,1806,4.327,2602,8.833,2971,8.148,3021,10.117]],["t/1489",[1806,4.516,2972,9.219,3022,10.559]],["t/1491",[1806,4.617,3023,10.795]],["t/1493",[66,3.857,152,1.478,206,2.689,299,2.946,445,1.474,476,3.246,554,1.612,576,3.459,602,2.163,748,4.225,1040,3.099,1211,2.835,1212,3.79,1215,1.499,1235,3.585,1301,3.585,1554,3.459,1668,3.857,1780,6.736,1810,8.779,2814,4.714,2833,4.979]],["t/1495",[58,1.434,152,1.579,196,2.519,253,1.501,428,2.419,445,1.058,446,2.999,549,3.331,554,1.723,556,4.215,599,1.558,661,2.394,684,3.666,687,1.52,775,4.416,887,5.665,1040,3.057,1065,3.918,1215,1.603,1234,3.651,1250,2.721,1668,2.769,1791,5.322,1894,3.651,2456,4.215,2457,4.215,2973,5.322,3024,4.405,3025,4.747,3026,6.936]],["t/1497",[58,1.419,101,1.371,152,1.567,196,2.493,253,1.485,428,2.394,445,1.047,446,2.968,549,3.297,554,1.71,556,4.172,599,1.542,661,2.38,684,3.647,687,1.508,775,4.382,887,5.636,918,2.28,1040,3.043,1065,3.894,1215,1.59,1234,3.613,1250,2.693,1791,5.281,1894,3.613,2456,4.172,2457,4.172,2973,5.281,3025,4.711,3026,6.883,3027,4.36]],["t/1499",[58,1.299,59,6.423,111,2.888,152,1.466,205,2.11,253,1.359,445,0.958,446,2.716,554,1.599,556,3.817,599,2.919,661,2.255,684,1.685,687,1.913,775,4.097,887,4.816,928,3.305,951,3.989,1040,2.43,1065,3.69,1072,4.568,1215,1.487,1668,2.507,1791,4.938,2456,3.817,2457,3.817,2744,3.679,2745,3.817,3025,4.405,3028,3.565,3029,4.568,3030,4.568,3031,4.219]],["t/1501",[101,1.823,152,1.923,190,3.363,378,5.02,445,1.393,524,6.481,554,2.098,599,2.051,661,1.772,687,1.85,777,2.997,1040,3.009,1065,4.569,1215,1.952,1301,3.388,2973,6.481,3032,6.64,3033,9.146]],["t/1503",[152,1.456,378,5.167,434,3.836,445,1.453,524,4.908,554,1.589,580,3.482,661,1.848,663,3.872,684,3.472,887,5.365,1040,3.076,1065,4.111,1215,1.478,1302,3.736,1668,3.801,2973,6.67,3025,5.95,3034,6.926]],["t/1505",[59,5.079,101,2.422,190,4.468,480,3.982,538,5.503,661,2.354,1235,4.501,1301,4.501,1302,4.759,1672,7.106,3035,8.367]],["t/1507",[59,5.527,152,1.499,378,5.269,445,1.496,554,1.636,587,4.507,661,2.562,684,3.541,775,4.192,887,6.618,1040,2.051,1058,4.637,1215,1.522,1668,3.914,1791,5.052,3025,6.068,3036,6.226]],["t/1509",[101,2.562,253,2.776,661,2.491,689,4.262,750,5.679,1058,6.07,1301,4.762,3037,9.335,3038,9.335]],["t/1511",[37,3.459,101,1.929,152,1.478,376,3.424,507,6.009,552,4.979,554,1.612,599,2.17,661,1.875,687,1.923,743,4.275,918,3.208,1040,2.734,1211,3.836,1215,1.499,1302,3.79,2643,8.3,3039,7.027,3040,8.779]],["t/1513",[30,2.68,37,4.234,56,3.483,101,1.291,152,0.989,188,5.818,191,2.628,205,2.172,235,4.763,265,3.013,332,5.232,335,4.443,336,4.861,348,3.332,356,2.735,376,1.694,445,0.986,447,5.523,507,2.972,554,1.078,602,2.647,607,3.013,661,2.56,814,5.406,1040,1.352,1045,3.013,1072,2.11,1079,4.342,1215,1.003,1301,3.634,1302,2.536,1731,4.861,1812,3.787,3041,4.342,3042,6.579]],["t/1515",[152,1.416,376,3.326,378,5.784,445,1.412,554,1.544,599,2.079,661,1.797,887,3.837,1040,3.418,1211,2.717,1215,1.437,1302,4.98,1668,3.696,2973,7.467,3025,5.836,3043,6.733,3044,9.234]],["t/1517",[37,2.982,101,1.663,152,1.804,265,3.882,376,3.587,415,5.326,445,1.271,554,1.968,599,1.871,661,2.289,687,1.735,989,4.292,1029,4.628,1040,2.865,1211,3.461,1215,1.83,1235,3.09,1301,3.09,1699,4.727,1813,5.061,2971,6.909,3045,6.058]],["t/1519",[101,1.706,152,1.836,445,1.303,554,2.003,567,3.441,599,1.919,661,1.658,687,2.043,775,5.134,777,4.944,918,2.837,1040,2.905,1215,1.864,1301,3.17,1302,6.225,1699,4.849,2972,7.625,3035,4.716,3046,6.213]],["t/1521",[101,1.929,152,1.478,195,3.639,253,2.09,376,2.531,554,1.612,599,2.936,661,1.875,674,3.966,687,2.18,918,3.208,1029,4.418,1040,2.734,1215,1.499,1302,3.79,1808,5.084,3047,7.027,3048,9.506,3049,8.779]],["t/1523",[37,4.009,101,1.547,152,1.713,195,2.918,253,1.675,375,2.874,376,2.933,415,4.356,445,1.182,447,3.243,554,1.868,599,1.74,661,1.503,674,4.596,687,1.935,918,2.572,1029,3.785,1040,2.751,1211,3.286,1215,1.738,1235,2.874,1808,4.076,1813,4.707,2971,6.559,3009,6.804,3050,5.634,3051,5.634,3052,5.634]],["t/1525",[101,2.296,190,5.398,587,6.738,661,2.232,687,1.692,777,4.811,918,3.819,1040,3.066,1301,4.267,1302,4.512,3053,8.365]],["t/1527",[30,3.368,37,4.836,58,2.793,66,3.243,94,3.787,196,2.95,235,3.273,332,3.595,375,3.015,376,3.539,383,3.437,415,3.16,476,2.73,552,4.187,576,4.149,580,2.971,681,4.033,718,4.76,750,3.595,753,3.474,780,0.753,1029,2.746,1065,2.581,1235,3.015,1301,5.012,1508,4.107,1554,2.909,1807,4.612,1808,6.098]],["t/1529",[206,3.792,299,4.154,1668,5.439,1780,7.021,2833,7.021,3054,8.652]],["t/1531",[152,1.788,445,1.255,549,3.95,554,1.95,599,1.848,661,1.596,684,4.196,687,1.72,775,4.999,887,6.138,1040,3.273,1065,4.319,1215,1.814,1234,4.329,1668,3.284,2973,6.025,3024,5.223,3025,5.374]],["t/1533",[101,2.257,661,2.194,684,3.888,687,1.664,775,6.199,887,4.686,918,3.754,1040,3.033,1065,3.591,1234,5.95,2973,5.826,3025,5.197,3027,7.179]],["t/1535",[152,1.7,445,1.696,554,1.854,661,2.783,887,4.608,1040,2.326,1215,1.725,1301,5.321,1668,5.725,3025,6.592,3035,7.916,3036,7.059]],["t/1537",[58,3.03,66,4.591,253,2.488,299,3.507,375,4.267,376,3.013,576,4.118,1235,4.267,1508,5.813,1554,4.118,2051,5.927,3054,7.304,3055,8.365,3056,6.349]],["t/1539",[58,2.337,101,2.257,152,1.729,299,3.447,445,1.725,476,3.798,554,1.886,1040,2.365,1211,3.318,1215,1.755,1301,4.195,1652,4.554,1780,7.471,2833,5.826,3057,8.223]],["t/1541",[59,6.676,152,1.853,445,1.32,554,2.021,599,1.944,661,1.68,687,2.229,775,5.181,887,5.795,918,2.874,1040,2.925,1065,4.441,1215,1.881,1668,3.455,3025,5.57,3028,4.912]],["t/1543",[58,3.03,66,4.591,253,2.488,299,3.507,375,4.267,376,3.013,576,4.118,1235,4.267,1508,5.813,1554,4.118,2051,5.927,3054,7.304,3056,6.349,3058,8.365]],["t/1545",[58,2.337,101,2.257,152,1.729,299,3.447,445,1.725,476,3.798,554,1.886,1040,2.365,1211,3.318,1215,1.755,1301,4.195,1652,4.554,1780,7.471,2833,5.826,3059,8.223]],["t/1547",[59,6.343,152,1.545,445,1.541,554,1.685,661,1.961,687,2.229,775,4.32,887,5.583,918,3.354,1040,2.818,1065,4.278,1215,1.568,1668,4.033,3025,6.191,3028,5.734]],["t/1549",[30,3.368,37,4.836,58,2.793,66,3.243,94,3.787,196,2.95,235,3.273,332,3.595,375,3.015,376,3.539,383,3.437,415,3.16,476,2.73,552,4.187,576,2.909,580,2.971,681,4.033,718,4.76,750,3.595,753,3.474,780,0.753,1029,2.746,1057,4.276,1065,2.581,1212,3.187,1235,3.015,1301,5.012,1554,2.909,1807,4.612,1808,6.098]],["t/1551",[206,3.716,233,4.655,299,4.07,1668,5.329,1780,6.88,2833,6.88,3060,8.112]],["t/1553",[30,3.174,152,1.698,205,2.572,445,1.168,549,3.677,554,1.852,599,1.72,661,1.486,684,4.081,687,1.634,775,4.748,834,4.653,887,5.94,1040,3.183,1065,4.15,1215,1.723,1234,4.029,1668,3.057,2973,5.722,3024,4.862,3025,5.105,3061,5.569,3062,5.569,3063,5.569]],["t/1555",[101,1.622,152,1.772,445,1.24,549,3.902,554,1.933,599,1.825,661,1.577,684,4.176,687,1.705,775,4.955,887,6.104,918,2.698,1040,3.257,1065,4.29,1215,1.798,1234,4.276,2973,5.972,3025,5.327,3027,5.16]],["t/1557",[152,1.7,445,1.696,554,1.854,661,2.783,887,4.608,1040,2.326,1215,1.725,1301,5.321,1668,5.725,3025,6.592,3035,7.916,3036,7.059]],["t/1559",[58,3.03,66,4.591,253,2.488,299,3.507,375,4.267,376,3.013,1057,6.053,1212,4.512,1235,4.267,1554,4.118,2051,5.927,3056,6.349,3060,6.989,3064,8.365]],["t/1561",[58,2.337,101,2.257,152,1.729,299,3.447,445,1.725,476,3.798,554,1.886,1040,2.365,1211,3.318,1215,1.755,1301,4.195,1652,4.554,1780,7.471,2833,5.826,3065,8.223]],["t/1563",[59,6.676,152,1.853,445,1.32,554,2.021,599,1.944,661,1.68,687,2.229,775,5.181,887,5.795,918,2.874,1040,2.925,1065,4.441,1215,1.881,1668,3.455,3025,5.57,3028,4.912]],["t/1565",[58,3.03,66,4.591,253,2.488,299,3.507,375,4.267,376,3.013,1057,6.053,1212,4.512,1235,4.267,1554,4.118,2051,5.927,3056,6.349,3060,6.989,3066,8.365]],["t/1567",[58,2.337,101,2.257,152,1.729,299,3.447,445,1.725,476,3.798,554,1.886,1040,2.365,1211,3.318,1215,1.755,1301,4.195,1652,4.554,1665,7.594,1780,7.471,2833,5.826]],["t/1569",[59,6.676,152,1.853,445,1.32,554,2.021,599,1.944,661,1.68,687,2.229,775,5.181,887,5.795,918,2.874,1040,2.925,1065,4.441,1215,1.881,1668,3.455,3025,5.57,3028,4.912]],["t/1571",[58,3.03,66,4.591,253,2.488,299,3.507,375,4.267,376,3.013,1057,6.053,1212,4.512,1235,4.267,1554,4.118,2051,5.927,3056,6.349,3060,6.989,3067,8.365]],["t/1573",[58,2.337,101,2.257,152,1.729,299,3.447,445,1.725,476,3.798,554,1.886,1040,2.365,1211,3.318,1215,1.755,1301,4.195,1652,4.554,1776,7.594,1780,7.471,2833,5.826]],["t/1575",[59,6.676,152,1.853,445,1.32,554,2.021,599,1.944,661,1.68,687,2.229,775,5.181,887,5.795,918,2.874,1040,2.925,1065,4.441,1215,1.881,1668,3.455,3025,5.57,3028,4.912]],["t/1578",[1755,9.969,2749,9.425]],["t/1580",[1652,5.979,1668,5.925]],["t/1582",[13,3.32,58,2.337,97,2.461,101,2.257,126,4.292,253,2.445,537,3.421,676,2.895,684,4.292,1065,3.591,1203,5.612,3068,7.179]],["t/1584",[345,6.933,1806,5.189,3069,10.333]],["t/1586",[101,1.706,152,1.836,253,1.848,445,1.303,554,2.003,599,1.919,661,2.33,676,3.555,684,3.724,687,1.767,1040,2.512,1065,4.41,1203,4.24,1215,1.864,1800,2.941,2437,6.464,2748,3.653,3070,6.213,3071,8.733,3072,8.733]],["t/1588",[13,1.51,97,2.164,101,1.985,126,2.503,152,1.52,253,1.426,445,1.006,535,2.656,537,3.546,554,1.658,599,1.481,661,1.929,684,2.666,687,1.463,1040,2.787,1068,4.006,1203,3.272,1215,1.857,1800,4.587,2302,5.487,2748,2.819,2847,4.934,2912,5.823,3068,9.079,3073,4.795,3074,7.23,3075,7.23,3076,6.677]],["t/1590",[13,1.658,97,2.753,101,2.786,126,4.802,152,1.63,253,1.566,445,1.105,537,2.985,554,1.778,599,1.626,661,2.069,684,3.743,687,1.568,1040,2.23,1073,5.884,1203,3.593,1215,1.654,1800,4.355,1893,6.244,2748,3.096,2847,5.29,2912,6.244,3076,7.159,3077,5.265]],["t/1592",[58,3.17,113,3.66,152,1.89,253,2.673,332,5.468,463,7.239,744,4.395,772,5.934,1203,6.134,1272,6.246]],["t/1594",[1806,4.617,3078,10.795]],["t/1596",[58,2.188,113,3.135,152,1.619,333,3.94,445,1.615,463,6.201,554,1.766,577,3.79,661,2.696,744,3.764,918,3.515,1215,1.643,1272,5.35,1668,4.225,2886,7.158,3079,7.699]],["t/1598",[58,2.76,602,2.989,661,2.591,772,6.411,1203,6.627,1220,8.967,1727,4.625]],["t/1600",[13,3.185,537,3.282,1667,6.484,1894,7.32,3080,10.117]],["t/1602",[1,1.182,535,5.272,537,3.088,1040,2.738,1800,4.506,2302,7.224,3081,9.519]],["t/1604",[1,1.182,596,5.425,597,5.537,1040,3.323,1074,4.397,1800,4.506]],["t/1606",[1,1.141,669,5.284,1040,3.208,1074,4.152,1714,6.134,1717,5.844,1800,5.279,2847,6.134]],["t/1608",[58,2.933,80,5.335,88,4.96,333,2.779,389,6.206,445,2.165,544,4.445,602,3.176,751,5.25,1407,5.25,1542,6.405,1543,5.427,1806,3.401,2490,5.335,3056,6.035]],["t/1610",[1,1.128,1091,5.825,1317,5.434,1366,6.252,1451,6.384,1471,6.886,1667,8.072,1800,4.177]],["t/1612",[1,1.154,1098,5.955,1800,4.335,1801,11.292,1802,6.95,1803,7.651,1804,7.651]],["t/1614",[1,1.182,1040,3.323,1089,6.285,1291,6.745,1469,7.428,1800,4.506]],["t/1616",[1,1.115,13,2.728,58,3.39,748,5.21,783,7.724,1066,6.762,1770,7.239,1800,4.102,2918,8.002]],["t/1618",[61,4.369,97,2.64,134,4.468,188,4.98,476,4.076,538,5.503,545,4.68,685,3.42,1040,2.538,1407,5.825,1669,6.886]],["t/1620",[1,1.035,1797,9.343,1800,4.789,2761,6.679,2821,7.168]],["t/1622",[1,1.057,2762,5.832,2821,7.322,3082,10.333]],["t/1624",[1,1.035,1798,9.343,1800,4.789,2761,6.679,2821,7.168]],["t/1626",[1,1.057,2762,5.832,2821,7.322,3083,10.333]],["t/1628",[1,1.035,1799,9.343,1800,4.789,2761,6.679,2821,7.168]],["t/1630",[1,1.057,2762,5.832,2821,7.322,3084,10.333]],["t/1632",[176,6.767,3085,10.559,3086,7.482]],["t/1634",[176,6.767,3086,7.482,3087,10.559]],["t/1636",[176,6.767,3086,7.482,3088,10.559]],["t/1638",[1806,4.617,3089,10.795]],["t/1640",[1806,4.617,3090,10.795]],["t/1642",[1806,4.617,3091,10.795]],["t/1644",[1806,4.617,3092,10.795]],["t/1646",[1806,4.617,3093,10.795]],["t/1648",[1806,4.617,3094,10.795]],["t/1650",[58,2.706,101,2.613,206,3.643,233,4.563,299,3.99,1099,5.723,1652,5.272,2814,6.386]],["t/1652",[56,4.43,97,2.711,101,1.798,152,1.905,445,1.374,461,2.719,545,3.474,554,2.078,577,3.225,584,2.99,599,2.023,661,1.748,685,3.512,687,1.833,918,2.99,1040,1.884,1215,1.933,2762,5.114,3086,6.42,3095,6.049,3096,7.071]],["t/1654",[56,4.43,97,2.711,101,1.798,113,2.668,152,1.905,445,1.374,545,3.474,554,2.078,577,3.225,584,2.99,599,2.023,661,1.748,685,3.512,687,1.833,918,2.99,1040,1.884,1215,1.933,2762,5.114,3086,6.42,3096,7.071,3097,6.049]],["t/1656",[56,4.43,97,2.711,101,1.798,152,1.905,445,1.374,545,3.474,554,2.078,577,3.225,584,2.99,599,2.023,661,1.748,685,3.512,687,1.833,744,3.203,918,2.99,1040,1.884,1215,1.933,2762,5.114,3086,6.42,3096,7.071,3098,6.55]],["t/1658",[19,1.819,97,1.666,101,1.529,152,1.171,353,2.37,360,2.07,376,3.423,445,1.168,461,2.312,537,2.62,545,2.954,554,1.277,661,1.486,676,1.961,685,2.159,687,1.127,689,2.542,1040,3.507,1049,3.03,1211,3.834,1215,1.188,1946,5.105,1948,5.251,2748,3.274,3099,5.143,3100,6.505,3101,6.505,3102,4.862]],["t/1660",[19,1.778,97,1.629,101,1.494,113,2.217,152,1.67,353,2.316,360,2.024,376,3.378,445,1.142,545,4.213,554,1.822,599,1.681,661,1.453,676,2.797,685,2.11,687,1.607,1040,3.4,1211,3.785,1215,1.695,1449,3.54,1945,5.52,1946,5.021,1948,5.165,2748,3.2,3102,6.935,3103,5.027]],["t/1662",[19,1.778,97,1.629,101,1.494,152,1.67,353,2.316,360,2.024,376,3.378,445,1.142,545,4.213,554,1.822,599,1.681,661,1.453,676,2.797,685,2.11,687,1.607,744,2.662,1040,3.4,1211,3.785,1215,1.695,1449,3.54,1945,5.52,1946,5.021,1948,5.165,2748,3.2,3102,6.935,3104,5.443]],["t/1664",[19,1.412,56,2.114,97,2.443,101,1.187,113,2.721,152,0.909,346,2.901,353,1.84,376,3.308,445,1.401,461,2.773,537,2.167,554,0.992,661,1.154,676,2.352,685,3.165,689,1.974,1040,3.336,1049,2.352,1211,3.706,1215,0.923,1449,2.811,1800,4.347,1945,4.642,1946,4.222,1948,4.344,2761,6.064,2923,3.482,3100,5.38,3101,5.38,3105,4.323,3106,6.169,3107,6.169]],["t/1666",[19,1.819,56,2.723,97,2.417,101,1.529,152,1.171,346,3.736,353,2.37,376,3.423,445,1.694,461,2.312,554,1.277,661,1.486,676,2.843,685,3.131,1040,3.183,1211,3.834,1215,1.188,1449,3.621,1800,3.823,1945,5.612,1946,5.105,1948,5.251,2761,5.332,2923,4.485,3108,5.569,3109,8.076]],["t/1668",[19,1.614,56,3.616,97,2.213,101,1.357,152,1.555,353,2.103,376,3.192,445,1.037,461,2.052,537,2.399,554,1.696,577,2.433,584,2.256,599,1.526,661,1.319,676,1.74,685,2.867,687,1.496,689,2.256,918,2.256,1040,3.297,1049,2.689,1211,3.576,1215,1.578,1946,4.675,1948,4.809,2762,4.174,3096,5.772,3100,5.957,3101,5.957,3110,4.564]],["t/1670",[97,2.737,101,1.823,152,1.923,445,1.393,461,2.757,545,4.851,554,2.098,599,2.051,661,1.772,685,3.545,687,1.85,918,3.032,1040,1.91,1215,1.952,1436,6.137,1800,4.329,2761,6.039,3086,6.481,3111,6.132]],["t/1672",[19,1.648,97,2.248,101,1.385,152,1.579,353,2.147,376,3.232,445,1.058,461,2.094,537,2.437,554,1.723,599,1.558,661,1.346,676,1.776,685,2.912,687,1.52,689,2.303,918,2.303,1040,3.319,1049,2.745,1211,3.621,1215,1.603,1436,5.039,1800,3.555,1946,4.747,1948,4.884,2761,4.959,3100,6.05,3101,6.05,3112,4.659]],["t/1674",[19,1.72,56,3.79,97,2.32,101,1.445,113,2.145,152,1.63,353,2.241,376,3.314,445,1.105,554,1.778,577,2.592,584,2.404,599,1.626,661,1.405,676,2.729,685,3.005,687,1.568,918,2.404,1040,3.112,1211,3.713,1215,1.654,1449,3.424,1945,5.387,1946,4.9,1948,5.041,2762,4.375,3096,6.05,3113,4.863]],["t/1676",[97,2.737,101,1.823,113,2.705,152,1.923,445,1.393,545,4.851,554,2.098,599,2.051,661,1.772,685,3.545,687,1.85,918,3.032,1040,1.91,1215,1.952,1436,6.137,1800,4.329,2761,6.039,3086,6.481,3114,6.132]],["t/1678",[19,1.758,97,2.358,101,1.478,113,2.192,152,1.657,353,2.29,376,3.357,445,1.129,554,1.807,599,1.662,661,1.436,676,2.774,685,3.054,687,1.594,918,2.457,1040,3.14,1211,3.76,1215,1.681,1436,5.286,1449,3.5,1800,3.729,1945,5.475,1946,4.98,1948,5.123,2761,5.202,3115,4.971]],["t/1680",[19,1.72,56,3.79,97,2.32,101,1.445,152,1.63,353,2.241,376,3.314,445,1.105,554,1.778,577,2.592,584,2.404,599,1.626,661,1.405,676,2.729,685,3.005,687,1.568,744,2.575,918,2.404,1040,3.112,1211,3.713,1215,1.654,1449,3.424,1945,5.387,1946,4.9,1948,5.041,2762,4.375,3096,6.05,3116,5.265]],["t/1682",[97,2.737,101,1.823,152,1.923,445,1.393,545,4.851,554,2.098,599,2.051,661,1.772,685,3.545,687,1.85,744,3.247,918,3.032,1040,1.91,1215,1.952,1436,6.137,1800,4.329,2761,6.039,3086,6.481,3117,6.64]],["t/1684",[19,1.758,97,2.358,101,1.478,152,1.657,353,2.29,376,3.357,445,1.129,554,1.807,599,1.662,661,1.436,676,2.774,685,3.054,687,1.594,744,2.632,918,2.457,1040,3.14,1211,3.76,1215,1.681,1436,5.286,1449,3.5,1800,3.729,1945,5.475,1946,4.98,1948,5.123,2761,5.202,3118,5.383]],["t/1686",[4,3.569,7,3.569,8,6.129,13,2.543,39,5.722,45,3.239,46,4.485,50,4.862,74,2.82,162,4.227,171,3.946,214,4.862,220,7.551,299,2.334,334,3.52,441,5.143,444,6.875,480,2.513,538,3.474,643,3.348,648,5.978,658,5.143,668,4.122,820,4.862,1219,3.43,1298,4.346,1856,4.862,2243,3.004,3119,5.569,3120,5.569,3121,5.569,3122,5.143,3123,5.569,3124,5.569]],["t/1688",[13,1.838,34,4.702,35,6.341,39,5.92,61,3.311,72,2.781,126,3.047,152,1.228,231,4.702,366,4.702,567,3.233,628,5.097,684,2.153,733,4.702,1031,4.262,1115,4.702,1219,5.146,1410,6.132,1662,3.984,2573,5.391,2574,4.877,2665,5.097,3125,5.838,3126,5.838,3127,5.838,3128,5.838,3129,5.838,3130,5.391,3131,8.355,3132,8.355]],["t/1690",[0,2.736,11,2.274,13,3.124,15,2.537,19,3.527,26,3.614,32,1.472,39,2.68,72,1.801,74,4.717,75,4.262,76,5.395,77,3.924,79,1.79,80,2.537,81,2.799,82,2.628,83,3.046,84,3.046,85,2.057,86,2.114,87,3.046,88,2.359,89,2.155,90,3.046,91,4.105,92,2.951,93,3.046,94,2.424,96,1.651,97,1.8,98,4.734,99,3.046,100,2.497,101,1.038,102,2.628,103,3.046,104,2.497,105,3.046,106,2.951,107,2.459,108,3.046,109,2.177,110,2.248,111,2.39,112,2.497,113,1.54,318,2.581,346,2.537,400,2.581,720,2.301,1315,2.951,3133,3.782,3134,6.015]],["t/1693",[1,0.921,13,0.692,33,0.698,53,1.836,56,0.581,64,2.4,72,1.461,79,0.562,96,3.155,97,2.694,101,1.393,196,0.593,197,0.741,232,0.784,253,1.335,275,2.08,347,0.559,351,1.028,360,2.413,366,0.957,380,0.927,391,0.901,454,0.684,467,0.761,480,0.992,483,0.761,537,0.995,543,0.842,545,3.443,575,0.552,576,0.585,599,0.679,635,0.723,646,0.825,661,0.317,663,1.229,671,2.657,684,1.655,685,0.46,688,0.615,738,1.836,743,0.723,780,0.28,876,1.037,1054,1.527,1061,1.939,1134,2.326,1168,1.59,1209,0.825,1240,0.811,1275,0.811,1276,2.73,1280,2.219,1281,0.698,1296,0.825,1339,0.992,1365,0.63,1379,1.429,1387,0.927,1411,1.097,1460,0.652,1490,0.741,1544,4.217,1662,0.811,1703,3.252,1710,1.668,1816,1.037,1902,2.563,1911,1.097,2073,2.657,2318,2.558,2482,2.47,2496,0.811,2503,1.037,2506,1.037,2507,2.394,2555,3.405,2556,3.3,2594,1.037,2596,1.097,2597,1.097,2598,1.097,2599,1.836,2601,2.03,2602,1.919,2603,3.531,2604,0.992,2605,1.097,2606,1.037,2608,1.037,2677,1.919,2680,2.563,2736,2.984,2741,1.77,2742,2.678,2804,1.097,3040,2.03,3135,2.198,3136,1.188,3137,1.188,3138,1.037,3139,1.188,3140,1.188,3141,2.833,3142,2.198,3143,1.188,3144,1.188,3145,1.188,3146,1.188,3147,2.833,3148,3.067,3149,2.198,3150,2.198,3151,2.198,3152,2.198,3153,2.198,3154,2.198,3155,2.03,3156,2.198,3157,2.198,3158,1.188,3159,3.067,3160,2.198,3161,1.188,3162,1.188,3163,3.824,3164,1.188,3165,4.144,3166,1.188,3167,5.598,3168,1.188,3169,1.188,3170,1.188,3171,1.097,3172,1.188,3173,1.188,3174,2.03,3175,2.03,3176,1.097,3177,1.188,3178,1.188,3179,1.188,3180,2.198,3181,1.097,3182,3.067,3183,1.188,3184,1.188,3185,2.198,3186,2.198,3187,1.188,3188,1.188,3189,1.188,3190,1.188,3191,1.188,3192,1.037,3193,1.097,3194,1.188,3195,1.188,3196,1.188,3197,1.188,3198,1.188,3199,1.188,3200,1.188]],["t/1695",[1,0.593,26,1.743,30,2.059,45,2.101,61,1.431,72,1.721,74,1.829,80,2.423,101,0.992,111,2.283,128,1.754,129,1.721,197,2.253,220,2.465,253,2.708,280,2.741,295,2.465,335,2.253,351,3.887,366,2.909,371,3.018,428,2.78,429,1.689,567,2.001,576,1.778,597,2.101,599,1.115,633,3.828,635,3.528,661,0.964,684,1.332,685,1.4,780,0.739,812,2.674,885,3.336,1054,2.51,1171,2.019,1206,1.983,1212,3.127,1243,4.874,1276,2.197,1305,2.197,2073,5.778,2550,3.336,2610,4.292,2611,3.336,2613,3.336,2614,3.336,2615,3.154,2671,3.154,2741,2.909,3141,3.336,3201,3.612,3202,5.798,3203,3.336,3204,3.612,3205,3.612,3206,3.612,3207,3.612,3208,5.798,3209,5.798,3210,3.612,3211,3.612,3212,5.798,3213,3.612,3214,3.336,3215,3.612,3216,3.612]],["t/1697",[1,0.442,33,2.542,45,2.515,89,3.807,97,1.294,111,2.732,126,4.261,144,3.482,188,2.44,189,3.374,249,2.771,253,1.286,275,2.352,285,3.992,365,2.811,454,2.489,476,1.997,493,3.004,545,2.293,551,2.034,567,2.394,661,2.451,684,1.594,774,3.612,1072,1.94,1133,4.344,1206,5.041,1225,3.775,1230,3.374,1313,2.662,1383,2.394,1894,3.128,2318,2.464,2437,3.2,2439,2.901,2555,2.901,2556,2.811,2609,3.992,2610,3.2,2618,6.169,2619,6.169,2620,3.992,2622,5.581,2623,6.169,2624,3.992,2626,3.992,2627,3.612,2628,3.775,2629,3.992,2653,3.775,3217,3.775,3218,4.323,3219,4.323,3220,4.323,3221,4.323]],["t/1699",[19,1.075,32,3.379,77,2.266,96,3.439,97,3.471,98,2.081,101,2.383,120,2.382,126,2.808,249,2.11,253,2.028,265,2.11,275,1.791,349,2.174,356,1.915,360,2.927,454,3.926,476,1.521,480,1.486,529,1.84,531,2.174,532,2.174,537,1.745,541,2.003,545,1.746,551,2.53,604,2.11,663,1.84,720,2.003,741,3.447,802,2.437,1217,2.874,1240,3.671,1544,2.288,1580,5.829,1978,2.081,2318,1.876,2437,2.437,2496,2.247,2497,3.04,2507,2.569,2630,6.875,2631,3.04,2632,4.696,2633,6.875,2634,5.954,2635,5.322,2636,2.874,2637,3.04,2736,2.569,3147,3.04,3222,2.651,3223,3.292,3224,3.04]],["t/1701",[1,0.139,26,0.655,30,1.96,31,0.962,32,1.339,37,2.44,53,3.553,57,0.732,58,0.977,61,0.538,66,2.334,72,1.184,77,1.047,81,1.005,110,0.807,177,1.094,180,1.005,188,0.766,195,2.886,196,1.716,204,1.887,205,1.148,235,0.752,253,1.265,265,0.87,307,1.887,326,1.116,331,0.883,332,1.513,335,0.847,347,0.639,355,0.858,363,1.06,374,0.983,375,3.782,376,2.531,378,1.887,383,2,415,1.839,425,0.798,434,0.752,447,0.782,476,1.148,507,0.858,529,0.759,534,1.06,535,0.752,537,0.441,538,1.551,554,0.311,567,0.752,575,0.631,576,0.669,580,1.25,587,1.571,592,0.962,599,1.062,602,1.058,607,0.87,639,2.171,661,1.135,671,0.944,676,0.875,681,0.927,684,1.568,743,0.826,748,2.98,750,0.826,753,0.798,775,0.798,777,1.122,780,0.173,787,1.094,814,1.031,864,1.06,887,1.96,935,1.06,952,1.762,989,1.762,1010,0.962,1029,3.755,1053,1.031,1057,1.799,1058,4.289,1065,2.67,1114,1.005,1206,0.745,1211,1.003,1212,0.732,1235,3.584,1301,3.96,1302,2.674,1354,1.186,1419,1.094,1483,1.799,1508,0.944,1554,1.224,1598,0.983,1696,1.84,1731,0.927,1777,1.031,1808,1.799,1812,1.094,2054,1.06,2058,2.296,2318,0.774,2496,0.927,2606,1.186,2610,1.005,2628,2.171,2638,1.186,2639,1.135,2640,2.296,2641,3.927,2642,1.094,2643,3.002,2647,1.186,2649,1.186,2691,1.186,2764,1.254,2929,1.186,3041,1.254,3056,1.031,3222,1.094,3225,1.358,3226,1.358,3227,2.486,3228,1.358,3229,1.358,3230,1.358,3231,1.358,3232,4.253,3233,1.358,3234,1.358,3235,1.358,3236,1.358,3237,3.438,3238,1.254,3239,1.358,3240,1.358,3241,1.358,3242,1.358,3243,2.486,3244,1.358,3245,1.358,3246,1.358,3247,1.358,3248,1.358,3249,1.358,3250,1.358,3251,1.358,3252,1.358,3253,1.358,3254,1.358,3255,1.358,3256,3.175,3257,1.358,3258,1.186,3259,2.486,3260,1.358,3261,1.358,3262,1.358]],["t/1704",[61,2.109,72,2.536,79,2.52,97,2.771,128,2.586,129,2.536,253,1.583,271,2.3,275,5.911,330,3.94,445,1.117,446,3.164,476,2.459,592,3.772,685,3.589,780,1.385,907,4.288,1171,2.976,1299,4.04,2318,6.193,2645,4.916,2646,4.916,2647,6.823,2648,4.916,2649,8.084,2650,4.916,2651,4.916,2652,4.916,2653,4.648]],["t/1706",[13,1.112,72,1.683,89,2.013,96,3.125,97,2.694,126,1.844,134,2.884,196,1.764,253,1.051,265,2.264,275,1.922,278,1.844,318,2.411,341,2.845,360,1.313,383,2.055,454,2.034,461,1.467,537,1.146,543,2.503,573,2.757,599,1.091,661,0.943,675,2.681,751,2.332,839,2.952,863,3.085,878,3.263,1062,3.085,1279,4.121,1280,4.121,1293,5.297,1299,2.681,1379,2.297,1542,2.845,1544,3.958,1699,2.757,1710,2.681,1816,4.973,1936,1.15,2098,3.085,2318,2.013,2427,2.952,2555,2.37,2556,2.297,2635,5.585,2654,5.764,2996,3.263,3068,3.085,3176,3.263,3217,3.085,3263,3.533,3264,3.263,3265,3.533,3266,3.533,3267,3.533,3268,8.314,3269,3.533,3270,3.533,3271,3.533,3272,3.533,3273,3.533,3274,3.533,3275,3.263,3276,3.263,3277,5.26,3278,3.533,3279,3.533,3280,3.263,3281,3.533,3282,3.533,3283,3.533]],["t/1708",[1,0.882,32,0.966,77,1.045,81,1.836,96,1.083,97,2.415,101,2.215,134,1.256,195,1.285,196,1.238,253,0.738,275,1.35,299,1.04,321,1.758,350,1.936,380,3.312,383,1.443,384,1.758,414,1.693,476,1.961,480,3.642,512,3.222,543,1.758,548,3.546,575,1.153,595,2.291,596,1.414,597,2.469,599,1.311,671,1.724,687,0.859,780,0.709,793,3.222,800,5.138,860,3.706,1134,3.384,1209,1.724,1230,1.936,1275,1.693,1279,1.795,1280,1.795,1293,3.142,1313,1.528,1379,1.613,1389,1.883,1680,1.795,1703,3.565,1775,4.118,2068,1.491,2073,1.724,2318,2.419,2429,2.073,2482,4.481,2496,1.693,2555,1.664,2556,1.613,2599,2.073,2608,2.166,2610,3.142,2635,1.936,2654,4.481,2658,3.419,2690,2.073,2735,2.166,2736,1.936,2829,2.291,2929,2.166,3203,6.082,3268,6.837,3275,2.291,3276,2.291,3277,2.291,3280,2.291,3284,2.291,3285,2.481,3286,2.481,3287,6.837,3288,4.245,3289,2.481,3290,2.481,3291,2.481,3292,2.481,3293,2.481,3294,2.481,3295,2.481,3296,2.481,3297,2.481,3298,4.245,3299,2.481,3300,2.481,3301,2.481]],["t/1710",[96,4.327,97,3.541,100,6.542,101,2.72,1978,6.263]],["t/1712",[1,0.388,19,1.97,30,1.242,32,0.848,64,1.165,72,1.038,74,1.103,77,2.541,80,1.462,97,2.046,98,2.398,101,2.06,134,1.103,152,0.458,173,1.7,190,1.922,195,1.128,205,1.006,249,1.396,253,1.128,259,1.514,272,1.654,333,1.326,347,2.837,353,1.615,360,0.81,374,1.576,380,1.7,391,1.654,408,1.095,409,1.855,422,2.746,445,1.434,465,1.576,467,1.396,476,1.006,523,3.031,545,2.013,551,2.837,554,0.5,596,2.163,597,2.207,599,1.557,626,1.613,665,1.31,676,2.123,684,0.803,685,0.845,720,1.325,777,3.086,780,0.278,814,2.88,909,5.122,952,1.544,968,1.613,1031,1.111,1049,1.185,1065,1.657,1072,0.978,1104,1.902,1108,3.17,1125,1.576,1134,1.325,1192,1.654,1209,1.514,1270,1.438,1275,1.487,1278,3.826,1297,1.254,1313,1.342,1383,1.207,1387,1.7,1463,1.128,1767,1.755,1775,1.613,1861,1.902,1954,1.377,2655,1.7,2656,3.313,2657,2.012,2658,3.056,2659,2.012,2660,3.504,2661,3.504,2662,3.504,2663,2.012,2664,3.504,2665,1.902,2666,2.012,2667,2.012,2668,1.82,2669,2.012,2670,1.902,2673,1.902,2674,1.902,2680,1.82,2689,2.88,2690,1.82,3165,2.012,3171,2.012,3174,2.012,3175,2.012,3192,1.902,3302,2.179,3303,2.012,3304,2.179,3305,2.179,3306,3.795,3307,2.179,3308,2.179,3309,2.179,3310,2.179,3311,2.179,3312,2.179]],["t/1714",[1,0.782,89,3.516,97,1.168,126,2.038,134,1.977,195,2.022,253,1.834,321,2.766,380,4.814,391,2.963,445,0.819,454,2.247,493,2.713,537,2.481,551,1.836,599,1.905,663,2.182,671,2.713,786,3.409,829,2.89,909,5.219,1061,2.468,1114,2.89,1134,6.119,1209,2.713,1240,2.664,1275,4.21,1370,3.047,1389,2.963,1680,2.825,1703,2.502,2240,3.409,2439,2.619,2610,5.661,2622,5.154,2627,5.154,2671,3.409,2672,3.605,2673,3.409,2674,3.409,2675,3.605,2676,5.697,2677,5.386,2678,3.605,2680,3.262,2682,5.697,2683,3.605,2684,3.605,2685,3.605,2687,3.605,2688,3.605,2689,2.963,2690,3.262,3222,3.144,3313,3.904,3314,3.904,3315,3.904,3316,3.904]],["t/1716",[19,3.441,64,2.333,74,2.209,79,3.184,85,2.373,134,2.209,152,0.917,168,2.757,190,2.209,195,4.252,197,2.721,330,3.229,333,1.524,353,2.862,354,3.513,374,3.156,375,2.225,376,2.423,544,2.439,551,2.052,567,2.416,575,2.027,587,2.757,592,3.091,599,1.347,674,2.462,684,1.609,720,2.654,838,3.404,1029,2.027,1072,1.958,1201,2.091,1211,2.714,1212,2.353,1250,2.353,1270,4.441,1303,3.513,1368,3.644,1383,4.547,1775,3.229,2655,3.404,2691,3.809,2692,4.028,2693,4.028,2694,4.028,2695,4.028,2696,4.028,2697,4.028,2698,6.212,2699,3.809,2700,3.809,2702,4.028,3317,4.362]],["t/1718",[1,0.633,19,0.738,33,1.329,45,1.315,56,1.105,64,2.095,72,1.866,74,1.145,77,1.65,96,0.987,97,1.552,98,1.429,101,1.698,134,1.145,152,0.475,188,1.276,195,2.029,196,1.128,205,1.81,249,1.449,253,1.165,257,1.602,275,2.821,318,1.543,333,0.79,341,1.82,347,1.063,360,0.84,361,1.888,408,1.97,409,1.916,447,1.301,452,1.82,480,1.768,532,1.492,542,1.82,543,1.602,575,1.05,596,2.233,597,2.279,599,2.16,604,1.449,648,1.673,661,0.603,663,1.264,665,2.355,669,2.303,671,2.723,676,2.178,684,2.281,720,1.375,780,0.288,795,1.764,838,1.764,1065,2.701,1072,2.327,1115,1.82,1134,1.375,1209,1.571,1247,1.715,1279,1.635,1280,1.635,1293,1.673,1313,1.392,1340,2.835,1341,1.888,1379,1.47,1490,1.41,1540,1.715,1544,1.571,1598,2.835,1936,1.275,2068,1.359,2073,1.571,2318,2.233,2482,1.82,2496,1.543,2655,1.764,2658,3.155,2703,3.618,2705,1.973,2706,1.973,2707,1.973,2708,2.087,2709,2.087,2710,2.087,2711,2.087,2712,2.087,2714,2.087,2715,2.087,2716,2.087,2717,2.087,2718,2.087,2719,2.087,2720,2.087,2721,2.087,2722,2.087,2723,2.087,2725,2.087,2726,2.087,2727,4.788,2728,4.788,2729,2.087,2730,2.087,2732,2.087,2733,2.087,2734,2.087,2735,1.973,2736,1.764,2737,2.087,2738,2.087,2739,2.087,2741,1.82,2742,1.973,2743,2.087,2744,1.82,2745,1.888,3318,2.26,3319,2.26,3320,2.26,3321,2.26,3322,2.26]],["t/1721",[32,3.853,74,3.778,77,4.169,96,4.321,97,3.539,101,2.716,184,3.894,720,4.539,741,4.781,1580,7.325,2630,6.514,2632,6.514,2633,6.514,2634,6.514]],["t/1723",[11,2.336,13,1.224,15,2.607,19,3.187,22,2.527,26,1.875,62,1.658,64,2.753,70,2.068,72,1.067,77,2.169,79,1.839,82,1.556,89,1.276,91,1.528,92,1.748,97,1.163,98,3.254,101,0.615,110,1.331,143,1.316,169,1.252,196,1.118,205,1.795,206,1.97,235,2.152,236,1.62,249,1.435,253,0.666,254,1.804,257,1.587,271,0.968,272,1.7,276,1.658,303,2.068,317,1.955,318,3.513,331,1.456,333,1.358,341,1.804,347,1.828,353,2.191,414,1.528,422,1.62,449,1.456,457,1.748,465,2.812,472,1.804,484,1.7,523,2.336,537,1.67,542,1.804,543,2.754,560,1.331,584,1.774,600,2.068,635,1.362,674,1.264,684,1.433,735,1.955,751,1.478,773,1.502,778,3.648,793,1.7,795,3.033,797,2.607,808,3.033,928,1.62,999,2.068,1021,1.955,1122,1.748,1201,1.074,1234,1.62,1342,1.871,1512,1.658,1620,7.241,1622,5.676,1696,1.658,1774,2.068,1878,1.871,1879,1.955,1906,2.068,1907,2.068,1968,2.068,1978,2.456,2668,1.871,3031,2.068,3193,2.068,3264,2.068,3284,2.068,3323,2.239,3324,2.239,3325,2.239,3326,2.239,3327,3.886,3328,2.239,3329,3.886,3330,2.239,3331,2.239,3332,2.239,3333,2.239,3334,2.239,3335,2.239,3336,3.886,3337,2.239,3338,2.239,3339,2.239,3340,2.239,3341,2.393,3342,2.239,3343,2.239,3344,2.239,3345,2.239]],["t/1725",[13,2.386,22,4.927,55,3.681,58,2.842,88,4.727,104,5.003,132,4.504,278,3.955,326,3.401,342,6.103,344,3.783,345,5.084,346,5.084,426,3.73,650,6.948,1693,5.609,1789,6.616,3346,7.578,3347,6.331]],["t/1727",[13,2.15,19,2.23,58,1.941,107,4.44,132,4.059,174,4.745,233,3.273,255,5.499,257,4.838,272,5.182,331,4.44,342,5.499,408,4.687,409,4.558,426,3.361,599,2.109,665,5.605,780,0.87,915,5.705,1403,5.962,1789,5.962,3348,6.828,3349,6.828,3350,6.828,3351,6.828]],["t/1729",[13,1.982,19,2.056,61,3.492,76,3.978,79,2.979,97,1.884,109,5.073,110,5.238,113,2.564,123,3.784,271,2.72,360,3.276,376,2.267,439,4.659,457,4.912,476,4.697,508,5.813,518,3.312,537,2.042,581,4.777,676,2.216,685,2.44,751,4.156,1437,5.259,1680,4.554,1773,4.912,3347,5.259,3352,6.294]],["t/1731",[13,1.03,19,1.068,59,1.882,66,2.936,72,1.558,75,2.317,97,0.978,98,2.067,101,0.898,129,1.558,205,2.471,257,3.79,259,2.272,296,2.42,333,2.74,334,4.957,347,1.538,356,3.111,376,3.683,454,1.882,476,3.135,537,1.735,538,2.04,541,1.989,543,2.317,551,1.538,575,1.519,599,1.652,669,1.922,676,3.045,684,1.973,750,1.989,754,2.732,755,2.482,774,2.732,777,2.414,792,3.02,1049,1.779,1065,4.465,1072,2.401,1201,2.564,1211,2.158,1212,1.764,1247,2.482,1275,2.232,1276,1.989,1303,4.308,1340,3.87,1341,2.732,1342,2.732,1426,3.048,1565,2.126,1728,4.94,1936,1.064,2668,2.732,2744,2.634,2745,2.732,2830,2.855,3138,2.855,3353,3.27,3354,3.27,3355,3.27,3356,3.27,3357,3.02]],["t/1733",[13,0.736,19,1.54,22,0.825,28,0.851,30,1.85,32,1.569,37,2.88,58,1.146,61,0.503,64,0.679,72,0.604,74,0.643,77,2.665,79,0.601,86,1.306,97,0.971,101,0.348,109,0.73,113,2.908,126,0.662,128,1.135,129,1.113,143,0.746,168,0.802,177,1.022,190,0.643,195,1.681,196,2.92,205,1.079,206,1.543,235,0.703,249,0.813,253,1.581,265,0.813,269,0.781,271,2.038,279,1.108,299,0.532,318,2.215,330,0.939,332,0.772,333,0.443,335,0.791,344,1.166,347,0.597,348,2.3,349,0.838,351,1.092,355,0.802,356,1.359,360,0.472,371,1.952,375,2.056,376,1.698,378,2.212,379,1.172,386,1.108,396,1.172,427,0.918,428,0.608,434,0.703,445,0.266,447,0.73,454,0.73,460,0.709,461,2.963,467,0.813,476,0.586,504,1.108,507,0.802,511,1.108,512,0.963,529,1.815,537,2.533,541,0.772,544,0.709,550,0.754,551,0.597,560,1.389,565,0.939,579,1.108,580,1.174,583,0.99,599,1.002,602,0.391,650,0.882,661,0.866,674,0.716,676,2.513,681,0.866,684,2.633,685,1.828,689,2.671,691,1.108,693,1.172,704,1.773,775,0.746,777,1.819,778,0.899,860,1.108,896,1.108,935,2.533,1029,2.471,1031,3.227,1049,1.271,1058,1.519,1065,1.02,1122,0.99,1201,1.556,1211,1.903,1231,1.108,1235,1.192,1240,0.866,1243,0.851,1245,0.825,1263,1.594,1281,0.746,1286,1.881,1297,0.73,1302,1.751,1313,0.781,1315,0.99,1365,0.673,1370,0.99,1407,0.838,1437,1.06,1449,0.825,1483,0.918,1598,0.918,1621,1.881,1680,1.69,1696,0.939,1729,1.06,1812,1.022,1858,1.952,1870,1.172,1954,0.802,2122,1.172,2437,0.939,2819,1.172,2923,1.022,2956,2.157,3222,1.881,3238,1.172,3256,1.172,3347,1.952,3358,1.269,3359,1.108,3360,1.269,3361,1.269,3362,1.269,3363,1.269,3364,1.269,3365,1.269,3366,1.269,3367,1.269,3368,1.269,3369,1.269,3370,1.269,3371,1.269,3372,1.172,3373,1.269,3374,1.269,3375,1.269,3376,1.269]],["t/1735",[13,2.426,17,4.23,19,1.706,26,1.906,32,3,37,1.123,56,1.931,58,1.123,77,4.141,96,1.725,97,2.617,101,1.084,110,5.843,113,1.609,124,1.462,131,1.241,179,1.651,184,2.062,191,3.48,205,1.824,206,1.512,209,1.617,223,2.866,233,1.893,253,1.851,263,1.781,271,2.69,278,1.191,299,0.956,333,1.825,344,1.139,347,1.858,349,1.506,355,2.496,360,3.073,376,0.822,386,5.435,423,1.586,425,1.341,426,3.464,434,2.892,440,3.181,461,2.168,529,1.275,537,1.694,551,1.858,554,0.523,560,2.348,636,1.838,685,1.531,809,1.689,819,3.347,1002,3.448,1085,1.586,1099,2.375,1422,3.181,1423,1.838,1433,1.617,1458,1.992,1461,2.107,1465,1.906,1476,1.781,1482,1.838,1488,1.838,1506,1.732,1534,1.838,3377,5.222,3378,2.282,3379,2.282,3380,3.95]],["t/1738",[17,3.404,37,2.788,55,1.703,58,2.024,77,1.477,102,3.935,110,4.859,131,1.908,205,1.62,206,1.342,257,2.485,265,3.629,299,1.47,333,2.856,347,1.65,367,2.825,376,1.263,408,1.763,409,1.715,427,4.097,454,2.019,661,0.936,676,3.158,714,6.063,751,2.316,778,2.485,1029,2.631,1040,1.009,1074,1.62,1087,2.737,1088,2.538,1089,2.316,1090,2.596,1091,2.316,1092,2.596,1093,2.596,1235,1.789,1302,3.054,1365,1.86,1437,2.93,1675,2.662,1676,2.93,1677,3.062,1680,6.49,1702,2.93,1703,3.629,1704,3.062,1705,3.062,1731,2.393,1732,6.121,1773,2.737,1775,2.596,2836,3.062,2837,3.062,2838,3.062,2851,3.062,2870,3.239,3347,2.93,3359,3.062,3381,2.825,3382,3.507,3383,3.239]],["t/1740",[17,4.265,19,2.8,37,3.492,77,3.611,79,1.316,97,0.832,98,1.757,101,0.763,102,4.93,110,5.095,113,1.132,131,1.513,190,1.408,257,1.97,265,4.546,376,2.18,378,2.566,426,1.369,427,5.133,537,3.337,560,2.78,584,1.269,602,0.856,661,0.742,669,1.635,676,3.018,681,1.898,684,2.232,689,1.269,714,4.484,751,1.836,778,6.073,1029,2.173,1031,2.385,1040,1.345,1073,3.549,1074,2.16,1201,2.242,1235,2.385,1302,3.826,1466,2.058,1585,2.323,1593,2.239,1680,2.012,1731,3.191,1732,3.191,1740,2.323,1893,3.766,2915,2.428,2924,2.568,2926,2.568,3359,4.083,3381,2.239,3384,2.781,3385,2.568,3386,2.781,3387,2.781,3388,2.781,3389,2.781]],["t/1742",[55,3.057,58,1.789,77,3.712,131,3.424,206,2.409,299,2.639,333,2.2,537,2.042,661,1.68,714,6.963,1074,2.908,1087,4.912,1088,4.554,1089,4.156,1090,4.659,1091,4.156,1092,4.659,1093,4.659,1098,4.093,1099,3.784,1675,4.777,1677,5.496,1680,4.554,1769,5.07,1770,5.259,1771,4.777,1772,5.496,1779,5.496,3381,5.07,3390,6.294]],["t/1744",[17,4.772,19,1.607,26,2.848,58,0.6,77,0.89,79,3.986,97,2.375,102,6.398,113,3.003,131,1.149,253,1.098,360,2.194,376,0.761,427,6.093,445,1.547,461,3.06,476,0.976,537,1.597,545,4.883,584,2.695,599,1.14,661,0.564,685,3.077,714,2.334,775,1.242,1040,3.256,1211,0.852,1476,1.648,1701,1.844,1756,2.803,1945,4.102,1946,5.017,1948,5.161,2409,2.617,2615,3.224,3086,4.182,3095,1.95,3097,1.95,3099,1.95,3100,4.754,3101,4.754,3103,1.95,3106,1.95,3107,1.95,3110,1.95,3111,1.95,3112,1.95,3113,1.95,3114,1.95,3115,1.95,3303,3.411,3381,1.701,3391,3.693,3392,4.545,3393,2.112]],["t/1746",[1,0.219,19,2.208,77,2.094,79,2.82,97,0.64,101,0.587,102,5.555,110,2.221,113,3.026,129,1.019,131,1.164,190,1.892,206,1.903,253,0.636,271,2.574,333,0.748,360,1.389,427,2.703,461,2.064,537,1.933,584,1.706,599,1.535,661,0.571,663,2.088,676,2.097,684,1.834,714,4.273,778,2.647,1029,0.995,1031,3.79,1040,3.396,1049,1.164,1134,2.273,1201,2.383,1243,1.436,1245,3.873,1250,2.015,1276,1.302,1858,3.121,1954,2.361,2079,1.869,2689,1.624,2753,1.976,2810,4.409,2811,4.409,2886,5.264,2887,4.004,2889,4.004,2890,3.121,2891,3.262,2893,4.892,2894,1.976,2964,4.154,2965,4.154,2967,4.154,3357,1.976,3381,1.724,3392,7.382,3394,2.14,3395,2.14,3396,2.14,3397,2.14,3398,2.14,3399,2.14,3400,2.14]],["t/1748",[1,0.387,13,1.894,28,4.036,39,2.68,61,3.691,77,1.593,86,2.114,97,1.132,128,1.837,129,1.801,130,2.248,131,2.057,145,4.18,189,4.694,196,1.888,200,2.628,209,4.262,223,3.301,237,3.046,253,2.227,271,2.599,326,2.699,331,2.459,345,2.537,360,3.173,365,5.55,367,3.046,368,3.575,369,4.18,410,2.736,431,3.492,461,2.497,532,2.497,539,5.025,551,1.779,599,1.168,685,1.466,855,2.736,886,3.492,928,2.736,1216,2.951,1221,3.302,1227,2.87,1407,2.497,1409,3.492,1410,2.177,1422,3.046,1423,3.046,1507,2.87,1512,2.799,1535,3.159,1777,2.87,1823,3.302,1853,3.492,2060,2.177,3130,3.492,3401,3.782,3402,3.782,3403,3.782,3404,3.782,3405,3.782]],["t/1750",[1,0.571,19,1.673,26,0.261,30,0.308,31,0.383,32,1.799,56,1.153,58,0.779,61,1.087,62,0.773,64,1.261,66,0.573,72,0.72,74,0.274,75,0.383,77,0.637,79,1.469,86,1.533,89,1.111,91,0.712,96,0.851,97,1.669,100,0.357,101,0.647,111,0.66,123,0.628,126,0.545,134,0.274,183,0.411,188,0.589,195,0.783,196,0.27,205,0.698,206,0.4,232,0.998,233,0.5,236,1.984,240,0.773,249,1.988,253,1.294,259,1.051,269,0.931,271,0.451,276,0.401,278,0.282,305,0.436,326,0.243,333,0.528,334,0.342,344,0.27,347,0.711,349,2.048,351,0.253,353,1.32,355,0.66,356,0.88,360,0.388,373,0.872,374,0.755,375,1.203,376,2.157,382,0.473,408,0.272,409,0.265,410,0.755,414,0.369,428,0.934,430,1.218,443,0.401,445,0.219,454,0.601,461,0.979,467,0.347,476,2.135,480,0.244,483,0.347,507,0.66,523,2.069,532,1.287,536,0.383,537,2.33,539,0.452,541,1.887,545,0.287,551,2.818,554,0.239,557,0.401,560,0.322,561,2.592,567,0.3,575,0.703,576,1.161,577,1.694,580,1.186,599,1.343,602,0.321,604,1.249,607,0.669,633,0.357,635,0.92,636,0.436,642,0.689,645,1.263,661,0.52,669,0.614,671,0.725,674,1.1,675,3.085,676,2.42,684,1.011,685,1.063,689,1.252,739,0.473,741,0.669,743,0.329,751,0.357,754,0.452,755,0.411,761,0.383,773,0.363,777,1.553,780,0.069,787,0.436,831,0.436,909,1.33,920,0.401,955,1.84,989,0.383,1010,0.383,1029,3.119,1045,0.669,1053,0.411,1054,0.376,1065,2.7,1072,1.392,1085,1.051,1107,0.436,1134,2.094,1168,0.392,1171,0.845,1180,0.872,1189,0.369,1201,3.137,1206,0.573,1211,1.106,1212,1.479,1216,0.815,1230,1.18,1231,0.911,1232,0.964,1233,0.452,1235,1.203,1240,0.712,1242,1.308,1243,1.015,1244,0.452,1245,1.533,1246,0.755,1247,0.411,1248,1.218,1249,1.79,1250,0.563,1251,0.872,1252,0.872,1254,0.5,1255,2.499,1256,0.872,1257,1.629,1258,0.392,1259,0.452,1260,0.452,1261,0.452,1262,1.33,1263,2.349,1264,1.263,1265,1.263,1266,0.452,1267,0.452,1268,0.452,1269,0.452,1270,1.287,1271,0.452,1273,0.452,1274,0.452,1275,0.712,1276,0.635,1277,0.436,1278,0.411,1279,0.392,1280,0.392,1281,0.614,1282,0.452,1283,0.452,1284,0.452,1285,0.872,1286,0.436,1287,0.422,1288,0.452,1289,0.679,1290,0.452,1291,1.071,1292,0.383,1293,0.401,1294,0.5,1296,0.725,1297,1.122,1298,0.422,1299,0.411,1300,0.964,1301,0.533,1302,0.563,1303,0.841,1304,1.119,1305,0.92,1306,0.725,1307,0.369,1308,0.5,1309,0.5,1310,0.473,1313,0.333,1314,0.5,1315,0.422,1316,1.521,1317,0.643,1318,0.66,1339,0.872,1340,1.094,1365,0.554,1383,1.718,1543,1.032,1565,0.352,1682,0.452,2054,0.422,2100,0.5,2635,0.815,2656,2.059,2670,0.473,2699,0.473,2700,0.473,2705,0.473,2706,0.473,2707,0.473,2741,0.436,3181,1.396,3192,0.473,3217,0.473,3222,0.436,3287,1.396,3406,0.541,3407,0.541,3408,0.541,3409,0.5,3410,0.541,3411,0.541,3412,0.541,3413,0.541,3414,0.541,3415,0.541,3416,0.541,3417,0.541,3418,0.541,3419,0.541,3420,0.541,3421,0.541,3422,0.541,3423,0.541,3424,0.541,3425,0.541,3426,0.541,3427,0.541,3428,0.964,3429,0.541,3430,0.541,3431,0.541,3432,0.541,3433,1.044,3434,0.541,3435,0.541,3436,1.044,3437,0.541]],["t/1752",[1,0.225,19,2.898,26,0.393,30,0.464,31,0.577,32,0.317,56,0.398,58,0.793,60,0.618,61,1.106,64,1.175,66,3.33,72,1.586,74,1.413,75,0.577,77,1.611,79,0.385,86,1.56,96,0.355,98,0.514,109,1.265,111,0.975,113,2.8,134,0.781,190,0.412,195,2.214,196,0.406,205,0.376,213,0.489,233,0.39,249,1.789,253,1.271,269,0.95,271,1.439,274,0.68,276,1.141,336,0.555,347,0.383,353,2.925,356,0.473,360,0.303,375,1.699,376,1.69,388,0.589,408,3.05,409,2.967,410,1.116,428,1.338,443,1.141,445,0.323,449,1.003,460,0.455,461,0.64,476,2.508,480,0.696,532,1.843,537,0.905,541,1.698,544,0.455,554,0.354,575,1.987,576,0.759,587,0.514,599,2.045,602,0.475,604,0.988,607,0.521,622,2.657,626,1.141,633,1.018,635,1.698,636,0.655,642,1.018,645,0.68,661,0.411,675,1.17,676,1.346,684,1.73,689,1.952,703,0.589,706,0.635,733,0.655,750,0.495,751,0.537,756,1.17,761,0.577,777,0.696,795,0.635,829,0.602,831,0.655,909,1.905,955,0.635,965,0.71,1010,1.093,1018,0.618,1029,1.777,1031,2.181,1049,0.443,1054,0.565,1065,0.96,1072,2.972,1085,0.565,1134,2.854,1168,0.589,1171,1.229,1200,0.751,1201,3.296,1211,0.887,1212,2.53,1235,0.787,1242,1.873,1243,1.474,1244,0.68,1245,2.166,1262,0.555,1273,0.68,1274,0.68,1275,0.555,1276,0.938,1277,0.655,1278,0.618,1279,0.589,1280,0.589,1281,0.907,1282,0.68,1283,0.68,1284,0.68,1286,0.655,1288,0.68,1289,1.815,1290,0.68,1292,0.577,1293,0.602,1296,2.657,1297,1.607,1315,0.635,1316,2.599,1317,0.501,1318,0.514,1319,2.524,1320,1.77,1321,1.668,1322,1.203,1323,2.178,1324,1.141,1325,0.68,1326,0.68,1327,0.68,1328,0.68,1329,1.424,1330,3.596,1331,0.68,1332,0.68,1333,0.751,1334,0.68,1335,0.68,1336,0.68,1337,0.68,1338,2.599,1339,0.68,1340,0.589,1341,0.68,1342,0.68,1343,0.751,1348,0.751,1349,0.751,1351,0.751,1352,0.751,1353,0.751,1354,0.71,1356,0.751,1357,0.751,1358,0.751,1359,0.751,1361,0.751,1363,0.751,1364,0.751,1365,1.166,1366,1.557,1367,0.751,1368,0.68,1369,0.751,1449,0.529,1543,0.555,1565,0.529,1578,1.141,3409,0.751,3438,0.814,3439,0.814,3440,0.814,3441,0.814,3442,0.814,3443,0.814,3444,0.814,3445,0.814,3446,0.814,3447,0.814,3448,0.814,3449,0.814,3450,0.814]],["t/1755",[25,2.516,26,1.947,58,1.799,61,1.599,72,1.922,88,2.516,184,2.106,189,4.94,191,6.496,223,6.502,253,1.2,278,3.304,312,5.929,326,1.811,334,4.938,391,3.062,476,1.864,500,2.664,520,3.148,544,2.255,551,1.898,686,3.726,917,3.522,924,3.726,963,3.522,983,3.148,1029,1.875,1052,5.846,1225,3.522,1405,5.158,1433,2.859,1662,2.753,1841,4.804,1844,7.214,2049,3.249,2081,4.94,2082,5.098,2096,8.171,3451,4.034,3452,4.034]],["t/1757",[1,1.023,13,2.386,58,3.181,191,6.914,223,5.488,415,4.053,674,4.277,1405,6.601,1407,5.003,1433,5.369,1841,5.751,3453,7.578]],["t/1759",[1,1.056,13,2.504,61,4.089,191,6.403,223,6.287,253,2.365,415,4.253,1405,5.25,1433,5.635,1841,6.035,2081,6.206,2087,7.344]],["t/1761",[130,4.888,223,5.787,253,2.445,360,3.057,368,6.267,434,4.554,674,4.641,711,6.087,819,5.27,1199,5.612,1410,6.07,1413,6.623,2841,7.594]],["t/1763",[2,3.223,13,1.337,56,3.222,61,3.605,74,2.151,76,2.684,128,2.063,129,2.023,131,2.311,191,3.683,196,4.03,223,2.331,253,1.96,353,1.807,360,1.579,368,5.408,400,2.898,415,2.271,439,3.144,445,0.891,476,3.044,518,2.235,551,1.998,640,3.708,679,4.579,694,2.445,695,2.898,753,2.497,819,2.722,1125,3.073,1186,5.142,1208,3.708,1298,3.314,1410,4.648,1413,5.307,1422,6.502,1423,3.421,1621,3.421,1807,3.314,1862,3.922,1863,3.708,1864,3.922,1865,3.708,1867,3.708,2099,3.922,2900,3.922,3454,3.708,3455,4.247,3456,4.247,3457,4.247,3458,4.247,3459,4.247]],["t/1765",[72,1.801,191,2.114,269,2.329,368,2.248,369,2.628,415,2.023,575,6.002,576,5.121,1307,2.581,1405,2.497,1406,2.951,1407,2.497,1408,3.159,1410,2.177,1433,2.68,1606,6.257,2104,9.083,2105,6.916,2106,9.083,3460,3.782,3461,3.782,3462,7.489,3463,7.489,3464,7.489,3465,7.489,3466,7.489,3467,9.607]],["t/1767",[26,3.656,123,4.556,196,3.783,253,2.973,271,3.275,359,6.331,360,2.817,400,5.172,449,4.927,587,4.79,668,5.609,1109,5.751,1216,5.914,1400,5.609,1507,7.588,1508,5.266,1512,5.609,1605,6.331,3468,7.578]],["t/1769",[1,0.605,58,1.68,168,3.735,191,7.048,200,4.107,223,6.216,606,4.612,674,3.335,744,4.804,819,3.787,1405,7.072,1431,7.042,1554,2.909,1831,6.788,1841,6.397,3469,5.909,3470,5.909,3471,8.428]],["t/1771",[1,0.59,61,2.286,191,4.631,223,5.32,280,6.287,368,3.429,575,2.681,576,4.078,606,4.502,633,6.399,635,7.105,829,7.175,864,4.502,952,4.087,1186,4.502,1237,5.327,1405,3.808,1407,3.808,1413,4.646,1565,3.751,1578,4.27,2073,4.009,3472,5.768,3473,5.768,3474,5.327,3475,5.327,3476,5.327]],["t/1773",[19,2.23,61,0.195,66,2.762,97,0.65,113,0.885,187,0.365,253,1.04,280,2.181,326,3.617,344,1.89,353,1.611,360,1.301,368,0.824,376,2.7,445,0.794,461,2.5,480,0.223,523,1.307,537,2.615,544,0.276,554,0.869,575,1.887,576,1.414,599,1.169,633,1.673,635,6.891,676,1.772,684,0.182,689,3.422,720,1.322,829,3.006,864,0.385,1049,0.975,1065,0.949,1156,0.455,1211,3.252,1212,0.515,1234,0.357,1292,0.982,1407,0.326,1410,0.284,1426,0.281,1565,0.62,1567,2.424,1578,5.888,2073,1.245,2104,1.21,2106,0.833,3138,0.431,3155,0.455,3214,0.455,3224,0.455,3467,1.28,3474,0.455,3475,0.455,3476,0.455,3477,0.493,3478,0.493,3479,0.493,3480,0.493,3481,0.493,3482,0.493,3483,3.787,3484,2.533,3485,4.061,3486,0.493,3487,2.533,3488,2.873,3489,0.954,3490,0.954,3491,2.174,3492,0.493,3493,4.322,3494,2.174,3495,0.493,3496,0.493,3497,1.792,3498,0.493,3499,2.533,3500,0.493,3501,0.493,3502,0.493,3503,0.493,3504,1.386,3505,0.493,3506,0.493,3507,1.386,3508,0.493,3509,1.386,3510,1.386,3511,0.493,3512,0.954,3513,0.493,3514,3.787,3515,0.493,3516,0.493,3517,0.493,3518,0.493,3519,0.493,3520,0.493,3521,0.493,3522,6.827,3523,0.954,3524,0.954,3525,0.954,3526,6.827,3527,0.954,3528,0.954,3529,0.954,3530,0.954,3531,0.954,3532,0.954,3533,0.954,3534,0.954,3535,0.954,3536,0.954,3537,0.954,3538,0.954,3539,0.954,3540,0.954,3541,0.954,3542,0.954,3543,0.954,3544,0.954,3545,0.954,3546,0.954,3547,0.954,3548,0.954,3549,0.954,3550,0.954,3551,0.954,3552,0.954,3553,0.493,3554,0.493,3555,0.493,3556,0.493,3557,0.493,3558,0.493,3559,0.493,3560,0.493,3561,0.493,3562,0.493,3563,0.493,3564,0.493,3565,0.493,3566,0.493,3567,0.493,3568,0.493,3569,0.493,3570,0.493,3571,0.493,3572,0.493,3573,0.493,3574,0.493,3575,0.493,3576,0.493,3577,0.493,3578,0.493,3579,0.493,3580,0.493,3581,0.493,3582,0.493,3583,0.493,3584,0.493,3585,0.493,3586,0.493,3587,0.493,3588,0.493,3589,0.493,3590,0.493,3591,0.493,3592,0.493,3593,0.493,3594,0.493,3595,0.493,3596,0.493,3597,0.493,3598,0.493,3599,0.493,3600,0.493,3601,0.493,3602,0.493,3603,0.493,3604,0.493,3605,0.493,3606,0.493,3607,0.493,3608,0.493,3609,0.493,3610,0.493,3611,0.493,3612,0.493,3613,0.493,3614,0.493,3615,0.493,3616,0.493,3617,0.493,3618,0.493,3619,0.493,3620,0.493,3621,0.493,3622,0.493,3623,0.493,3624,0.493,3625,0.493,3626,0.493,3627,0.493,3628,0.493,3629,0.493,3630,0.493,3631,0.493,3632,0.493,3633,0.493,3634,0.493,3635,0.493,3636,0.493,3637,0.493,3638,0.493,3639,0.493,3640,0.493,3641,0.493,3642,0.493,3643,0.493,3644,0.493,3645,0.493,3646,0.493,3647,0.493,3648,0.493,3649,0.493,3650,0.493,3651,0.493,3652,0.493,3653,0.493,3654,0.493,3655,0.493,3656,0.493,3657,0.493,3658,0.493,3659,0.493,3660,0.493,3661,0.493,3662,0.493,3663,0.493,3664,0.493,3665,0.493,3666,0.493,3667,0.493,3668,0.493,3669,0.493,3670,0.493,3671,0.493,3672,0.493,3673,0.493,3674,0.493,3675,0.493,3676,0.493,3677,0.493,3678,0.493,3679,0.493,3680,0.493,3681,0.493,3682,0.493,3683,0.493,3684,0.493,3685,0.493,3686,0.493,3687,0.493,3688,0.493,3689,0.493,3690,0.493,3691,0.493,3692,0.493,3693,0.493,3694,0.493,3695,0.493,3696,0.493]],["t/1775",[4,2.271,7,0.693,13,0.89,22,1.31,32,0.421,34,5.239,35,0.821,45,0.629,56,0.529,57,1.087,58,0.573,61,2.262,63,0.738,76,5.335,77,1.191,97,0.603,104,0.714,120,0.782,128,0.525,129,0.515,130,1.198,131,0.588,145,1.4,169,0.605,184,0.564,188,0.61,190,0.548,196,0.54,205,0.5,209,0.766,237,0.871,253,2.038,271,2.467,280,4.937,300,0.999,326,0.485,331,0.703,360,1.952,365,1.839,368,3.121,369,0.752,387,0.8,400,0.738,423,0.752,439,5.913,444,0.782,445,0.227,460,1.126,507,0.684,518,0.569,550,0.643,554,0.248,567,0.599,575,0.936,576,5.095,592,0.766,599,0.334,635,3.957,668,0.8,682,1.86,685,1.839,694,3.287,695,3.896,704,0.821,711,2.093,732,0.904,753,0.636,760,0.999,761,2.511,812,0.8,816,0.904,844,5.982,848,0.944,855,0.782,952,2.004,992,0.999,1053,1.529,1054,1.4,1120,0.904,1186,2.207,1188,0.944,1219,1.241,1227,1.529,1398,1.759,1400,2.623,1410,2.04,1621,0.871,1858,0.904,1865,0.944,1908,0.999,2073,5.551,2093,6.327,2493,0.844,2517,0.999,2590,0.999,2864,1.86,2895,0.999,3122,0.999,3428,0.999,3697,1.081,3698,1.081,3699,1.081,3700,1.081,3701,1.081,3702,1.081,3703,1.081,3704,2.015,3705,6.505,3706,6.505,3707,6.505,3708,6.505,3709,4.177,3710,1.081,3711,2.015,3712,4.177,3713,1.081,3714,2.015,3715,3.543,3716,2.015,3717,3.543,3718,2.015,3719,2.015,3720,2.015,3721,2.015,3722,2.015,3723,2.015,3724,1.081,3725,1.081,3726,1.081,3727,1.081]],["t/1779",[3728,10.333,3729,10.333,3730,10.333,3731,10.333]],["t/1781",[13,3.253,58,2.937,1281,6.075,3732,10.333]],["t/1783",[3733,11.041]],["t/1786",[1652,6.115]],["t/1788",[333,3.393,776,7.578,1289,6.314,1318,6.137,2126,8.112,2127,8.112,2128,7.37]],["t/1790",[344,4.847,1085,6.748,1365,5.15,2243,5.237,2244,5.772,3734,8.967,3735,6.748]],["t/1793",[1,0.775,152,1.593,206,3.826,376,2.73,445,1.59,554,1.738,555,6.616,602,2.333,676,2.668,687,1.533,780,0.966,1211,3.058,1215,1.617,1318,4.79,1727,3.61,1920,7.636,3736,7.578,3737,7.578]],["t/1796",[1,1.014,353,4.217,602,3.05,780,1.263,2126,8.279,3738,9.909]],["t/1798",[1,1.196,602,2.989,780,1.238,1072,4.358,1289,6.314,3739,9.71]],["t/1800",[1,1.014,353,4.217,780,1.263,2127,8.279,2131,4.845,3740,9.909]],["t/1802",[1,1.283,333,4.086,780,1.238,3741,9.71]],["t/1804",[1,1.283,780,1.238,1717,6.314,2128,7.37,3742,9.71]],["t/1806",[1,1.035,776,7.895,780,1.29,2435,7.168,3743,10.117]],["t/1808",[1,1.035,602,3.114,780,1.29,1318,6.394,3744,10.117]],["t/1811",[1,0.788,73,5.699,206,2.946,233,3.691,299,3.227,351,3.599,356,4.478,687,1.557,780,0.981,1727,4.812,1920,8.17,2243,5.449,2490,5.165,3745,7.699,3746,7.699]],["t/1813",[1,0.903,333,3.083,351,4.125,426,4.344,687,1.785,780,1.125,2604,7.372,3341,6.79,3734,8.148,3747,8.823,3748,8.823]],["t/1815",[1,0.501,13,1.54,19,1.598,77,2.061,152,1.029,182,3.818,206,1.872,333,3.078,351,2.287,353,2.082,376,1.762,426,3.613,445,1.54,461,2.031,476,2.26,537,1.587,554,1.122,599,1.511,602,3.013,663,2.735,669,2.876,687,0.99,689,2.233,773,3.282,777,2.208,780,0.624,1045,3.135,1049,2.662,1089,5.816,1091,5.816,1211,1.974,1215,1.044,1246,3.54,1247,3.713,1802,5.571,1937,1.587,1978,4.639,1999,5.912,3749,4.892,3750,4.518,3751,4.892,3752,4.892]],["t/1817",[1,0.661,107,4.202,112,4.267,152,1.359,351,3.022,445,1.356,518,3.4,554,1.482,577,3.182,687,1.307,688,3.347,724,4.905,780,0.824,1215,1.379,1365,4.761,1450,5.044,1727,5.308,1920,7.991,2131,4.389,3753,5.968,3754,4.579,3755,6.463,3756,6.463]],["t/1819",[1,0.533,32,3.93,97,2.301,101,2.111,143,4.521,152,1.095,205,4.223,347,4.301,351,2.435,376,1.876,408,3.866,409,3.76,445,1.093,554,1.195,602,2.367,663,2.912,665,4.624,669,5.935,676,1.834,687,1.054,777,2.351,780,0.664,1074,3.552,1215,1.111,1937,2.495,3383,4.81,3750,4.81,3757,7.69,3758,5.209,3759,5.209]],["t/1821",[1,0.8,134,3.962,351,3.658,687,1.583,780,0.997,1478,4.256,1727,5.738,1920,6.967,1921,8.914,2060,5.877,2244,4.65,3760,7.823,3761,7.823]],["t/1823",[1,0.67,73,4.849,134,3.317,152,1.377,206,3.467,233,3.14,299,2.746,445,1.374,554,1.502,687,1.325,780,0.835,1215,1.398,1727,5.797,1920,8.03,1921,5.719,2060,6.452,3762,4.552,3763,6.55]],["t/1825",[58,2.937,333,3.611,1281,6.075,3764,10.333]],["t/1827",[3765,11.041]],["t/1830",[1652,6.115]],["t/1832",[537,2.016,551,2.923,744,3.038,776,4.849,784,3.38,1089,4.102,1091,4.102,1098,4.04,1201,2.979,1246,4.496,1258,4.496,1287,4.849,1318,3.927,1324,4.599,1999,5.004,2128,4.716,2883,5.425,2934,4.849,2935,4.849,2981,5.004,2995,5.004,3766,5.738,3767,5.738,3768,5.738,3769,5.738,3770,5.738,3771,5.425,3772,5.738,3773,5.738,3774,5.738,3775,5.738,3776,5.738,3777,5.738,3778,5.738,3779,5.738]],["t/1834",[694,5.639,695,5.014,1365,3.897,1729,6.138,1947,6.785,2243,3.963,2244,4.367,3454,6.415,3735,5.106,3780,7.347,3781,6.785,3782,7.347,3783,7.347,3784,7.347,3785,6.785,3786,6.785,3787,6.785,3788,6.785,3789,6.785,3790,6.785,3791,7.347,3792,7.347]],["t/1837",[1,0.506,13,2.329,61,1.958,77,2.082,152,1.039,206,2.831,253,2.2,333,3.863,376,1.78,445,1.037,554,1.134,555,4.315,567,2.737,599,1.526,669,2.906,676,1.74,687,1,689,2.256,773,3.316,780,0.63,812,3.658,1045,3.167,1049,2.689,1089,5.852,1091,5.852,1098,5.763,1211,1.994,1215,1.055,1246,3.576,1247,3.751,1727,2.354,1920,3.373,1937,1.603,1978,4.675,1999,5.957,3771,6.458,3793,4.942,3794,4.942]],["t/1840",[1,1.196,602,2.989,780,1.238,909,6.627,3766,8.967,3795,9.71]],["t/1842",[1,1.196,602,2.989,633,6.411,780,1.238,3767,8.967,3796,9.71]],["t/1844",[1,1.014,353,4.217,780,1.263,2435,7.021,3768,9.151,3797,9.909]],["t/1846",[1,1.283,780,1.238,1201,5.605,3798,9.71]],["t/1848",[1,1.035,780,1.29,1098,7.791,3799,10.117]],["t/1850",[1,1.196,602,2.989,780,1.238,1072,4.358,2935,7.578,3800,9.71]],["t/1852",[1,1.283,551,4.568,780,1.238,2246,7.578,3801,9.71]],["t/1854",[1,1.035,780,1.29,1978,6.394,1999,8.148,3802,10.117]],["t/1856",[1,1.014,353,4.217,602,3.05,780,1.263,1287,7.733,3803,9.909]],["t/1858",[1,1.035,780,1.29,1201,4.85,3769,9.343,3804,10.117]],["t/1860",[1,1.014,353,4.217,780,1.263,1937,3.215,3770,9.151,3805,9.909]],["t/1862",[1,1.283,780,1.238,1074,4.485,1258,7.026,3806,9.71]],["t/1864",[1,1.035,780,1.29,1920,6.904,3771,8.833,3807,10.117]],["t/1866",[1,1.035,780,1.29,1089,7.911,3808,10.117]],["t/1868",[1,1.035,780,1.29,2435,7.168,3772,9.343,3809,10.117]],["t/1870",[1,1.283,537,3.793,780,1.238,3810,9.71]],["t/1872",[1,1.196,602,2.989,780,1.238,1072,4.358,2883,8.478,3811,9.71]],["t/1874",[1,1.196,602,2.989,780,1.238,1072,4.358,3773,8.967,3812,9.71]],["t/1876",[1,1.283,780,1.238,1937,3.15,2995,7.821,3813,9.71]],["t/1878",[1,1.035,780,1.29,1246,7.32,1937,3.282,3814,10.117]],["t/1880",[1,1.035,602,3.114,780,1.29,784,5.504,3815,10.117]],["t/1882",[1,1.306,602,2.819,780,1.167,1935,7.147,1937,2.971,3774,8.457,3816,9.158]],["t/1884",[1,1.196,602,2.989,780,1.238,1072,4.358,2934,7.578,3817,9.71]],["t/1886",[1,1.306,602,2.819,780,1.167,1935,7.147,1937,2.971,3775,8.457,3818,9.158]],["t/1888",[1,1.306,602,2.819,780,1.167,1324,6.779,1935,7.147,1937,2.971,3819,9.158]],["t/1890",[1,1.306,602,2.819,780,1.167,1935,7.147,1937,2.971,3776,8.457,3820,9.158]],["t/1892",[1,1.196,112,6.411,780,1.238,2131,4.748,3777,8.967,3821,9.71]],["t/1894",[1,1.035,780,1.29,1717,6.578,2128,7.678,3822,10.117]],["t/1896",[1,1.014,353,4.217,776,7.733,780,1.263,2435,7.021,3823,9.909]],["t/1898",[1,1.035,602,3.114,780,1.29,1318,6.394,3824,10.117]],["t/1900",[1,1.283,744,4.748,780,1.238,1937,3.15,3825,9.71]],["t/1902",[1,1.306,602,2.819,780,1.167,1935,7.147,1937,2.971,3778,8.457,3826,9.158]],["t/1904",[1,1.283,780,1.238,1937,3.15,3779,8.967,3827,9.71]],["t/1906",[1,1.035,780,1.29,1937,3.282,2981,8.148,3828,10.117]],["t/1908",[1,1.035,780,1.29,1091,7.911,3829,10.117]],["t/1911",[1,0.699,152,1.436,445,1.432,554,1.566,687,1.886,743,5.672,780,0.87,1201,5.724,1215,1.457,1313,4.205,1462,5.054,1937,3.025,1958,5.329,1959,5.499,3830,6.828,3831,9.323,3832,9.323,3833,6.828,3834,6.828]],["t/1913",[1,0.788,73,5.699,206,2.946,233,3.691,299,3.227,333,4.183,351,3.599,356,4.478,687,1.557,780,0.981,1727,4.812,2243,5.449,2490,5.165,3835,7.699,3836,7.699]],["t/1915",[1,0.919,233,4.309,676,3.164,687,1.818,780,1.146,1920,6.134,2243,4.847,3341,6.868,3781,8.3,3837,8.987]],["t/1917",[1,0.661,107,4.202,112,4.267,152,1.359,333,4.092,351,3.022,445,1.356,518,3.4,554,1.482,577,3.182,687,1.307,688,3.347,724,4.905,780,0.824,1061,4.085,1215,1.379,1365,4.761,1727,5.308,2131,4.389,3754,4.579,3838,5.968,3839,6.463,3840,6.463]],["t/1919",[1,0.481,19,2.809,66,4.72,152,0.989,195,3.689,253,1.398,353,3.659,360,1.748,375,3.634,408,4.324,409,4.205,445,0.986,554,1.078,559,3.332,602,2.193,661,1.255,684,3.172,687,1.441,743,2.86,780,0.599,1029,3.31,1031,2.399,1201,2.254,1215,1.003,1297,5.523,1313,2.896,1330,6.094,1937,2.79,3841,4.702,3842,6.579,3843,7.123,3844,6.579,3845,4.702]],["t/1921",[1,0.709,61,3.73,152,1.456,360,2.575,428,4.513,445,1.453,461,2.875,537,2.247,554,1.589,602,2.132,687,1.401,689,4.298,777,4.249,780,0.883,1215,1.478,1925,8.219,1964,9.337,3846,6.926,3847,6.396,3848,6.926]],["t/1923",[1,0.533,152,1.095,195,3.983,253,1.549,360,1.936,408,4.596,409,4.47,445,1.093,554,1.195,559,3.691,602,2.367,622,6.354,661,1.39,684,3.372,687,1.556,743,3.169,780,0.664,1031,2.657,1201,2.497,1215,1.111,1297,5.812,1313,3.208,1330,6.478,1937,2.966,3842,7.102,3844,7.102,3849,5.209,3850,7.69,3851,5.209]],["t/1925",[1,0.583,112,3.763,321,4.039,351,2.665,388,4.124,461,2.366,478,4.591,577,2.806,687,1.948,688,2.952,689,4.81,711,6.08,724,4.326,743,3.468,744,2.787,777,3.707,780,0.727,1010,4.039,1049,4.468,1201,3.937,1250,3.074,1313,3.511,1894,4.124,1958,4.448,1959,4.591,2131,4.016,2934,4.448,2935,4.448,3785,5.264,3852,5.7,3853,5.7,3854,5.7]],["t/1927",[1,0.719,112,4.639,233,3.369,333,2.455,351,3.285,461,2.917,537,2.28,577,3.459,602,2.926,622,4.883,687,1.923,688,3.639,689,4.34,724,5.333,780,0.896,1010,4.979,1313,4.327,2131,4.648,2882,6.489,3786,6.489,3855,7.027,3856,7.027]],["t/1929",[1,0.841,351,3.844,577,4.048,584,4.813,687,1.664,780,1.048,1201,5.055,2131,5.155,3787,7.594,3857,10.543,3858,8.223,3859,8.223]],["t/1931",[1,0.919,320,6.368,687,1.818,743,5.468,744,4.395,777,4.056,780,1.146,3341,6.868,3788,8.3,3860,8.987]],["t/1933",[1,0.652,443,7.58,687,1.799,689,4.06,744,4.349,777,5,780,0.813,1233,5.328,1281,3.749,1313,3.928,1379,4.147,1544,4.432,1936,3.793,1958,4.977,1959,5.137,2934,6.941,2935,6.941,3789,5.89,3861,6.377]],["t/1935",[1,0.636,152,1.307,223,3.41,332,3.78,333,2.171,351,2.905,423,4.318,461,2.579,480,2.804,507,3.927,537,2.016,580,4.39,661,1.658,676,3.075,687,1.257,694,3.577,780,0.792,1201,5.251,1215,1.326,1235,4.455,1717,4.04,1727,4.16,2128,4.716,2243,3.351,3790,5.738,3862,6.213,3863,6.213,3864,6.213]],["t/1937",[1,0.652,61,2.527,74,3.23,96,2.785,97,2.661,101,1.751,126,3.329,128,3.098,129,3.038,152,1.341,253,1.897,445,1.338,461,3.692,537,3.594,548,5.328,554,1.463,602,1.963,687,1.29,780,0.813,1074,2.946,1215,1.361,1258,6.435,2101,4.84,3865,6.377,3866,8.894,3867,6.377]],["t/1939",[1,0.438,31,3.036,32,1.668,61,1.698,91,2.924,131,2.331,152,0.901,168,2.708,183,3.252,206,1.64,213,2.576,232,2.829,332,2.607,333,2.318,336,2.924,351,2.003,428,2.054,445,0.899,461,4.104,518,2.254,537,3.393,554,0.983,580,2.154,602,2.042,633,2.829,661,2.166,676,2.336,687,0.867,777,2.994,780,0.546,784,2.331,928,3.1,1065,1.871,1201,2.054,1215,0.914,1235,2.186,1463,2.219,1565,2.786,1769,6.539,1922,6.127,2073,2.978,2101,3.252,3847,3.957,3868,4.285,3869,4.285,3870,4.285,3871,4.285,3872,4.285,3873,4.285,3874,4.285,3875,4.285,3876,4.285]],["t/1941",[1,0.612,97,2.96,100,3.95,101,2.334,126,4.438,152,1.258,253,2.942,351,2.797,360,2.224,445,1.255,454,3.444,537,3.835,554,1.372,687,1.21,750,5.173,780,0.763,1074,2.764,1215,1.277,1240,4.083,1258,6.152,3341,5.236,3385,5.525,3877,5.983,3878,5.983]],["t/1943",[1,0.775,56,3.705,96,3.309,97,2.268,152,1.593,351,3.543,445,1.59,554,1.738,687,1.533,741,4.856,780,0.966,1215,1.617,1478,4.123,1936,2.467,1978,4.79,3341,6.157,3879,7.578,3880,7.578,3881,7.578,3882,7.578]],["t/1945",[1,0.576,152,1.185,168,5.148,445,1.182,544,4.553,554,1.292,602,2.507,674,3.18,687,1.648,689,2.572,743,3.427,744,2.755,777,3.676,780,0.718,1201,5.864,1215,1.202,1250,5.159,1313,3.47,1490,3.514,1958,6.356,1959,6.559,3883,5.634,3884,8.144,3885,5.634,3886,5.634,3887,5.634]],["t/1947",[1,0.752,61,2.911,66,4.033,134,3.721,351,3.435,428,3.522,687,1.982,689,3.354,738,6.138,743,5.959,744,4.79,780,0.937,1250,3.963,1279,5.316,1313,4.525,1923,9.046,3454,6.415,3888,7.347,3889,7.347]],["t/1949",[1,0.8,61,4.045,113,4.158,351,3.658,428,3.75,480,3.531,580,3.933,687,1.583,695,6.967,780,0.997,1201,3.75,1313,4.818,1924,9.428,3890,7.823,3891,7.823]],["t/1951",[1,0.841,333,2.873,351,3.844,687,1.664,780,1.048,1478,4.473,1727,5.544,2060,6.07,2133,9.206,2244,4.888,3892,8.223,3893,8.223]],["t/1953",[1,0.709,32,2.696,69,6.67,152,1.456,205,4.348,351,3.238,408,4.733,409,4.603,445,1.453,537,3.469,554,1.589,665,5.66,687,1.401,780,0.883,1215,1.478,3341,5.797,3894,6.926,3895,6.926,3896,6.926]],["t/1955",[1,0.679,152,1.396,206,2.541,233,4.385,333,3.939,445,1.393,554,1.523,567,3.678,687,1.343,780,0.846,1215,1.417,1727,4.357,1920,7.694,2060,6.023,2133,5.798,3762,4.615,3897,5.862,3898,5.182,3899,6.64]],["t/1957",[37,3.563,66,3.972,331,4.706,351,3.384,376,2.607,378,3.972,383,5.64,415,3.871,476,3.343,576,3.563,580,3.638,1058,4.706,1065,3.161,1171,4.046,1212,3.903,1301,4.947,1483,5.237,2239,4.125,2923,5.829,3258,6.319,3372,6.684,3900,7.237]],["t/1960",[1652,6.115]],["t/1962",[59,4.734,1302,4.435,2485,6.623,2486,6.623,2642,6.623,2998,7.179,3005,7.179,3007,7.179,3008,7.179,3009,6.87,3010,7.179,3901,6.623,3902,7.594,3903,7.179,3904,7.594,3905,6.417]],["t/1964",[37,4.118,684,3.085,1058,5.439,1808,6.053,1811,7.725,2243,4.512,3035,6.349,3042,7.725,3906,7.725,3907,8.365,3908,8.365,3909,8.365,3910,8.365,3911,8.365,3912,8.365]],["t/1967",[1,0.644,66,3.455,152,1.324,206,3.373,233,3.018,299,2.639,445,1.32,554,1.444,599,1.944,602,3.13,687,1.273,748,6.114,780,0.802,1211,2.54,1215,1.343,1235,4.496,1301,3.211,1426,3.587,1554,3.099,1672,5.07,1937,2.042,2486,7.098,3903,5.496,3905,6.877,3913,6.294,3914,6.294]],["t/1970",[1,1.182,96,4.157,602,2.93,780,1.213,2599,7.953,2998,8.311,3915,9.519]],["t/1972",[1,1.196,602,2.989,780,1.238,1072,4.358,3005,8.478,3916,9.71]],["t/1974",[1,1.154,152,1.619,445,1.615,687,1.557,780,0.981,1215,2.156,1235,5.752,1937,4.033,2068,4.629,3901,6.201,3917,7.699]],["t/1976",[1,1.035,602,3.114,780,1.29,2486,8.148,3918,10.117]],["t/1978",[1,1.035,378,5.553,780,1.29,3007,8.833,3919,10.117]],["t/1980",[1,1.283,780,1.238,1937,3.15,3009,8.112,3920,9.71]],["t/1982",[1,1.196,602,2.989,780,1.238,1072,4.358,3902,8.967,3921,9.71]],["t/1984",[1,1.196,602,2.989,780,1.238,1072,4.358,2485,7.821,3922,9.71]],["t/1986",[1,1.035,780,1.29,1937,3.282,2642,8.148,3923,10.117]],["t/1988",[1,1.035,602,3.114,780,1.29,3903,8.833,3924,10.117]],["t/1990",[1,1.154,152,1.619,445,1.615,687,1.557,780,0.981,1215,2.156,1235,5.752,1937,4.033,2068,4.629,3904,7.11,3925,7.699]],["t/1992",[1,1.035,378,5.553,780,1.29,3008,8.833,3926,10.117]],["t/1994",[1,1.283,780,1.238,1302,5.237,1937,3.15,3927,9.71]],["t/1996",[1,1.196,112,6.411,780,1.238,2131,4.748,3010,8.478,3928,9.71]],["t/1998",[1,1.035,780,1.29,1937,3.282,3905,7.895,3929,10.117]],["t/2000",[1,1.283,59,5.59,780,1.238,1937,3.15,3930,9.71]],["t/2003",[1,0.788,375,5.154,376,3.639,507,6.385,602,3.11,687,1.557,743,4.684,780,0.981,989,7.158,1211,4.077,1419,8.137,3906,7.11,3931,7.699]],["t/2005",[1,0.871,687,1.722,748,6.481,780,1.085,1727,5.134,2239,4.851,2243,6.38,2490,7.232,3932,8.512]],["t/2007",[1,0.775,152,1.593,190,3.837,445,1.59,554,1.738,602,3.078,687,1.533,750,4.61,777,3.42,780,0.966,1058,4.927,1065,5.196,1215,1.617,1301,3.866,1937,2.458,2638,6.616,3933,7.578]],["t/2009",[1,0.719,96,3.069,152,1.478,383,4.087,445,1.474,484,5.333,554,1.612,602,2.163,661,1.875,687,1.422,750,4.275,753,4.131,780,0.896,887,6.14,1058,4.569,1065,4.151,1215,1.499,1301,3.585,1937,2.28,3341,5.854,3934,7.027,3935,7.027]],["t/2011",[1,0.841,59,4.734,183,6.241,480,3.711,538,5.129,687,1.664,780,1.048,1235,4.195,1301,4.195,1302,4.435,1672,6.623,3035,8.002,3341,6.493,3936,8.223]],["t/2013",[1,0.775,96,3.309,152,1.593,383,4.408,445,1.59,484,5.751,554,1.738,602,2.333,661,2.022,687,1.533,753,4.455,780,0.966,887,5.698,1215,1.617,1301,3.866,3035,5.751,3341,6.157,3937,7.578,3938,7.578]],["t/2015",[1,1.228,152,1.456,346,4.647,376,2.495,445,1.453,554,1.589,602,2.132,687,1.401,780,0.883,1029,4.375,1211,4.315,1215,1.478,1937,3.054,2349,5.95,2604,7.865,3939,6.926,3940,6.926]],["t/2017",[1,0.8,152,1.645,445,1.641,554,1.794,602,2.408,663,4.373,687,1.583,777,5.129,780,0.997,1215,1.669,1302,6.13,1937,3.312,3941,7.823,3942,7.823]],["t/2019",[1,0.73,152,1.499,346,4.784,376,2.568,430,7.732,445,1.496,554,1.636,577,3.51,584,3.255,602,2.195,687,1.443,780,0.909,1029,5.044,1211,4.38,1215,1.522,1301,3.638,2131,4.694,3943,7.13,3944,7.13]],["t/2021",[1,0.775,152,1.593,445,1.59,554,1.738,599,2.34,684,4.127,687,1.533,780,0.966,1215,1.617,1235,6.07,1250,4.087,1937,3.63,3945,7.578,3946,7.578]],["t/2023",[1,0.763,152,1.569,195,3.864,253,2.219,378,4.095,445,1.565,554,1.711,687,1.509,703,5.398,750,4.539,780,0.951,1029,3.467,1215,1.592,1301,5.664,1302,4.024,1937,2.42,3341,6.094,3947,7.461,3948,7.461]],["t/2025",[1,0.775,37,3.73,152,1.593,191,4.236,196,3.783,376,2.73,445,1.59,602,2.333,674,4.277,687,1.533,775,4.455,780,0.966,1211,4.034,1215,1.617,1302,4.087,3341,6.157,3949,7.578,3950,7.578,3951,7.578]],["t/2027",[1,0.73,37,3.51,152,1.499,253,2.855,376,2.568,440,5.743,445,1.496,449,4.637,518,3.752,602,2.195,687,1.443,775,4.192,780,0.909,1211,3.874,1215,1.522,1302,3.846,1313,4.391,2435,5.052,3258,6.226,3341,5.913,3952,7.13,3953,7.13]],["t/2029",[1,1.066,37,2.742,152,1.171,375,2.841,376,2.909,378,3.057,445,1.168,507,3.52,554,1.277,576,4.678,587,3.52,599,1.72,602,2.486,635,4.913,687,1.127,780,0.71,915,4.653,928,4.029,989,3.946,1072,2.499,1211,2.247,1212,3.004,1215,1.188,1302,5.125,1419,4.485,1426,3.174,2073,3.87,2486,4.485,3049,5.143,3341,4.974,3954,5.569,3955,5.569,3956,5.569]],["t/2031",[1,0.679,152,1.396,376,2.392,378,3.645,445,1.393,554,1.523,602,2.815,687,1.343,750,4.04,780,0.846,887,5.963,1045,4.256,1065,4.569,1211,2.68,1215,1.417,1301,3.388,1302,3.582,1937,2.154,3341,5.633,3957,6.64,3958,9.146,3959,6.64,3960,6.64]],["t/2033",[134,4.637,275,4.982,307,6.95,674,5.168,2239,5.219,2318,5.219,2556,5.955,2776,7.996,3898,7.147,3961,9.158]],["t/2036",[1652,6.115]],["t/2038",[596,6.152,597,6.279]],["t/2040",[1365,5.726,3962,7.367]],["t/2043",[1,0.73,77,4.044,152,1.499,206,3.674,233,3.418,299,2.989,445,1.496,554,1.636,596,5.472,597,6.314,687,1.443,780,0.909,1215,1.522,1937,3.115,2335,7.854,3963,7.13,3964,7.13]],["t/2046",[1,1.035,596,5.766,780,1.29,1937,3.282,3965,10.117]],["t/2048",[1,1.035,597,5.885,780,1.29,1937,3.282,3966,10.117]],["t/2051",[1,0.763,58,2.813,152,1.569,265,4.781,275,5.384,596,4.252,597,4.34,687,2.002,780,0.951,1215,1.592,1614,7.722,1727,5.289,1936,3.221,3962,5.092,3967,7.461]],["t/2053",[1,0.763,152,1.569,275,5.384,445,1.565,518,3.925,554,1.711,577,3.673,584,4.518,687,1.509,780,0.951,1215,1.592,1365,5.249,2131,4.839,2335,5.398,3754,5.286,3968,6.89,3969,6.89,3970,7.461]],["t/2055",[134,4.164,174,5.714,275,4.473,307,6.241,1276,6.414,1490,5.129,2090,7.594,2239,4.686,2318,6.009,2556,5.347,3898,6.417,3971,8.223,3972,8.223,3973,8.223]],["t/2058",[1652,6.115]],["t/2060",[596,6.152,597,6.279]],["t/2062",[1365,5.601,3962,7.206,3974,10.559]],["t/2065",[1,0.73,77,4.044,152,1.499,206,3.674,233,3.418,299,2.989,445,1.496,554,1.636,596,5.472,597,6.314,687,1.443,780,0.909,1215,1.522,1937,3.115,2337,7.854,3975,7.13,3976,7.13]],["t/2068",[1,1.035,596,5.766,780,1.29,1937,3.282,3977,10.117]],["t/2070",[1,1.035,597,5.885,780,1.29,1937,3.282,3978,10.117]],["t/2073",[1,0.763,58,2.813,152,1.569,265,4.781,275,5.384,596,4.252,597,4.34,687,2.002,780,0.951,1215,1.592,1614,7.722,1727,5.289,1936,3.221,3962,5.092,3979,7.461]],["t/2075",[1,0.973,77,4.005,152,1.478,275,3.823,445,1.474,554,1.612,577,3.459,584,3.208,596,6.14,597,4.087,687,1.422,780,0.896,1135,6.489,1215,2.463,1937,2.28,3341,5.854,3980,7.027,3981,7.027]],["t/2077",[1,0.763,152,1.569,275,5.384,445,1.565,518,3.925,554,1.711,577,3.673,584,4.518,687,1.509,780,0.951,1215,1.592,1365,5.249,2131,4.839,2337,5.398,3754,5.286,3968,6.89,3969,6.89,3982,7.461]],["t/2079",[3983,11.041]],["t/2082",[1652,6.115]],["t/2084",[59,4.734,352,7.179,1029,3.821,1211,3.318,1365,4.361,1478,4.473,1554,4.048,3901,6.623,3905,6.417,3984,7.594,3985,7.594,3986,6.623,3987,7.594,3988,7.594,3989,7.594,3990,7.594]],["t/2086",[580,4.604,750,5.571,2243,4.939,3991,9.158,3992,9.158,3993,9.158,3994,9.158,3995,9.158,3996,9.158,3997,9.158]],["t/2089",[1,0.982,152,1.499,206,2.729,445,1.496,602,2.955,687,1.443,780,0.909,1211,2.877,1215,1.522,1235,3.638,1937,3.521,2435,6.803,3905,7.492,3986,7.732,3998,7.13,3999,9.601,4000,7.13]],["t/2092",[1,1.035,352,8.833,602,3.114,780,1.29,4001,10.117]],["t/2094",[1,1.035,602,3.114,780,1.29,1211,4.082,4002,10.117]],["t/2096",[1,1.154,152,1.619,445,1.615,687,1.557,780,0.981,1215,2.156,1306,7.836,1365,4.083,2068,4.629,2131,5.514,2435,7.158,4003,7.699]],["t/2098",[1,1.035,96,4.418,780,1.29,3984,9.343,4004,10.117]],["t/2100",[1,1.035,96,4.418,780,1.29,3985,9.343,4005,10.117]],["t/2102",[1,1.154,152,1.619,445,1.615,687,1.557,780,0.981,1215,2.156,1235,5.752,1937,4.033,2068,4.629,3901,6.201,4006,7.699]],["t/2104",[1,1.035,602,3.114,780,1.29,3986,8.148,4007,10.117]],["t/2106",[1,1.035,602,3.114,780,1.29,3987,9.343,4008,10.117]],["t/2108",[1,1.035,780,1.29,1554,4.98,4009,10.117,4010,10.117]],["t/2110",[1,1.035,602,3.114,780,1.29,3988,9.343,4011,10.117]],["t/2112",[1,1.035,780,1.29,1029,4.701,1937,3.282,4012,10.117]],["t/2114",[1,1.312,687,1.722,780,1.085,1215,1.816,1478,4.631,1936,3.85,2068,5.118,4013,8.512]],["t/2116",[1,1.035,780,1.29,1937,3.282,3905,7.895,4014,10.117]],["t/2118",[1,1.035,59,5.824,780,1.29,1937,3.282,4015,10.117]],["t/2120",[1,1.145,152,1.593,445,1.59,687,1.533,780,0.966,1215,2.133,1305,6.807,1936,3.255,2068,4.556,2435,7.928,3989,6.998,4016,6.616,4017,7.578]],["t/2122",[1,1.198,152,1.359,271,4.457,445,1.356,687,1.307,780,0.824,1215,1.915,1235,4.579,1937,3.615,2068,3.886,2131,5.043,3901,8.307,3990,5.968,4016,5.643,4018,7.837,4019,6.463]],["t/2125",[1,0.993,687,1.964,780,1.238,2243,5.237,2435,8.284,4020,9.71]],["t/2127",[1,0.903,152,1.855,445,1.851,602,2.716,687,1.785,777,3.982,780,1.125,1215,1.883,4018,9.626,4021,8.823,4022,8.823]],["t/2129",[1,0.856,152,1.759,445,1.755,602,3.281,687,1.692,780,1.066,1215,1.785,4018,9.307,4023,8.365,4024,10.66,4025,8.365,4026,8.365]],["t/2131",[1,0.903,152,1.855,445,1.851,602,2.716,687,1.785,777,3.982,780,1.125,1215,1.883,1937,3.577,4027,8.823,4028,8.823]],["t/2133",[1,0.903,152,1.855,445,1.851,602,2.716,687,1.785,777,3.982,780,1.125,1215,1.883,1937,3.577,4029,8.823,4030,8.823]],["t/2135",[1,0.903,152,1.855,445,1.851,599,2.725,687,1.785,780,1.125,1215,1.883,1937,2.863,3341,6.79,4031,8.823,4032,8.823]],["t/2137",[1,0.856,152,1.759,445,1.755,599,3.292,602,2.575,687,1.692,777,3.775,780,1.066,1215,1.785,1937,2.714,3341,6.565,4033,8.365,4034,8.365]],["t/2139",[1,0.856,152,1.759,445,1.755,599,3.292,602,2.575,687,1.692,777,3.775,780,1.066,1215,1.785,1937,2.714,3341,6.565,4035,8.365,4036,8.365]],["t/2141",[1,0.814,152,1.672,445,1.668,602,3.867,687,1.609,777,3.589,780,1.014,1211,4.164,1215,1.697,3986,8.31,4037,7.952,4038,7.952]],["t/2143",[1,0.814,152,1.672,445,1.668,602,3.867,687,1.609,777,3.589,780,1.014,1211,4.164,1215,1.697,3986,8.31,4039,7.952,4040,7.952]],["t/2145",[19,2.991,79,4.335,134,4.637,197,5.712,333,3.2,587,5.788,720,5.571,1201,4.39,1383,5.072,4041,9.158]],["t/2148",[1652,6.115]],["t/2150",[19,3.449,1317,6.503,1383,5.848]],["t/2152",[684,3.443,1365,4.951,2243,5.035,2244,5.549,3735,6.487,4042,6.614,4043,6.371,4044,9.335,4045,9.335]],["t/2155",[1,0.661,19,2.932,152,1.359,206,3.435,233,3.098,299,2.709,333,2.258,336,4.411,353,3.82,375,3.297,376,2.328,445,1.356,554,1.482,602,2.763,687,1.307,772,4.267,780,0.824,952,4.579,1201,4.944,1211,2.608,1215,1.379,1946,5.674,4046,6.463,4047,6.463,4048,6.463]],["t/2158",[1,1.035,780,1.29,1383,5.603,1937,3.282,4049,10.117]],["t/2160",[1,1.035,602,3.114,780,1.29,1317,6.23,4050,10.117]],["t/2162",[1,1.283,19,3.172,780,1.238,1937,3.15,4051,9.71]],["t/2165",[1,0.8,19,2.555,353,3.329,376,2.818,687,1.583,780,0.997,1029,3.635,1201,3.75,1250,5.506,1379,5.087,1383,4.333,1937,3.908,2239,4.459,4042,5.543,4052,7.823]],["t/2167",[1,0.871,61,3.373,687,1.722,780,1.085,1201,4.081,1250,4.591,1379,5.535,1544,5.916,1937,3.837,4043,5.809,4053,8.512,4054,8.512]],["t/2169",[1,0.887,299,3.632,687,1.753,780,1.104,1201,5.999,1839,6.576,2243,5.879,2490,5.814,4055,8.665]],["t/2171",[1,0.709,19,2.262,152,1.456,356,5.476,445,1.453,483,4.439,518,4.953,554,1.589,577,3.41,584,3.162,687,1.401,780,0.883,1201,5.501,1215,1.478,1365,4.993,1383,3.836,2131,4.603,3754,4.908,4056,6.926,4057,6.926]],["t/2173",[1,0.903,360,3.28,684,4.435,687,1.785,780,1.125,1201,5.285,1937,3.577,4058,8.823]],["t/2175",[1,0.937,687,1.853,780,1.167,1478,4.982,1727,4.362,2060,5.272,2244,5.444,2410,9.85,4059,9.158]],["t/2177",[1,0.763,152,1.569,233,4.744,445,1.565,554,1.711,687,1.509,780,0.951,1201,5.669,1215,1.592,1281,4.386,1727,3.554,2060,5.697,2410,6.514,3762,5.185,3897,6.342,4060,7.461]],["t/2179",[1,0.661,19,2.932,152,1.359,336,4.411,353,3.82,360,2.403,375,3.297,376,2.328,445,1.356,554,1.482,602,2.763,687,1.307,772,4.267,780,0.824,952,4.579,1201,5.342,1215,1.379,1317,5.528,1340,6.495,1727,3.079,2490,4.336,4061,6.463,4062,5.968,4063,6.463]],["t/2181",[1,0.67,19,2.96,152,1.377,336,4.47,353,3.855,360,2.435,375,3.342,376,2.359,445,1.374,554,1.502,602,2.789,687,1.325,772,4.325,780,0.835,952,4.641,1201,5.373,1215,1.398,1296,6.297,1317,5.58,2490,4.395,4062,6.049,4064,6.55,4065,6.55]],["t/2183",[13,3.701,96,4.812,97,3.297,101,3.025,118,4.93,573,5.734,907,5.918,1462,5.439,1978,7.429,2239,4.187,4066,7.347]],["t/2186",[1652,6.115]],["t/2188",[1074,4.986,1460,5.925]],["t/2190",[1365,5.366,2243,5.456,2244,6.014,2445,9.343,3735,7.03]],["t/2193",[1,0.689,96,4.032,97,2.763,152,1.416,206,4.033,233,3.228,299,2.822,353,2.865,360,2.503,445,1.412,554,1.544,687,1.362,780,0.858,1215,1.437,1460,5.784,1543,4.595,1978,6.661,2239,3.837,2580,5.879,4067,6.733,4068,6.733]],["t/2196",[1,1.035,780,1.29,1460,6.576,4069,10.117]],["t/2198",[1,1.035,780,1.29,1074,5.535,4070,10.117]],["t/2201",[1,0.887,299,3.632,687,1.753,780,1.104,1839,6.576,1978,7.91,2243,5.879,2490,5.814,4071,8.665]],["t/2203",[1,0.763,152,1.569,445,1.565,518,3.925,554,1.711,577,3.673,584,4.518,687,1.509,780,0.951,1215,1.592,1365,5.249,1978,7.474,2131,4.839,3754,5.286,4072,7.461,4073,7.461]],["t/2205",[1,0.937,687,1.853,780,1.167,1478,4.982,1727,4.362,2060,5.272,2244,5.444,2411,9.85,4074,9.158]],["t/2207",[1,0.827,152,1.7,233,5,445,1.696,687,1.636,780,1.031,1215,1.725,1978,7.71,2060,4.654,2411,7.059,3762,5.619,3897,5.182,4075,8.085]],["t/2209",[1,0.814,97,2.38,152,1.672,360,2.956,445,1.668,454,4.578,687,1.609,780,1.014,1074,5.291,1215,1.697,1460,5.663,2438,8.31,2495,7.344,4076,7.952]],["t/2211",[126,5.281,545,5.366,551,4.759,2239,5.766,4077,10.117]],["t/2214",[1652,6.115]],["t/2216",[535,5.848,2302,8.014,4078,9.751]],["t/2218",[684,3.51,1365,5.049,2243,5.134,2244,5.658,3735,6.615,3962,6.496,4042,6.745,4043,6.496]],["t/2221",[1,0.73,152,1.499,206,3.674,233,3.418,299,2.989,445,1.496,535,6.012,537,3.932,554,1.636,687,1.443,780,0.909,1215,2.049,1937,3.115,2302,5.412,4079,7.13,4080,7.13]],["t/2224",[1,1.035,535,5.603,780,1.29,1937,3.282,4081,10.117]],["t/2226",[1,1.035,780,1.29,1937,3.282,2302,7.678,4082,10.117]],["t/2228",[1,1.182,602,2.93,780,1.213,1565,6.189,4016,8.311,4078,8.79,4083,9.519]],["t/2231",[1,0.871,537,3.497,687,2.181,780,1.085,1250,5.814,1937,4.034,4042,6.032,4084,8.512]],["t/2233",[1,0.871,61,4.271,428,5.167,537,3.497,687,2.181,780,1.085,1937,3.497,4043,5.809,4085,8.512]],["t/2235",[1,0.871,58,3.064,537,3.497,687,2.181,780,1.085,1614,8.412,2412,9.005,3962,5.809,4086,8.512]],["t/2237",[1,0.903,299,3.699,537,4.086,687,1.785,780,1.125,2243,6.486,4087,8.823]],["t/2239",[1,0.775,152,1.593,381,6.998,445,1.59,480,3.42,518,3.987,537,3.63,554,1.738,577,3.73,687,1.533,780,0.966,1215,1.617,1365,4.019,1450,5.914,2131,4.889,3753,6.998,3754,5.369,4088,7.578]],["t/2241",[1,0.699,97,3.177,101,2.914,126,3.564,152,1.436,253,2.031,445,1.432,535,5.164,537,3.444,554,1.566,684,3.438,687,1.381,780,0.87,1074,3.154,1215,1.457,1258,4.941,1937,3.025,4089,6.828,4090,6.828]],["t/2243",[1,0.937,687,1.853,780,1.167,1478,4.982,1727,4.362,2060,5.272,2244,5.444,2412,9.426,4091,9.158]],["t/2245",[1,0.763,152,1.569,233,4.744,445,1.565,537,3.836,554,1.711,687,1.509,780,0.951,1215,1.592,1281,4.386,1727,3.554,2060,5.697,2412,6.233,3762,5.185,3897,6.342,4092,7.461]],["t/2247",[19,3.482,97,2.503,101,2.296,134,4.236,535,4.633,549,5.523,551,3.935,720,5.089,733,6.737,893,7.725,1276,5.089,2239,4.767,4093,8.365,4094,8.365]],["t/2249",[2246,8.617]],["t/2252",[1652,6.115]],["t/2254",[784,5.178,1297,5.48,1382,6.887,1383,5.272,1479,6.1,1481,7.224,2242,6.496,2272,7.666]],["t/2256",[89,5.122,126,4.691,347,4.228,684,3.315,1365,4.767,1386,7.847,2243,4.847,2244,5.342,3735,6.246,4042,6.368,4043,6.134]],["t/2259",[1,0.506,19,2.416,32,3.451,97,1.479,101,1.357,152,1.039,206,3.765,299,2.072,333,1.727,353,2.103,445,1.037,537,2.399,554,1.134,676,1.74,687,1,777,3.338,780,0.63,784,4.024,1074,2.283,1215,1.055,1270,3.263,1297,5.102,1382,5.352,1383,4.909,1463,2.56,1479,3.167,1481,5.613,1937,3.587,2001,6.727,2272,5.957,4095,4.942,4096,4.942]],["t/2262",[1,0.993,351,4.54,780,1.238,1937,3.15,2242,6.627,4097,8.967,4098,9.71]],["t/2264",[1,1.035,780,1.29,1074,4.673,2272,8.148,4099,10.117]],["t/2266",[1,1.035,780,1.29,1481,7.678,1937,3.282,4100,10.117]],["t/2268",[1,1.035,780,1.29,1383,5.603,1937,3.282,4101,10.117]],["t/2270",[1,1.035,780,1.29,784,5.504,1937,3.282,4102,10.117]],["t/2272",[1,1.035,780,1.29,1297,5.824,1937,3.282,4103,10.117]],["t/2274",[1,1.035,780,1.29,1479,6.484,1937,3.282,4104,10.117]],["t/2276",[1,1.035,780,1.29,1382,7.32,1937,3.282,4105,10.117]],["t/2279",[1,0.661,30,3.683,31,4.579,32,2.516,131,3.516,326,2.9,335,4.031,529,3.613,537,2.912,551,4.223,599,1.996,687,1.816,780,0.824,794,5.643,1134,3.932,1212,3.486,1250,4.841,1276,3.932,1937,3.346,1954,4.085,2239,3.683,2689,4.905,4042,4.579,4106,6.463,4107,6.463,4108,6.463]],["t/2281",[1,0.993,687,1.964,780,1.238,1937,3.793,4043,6.627,4109,9.71]],["t/2283",[1,0.763,152,1.569,299,3.127,351,3.488,445,1.565,687,1.509,780,0.951,1215,2.112,1454,7.578,1839,5.662,2001,8.427,2051,5.286,2243,4.024,2490,5.006,4110,6.89,4111,6.89,4112,7.461]],["t/2285",[1,0.539,19,2.532,30,3.001,31,3.731,72,2.508,111,3.328,126,2.748,152,1.107,206,2.015,280,3.996,333,1.84,353,2.241,445,1.105,537,2.985,545,4.112,551,2.477,599,2.394,633,3.476,635,3.203,676,1.854,687,1.065,777,3.499,780,0.671,909,3.593,1072,2.363,1134,4.716,1160,4.597,1212,2.84,1215,1.124,1270,3.476,1383,2.916,1463,2.727,1954,3.328,2027,6.768,2239,3.001,2438,4.241,2636,4.597,2689,3.996,4113,5.265,4114,4.597,4115,5.265]],["t/2287",[1,0.871,152,1.79,351,3.98,445,1.786,551,4.004,687,1.722,780,1.085,1215,1.816,2001,6.461,2131,5.27,4116,7.861,4117,7.861,4118,8.512]],["t/2289",[1,0.993,684,3.581,687,1.964,780,1.238,1937,3.793,4119,9.71]],["t/2291",[1,0.827,152,1.7,347,3.803,445,1.696,545,4.288,551,3.803,687,2.11,780,1.031,1215,1.725,1460,5.725,2239,4.608,4114,9.106,4120,8.085,4121,8.085]],["t/2293",[1,0.903,351,4.125,687,1.785,780,1.125,1478,4.8,1727,4.203,2060,5.079,2244,5.245,2262,8.879,4122,8.148,4123,8.823]],["t/2295",[1,0.679,96,2.9,97,2.737,101,1.823,109,3.823,152,1.396,347,3.124,445,1.393,545,5.549,551,3.124,663,5.113,687,1.85,688,3.439,780,0.846,1074,4.833,1215,1.417,2101,5.04,2131,4.472,2239,3.785,4114,5.798,4124,6.64,4125,6.64]],["t/2297",[1,0.719,89,6.14,97,2.103,111,4.441,152,1.478,253,2.09,445,1.474,454,4.045,537,3.745,551,3.305,554,1.612,687,1.422,780,0.896,1215,1.499,2027,8.3,2438,5.659,4126,7.027,4127,9.506,4128,7.027]],["t/2299",[1,0.827,152,1.7,233,5,445,1.696,687,1.636,780,1.031,1215,1.725,2001,8.763,2060,4.654,2262,6.512,3762,5.619,3897,5.182,4129,8.085,4130,8.085]],["t/2301",[13,3.509,96,4.866,97,3.335,118,4.336,134,3.273,275,3.516,562,5.643,573,5.044,1460,3.547,1478,3.516,2239,3.683,2318,5.116,2370,5.399,2427,5.399,2555,4.336,2556,5.837,2574,5.399,2654,5.205,3898,5.044,4131,6.463,4132,5.399]],["t/2304",[1652,6.115]],["t/2306",[4133,9.64]],["t/2308",[1478,5.283,2243,5.237,2244,5.772,3735,6.748,3897,6.223,4043,6.627,4134,9.71]],["t/2311",[1,0.752,96,4.278,97,2.931,152,1.545,206,3.749,360,2.732,445,1.541,554,1.685,687,1.486,780,0.937,1215,1.568,1460,5.376,1727,3.5,1937,2.384,2224,5.316,4132,6.138,4133,6.415,4135,7.347,4136,7.347]],["t/2314",[1,1.035,780,1.29,2224,7.32,4133,8.833,4137,10.117]],["t/2317",[1,0.841,61,4.178,96,4.604,97,3.155,428,5.055,687,2.133,780,1.048,1936,3.432,4043,5.612,4138,8.223]],["t/2319",[1,0.871,96,4.707,97,3.225,299,3.568,687,1.722,780,1.085,1460,5.916,2243,6.38,4139,8.512]],["t/2321",[1,0.887,96,4.76,97,3.262,687,1.753,780,1.104,1478,6.488,1936,3.548,4140,8.665]],["t/2323",[1,0.955,687,1.888,780,1.19,1478,5.078,1727,4.447,2244,5.549,2418,9.537,4141,9.335]],["t/2325",[1,0.763,96,4.849,97,3.323,152,1.569,445,1.565,554,1.711,687,1.509,780,0.951,1215,1.592,1305,4.539,1460,5.431,1478,4.059,1936,2.429,3897,6.342,4142,6.89,4143,7.461]],["t/2327",[1,0.752,152,1.545,233,3.522,445,1.541,554,1.685,687,1.486,780,0.937,1215,1.568,1460,6.048,1727,5.599,2060,6.343,2418,6.138,3762,5.106,3897,6.278,4144,7.347]],["t/2329",[1,0.719,79,4.5,96,4.705,97,3.224,152,1.478,445,1.474,554,1.612,577,3.459,584,3.208,687,1.422,780,0.896,1215,1.499,1305,4.275,1478,5.861,1936,2.287,2131,4.648,4145,7.027,4146,7.027]],["t/2331",[13,3.224,97,3.487,101,3.199,118,4.279,134,4.504,275,3.47,562,5.568,573,4.977,596,3.635,597,3.71,1462,4.721,1478,3.47,2239,3.635,2318,3.635,2429,5.328,2555,4.279,2556,4.147,2654,5.137,3898,4.977,4132,5.328,4147,6.377,4148,6.377]],["t/2334",[1652,6.115]],["t/2336",[4149,9.64]],["t/2338",[684,3.315,1365,4.767,1478,4.889,2243,4.847,2244,5.342,3735,6.246,3897,5.76,3962,6.134,4042,6.368,4043,6.134,4150,8.987]],["t/2341",[1,0.763,97,2.961,101,2.716,152,1.569,206,3.787,233,3.577,299,3.127,445,1.565,554,1.711,687,1.509,780,0.951,1074,5.129,1215,1.592,4132,6.233,4149,6.514,4151,7.461,4152,7.461]],["t/2344",[1,1.035,780,1.29,1074,4.673,4149,8.833,4153,10.117]],["t/2347",[1,0.841,97,3.155,101,2.894,687,2.133,780,1.048,1250,5.687,1937,3.983,4042,5.826,4154,8.223]],["t/2349",[1,0.871,61,3.373,97,2.547,101,2.337,428,4.081,687,2.181,780,1.085,1250,4.591,1936,3.85,4043,5.809,4155,8.512]],["t/2351",[1,0.814,57,5.565,58,2.933,97,3.088,101,2.832,445,2.165,687,2.087,780,1.014,2293,8.31,3962,5.427,4156,7.952]],["t/2353",[1,0.871,97,3.225,101,2.959,299,3.568,687,1.722,780,1.085,1074,4.979,2243,6.38,4157,8.512]],["t/2355",[1,0.719,97,3.224,101,2.957,107,4.569,152,1.478,295,4.795,445,1.474,554,1.612,577,3.459,584,4.34,687,1.422,780,0.896,1061,4.441,1074,3.246,1215,1.499,1365,3.727,2131,4.648,3754,4.979,3838,6.489,4158,7.027]],["t/2357",[1,0.856,77,3.524,97,2.503,101,2.296,518,4.401,684,4.327,687,1.692,780,1.066,1937,3.458,2555,5.612,2556,5.439,4159,8.365]],["t/2359",[1,0.8,97,3.401,101,3.12,360,2.909,687,1.583,780,0.997,1281,4.599,1478,6.183,1727,3.727,1936,3.7,4160,7.823]],["t/2361",[1,0.955,687,1.888,780,1.19,1478,5.078,1727,4.447,2244,5.549,2419,9.537,4161,9.335]],["t/2363",[1,0.752,97,3.297,101,3.025,152,1.545,445,1.541,554,1.685,687,1.486,780,0.937,1074,4.525,1215,1.568,1305,4.47,1478,5.329,1936,2.392,3897,6.278,4142,6.785,4162,7.347]],["t/2365",[1,0.775,152,1.593,233,3.633,445,1.59,554,1.738,687,1.533,780,0.966,1074,5.496,1215,1.617,1727,4.762,2060,6.441,2419,6.331,3762,5.266,3897,4.856,4163,7.578]],["t/2367",[1,0.699,79,3.232,97,3.177,101,2.914,152,1.436,445,1.432,554,1.566,577,3.361,584,4.256,642,4.508,687,1.381,780,0.87,1215,1.457,1305,4.154,1478,6.205,1936,2.223,2131,4.558,4164,6.828,4165,6.828]],["t/2369",[97,2.689,101,2.467,376,3.237,408,4.518,409,4.395,665,5.404,676,3.164,1065,3.925,1756,6.821,2239,5.122,4166,8.987]],["t/2371",[2413,10.197]],["t/2374",[1652,6.115]],["t/2376",[669,6.208,1074,4.877,1714,7.206]],["t/2378",[684,3.254,1365,4.68,1478,4.8,2243,4.759,2244,5.245,3735,6.132,3897,5.655,3962,6.022,4042,6.252,4043,6.022,4167,8.148,4168,8.148]],["t/2381",[1,0.612,32,3.851,97,1.79,101,1.642,152,1.258,205,3.928,206,3.254,233,2.868,299,2.508,347,2.814,408,3.008,409,2.925,445,1.255,554,1.372,665,3.597,669,5.815,676,2.106,687,1.21,780,0.763,1065,2.613,1074,3.928,1215,1.277,1714,5.803,1717,5.529,1937,2.758,4169,5.983,4170,5.983,4171,5.983]],["t/2384",[1,0.993,351,4.54,780,1.238,1074,5.401,4172,9.71,4173,9.71]],["t/2386",[1,1.035,669,5.948,780,1.29,1937,3.282,4174,10.117]],["t/2388",[1,0.993,351,4.54,780,1.238,1714,6.627,1937,3.15,4175,9.71,4176,9.71]],["t/2391",[1,0.841,676,3.712,687,2.133,780,1.048,1065,4.604,1250,5.687,1937,3.983,4042,5.826,4177,8.223]],["t/2393",[1,0.841,676,3.712,687,2.133,780,1.048,1065,4.604,1250,5.687,1937,3.983,4043,5.612,4178,8.223]],["t/2395",[1,0.827,58,2.965,676,3.672,687,2.11,780,1.031,1065,4.555,1614,8.139,1727,3.851,2414,9.632,3962,5.518,4179,8.085]],["t/2397",[1,0.871,676,2.997,687,1.722,780,1.085,1065,3.717,1717,7.009,1727,4.055,2243,6.38,2490,5.711,4180,8.512,4181,8.512]],["t/2399",[1,0.752,152,1.545,445,1.541,518,3.866,554,1.685,577,3.617,584,3.354,676,3.449,687,1.486,780,0.937,1065,3.209,1215,1.568,1235,3.748,1305,4.47,1365,5.196,1717,4.778,2131,4.79,3754,5.206,4182,7.347,4183,7.347]],["t/2401",[1,0.841,674,4.641,676,3.712,684,3.888,687,1.664,780,1.048,1065,4.604,1171,4.597,1250,4.435,1379,5.347,1937,3.421,4184,8.223]],["t/2403",[1,0.763,97,2.233,101,2.048,408,3.751,409,3.648,665,4.486,669,4.386,676,2.627,687,1.509,780,0.951,1065,3.258,1379,4.851,1478,6.041,1936,3.615,2239,5.64,4185,7.461,4186,7.461]],["t/2405",[1,0.937,687,1.853,780,1.167,1478,4.982,1727,4.362,2060,5.272,2135,9.426,2244,5.444,4187,9.158]],["t/2407",[1,0.763,152,1.569,445,1.565,554,1.711,676,3.909,687,1.509,780,0.951,1065,4.849,1215,1.592,1478,5.384,1717,6.435,1936,2.429,3897,6.342,4188,7.461,4189,7.461]],["t/2409",[1,0.763,152,1.569,233,4.744,445,1.565,554,1.711,687,1.509,780,0.951,1215,1.592,1281,4.386,1717,7.689,1727,3.554,2060,5.697,2135,6.233,3762,5.185,3897,6.342,4190,7.461]],["t/2411",[1,0.871,360,3.165,676,3.795,687,1.722,780,1.085,1065,4.707,1340,7.799,1717,7.009,4167,7.861,4191,8.512]],["t/2413",[1,0.814,97,2.38,360,2.956,676,2.8,687,1.609,780,1.014,1065,4.506,1296,8.424,1297,4.578,1462,5.886,1717,6.709,4168,7.344,4192,7.952]],["t/2415",[551,4.661,560,5.89,749,6.648,808,7.733,2239,5.647,4193,9.909]],["t/2417",[2246,8.617]],["t/2420",[1652,6.115]],["t/2422",[550,6.142,784,5.622,1479,6.622,2242,7.052]],["t/2424",[1365,5.481,2243,5.573,2244,6.142,3735,7.181]],["t/2427",[1,0.67,32,2.55,152,1.377,206,3.467,299,2.746,333,2.289,408,3.293,409,3.203,445,1.374,550,6.175,554,1.502,676,2.306,687,1.325,777,2.956,780,0.835,784,4.929,1215,1.398,1463,3.393,1479,4.198,1937,3.37,2241,8.106,4194,6.55,4195,6.55]],["t/2430",[1,1.035,550,6.014,780,1.29,1937,3.282,4196,10.117]],["t/2432",[1,0.993,351,4.54,780,1.238,1937,3.15,2242,6.627,4097,8.967,4197,9.71]],["t/2434",[1,1.035,780,1.29,784,5.504,1937,3.282,4198,10.117]],["t/2436",[1,1.035,780,1.29,1479,6.484,1937,3.282,4199,10.117]],["t/2439",[1,0.763,152,1.569,299,3.127,351,3.488,445,1.565,687,1.509,780,0.951,1215,2.112,1454,7.578,1839,5.662,2051,5.286,2241,8.665,2243,4.024,2490,5.006,4110,6.89,4111,6.89,4200,7.461]],["t/2441",[1,0.719,107,4.569,152,1.478,351,3.285,445,1.474,551,5.43,554,1.612,577,3.459,584,4.34,687,1.422,780,0.896,1215,1.499,1365,3.727,2131,4.648,2241,5.484,2490,4.714,3754,4.979,4116,6.489,4117,6.489,4201,7.027,4202,7.027]],["t/2443",[1,0.903,351,4.125,687,1.785,780,1.125,1478,4.8,1727,4.203,2060,5.079,2244,5.245,2261,8.879,4122,8.148,4203,8.823]],["t/2445",[1,0.788,152,1.619,233,3.691,445,1.615,554,1.766,687,1.557,780,0.981,1215,1.643,1281,4.526,1727,3.667,2060,5.816,2241,9.343,2261,6.201,3762,5.35,3897,4.934,4204,7.699]],["t/2447",[128,4.623,129,4.534,134,4.82,2239,5.425,2409,6.745,2574,7.953,3898,7.428,4205,9.519]],["t/2450",[1652,6.115]],["t/2452",[2306,7.895,2307,7.895,2308,7.895,2309,7.895,2310,7.488]],["t/2454",[1365,5.256,2243,5.345,3735,6.886,3962,6.763,4206,9.909,4207,9.909]],["t/2457",[1,0.605,152,1.243,206,3.226,275,6.161,360,2.197,445,1.24,554,1.355,687,1.196,780,0.753,1215,1.261,2306,6.577,2307,7.667,2308,7.667,2309,7.667,2310,7.272,2335,6.098,2337,7.108,2409,6.961,4208,5.909,4209,5.909]],["t/2460",[1,1.035,780,1.29,2306,7.895,2335,7.32,4210,10.117]],["t/2462",[1,1.035,780,1.29,2307,7.895,2337,7.32,4211,10.117]],["t/2464",[1,1.035,780,1.29,2308,7.895,2337,7.32,4212,10.117]],["t/2466",[1,1.035,780,1.29,2309,7.895,2337,7.32,4213,10.117]],["t/2468",[1,1.035,780,1.29,2310,7.488,2335,7.32,4214,10.117]],["t/2471",[1,0.871,57,4.591,58,2.42,687,2.181,780,1.085,1281,5.005,1543,5.809,1727,5.134,2415,9.411,3962,5.809,4215,8.512]],["t/2473",[1,0.903,97,2.64,111,5.577,685,3.42,687,1.785,780,1.125,2243,6.486,2409,7.812,4216,8.823]],["t/2475",[1,0.73,97,3.248,107,4.637,152,1.499,445,1.496,554,1.636,577,3.51,584,4.383,685,4.207,687,1.443,780,0.909,1215,1.522,1365,5.092,1436,4.784,2131,4.694,2409,5.052,4217,7.13,4218,7.13]],["t/2477",[1,0.74,58,2.057,97,2.166,152,1.522,206,3.711,299,3.034,445,1.518,535,4.008,554,1.66,685,2.805,687,1.464,780,0.922,1215,1.544,1281,5.701,1436,4.856,1727,3.447,2409,7.749,2415,6.319,4219,7.237,4220,7.237]],["t/2479",[1,0.8,152,1.645,233,3.75,445,1.641,554,1.794,687,1.583,780,0.997,1215,1.669,1281,4.599,1936,2.547,2060,5.877,2409,8.536,3762,5.437,3897,5.014,4221,7.823]],["t/2481",[1,0.788,152,1.619,445,1.615,535,4.264,554,1.766,687,1.557,780,0.981,1215,1.643,1281,5.939,1379,5.006,1727,4.812,2409,8.483,2416,7.11,4222,7.699,4223,7.699]],["t/2483",[4224,11.041]],["t/2486",[1441,7.509,1475,6.368,4225,8.3,4226,8.3,4227,8.3,4228,8.3,4229,8.3,4230,8.3,4231,8.3,4232,8.3,4233,8.3]],["t/2489",[1,1.035,780,1.29,1936,3.293,4225,9.343,4234,10.117]],["t/2491",[1,1.035,780,1.29,1475,7.168,1936,3.293,4235,10.117]],["t/2493",[1,1.035,780,1.29,1936,3.293,4226,9.343,4236,10.117]],["t/2495",[1,1.035,780,1.29,1936,3.293,4227,9.343,4237,10.117]],["t/2497",[1,1.035,780,1.29,1936,3.293,4228,9.343,4238,10.117]],["t/2499",[1,1.035,780,1.29,1936,3.293,4229,9.343,4239,10.117]],["t/2501",[1,1.035,780,1.29,1936,3.293,4230,9.343,4240,10.117]],["t/2503",[1,1.035,780,1.29,1441,8.452,1936,3.293,4241,10.117]],["t/2505",[1,1.035,780,1.29,1936,3.293,4231,9.343,4242,10.117]],["t/2507",[1,1.035,780,1.29,1936,3.293,4232,9.343,4243,10.117]],["t/2509",[1,1.035,780,1.29,1936,3.293,4233,9.343,4244,10.117]],["t/2511",[4245,11.041]],["t/2514",[113,4.208,333,3.611,744,5.052,1272,7.181]],["t/2517",[1,1.035,780,1.29,1272,7.03,1936,3.293,4246,10.117]],["t/2519",[1,1.035,333,3.535,780,1.29,1936,3.293,4247,10.117]],["t/2521",[1,1.035,744,4.947,780,1.29,1936,3.293,4248,10.117]],["t/2523",[1,1.035,113,4.12,780,1.29,1936,3.293,4249,10.117]],["t/2525",[113,4.12,425,5.948,535,5.603,1410,5.824,4250,10.117]],["t/2528",[13,3.12,480,4.472,784,5.391,1321,7.521,2981,7.981,2995,7.981]],["t/2531",[1,0.993,13,3.681,55,4.716,780,1.238,1936,3.161,4251,9.71]],["t/2533",[1,0.974,113,3.877,206,3.643,780,1.213,1031,4.856,1321,7.224,1936,3.099,4252,9.519]],["t/2535",[1,0.605,66,5.879,113,3.433,152,1.243,408,5.385,409,5.237,554,1.355,780,0.753,1031,4.3,1215,1.798,1297,4.852,1330,7.59,1727,2.815,1936,3.198,2068,3.553,2995,4.76,4253,10.711,4254,5.909]],["t/2537",[1,0.993,333,3.393,602,2.989,780,1.238,784,5.283,1463,5.029,4255,9.71]],["t/2539",[1,0.74,113,3.949,152,1.522,333,2.529,480,5.498,554,1.66,780,0.922,1031,4.947,1215,2.069,1297,5.582,1727,3.447,1936,3.56,2068,4.351,4256,7.237]],["t/2541",[1,0.67,152,1.377,408,5.635,409,5.48,554,1.502,622,4.552,780,0.835,1031,4.622,1215,1.933,1297,5.216,1330,8.337,1727,3.12,1936,3.381,2068,3.938,2981,5.276,4257,6.55]]],"invertedIndex":[["",{"_index":1,"t":{"3":{"position":[[12,1]]},"29":{"position":[[493,1],[524,1],[590,1],[623,1]]},"34":{"position":[[356,1],[437,1],[1550,1],[2140,1],[2441,1],[2830,1],[3155,1]]},"36":{"position":[[183,1],[187,1],[675,1],[704,1],[733,1],[744,1],[766,1],[788,1],[810,1],[812,1],[814,1]]},"38":{"position":[[176,1]]},"52":{"position":[[744,1]]},"76":{"position":[[70,1],[263,1],[589,1],[732,1],[967,1],[1019,1],[1091,1],[1693,1],[1768,1],[1902,1],[2106,3],[2159,3],[2284,1],[2473,3],[2553,3],[2613,1],[3030,1],[3353,1],[3438,1],[3483,1],[3588,1],[3656,1],[3728,1],[3757,1],[3832,1],[4159,1],[4315,1],[4376,1],[4509,1],[4785,1],[5040,1],[5283,1],[5419,1],[5947,1],[6057,1],[6423,1],[7532,1]]},"86":{"position":[[366,1],[383,1],[434,1],[486,1],[503,1],[588,1]]},"90":{"position":[[685,1],[817,2],[899,1],[930,1],[1009,1]]},"92":{"position":[[577,1],[596,1],[613,1],[643,1],[772,2],[789,1],[851,1]]},"96":{"position":[[222,2],[243,1],[272,1],[397,2],[470,2],[541,1],[552,2],[615,1],[638,3],[664,1],[687,3],[712,1],[736,3],[767,3],[785,1]]},"98":{"position":[[212,2],[255,2],[311,1],[365,1],[393,3],[413,3],[431,3],[440,1],[511,1],[554,3],[582,3]]},"100":{"position":[[91,1],[270,1],[277,1],[292,1],[294,2],[357,1],[389,3],[414,3],[435,3],[442,2],[482,3],[493,1],[501,2],[508,1]]},"113":{"position":[[777,1]]},"126":{"position":[[139,1],[1117,1],[4665,1],[4667,1],[4671,3],[4675,1],[4677,1],[4683,1],[4685,1],[4687,1],[4689,1],[5376,2],[5382,1],[5421,2],[5427,1]]},"128":{"position":[[12,1],[4193,1],[4198,2]]},"130":{"position":[[332,1]]},"139":{"position":[[411,1]]},"145":{"position":[[474,1]]},"151":{"position":[[241,1],[299,3]]},"153":{"position":[[358,1],[400,1],[428,1],[478,1],[521,1],[658,3]]},"155":{"position":[[56,1],[110,3]]},"157":{"position":[[56,1],[91,1],[169,1]]},"159":{"position":[[56,1],[87,1],[269,3]]},"161":{"position":[[56,1],[89,1],[166,1],[244,1],[475,3],[575,1],[635,3]]},"163":{"position":[[56,1],[144,1],[237,3],[295,3],[470,3]]},"165":{"position":[[56,1],[147,1],[151,3],[296,3],[386,3],[523,3]]},"167":{"position":[[118,1],[157,1],[171,1],[198,1],[281,1],[393,3]]},"169":{"position":[[79,1],[160,1],[237,1],[244,1],[260,1],[272,1],[303,1],[347,1],[384,1],[435,1],[479,1],[538,1],[573,1],[650,1],[657,1],[673,1],[685,1],[736,1],[780,1],[848,1],[930,1],[1059,1],[1170,1],[1174,3]]},"171":{"position":[[163,1],[198,1],[281,1],[295,1],[336,1],[397,1],[449,1],[510,1],[563,1],[589,1],[608,1],[692,1],[727,1],[810,1],[824,1],[886,1],[939,1],[965,1],[984,1],[1015,1],[1083,1],[1165,1],[1254,1],[1365,1],[1369,3]]},"173":{"position":[[56,1],[94,1],[101,1],[282,1],[286,3],[399,1],[492,3]]},"175":{"position":[[56,1],[88,1],[95,1],[222,3]]},"182":{"position":[[41,1],[91,3]]},"184":{"position":[[41,1],[83,1],[107,1],[134,1],[155,1],[184,1],[206,1],[277,1],[463,3]]},"186":{"position":[[41,1],[87,3]]},"188":{"position":[[41,1],[76,1],[154,1]]},"190":{"position":[[41,1],[72,1],[252,3]]},"192":{"position":[[41,1],[74,1],[157,1],[240,1],[258,1],[282,1],[304,1],[316,1]]},"194":{"position":[[41,1],[74,1],[157,1],[240,1],[258,1],[282,1],[304,1],[316,1]]},"196":{"position":[[41,1],[93,3]]},"198":{"position":[[41,1],[128,1],[221,3],[279,3],[454,3]]},"200":{"position":[[41,1],[131,1],[135,3],[280,3],[370,3],[507,3]]},"202":{"position":[[41,1],[76,1],[159,1],[173,1],[235,1],[288,1],[314,1],[333,1],[401,1],[483,1],[564,1],[675,1],[679,3]]},"204":{"position":[[41,1],[79,1],[93,1],[275,1],[279,3],[392,1],[485,3]]},"206":{"position":[[41,1],[73,1],[87,1],[217,3]]},"210":{"position":[[389,1],[391,1],[393,2],[430,1],[533,1],[566,1],[611,1],[655,1],[674,2],[751,2],[800,2],[803,1],[991,1],[1737,1],[1756,1],[1826,1],[1845,1],[1877,1],[1910,1],[1926,2],[1998,2],[2097,2],[2157,2],[2160,2],[2274,2],[2371,2],[2443,2],[2446,2],[2533,2],[2586,2],[2632,1],[3764,2],[4414,1],[4433,1],[4435,2],[4473,2],[4512,1],[4590,2],[4612,1],[4633,2],[4646,1],[4734,2],[4737,2],[4786,2],[4856,2],[4989,2],[5056,1],[5140,2],[5161,1],[5180,2],[5237,1],[5304,2],[5326,1],[5421,1],[5899,1],[5918,1],[5935,1],[5949,2],[6017,1],[6022,1],[6123,2],[6126,1],[6128,2],[6208,1],[6393,2],[6403,1],[6532,2],[6549,1],[6611,1]]},"212":{"position":[[1343,1],[1345,2],[1502,1],[1569,1],[1618,1],[1972,1],[1974,2],[2041,2],[2123,1],[2221,2],[2240,1],[2283,2],[2338,1],[2363,1],[2425,1],[2459,1],[2512,1],[3088,1],[3197,1],[3306,1],[3416,1],[3526,1]]},"218":{"position":[[318,1],[391,1],[405,1],[485,1],[487,1]]},"222":{"position":[[522,1],[576,2],[647,2],[650,1]]},"224":{"position":[[322,2]]},"230":{"position":[[52,1],[157,1],[177,1],[252,1],[271,1],[318,1]]},"234":{"position":[[98,1],[207,1],[316,1],[426,1],[536,1]]},"247":{"position":[[187,2],[190,1],[206,2],[209,1],[278,2],[281,1],[302,2],[305,1],[328,2],[331,1],[367,2],[370,1]]},"251":{"position":[[67,2],[70,1],[80,2],[83,1],[92,2],[95,1]]},"257":{"position":[[696,19]]},"261":{"position":[[445,1],[456,1],[488,1],[497,1],[518,2],[632,1],[673,2],[838,1],[877,2],[991,2],[1046,1]]},"263":{"position":[[338,1],[349,1],[351,2],[427,2],[516,2],[537,1],[570,1],[577,1],[595,1],[643,1],[669,1]]},"265":{"position":[[617,1],[652,1],[945,1],[980,1]]},"282":{"position":[[0,1],[39,1],[48,1],[59,1],[72,1],[83,1]]},"285":{"position":[[0,1]]},"288":{"position":[[0,1]]},"290":{"position":[[0,1]]},"292":{"position":[[0,1]]},"294":{"position":[[0,1]]},"296":{"position":[[0,1]]},"298":{"position":[[0,1]]},"300":{"position":[[0,1]]},"302":{"position":[[0,1]]},"310":{"position":[[344,1],[380,1],[417,1],[448,2],[504,1],[517,2],[573,1],[586,2],[644,1],[657,2],[696,1],[709,2],[771,1],[822,1],[826,1],[831,1],[846,1],[850,1],[855,1],[1045,1],[1080,2],[1107,1],[1196,1],[1223,1],[1312,1],[1323,2],[1347,1],[1410,1],[1418,1],[1492,2],[1547,1],[1589,1],[1717,2],[1737,1],[1795,1],[1829,1],[1921,1],[2032,1],[2160,2],[2180,1],[2238,1],[2272,1],[2364,1],[2524,1],[2565,1],[2697,2],[2716,1],[2772,1],[2805,1],[2895,1],[3108,1],[3260,1],[3368,1],[3470,1],[3514,1],[3568,1]]},"318":{"position":[[238,1]]},"325":{"position":[[194,1],[546,1],[743,1],[755,1],[1221,1],[1330,1],[1337,1],[1344,1],[1399,1],[1401,2],[1409,1],[1416,1],[1471,1],[1473,2],[1481,1],[1488,1],[1543,1],[1545,2],[1553,1],[1560,1],[1615,1],[1617,1],[1619,2],[1870,1],[1989,1],[1991,1],[2467,1],[2479,1],[2866,1],[2891,1],[2893,3],[3202,1],[3356,1],[3363,1],[3370,1],[3410,1],[3412,2],[3420,1],[3427,1],[3467,1],[3469,2],[3477,1],[3484,1],[3524,1],[3526,2],[3534,1],[3541,1],[3581,1],[3583,2],[3591,1],[3598,1],[3638,1],[3640,2],[3648,1],[3655,1],[3695,1],[3697,2],[3705,1],[3712,1],[3752,1],[3754,2],[3762,1],[3769,1],[3809,1],[3811,2],[3819,1],[3826,1],[3867,1],[3869,2],[3877,1],[3884,1],[3924,1],[3926,1],[3928,2],[4153,1],[4186,1],[4190,1],[4205,1],[4255,1],[4344,2],[4349,1],[4353,2],[4358,1],[4362,2],[4367,1],[4371,2],[4376,1],[4380,2],[4385,1],[4389,2],[4394,1],[4398,2],[4403,1],[4407,2],[4412,1],[4417,2],[4422,1],[4426,2],[4431,1],[4436,1],[4441,1],[4445,1],[4449,1],[4453,1],[4457,1],[4462,1],[4467,1],[4473,1],[4477,1],[4527,1],[4532,1],[4547,1],[4600,1]]},"327":{"position":[[531,3]]},"337":{"position":[[211,1],[292,1],[294,1],[371,1],[373,1],[380,1],[382,1],[413,1],[415,1],[459,1],[461,1],[498,1],[500,1],[551,1],[553,1],[597,1],[599,1],[615,1],[617,1],[639,1]]},"345":{"position":[[0,1]]},"347":{"position":[[0,1]]},"349":{"position":[[0,1]]},"351":{"position":[[0,1]]},"353":{"position":[[0,1]]},"355":{"position":[[0,1]]},"363":{"position":[[0,1]]},"365":{"position":[[0,1]]},"367":{"position":[[0,1]]},"375":{"position":[[0,1]]},"377":{"position":[[0,1]]},"379":{"position":[[0,1]]},"381":{"position":[[0,1]]},"383":{"position":[[0,1]]},"385":{"position":[[0,1]]},"387":{"position":[[0,1]]},"389":{"position":[[0,1]]},"391":{"position":[[0,1]]},"393":{"position":[[0,1]]},"395":{"position":[[0,1]]},"397":{"position":[[0,1]]},"399":{"position":[[0,1]]},"401":{"position":[[0,1]]},"403":{"position":[[0,1]]},"405":{"position":[[0,1]]},"407":{"position":[[0,1]]},"409":{"position":[[0,1]]},"411":{"position":[[0,1]]},"413":{"position":[[0,1]]},"415":{"position":[[0,1]]},"423":{"position":[[0,1]]},"425":{"position":[[0,1]]},"427":{"position":[[0,1]]},"429":{"position":[[0,1]]},"431":{"position":[[0,1]]},"433":{"position":[[0,1]]},"435":{"position":[[0,1]]},"437":{"position":[[0,1]]},"439":{"position":[[0,1]]},"441":{"position":[[0,1]]},"443":{"position":[[0,1]]},"445":{"position":[[0,1]]},"447":{"position":[[0,1]]},"449":{"position":[[0,1]]},"451":{"position":[[0,1]]},"453":{"position":[[0,1]]},"455":{"position":[[0,1]]},"463":{"position":[[0,1]]},"465":{"position":[[0,1]]},"473":{"position":[[0,1]]},"475":{"position":[[0,1]]},"477":{"position":[[0,1]]},"479":{"position":[[0,1]]},"481":{"position":[[0,1]]},"483":{"position":[[0,1]]},"485":{"position":[[0,1]]},"487":{"position":[[0,1]]},"489":{"position":[[0,1]]},"491":{"position":[[0,1]]},"493":{"position":[[0,1]]},"495":{"position":[[0,1]]},"497":{"position":[[0,1]]},"499":{"position":[[0,1]]},"501":{"position":[[0,1]]},"503":{"position":[[0,1]]},"505":{"position":[[0,1]]},"507":{"position":[[0,1]]},"509":{"position":[[0,1]]},"511":{"position":[[0,1]]},"519":{"position":[[0,1]]},"521":{"position":[[0,1]]},"523":{"position":[[0,1]]},"525":{"position":[[0,1]]},"533":{"position":[[0,1]]},"535":{"position":[[0,1]]},"539":{"position":[[0,1],[36,2]]},"545":{"position":[[0,1],[24,2],[52,1]]},"547":{"position":[[0,1],[24,2],[52,1]]},"549":{"position":[[0,1],[24,2],[52,1]]},"551":{"position":[[0,1],[24,2],[52,1]]},"561":{"position":[[0,1]]},"563":{"position":[[0,1]]},"573":{"position":[[0,1]]},"575":{"position":[[0,1],[14,2],[37,1]]},"577":{"position":[[0,1],[26,2],[55,1]]},"579":{"position":[[0,1],[10,2],[13,2],[42,1],[44,3]]},"587":{"position":[[0,1]]},"589":{"position":[[0,1]]},"597":{"position":[[0,1]]},"599":{"position":[[0,1]]},"603":{"position":[[13,1],[29,1]]},"609":{"position":[[0,1]]},"617":{"position":[[0,1]]},"619":{"position":[[0,1]]},"621":{"position":[[0,1]]},"629":{"position":[[0,1]]},"631":{"position":[[0,1]]},"635":{"position":[[13,1]]},"641":{"position":[[0,1]]},"643":{"position":[[0,1]]},"645":{"position":[[0,1]]},"647":{"position":[[0,1]]},"649":{"position":[[0,1]]},"651":{"position":[[0,1]]},"653":{"position":[[0,1]]},"655":{"position":[[0,1]]},"663":{"position":[[0,1]]},"665":{"position":[[0,1]]},"667":{"position":[[0,1]]},"671":{"position":[[13,1]]},"677":{"position":[[0,1]]},"679":{"position":[[0,1]]},"681":{"position":[[0,1]]},"683":{"position":[[0,1]]},"693":{"position":[[0,1]]},"695":{"position":[[0,1]]},"703":{"position":[[0,1]]},"705":{"position":[[0,1]]},"707":{"position":[[0,1]]},"715":{"position":[[0,1]]},"717":{"position":[[0,1]]},"725":{"position":[[0,1]]},"727":{"position":[[0,1]]},"735":{"position":[[0,1]]},"737":{"position":[[0,1]]},"739":{"position":[[0,1]]},"741":{"position":[[0,1]]},"743":{"position":[[0,1]]},"751":{"position":[[0,1]]},"753":{"position":[[0,1]]},"755":{"position":[[0,1]]},"757":{"position":[[0,1]]},"759":{"position":[[0,1]]},"761":{"position":[[0,1]]},"763":{"position":[[0,1]]},"765":{"position":[[0,1]]},"767":{"position":[[0,1]]},"775":{"position":[[0,1]]},"777":{"position":[[0,1]]},"779":{"position":[[0,1]]},"788":{"position":[[0,1]]},"790":{"position":[[0,1]]},"792":{"position":[[0,1]]},"794":{"position":[[0,1]]},"796":{"position":[[0,1]]},"798":{"position":[[0,1]]},"800":{"position":[[0,1]]},"802":{"position":[[0,1]]},"804":{"position":[[0,1]]},"806":{"position":[[0,1]]},"808":{"position":[[0,1]]},"810":{"position":[[0,1]]},"812":{"position":[[0,1]]},"814":{"position":[[0,1]]},"816":{"position":[[0,1]]},"818":{"position":[[0,1]]},"820":{"position":[[0,1]]},"822":{"position":[[0,1]]},"835":{"position":[[0,1]]},"837":{"position":[[0,1]]},"840":{"position":[[0,1]]},"842":{"position":[[0,1]]},"844":{"position":[[0,1]]},"846":{"position":[[0,1]]},"854":{"position":[[0,1]]},"869":{"position":[[0,1]]},"871":{"position":[[0,1]]},"873":{"position":[[0,1]]},"875":{"position":[[0,1]]},"877":{"position":[[0,1]]},"879":{"position":[[0,1]]},"881":{"position":[[0,1]]},"883":{"position":[[0,1]]},"886":{"position":[[0,1]]},"888":{"position":[[0,1],[33,1]]},"891":{"position":[[0,1]]},"893":{"position":[[0,1]]},"895":{"position":[[0,1]]},"897":{"position":[[0,1]]},"899":{"position":[[0,1]]},"901":{"position":[[0,1]]},"903":{"position":[[0,1]]},"905":{"position":[[0,1]]},"907":{"position":[[0,1]]},"909":{"position":[[0,1]]},"911":{"position":[[0,1]]},"913":{"position":[[0,1]]},"915":{"position":[[0,1]]},"917":{"position":[[0,1]]},"919":{"position":[[0,1]]},"921":{"position":[[0,1]]},"923":{"position":[[0,1]]},"925":{"position":[[0,1]]},"927":{"position":[[0,1]]},"929":{"position":[[0,1]]},"931":{"position":[[0,1]]},"933":{"position":[[0,1]]},"935":{"position":[[0,1]]},"937":{"position":[[0,1]]},"939":{"position":[[0,1]]},"941":{"position":[[0,1]]},"943":{"position":[[0,1]]},"945":{"position":[[0,1]]},"947":{"position":[[0,1]]},"962":{"position":[[194,1],[198,2],[209,1],[224,1],[248,1],[292,2],[314,1],[321,1]]},"966":{"position":[[175,1],[199,4]]},"974":{"position":[[2177,1],[2330,1],[2590,1]]},"978":{"position":[[631,1],[1146,1],[1398,1],[1594,1]]},"1012":{"position":[[15,1],[39,1]]},"1014":{"position":[[15,1],[45,1]]},"1026":{"position":[[164,2],[196,2]]},"1028":{"position":[[378,1],[380,4],[385,1],[403,2]]},"1048":{"position":[[20,1],[174,1]]},"1062":{"position":[[13,1],[93,1]]},"1094":{"position":[[16,2]]},"1135":{"position":[[151,2],[157,1]]},"1145":{"position":[[16,2]]},"1149":{"position":[[16,2]]},"1221":{"position":[[196,1]]},"1393":{"position":[[376,1],[460,2]]},"1441":{"position":[[13,1],[59,1]]},"1457":{"position":[[16,2]]},"1602":{"position":[[15,1],[52,1]]},"1604":{"position":[[14,1],[38,1]]},"1606":{"position":[[17,1],[99,1]]},"1610":{"position":[[18,1],[123,1]]},"1612":{"position":[[18,1],[93,1]]},"1614":{"position":[[17,1],[64,1]]},"1616":{"position":[[20,1],[106,1]]},"1620":{"position":[[16,2]]},"1622":{"position":[[16,2]]},"1624":{"position":[[16,2]]},"1626":{"position":[[16,2]]},"1628":{"position":[[16,2]]},"1630":{"position":[[16,2]]},"1693":{"position":[[284,1],[1009,1],[1013,2],[1024,1],[1039,1],[1063,1],[1107,2],[1129,1],[1136,1],[1482,1],[2270,1],[2295,1],[2774,1],[3214,1],[3328,1],[3343,1],[3573,1],[3793,1]]},"1695":{"position":[[166,1],[199,4]]},"1697":{"position":[[645,1]]},"1701":{"position":[[2154,1]]},"1708":{"position":[[478,3],[563,4],[1039,4],[1291,1],[1297,1],[1301,1],[1355,1]]},"1712":{"position":[[1392,1],[1595,1]]},"1714":{"position":[[163,1],[258,1],[532,1]]},"1718":{"position":[[640,1],[1171,1],[1423,1],[1619,1]]},"1746":{"position":[[1388,1]]},"1748":{"position":[[748,1]]},"1750":{"position":[[207,1],[4312,1],[4314,1],[4318,3],[4322,1],[4324,1],[4330,1],[4332,1],[4334,1],[4336,1],[4961,2],[4967,1],[5006,3],[5013,1],[5801,1],[5844,1]]},"1752":{"position":[[1173,2],[5459,1],[5464,2]]},"1757":{"position":[[79,2],[82,1]]},"1759":{"position":[[70,2],[73,1]]},"1769":{"position":[[135,1]]},"1771":{"position":[[87,2]]},"1793":{"position":[[0,1]]},"1796":{"position":[[0,1]]},"1798":{"position":[[0,1],[21,1]]},"1800":{"position":[[0,1]]},"1802":{"position":[[0,1],[16,1],[18,2]]},"1804":{"position":[[0,1],[27,1],[29,2]]},"1806":{"position":[[0,1]]},"1808":{"position":[[0,1]]},"1811":{"position":[[0,1]]},"1813":{"position":[[0,1]]},"1815":{"position":[[0,1]]},"1817":{"position":[[0,1]]},"1819":{"position":[[0,1]]},"1821":{"position":[[0,1]]},"1823":{"position":[[0,1]]},"1837":{"position":[[0,1]]},"1840":{"position":[[0,1],[13,1]]},"1842":{"position":[[0,1],[13,1]]},"1844":{"position":[[0,1]]},"1846":{"position":[[0,1],[20,1],[22,2]]},"1848":{"position":[[0,1]]},"1850":{"position":[[0,1],[14,1]]},"1852":{"position":[[0,1],[23,1],[25,2]]},"1854":{"position":[[0,1]]},"1856":{"position":[[0,1]]},"1858":{"position":[[0,1]]},"1860":{"position":[[0,1]]},"1862":{"position":[[0,1],[23,1],[25,2]]},"1864":{"position":[[0,1]]},"1866":{"position":[[0,1]]},"1868":{"position":[[0,1]]},"1870":{"position":[[0,1],[22,1],[24,2]]},"1872":{"position":[[0,1],[30,1]]},"1874":{"position":[[0,1],[28,1]]},"1876":{"position":[[0,1],[35,1],[37,2]]},"1878":{"position":[[0,1]]},"1880":{"position":[[0,1]]},"1882":{"position":[[0,1],[49,1],[67,1],[69,2]]},"1884":{"position":[[0,1],[14,1]]},"1886":{"position":[[0,1],[33,1],[51,1],[53,2]]},"1888":{"position":[[0,1],[25,1],[43,1],[45,2]]},"1890":{"position":[[0,1],[47,1],[65,1],[67,2]]},"1892":{"position":[[0,1],[23,1]]},"1894":{"position":[[0,1]]},"1896":{"position":[[0,1]]},"1898":{"position":[[0,1]]},"1900":{"position":[[0,1],[20,1],[22,2]]},"1902":{"position":[[0,1],[30,1],[48,1],[50,2]]},"1904":{"position":[[0,1],[24,1],[26,2]]},"1906":{"position":[[0,1]]},"1908":{"position":[[0,1]]},"1911":{"position":[[0,1]]},"1913":{"position":[[0,1]]},"1915":{"position":[[0,1]]},"1917":{"position":[[0,1]]},"1919":{"position":[[0,1]]},"1921":{"position":[[0,1]]},"1923":{"position":[[0,1]]},"1925":{"position":[[0,1]]},"1927":{"position":[[0,1]]},"1929":{"position":[[0,1]]},"1931":{"position":[[0,1]]},"1933":{"position":[[0,1]]},"1935":{"position":[[0,1]]},"1937":{"position":[[0,1]]},"1939":{"position":[[0,1]]},"1941":{"position":[[0,1]]},"1943":{"position":[[0,1]]},"1945":{"position":[[0,1]]},"1947":{"position":[[0,1]]},"1949":{"position":[[0,1]]},"1951":{"position":[[0,1]]},"1953":{"position":[[0,1]]},"1955":{"position":[[0,1]]},"1967":{"position":[[0,1]]},"1970":{"position":[[0,1],[28,1]]},"1972":{"position":[[0,1],[30,1]]},"1974":{"position":[[0,1],[31,2],[59,1]]},"1976":{"position":[[0,1]]},"1978":{"position":[[0,1]]},"1980":{"position":[[0,1],[22,1],[24,2]]},"1982":{"position":[[0,1],[29,1]]},"1984":{"position":[[0,1],[20,1]]},"1986":{"position":[[0,1]]},"1988":{"position":[[0,1]]},"1990":{"position":[[0,1],[34,2],[62,1]]},"1992":{"position":[[0,1]]},"1994":{"position":[[0,1],[21,1],[23,2]]},"1996":{"position":[[0,1],[26,1]]},"1998":{"position":[[0,1]]},"2000":{"position":[[0,1],[18,1],[20,2]]},"2003":{"position":[[0,1]]},"2005":{"position":[[0,1]]},"2007":{"position":[[0,1]]},"2009":{"position":[[0,1]]},"2011":{"position":[[0,1]]},"2013":{"position":[[0,1]]},"2015":{"position":[[0,1],[28,1],[35,1],[164,1],[171,1]]},"2017":{"position":[[0,1]]},"2019":{"position":[[0,1]]},"2021":{"position":[[0,1]]},"2023":{"position":[[0,1]]},"2025":{"position":[[0,1]]},"2027":{"position":[[0,1]]},"2029":{"position":[[0,1],[157,2],[191,2],[196,1]]},"2031":{"position":[[0,1]]},"2043":{"position":[[0,1]]},"2046":{"position":[[0,1]]},"2048":{"position":[[0,1]]},"2051":{"position":[[0,1]]},"2053":{"position":[[0,1]]},"2065":{"position":[[0,1]]},"2068":{"position":[[0,1]]},"2070":{"position":[[0,1]]},"2073":{"position":[[0,1]]},"2075":{"position":[[0,1],[143,1]]},"2077":{"position":[[0,1]]},"2089":{"position":[[0,1],[193,2]]},"2092":{"position":[[0,1]]},"2094":{"position":[[0,1]]},"2096":{"position":[[0,1],[35,2],[64,1]]},"2098":{"position":[[0,1]]},"2100":{"position":[[0,1]]},"2102":{"position":[[0,1],[31,2],[59,1]]},"2104":{"position":[[0,1]]},"2106":{"position":[[0,1]]},"2108":{"position":[[0,1]]},"2110":{"position":[[0,1]]},"2112":{"position":[[0,1]]},"2114":{"position":[[0,1],[13,2],[16,2],[44,1],[46,3]]},"2116":{"position":[[0,1]]},"2118":{"position":[[0,1]]},"2120":{"position":[[0,1],[34,2],[75,1]]},"2122":{"position":[[0,1],[77,2],[88,2],[117,1],[214,2]]},"2125":{"position":[[0,1]]},"2127":{"position":[[0,1]]},"2129":{"position":[[0,1]]},"2131":{"position":[[0,1]]},"2133":{"position":[[0,1]]},"2135":{"position":[[0,1]]},"2137":{"position":[[0,1]]},"2139":{"position":[[0,1]]},"2141":{"position":[[0,1]]},"2143":{"position":[[0,1]]},"2155":{"position":[[0,1]]},"2158":{"position":[[0,1]]},"2160":{"position":[[0,1]]},"2162":{"position":[[0,1],[18,1],[20,2]]},"2165":{"position":[[0,1]]},"2167":{"position":[[0,1]]},"2169":{"position":[[0,1]]},"2171":{"position":[[0,1]]},"2173":{"position":[[0,1]]},"2175":{"position":[[0,1]]},"2177":{"position":[[0,1]]},"2179":{"position":[[0,1]]},"2181":{"position":[[0,1]]},"2193":{"position":[[0,1]]},"2196":{"position":[[0,1]]},"2198":{"position":[[0,1]]},"2201":{"position":[[0,1]]},"2203":{"position":[[0,1]]},"2205":{"position":[[0,1]]},"2207":{"position":[[0,1]]},"2209":{"position":[[0,1]]},"2221":{"position":[[0,1]]},"2224":{"position":[[0,1]]},"2226":{"position":[[0,1]]},"2228":{"position":[[0,1],[29,1]]},"2231":{"position":[[0,1]]},"2233":{"position":[[0,1]]},"2235":{"position":[[0,1]]},"2237":{"position":[[0,1]]},"2239":{"position":[[0,1]]},"2241":{"position":[[0,1]]},"2243":{"position":[[0,1]]},"2245":{"position":[[0,1]]},"2259":{"position":[[0,1]]},"2262":{"position":[[0,1]]},"2264":{"position":[[0,1]]},"2266":{"position":[[0,1]]},"2268":{"position":[[0,1]]},"2270":{"position":[[0,1]]},"2272":{"position":[[0,1]]},"2274":{"position":[[0,1]]},"2276":{"position":[[0,1]]},"2279":{"position":[[0,1]]},"2281":{"position":[[0,1]]},"2283":{"position":[[0,1]]},"2285":{"position":[[0,1]]},"2287":{"position":[[0,1]]},"2289":{"position":[[0,1]]},"2291":{"position":[[0,1]]},"2293":{"position":[[0,1]]},"2295":{"position":[[0,1]]},"2297":{"position":[[0,1]]},"2299":{"position":[[0,1]]},"2311":{"position":[[0,1]]},"2314":{"position":[[0,1]]},"2317":{"position":[[0,1]]},"2319":{"position":[[0,1]]},"2321":{"position":[[0,1]]},"2323":{"position":[[0,1]]},"2325":{"position":[[0,1]]},"2327":{"position":[[0,1]]},"2329":{"position":[[0,1]]},"2341":{"position":[[0,1]]},"2344":{"position":[[0,1]]},"2347":{"position":[[0,1]]},"2349":{"position":[[0,1]]},"2351":{"position":[[0,1]]},"2353":{"position":[[0,1]]},"2355":{"position":[[0,1]]},"2357":{"position":[[0,1]]},"2359":{"position":[[0,1]]},"2361":{"position":[[0,1]]},"2363":{"position":[[0,1]]},"2365":{"position":[[0,1]]},"2367":{"position":[[0,1]]},"2381":{"position":[[0,1]]},"2384":{"position":[[0,1]]},"2386":{"position":[[0,1]]},"2388":{"position":[[0,1]]},"2391":{"position":[[0,1]]},"2393":{"position":[[0,1]]},"2395":{"position":[[0,1]]},"2397":{"position":[[0,1]]},"2399":{"position":[[0,1]]},"2401":{"position":[[0,1]]},"2403":{"position":[[0,1]]},"2405":{"position":[[0,1]]},"2407":{"position":[[0,1]]},"2409":{"position":[[0,1]]},"2411":{"position":[[0,1]]},"2413":{"position":[[0,1]]},"2427":{"position":[[0,1]]},"2430":{"position":[[0,1]]},"2432":{"position":[[0,1]]},"2434":{"position":[[0,1]]},"2436":{"position":[[0,1]]},"2439":{"position":[[0,1]]},"2441":{"position":[[0,1]]},"2443":{"position":[[0,1]]},"2445":{"position":[[0,1]]},"2457":{"position":[[0,1]]},"2460":{"position":[[0,1]]},"2462":{"position":[[0,1]]},"2464":{"position":[[0,1]]},"2466":{"position":[[0,1]]},"2468":{"position":[[0,1]]},"2471":{"position":[[0,1]]},"2473":{"position":[[0,1]]},"2475":{"position":[[0,1]]},"2477":{"position":[[0,1]]},"2479":{"position":[[0,1]]},"2481":{"position":[[0,1]]},"2489":{"position":[[0,1]]},"2491":{"position":[[0,1]]},"2493":{"position":[[0,1]]},"2495":{"position":[[0,1]]},"2497":{"position":[[0,1]]},"2499":{"position":[[0,1]]},"2501":{"position":[[0,1]]},"2503":{"position":[[0,1]]},"2505":{"position":[[0,1]]},"2507":{"position":[[0,1]]},"2509":{"position":[[0,1]]},"2517":{"position":[[0,1]]},"2519":{"position":[[0,1]]},"2521":{"position":[[0,1]]},"2523":{"position":[[0,1]]},"2531":{"position":[[0,1]]},"2533":{"position":[[0,1]]},"2535":{"position":[[0,1]]},"2537":{"position":[[0,1]]},"2539":{"position":[[0,1]]},"2541":{"position":[[0,1]]}}}],["0",{"_index":1072,"t":{"90":{"position":[[932,2]]},"100":{"position":[[272,2]]},"126":{"position":[[1141,1],[3393,1],[3595,2]]},"128":{"position":[[36,1],[1887,1],[1901,1],[1915,1],[2338,2]]},"130":{"position":[[356,1]]},"157":{"position":[[239,1]]},"161":{"position":[[254,1],[269,1]]},"163":{"position":[[97,1]]},"165":{"position":[[98,1]]},"167":{"position":[[169,1],[344,1]]},"169":{"position":[[242,1],[655,1],[994,1]]},"171":{"position":[[293,1],[822,1]]},"173":{"position":[[99,1]]},"175":{"position":[[93,1]]},"178":{"position":[[282,1]]},"188":{"position":[[218,1]]},"192":{"position":[[280,1],[328,1]]},"194":{"position":[[328,1]]},"198":{"position":[[89,1]]},"200":{"position":[[90,1]]},"202":{"position":[[171,1]]},"204":{"position":[[91,1]]},"206":{"position":[[85,1]]},"210":{"position":[[754,2],[6019,2]]},"263":{"position":[[572,2]]},"310":{"position":[[475,1],[820,1]]},"325":{"position":[[329,2],[332,2],[335,2],[338,2],[341,2],[344,2],[347,2],[350,2],[353,2],[356,2],[359,2],[362,2],[365,2],[368,2],[371,2],[374,2],[377,2],[380,2],[383,2],[386,2],[389,2],[392,2],[395,2],[398,3],[436,2],[439,2],[442,2],[445,2],[448,2],[451,2],[454,2],[457,2],[460,2],[463,2],[466,2],[469,2],[472,2],[475,2],[478,2],[481,2],[484,2],[487,2],[490,2],[493,2],[496,2],[499,2],[502,2],[505,3],[757,1],[837,2],[844,1],[1332,4],[1339,4],[1365,2],[1411,4],[1437,2],[1483,4],[1509,2],[1555,4],[1581,2],[1643,2],[1646,2],[1649,2],[1652,2],[1655,2],[1658,2],[1661,2],[1664,2],[1667,2],[1670,2],[1673,2],[1676,2],[1679,2],[1682,2],[1685,2],[1688,2],[1691,2],[1694,2],[1697,2],[1700,2],[1703,2],[1706,2],[1709,2],[1712,3],[1749,2],[1752,2],[1755,2],[1758,2],[1761,2],[1764,2],[1767,2],[1770,2],[1773,2],[1776,2],[1779,2],[1782,2],[1785,2],[1788,2],[1791,2],[1794,2],[1797,2],[1800,2],[1803,2],[1806,2],[1809,2],[1812,2],[1815,2],[1818,3],[1917,2],[1920,2],[1923,2],[1926,2],[1929,2],[1932,2],[1935,2],[1938,2],[1941,2],[1944,2],[1947,2],[1950,2],[1953,2],[1956,2],[1959,2],[1962,2],[1965,2],[1968,2],[1971,2],[1974,2],[1977,2],[1980,2],[1983,2],[1986,2],[2481,1],[3358,4],[3365,4],[3391,2],[3422,4],[3448,2],[3479,4],[3536,4],[3593,4],[3619,2],[3650,4],[3707,4],[3764,4],[3821,4],[3879,4],[3953,2],[3956,2],[3969,2],[3981,2],[3984,2],[3987,2],[3990,2],[3993,2],[3996,2],[3999,2],[4002,3],[4041,2],[4044,2],[4059,2],[4072,2],[4075,2],[4078,2],[4081,2],[4084,2],[4087,2],[4090,2],[4093,2],[4096,2],[4099,2],[4102,2],[4105,2],[4108,2],[4111,3],[4196,2],[4199,2],[4218,2],[4230,2],[4233,2],[4236,2],[4239,2],[4242,2],[4245,2],[4248,2],[4251,2],[4262,2],[4265,2],[4278,2],[4290,2],[4293,2],[4296,2],[4299,2],[4302,2],[4305,2],[4308,2],[4311,2],[4538,2],[4541,2],[4559,2],[4572,2],[4575,2],[4578,2],[4581,2],[4584,2],[4587,2],[4590,2],[4593,2],[4596,2],[4608,2],[4611,2],[4623,2],[4636,2],[4639,2],[4642,2],[4645,2],[4648,2],[4651,2],[4654,2],[4657,2],[4660,2],[4663,2],[4666,2],[4669,2],[4672,2],[4675,2],[4678,2]]},"337":{"position":[[378,1],[641,1]]},"968":{"position":[[487,1]]},"976":{"position":[[380,1]]},"978":{"position":[[1624,2],[1792,2],[2070,2]]},"1110":{"position":[[293,3]]},"1118":{"position":[[162,3]]},"1121":{"position":[[125,3]]},"1123":{"position":[[139,3]]},"1127":{"position":[[207,3]]},"1129":{"position":[[117,3]]},"1131":{"position":[[130,3]]},"1183":{"position":[[125,3]]},"1393":{"position":[[82,2]]},"1499":{"position":[[303,2],[319,2],[322,2],[325,2],[328,4]]},"1513":{"position":[[433,2]]},"1697":{"position":[[519,1]]},"1712":{"position":[[1193,1]]},"1716":{"position":[[380,1]]},"1718":{"position":[[1658,2],[1826,2],[2112,2]]},"1731":{"position":[[290,1],[547,1]]},"1750":{"position":[[3031,1],[3233,2],[6911,1],[6980,1],[7037,1],[7091,1],[7241,1]]},"1752":{"position":[[439,3],[443,2],[446,2],[449,2],[452,2],[455,3],[459,2],[462,2],[465,2],[468,2],[3028,1],[3042,1],[3056,1],[3479,2]]},"1798":{"position":[[23,1]]},"1850":{"position":[[16,1]]},"1872":{"position":[[32,1]]},"1874":{"position":[[30,1]]},"1884":{"position":[[16,1]]},"1972":{"position":[[32,1]]},"1982":{"position":[[31,1]]},"1984":{"position":[[22,1]]},"2029":{"position":[[299,1]]},"2285":{"position":[[312,2]]}}}],["0...(d+1)0...(d+1)0...(d+1",{"_index":3239,"t":{"1701":{"position":[[2000,28]]}}}],["0.01",{"_index":292,"t":{"9":{"position":[[1219,4]]}}}],["0.x",{"_index":822,"t":{"66":{"position":[[13,3],[288,4]]}}}],["0021858f",{"_index":3684,"t":{"1773":{"position":[[7940,8]]}}}],["03a49e35",{"_index":3560,"t":{"1773":{"position":[[6555,8]]}}}],["04bf7d6d",{"_index":3578,"t":{"1773":{"position":[[6747,8]]}}}],["06ed3b9f",{"_index":3647,"t":{"1773":{"position":[[7504,8]]}}}],["07ca0d33",{"_index":3593,"t":{"1773":{"position":[[6919,8]]}}}],["0806097a",{"_index":3656,"t":{"1773":{"position":[[7621,8]]}}}],["095159c8",{"_index":3690,"t":{"1773":{"position":[[7994,8]]}}}],["0])slb​=poseidon4​([ab0​,ab1​,0,0",{"_index":2726,"t":{"978":{"position":[[1627,35]]},"1718":{"position":[[1661,35]]}}}],["0d9229e6",{"_index":3600,"t":{"1773":{"position":[[6982,8]]}}}],["0ddefacc",{"_index":3606,"t":{"1773":{"position":[[7066,8]]}}}],["0e78dde8c813b95f4585b0613927e9c4269de500",{"_index":3129,"t":{"1688":{"position":[[195,40]]}}}],["0slv​+(bltvcmiv​​​​)2−(cmw​)2≥0",{"_index":3416,"t":{"1750":{"position":[[5889,31]]}}}],["0th",{"_index":1339,"t":{"128":{"position":[[2138,3]]},"1693":{"position":[[1667,3]]},"1750":{"position":[[7156,3],[7174,3]]},"1752":{"position":[[3279,3]]}}}],["0x",{"_index":3283,"t":{"1706":{"position":[[1192,2]]}}}],["0x06c1939f6cbb68d42333f140cae815cc36d341b0",{"_index":1632,"t":{"188":{"position":[[377,42]]}}}],["0x1f18ec08fd14db90a0d1d02d1ed27c0bfd3bc138701e812c4c3382572fc4d151",{"_index":1595,"t":{"165":{"position":[[456,66]]}}}],["0x25f60a9b5a24d11b87c41d8a4f681e3fd895b3bdf78ea86755b9800005662ce6",{"_index":1641,"t":{"198":{"position":[[387,66]]}}}],["0x2c3adf2852788662148038511ad80962aaf631d7",{"_index":1630,"t":{"188":{"position":[[239,42]]}}}],["0x3e82ae3ad04215d4f357455ab5a610eba082796d2abc698aad91b046d16b9350",{"_index":1648,"t":{"204":{"position":[[418,66]]}}}],["0x3f21bc64076e7c9ed8695d053dccbe6d8d5e6f43",{"_index":1574,"t":{"157":{"position":[[398,42]]}}}],["0x472f0fd515c7cd2a02c430189e4ee92a6843bd6b19807484ce454cb7dab0e931",{"_index":1644,"t":{"200":{"position":[[440,66]]}}}],["0x4c7c9f65187fcf6e243804b75555bda48cbae4c317bb312f1b9f95ac4b7697b1",{"_index":1576,"t":{"159":{"position":[[202,66]]}}}],["0x60936cfb0b25c8618d3cb8d0f5497106d5f6e3776f3212932975442d874eddbd",{"_index":1635,"t":{"192":{"position":[[360,66]]}}}],["0x691687ab6fb504919859901f297cdb7d8c4d736756d2d4edf345d721bb82365b",{"_index":1618,"t":{"173":{"position":[[425,66]]}}}],["0x6b5a4751307f6751e265c194244552a9995b6b3d",{"_index":1556,"t":{"151":{"position":[[327,42]]}}}],["0x6b5b2959ba5161497d5499a0f9d9c69f773cd5f9b82f80a79253797b066863e3",{"_index":1569,"t":{"153":{"position":[[591,66]]}}}],["0x73f74b13d276cd311ce5421a145debc71e97e48abc8be2f9a0a548b26f7920f9",{"_index":1638,"t":{"194":{"position":[[360,66]]}}}],["0x7607cfe2fa0d62f725537e55d83c693cc3c76ef2",{"_index":1627,"t":{"182":{"position":[[119,42]]}}}],["0x7ab4c2d23686049432d19bb64c8ee4e8776fff134d971dcf27e1f513b4fdb97f",{"_index":1634,"t":{"190":{"position":[[185,66]]}}}],["0x89962fa216d39fccaac11e1e462340d80ab6cf4d",{"_index":1603,"t":{"169":{"position":[[117,42]]}}}],["0x9c3280af80de2436f9a886e4cd94218e01fe35ea3d3e671aad97b5aa5d6108",{"_index":1647,"t":{"204":{"position":[[192,66]]}}}],["0xa2ab91c821bf7fa73fedcf19a5371a0f0866ae0747d22f82f1685afca0e5db49",{"_index":1579,"t":{"161":{"position":[[309,66]]}}}],["0xa8acf67d6520ceaf5eef8acbf4cda7f5c2657122e2a72a092b9f4503282d70b9",{"_index":1617,"t":{"173":{"position":[[199,66]]}}}],["0xac0e8a01277db1b6282f8fb3763a8a4aeeebb3e12a41dd0dee9fc2804a4c9e81",{"_index":1643,"t":{"200":{"position":[[213,66]]}}}],["0xb08ced0f34940a3e576cf023b287f9db2f306a1f",{"_index":1570,"t":{"155":{"position":[[132,42]]}}}],["0xb5e98d328b066d91e1b7aa35775fe624be446b540a00bcb4b27a02477636b569",{"_index":1587,"t":{"163":{"position":[[403,66]]}}}],["0xb6389da0285c7b1fc0ba352f5a1d5fb1a492a786",{"_index":1572,"t":{"157":{"position":[[260,42]]}}}],["0xb848ef765e289762e9be66a38006ddc4d23aef24",{"_index":1575,"t":{"157":{"position":[[463,42]]}}}],["0xbd5d06935537fb59903c27b9bdb19a41d422f75e1dfd6eb61f028bf3a7b82c76",{"_index":1628,"t":{"184":{"position":[[396,66]]}}}],["0xc131d3eed9d6d410a7bfc200d81b9795f1bb5ed6",{"_index":1629,"t":{"186":{"position":[[109,42]]}}}],["0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3",{"_index":1429,"t":{"145":{"position":[[306,67]]}}}],["0xcb74254716c96b07c812c73a5945e68aa1de4569",{"_index":1633,"t":{"188":{"position":[[442,42]]}}}],["0xd01932e8dfad251f9b0d288290ac17f12bc449ea859a6921f63edf6b4b06f4c9",{"_index":1640,"t":{"198":{"position":[[154,66]]}}}],["0xd3c3c6530fe4073292d6eafdeadeeabf1a3dc19b",{"_index":1631,"t":{"188":{"position":[[314,42]]}}}],["0xd7e7312f70831ec05bb23f23f506ef37d6ce0c2056c1b72f7bb989653d1c8a42",{"_index":1584,"t":{"163":{"position":[[170,66]]}}}],["0xdf9d11c6b35fcccff82dafa3aa15f760e3f7694a72b07007fbdb359d44df0bea",{"_index":1592,"t":{"165":{"position":[[229,66]]}}}],["0xe0bf6021e023a197dbb3fabe64efa880e13d3f4b",{"_index":1573,"t":{"157":{"position":[[335,42]]}}}],["0xf204a4ef082f5c04bb89f7d5e6568b796096735a",{"_index":2107,"t":{"337":{"position":[[249,42]]}}}],["1",{"_index":575,"t":{"34":{"position":[[2097,1],[2218,2],[2454,2],[2867,1],[2908,2]]},"76":{"position":[[2893,2],[7607,2]]},"90":{"position":[[1034,3]]},"96":{"position":[[771,1]]},"98":{"position":[[48,2],[167,2]]},"100":{"position":[[93,2],[439,2]]},"126":{"position":[[1192,1],[4861,2]]},"128":{"position":[[87,1]]},"130":{"position":[[407,1]]},"153":{"position":[[411,1],[426,1],[462,1],[505,1]]},"157":{"position":[[193,1],[203,1]]},"159":{"position":[[286,1]]},"161":{"position":[[249,1],[264,1]]},"163":{"position":[[142,1],[146,1]]},"165":{"position":[[145,1],[149,1]]},"169":{"position":[[338,1],[375,1],[419,1],[463,1],[720,1],[764,1],[808,1],[834,1],[883,1],[916,1],[1057,1],[1061,1],[1168,1],[1172,1]]},"171":{"position":[[388,1],[440,1],[494,1],[547,1],[870,1],[923,1],[1043,1],[1069,1],[1118,1],[1151,1],[1252,1],[1256,1],[1363,1],[1367,1]]},"173":{"position":[[280,1],[284,1],[397,1],[401,1]]},"184":{"position":[[132,1],[204,1],[261,1],[320,1]]},"188":{"position":[[180,1],[190,1]]},"190":{"position":[[269,1]]},"192":{"position":[[256,1],[314,1]]},"194":{"position":[[256,1],[280,1]]},"198":{"position":[[126,1],[130,1]]},"200":{"position":[[129,1],[133,1]]},"202":{"position":[[219,1],[272,1],[361,1],[387,1],[436,1],[469,1],[562,1],[566,1],[673,1],[677,1]]},"204":{"position":[[273,1],[277,1],[390,1],[394,1]]},"210":{"position":[[4481,2]]},"212":{"position":[[425,2],[2415,3]]},"257":{"position":[[716,1]]},"308":{"position":[[1059,1]]},"310":{"position":[[128,2],[223,2],[544,1],[844,1],[3839,2]]},"325":{"position":[[288,2],[745,2],[1318,2],[1382,2],[1404,4],[1454,2],[1526,2],[1598,2],[2469,2],[3344,2],[3415,4],[3636,1],[3693,1],[3978,2],[4069,2],[4192,3],[4227,2],[4287,2],[4378,1],[4387,1],[4392,1],[4451,1],[4455,1],[4534,3],[4569,2],[4633,2]]},"327":{"position":[[1170,2]]},"333":{"position":[[546,1]]},"337":{"position":[[83,1],[114,1],[450,1],[489,1],[535,1],[581,1],[1029,1]]},"966":{"position":[[136,1]]},"976":{"position":[[441,1]]},"978":{"position":[[546,1]]},"1028":{"position":[[406,1]]},"1375":{"position":[[375,1]]},"1693":{"position":[[1772,2]]},"1701":{"position":[[2599,1]]},"1708":{"position":[[1299,1]]},"1716":{"position":[[441,1]]},"1718":{"position":[[555,1]]},"1731":{"position":[[282,2]]},"1750":{"position":[[4508,2],[8494,1],[8638,1]]},"1752":{"position":[[407,3],[423,3],[471,3],[475,2],[478,2],[481,2],[484,2]]},"1765":{"position":[[168,1],[198,1],[235,1],[269,1],[304,1],[338,1],[372,1],[403,1],[431,1],[466,1],[498,1],[531,1],[563,1],[595,1],[621,1],[644,1],[674,1],[701,1],[729,1],[756,1],[783,1]]},"1771":{"position":[[220,1]]},"1773":{"position":[[801,1],[852,1],[891,1],[934,1],[1204,1],[1412,1],[6310,1],[6374,1],[7186,1],[7361,1],[7541,1]]},"1775":{"position":[[1597,1],[1843,1]]}}}],["1,953,125",{"_index":3492,"t":{"1773":{"position":[[379,9]]}}}],["1.0",{"_index":8,"t":{"3":{"position":[[68,3],[445,3]]},"7":{"position":[[796,3]]},"11":{"position":[[664,4]]},"21":{"position":[[376,4]]},"29":{"position":[[95,3]]},"70":{"position":[[56,3]]},"1686":{"position":[[41,3],[391,4]]}}}],["1.1",{"_index":3138,"t":{"1693":{"position":[[100,4]]},"1731":{"position":[[892,6]]},"1773":{"position":[[3067,4]]}}}],["1.10",{"_index":3222,"t":{"1699":{"position":[[0,5]]},"1701":{"position":[[178,5]]},"1714":{"position":[[90,6]]},"1733":{"position":[[411,6],[829,6]]},"1750":{"position":[[5581,6]]}}}],["1.10.1",{"_index":3238,"t":{"1701":{"position":[[1920,7]]},"1733":{"position":[[1022,9]]}}}],["1.10.2",{"_index":3256,"t":{"1701":{"position":[[3062,7],[3335,9],[3712,8]]},"1733":{"position":[[1288,8]]}}}],["1.10.3",{"_index":3259,"t":{"1701":{"position":[[3660,7],[3725,8]]}}}],["1.11",{"_index":3260,"t":{"1701":{"position":[[3796,5]]}}}],["1.2",{"_index":3145,"t":{"1693":{"position":[[705,4]]}}}],["1.2.3",{"_index":2582,"t":{"955":{"position":[[77,7],[151,7],[580,5],[648,6]]}}}],["1.3",{"_index":3147,"t":{"1693":{"position":[[1140,4],[2147,5],[2823,5]]},"1699":{"position":[[951,5]]}}}],["1.4",{"_index":2742,"t":{"978":{"position":[[2525,6]]},"1693":{"position":[[1937,4],[2590,5],[2845,5]]},"1718":{"position":[[2572,6]]}}}],["1.5",{"_index":3171,"t":{"1693":{"position":[[2316,4]]},"1712":{"position":[[1631,5]]}}}],["1.6",{"_index":3192,"t":{"1693":{"position":[[3388,4]]},"1712":{"position":[[1729,5]]},"1750":{"position":[[5743,5]]}}}],["1.7",{"_index":3201,"t":{"1695":{"position":[[0,4]]}}}],["1.8",{"_index":3214,"t":{"1695":{"position":[[633,4]]},"1773":{"position":[[3198,4]]}}}],["1.9",{"_index":3217,"t":{"1697":{"position":[[0,4]]},"1706":{"position":[[141,6]]},"1750":{"position":[[5513,5]]}}}],["1.amazonaws.com/circuits/processmessages_6",{"_index":3709,"t":{"1775":{"position":[[1234,42],[1740,42],[2201,42],[2679,42],[3225,42]]}}}],["1.amazonaws.com/circuits/tallyvotes_6",{"_index":3712,"t":{"1775":{"position":[[1483,37],[1984,37],[2426,37],[2939,37],[3516,37]]}}}],["1.x",{"_index":824,"t":{"66":{"position":[[44,3],[237,4]]}}}],["10",{"_index":1565,"t":{"153":{"position":[[405,2]]},"155":{"position":[[91,2]]},"184":{"position":[[104,2]]},"186":{"position":[[76,2]]},"210":{"position":[[3767,2],[4476,2]]},"325":{"position":[[3046,2],[3212,3],[3259,2],[3276,2],[3321,3],[3864,2],[4207,4],[4414,2]]},"327":{"position":[[1163,3]]},"1135":{"position":[[154,2]]},"1731":{"position":[[186,3]]},"1750":{"position":[[386,2]]},"1752":{"position":[[1112,2]]},"1771":{"position":[[214,3]]},"1773":{"position":[[1089,2],[1360,2]]},"1939":{"position":[[241,2]]},"2228":{"position":[[31,2]]}}}],["100",{"_index":2079,"t":{"325":{"position":[[4469,3],[4549,5]]},"1405":{"position":[[198,3]]},"1746":{"position":[[1215,3]]}}}],["1000",{"_index":1583,"t":{"161":{"position":[[614,4],[654,4]]},"188":{"position":[[159,4]]},"196":{"position":[[80,4],[112,4]]},"310":{"position":[[1198,8],[1314,8],[1412,5]]}}}],["1004720",{"_index":1589,"t":{"163":{"position":[[509,7]]},"198":{"position":[[493,7]]}}}],["100k",{"_index":902,"t":{"76":{"position":[[2674,4]]}}}],["104",{"_index":2075,"t":{"325":{"position":[[4047,4],[4614,4]]}}}],["10457101036533406547632367118273992217979173478358440826365724437999023779287abx​​=10457101036533406547632367118273992217979173478358440826365724437999023779287",{"_index":2720,"t":{"978":{"position":[[1148,160]]},"1718":{"position":[[1173,160]]}}}],["107",{"_index":2074,"t":{"325":{"position":[[4035,5],[4602,5]]}}}],["10k",{"_index":897,"t":{"76":{"position":[[2515,3]]}}}],["11",{"_index":3438,"t":{"1752":{"position":[[550,3]]}}}],["117636",{"_index":2071,"t":{"325":{"position":[[1908,8]]}}}],["11e5292",{"_index":3554,"t":{"1773":{"position":[[6501,8]]}}}],["12",{"_index":980,"t":{"76":{"position":[[5764,2]]},"325":{"position":[[3959,3],[4268,3]]},"986":{"position":[[105,2]]}}}],["125",{"_index":3493,"t":{"1773":{"position":[[453,3],[660,3],[1953,3],[2163,3],[2702,3],[2774,3],[2909,3],[2987,3],[3445,3],[3517,3],[3652,3],[3730,3]]}}}],["12a057f3",{"_index":3631,"t":{"1773":{"position":[[7329,8]]}}}],["13",{"_index":1377,"t":{"132":{"position":[[1117,2]]},"915":{"position":[[104,2]]}}}],["14",{"_index":1818,"t":{"245":{"position":[[99,3],[176,2]]}}}],["140000000000000000000000000000000000019",{"_index":1294,"t":{"126":{"position":[[3661,39]]},"1750":{"position":[[3299,39]]}}}],["147946756881789319005730692170996259609",{"_index":3417,"t":{"1750":{"position":[[5959,39]]}}}],["15",{"_index":598,"t":{"36":{"position":[[189,2]]},"76":{"position":[[4022,4]]},"325":{"position":[[303,3],[324,4],[431,4],[543,2],[572,2],[823,2],[3948,4],[4257,4]]}}}],["15,625",{"_index":3510,"t":{"1773":{"position":[[1882,6],[3329,6],[3604,6]]}}}],["1510​−1",{"_index":3431,"t":{"1750":{"position":[[7434,8]]}}}],["15∗∗10−1",{"_index":1695,"t":{"210":{"position":[[3772,8]]}}}],["16",{"_index":1819,"t":{"245":{"position":[[103,3],[202,2]]}}}],["16.644",{"_index":1645,"t":{"202":{"position":[[602,6]]}}}],["16192fb2",{"_index":3588,"t":{"1773":{"position":[[6874,8]]}}}],["16986d6a",{"_index":3644,"t":{"1773":{"position":[[7477,8]]}}}],["16dfc388",{"_index":3649,"t":{"1773":{"position":[[7558,8]]}}}],["17.053",{"_index":1615,"t":{"171":{"position":[[1292,6]]}}}],["17.322",{"_index":1612,"t":{"169":{"position":[[1097,6]]}}}],["170",{"_index":2930,"t":{"1319":{"position":[[118,4]]}}}],["1709e2c4",{"_index":3602,"t":{"1773":{"position":[[7030,8]]}}}],["173346",{"_index":1594,"t":{"165":{"position":[[427,6]]},"200":{"position":[[411,6]]}}}],["18",{"_index":1820,"t":{"245":{"position":[[107,2],[154,2]]}}}],["187e0091",{"_index":3680,"t":{"1773":{"position":[[7874,8]]}}}],["19",{"_index":3439,"t":{"1752":{"position":[[598,3]]}}}],["190",{"_index":3500,"t":{"1773":{"position":[[868,4]]}}}],["197",{"_index":3262,"t":{"1701":{"position":[[3912,4]]}}}],["1970",{"_index":2710,"t":{"978":{"position":[[548,4]]},"1718":{"position":[[557,4]]}}}],["19824078218392094440610104313265183977899662750282163392862422243483260492317aby​​=19824078218392094440610104313265183977899662750282163392862422243483260492317",{"_index":2722,"t":{"978":{"position":[[1400,160]]},"1718":{"position":[[1425,160]]}}}],["1<(command",{"_index":2248,"t":{"577":{"position":[[10,12],[57,13]]}}}],["t[])poseidonencrypt(ks​[0],ks​[1],n,l,t",{"_index":2624,"t":{"968":{"position":[[216,42]]},"1697":{"position":[[369,42]]}}}],["t[]t[]t",{"_index":2629,"t":{"968":{"position":[[524,9]]},"1697":{"position":[[556,9]]}}}],["t_s])poseidon2​([tc​,t",{"_index":1356,"t":{"128":{"position":[[3447,26]]},"1752":{"position":[[4671,26]]}}}],["tag",{"_index":1193,"t":{"111":{"position":[[7,3]]},"953":{"position":[[341,3],[397,4]]},"955":{"position":[[545,3],[763,4],[772,3],[815,4],[845,3]]}}}],["take",{"_index":467,"t":{"25":{"position":[[344,5]]},"27":{"position":[[330,5]]},"36":{"position":[[140,4]]},"38":{"position":[[424,4]]},"54":{"position":[[888,6]]},"90":{"position":[[434,4]]},"113":{"position":[[69,5]]},"126":{"position":[[551,5]]},"139":{"position":[[111,5],[558,5]]},"308":{"position":[[287,4]]},"310":{"position":[[232,4]]},"974":{"position":[[1035,5]]},"1693":{"position":[[1520,4]]},"1712":{"position":[[47,5]]},"1733":{"position":[[1829,4]]},"1750":{"position":[[7458,4]]}}}],["taken",{"_index":516,"t":{"29":{"position":[[749,6]]},"210":{"position":[[1364,5]]}}}],["talk",{"_index":970,"t":{"76":{"position":[[5178,6]]}}}],["talli",{"_index":113,"t":{"5":{"position":[[1093,5]]},"11":{"position":[[231,5]]},"19":{"position":[[112,7]]},"29":{"position":[[1517,5]]},"32":{"position":[[181,7],[296,5]]},"34":{"position":[[1337,6],[3283,6],[3575,7]]},"36":{"position":[[822,5],[910,5],[1157,5],[1217,5]]},"38":{"position":[[114,5],[873,8],[962,5]]},"46":{"position":[[64,7],[260,5],[354,5],[732,7],[806,5]]},"52":{"position":[[337,5],[1137,5]]},"54":{"position":[[925,7]]},"116":{"position":[[322,7]]},"122":{"position":[[122,7]]},"128":{"position":[[702,7],[839,5],[1424,5],[2714,7],[2922,8],[2980,5],[3006,5],[3730,5],[4331,5]]},"132":{"position":[[285,5],[376,5]]},"147":{"position":[[1188,5],[1231,5],[3049,5],[3092,5],[5525,5],[5553,5],[5675,5],[5711,5],[6053,5],[6081,5],[6312,5],[6364,5],[6563,5],[6603,5],[7016,5],[7056,5],[7478,5],[7514,5]]},"157":{"position":[[382,5]]},"169":{"position":[[1142,11],[1182,5],[1218,5]]},"171":{"position":[[401,5],[514,5],[567,5],[890,5],[943,5],[1337,11],[1377,5],[1413,5]]},"173":{"position":[[371,11],[505,8]]},"175":{"position":[[140,5],[239,5],[282,5],[310,6]]},"178":{"position":[[213,5]]},"184":{"position":[[281,5]]},"188":{"position":[[361,5]]},"202":{"position":[[239,5],[292,5],[647,11],[687,5],[723,5]]},"204":{"position":[[364,11],[498,8]]},"206":{"position":[[91,5],[134,5],[234,5]]},"210":{"position":[[6162,5]]},"236":{"position":[[50,8],[279,5]]},"240":{"position":[[37,8]]},"242":{"position":[[58,5]]},"265":{"position":[[1016,5]]},"292":{"position":[[126,5]]},"314":{"position":[[152,8]]},"318":{"position":[[229,8]]},"323":{"position":[[403,8],[689,5]]},"325":{"position":[[94,5],[807,5],[978,5],[2527,5],[3138,5],[3289,5]]},"327":{"position":[[1012,9]]},"329":{"position":[[634,9]]},"333":{"position":[[743,8],[801,5]]},"367":{"position":[[41,5]]},"790":{"position":[[807,5]]},"804":{"position":[[381,5],[570,5],[625,5],[1060,5],[1476,5],[1980,5]]},"810":{"position":[[528,5]]},"814":{"position":[[787,5]]},"822":{"position":[[323,5],[480,5]]},"1197":{"position":[[200,5]]},"1379":{"position":[[4,5],[40,8],[76,5]]},"1393":{"position":[[46,5],[99,5]]},"1403":{"position":[[102,5]]},"1407":{"position":[[214,5]]},"1411":{"position":[[150,5],[377,5],[453,8]]},"1413":{"position":[[213,5],[602,5],[640,5]]},"1421":{"position":[[433,5],[483,5],[546,5]]},"1592":{"position":[[98,5]]},"1596":{"position":[[100,5]]},"1654":{"position":[[82,5]]},"1660":{"position":[[171,5]]},"1664":{"position":[[276,5],[745,5]]},"1674":{"position":[[149,5]]},"1676":{"position":[[104,5]]},"1678":{"position":[[168,5]]},"1690":{"position":[[858,5]]},"1729":{"position":[[138,8]]},"1733":{"position":[[2477,7],[2505,8],[2536,5],[2721,5],[2767,8],[3058,5],[3088,5],[3157,5],[3307,8],[3346,6]]},"1735":{"position":[[251,5],[1660,8]]},"1740":{"position":[[284,5]]},"1744":{"position":[[207,8],[677,8],[1012,8],[1796,8],[1858,8],[2028,8]]},"1746":{"position":[[1249,8],[1424,5],[1450,5],[1652,5],[1682,5],[1920,8]]},"1752":{"position":[[121,5],[497,5],[672,8],[766,6],[802,6],[838,5],[992,5],[1825,7],[1962,5],[3891,7],[4099,8],[4157,5],[4183,5],[4963,5],[5597,5]]},"1773":{"position":[[548,9],[1305,9],[2048,9],[2797,9],[3540,9]]},"1949":{"position":[[48,7],[82,5]]},"2514":{"position":[[30,5]]},"2523":{"position":[[2,6]]},"2525":{"position":[[35,5]]},"2533":{"position":[[37,5]]},"2535":{"position":[[229,5],[248,5]]},"2539":{"position":[[169,5],[188,5]]}}}],["tally.json",{"_index":1604,"t":{"169":{"position":[[249,10],[662,10]]},"171":{"position":[[578,10],[954,10]]},"175":{"position":[[100,10]]},"202":{"position":[[303,10]]},"206":{"position":[[102,10]]},"337":{"position":[[604,10]]},"1417":{"position":[[228,10],[526,10]]},"1421":{"position":[[301,10],[633,10]]}}}],["tallyaddress",{"_index":2392,"t":{"810":{"position":[[73,14],[478,13]]},"822":{"position":[[55,14],[430,13]]}}}],["tallybatchnum",{"_index":2962,"t":{"1395":{"position":[[8,13]]}}}],["tallybatchs",{"_index":1803,"t":{"230":{"position":[[211,15]]},"360":{"position":[[34,14]]},"367":{"position":[[2,15]]},"1612":{"position":[[52,15]]}}}],["tallybatchsizetoolarg",{"_index":2955,"t":{"1391":{"position":[[6,24]]}}}],["tallycommit",{"_index":2956,"t":{"1393":{"position":[[8,15]]},"1733":{"position":[[2558,15],[3397,15]]}}}],["tallycontract",{"_index":1503,"t":{"147":{"position":[[5690,16],[7493,16]]}}}],["tallydata",{"_index":2342,"t":{"783":{"position":[[32,9]]},"822":{"position":[[29,11],[334,10],[345,9]]}}}],["tallyfil",{"_index":1500,"t":{"147":{"position":[[5536,12],[6064,12]]},"804":{"position":[[23,10],[521,9]]},"822":{"position":[[17,11],[279,10]]}}}],["tallyresult",{"_index":3779,"t":{"1832":{"position":[[421,11]]},"1904":{"position":[[2,12]]}}}],["tallyvk",{"_index":1798,"t":{"228":{"position":[[179,8]]},"1624":{"position":[[52,8]]}}}],["tallyvkalreadyset",{"_index":3090,"t":{"1640":{"position":[[6,19]]}}}],["tallyvknotset",{"_index":3093,"t":{"1646":{"position":[[6,15]]}}}],["tallyvkset",{"_index":3083,"t":{"1626":{"position":[[25,10]]}}}],["tallyvkset(uint256",{"_index":3087,"t":{"1634":{"position":[[6,18]]}}}],["tallyvot",{"_index":695,"t":{"46":{"position":[[439,10],[534,10],[651,10]]},"132":{"position":[[599,10]]},"143":{"position":[[341,10],[377,10]]},"228":{"position":[[207,10]]},"292":{"position":[[182,11]]},"302":{"position":[[93,10]]},"329":{"position":[[761,11]]},"467":{"position":[[78,10]]},"1763":{"position":[[57,10]]},"1775":{"position":[[1332,10],[1382,10],[1818,10],[2279,10],[2762,10],[2830,10],[3311,10],[3400,10]]},"1834":{"position":[[413,10]]},"1949":{"position":[[2,13],[153,10]]}}}],["tallyvotes(contract",{"_index":2968,"t":{"1411":{"position":[[9,19]]}}}],["tallyvotes(pol",{"_index":3399,"t":{"1746":{"position":[[1511,15]]}}}],["tallyvotes.circom",{"_index":1200,"t":{"113":{"position":[[208,18]]},"1752":{"position":[[689,19]]}}}],["tallyvotes_10",{"_index":2106,"t":{"337":{"position":[[100,13]]},"1765":{"position":[[607,13],[630,13],[660,13],[687,13],[715,13],[742,13],[769,13]]},"1773":{"position":[[877,13],[7347,13]]}}}],["tallyvotes_4",{"_index":3509,"t":{"1773":{"position":[[1681,12],[6195,12],[6636,12]]}}}],["tallyvotes_6",{"_index":3519,"t":{"1773":{"position":[[3169,12]]}}}],["tallyvotes_7",{"_index":3488,"t":{"1773":{"position":[[175,12],[2427,12],[6260,12],[6326,12],[6426,12],[6991,12],[7883,12]]}}}],["tallyvotes_>_test.>.zkey",{"_index":1564,"t":{"153":{"position":[[246,55]]}}}],["vote_option_tree_depth>_test..zkey",{"_index":1561,"t":{"153":{"position":[[139,53]]}}}],["voted(msg.send",{"_index":1900,"t":{"263":{"position":[[650,18]]}}}],["voteoptionindex",{"_index":1382,"t":{"132":{"position":[[1358,15]]},"147":{"position":[[3641,18]]},"325":{"position":[[1346,18],[1418,18],[1490,18],[1562,18],[3372,18],[3429,18],[3486,18],[3543,18],[3600,18],[3657,18],[3714,18],[3771,18],[3828,18],[3886,18]]},"638":{"position":[[61,15]]},"655":{"position":[[2,16]]},"812":{"position":[[30,16],[345,15]]},"2254":{"position":[[61,15]]},"2259":{"position":[[38,16],[252,15]]},"2276":{"position":[[2,16]]}}}],["voteoptiontreedepth",{"_index":1317,"t":{"126":{"position":[[5384,20]]},"147":{"position":[[979,22],[2339,22],[2840,22]]},"230":{"position":[[136,20]]},"288":{"position":[[52,20],[426,19]]},"516":{"position":[[55,19]]},"525":{"position":[[2,20]]},"614":{"position":[[6,19]]},"619":{"position":[[2,20]]},"790":{"position":[[74,20],[534,19]]},"794":{"position":[[114,20],[767,19]]},"814":{"position":[[72,20],[514,19]]},"1393":{"position":[[463,19]]},"1610":{"position":[[102,20]]},"1750":{"position":[[682,19],[4969,20]]},"1752":{"position":[[1212,19]]},"2150":{"position":[[6,19]]},"2160":{"position":[[2,20]]},"2179":{"position":[[33,21],[178,19]]},"2181":{"position":[[34,21],[180,19]]}}}],["voteoptiontreeleaf",{"_index":2417,"t":{"828":{"position":[[225,18]]}}}],["voter",{"_index":85,"t":{"5":{"position":[[523,5]]},"15":{"position":[[88,6]]},"17":{"position":[[80,7]]},"25":{"position":[[276,6],[515,6],[901,5],[1051,5],[1126,6]]},"27":{"position":[[262,6],[501,6],[887,5],[1037,5],[1112,6]]},"29":{"position":[[957,5]]},"32":{"position":[[59,8]]},"62":{"position":[[142,7]]},"64":{"position":[[246,6]]},"76":{"position":[[1299,5],[2530,6],[2690,6],[2765,6],[3751,5],[7091,5],[7310,6]]},"130":{"position":[[184,6]]},"236":{"position":[[266,7]]},"265":{"position":[[433,5]]},"304":{"position":[[7,6]]},"308":{"position":[[98,5]]},"316":{"position":[[132,7]]},"323":{"position":[[86,7],[588,6],[833,6]]},"325":{"position":[[767,7],[2491,7]]},"333":{"position":[[933,6]]},"974":{"position":[[2076,5]]},"976":{"position":[[147,5]]},"1088":{"position":[[63,6]]},"1108":{"position":[[140,7]]},"1110":{"position":[[149,5],[222,5]]},"1112":{"position":[[79,7]]},"1118":{"position":[[119,5]]},"1241":{"position":[[23,6]]},"1317":{"position":[[291,6]]},"1423":{"position":[[55,5]]},"1690":{"position":[[255,5]]},"1716":{"position":[[147,5]]}}}],["votes1",{"_index":2174,"t":{"420":{"position":[[215,6]]},"453":{"position":[[2,7]]}}}],["votes2",{"_index":2175,"t":{"420":{"position":[[222,6]]},"455":{"position":[[2,7]]}}}],["votes[i",{"_index":1367,"t":{"128":{"position":[[4243,10]]},"1752":{"position":[[5509,10]]}}}],["voteweight",{"_index":2069,"t":{"325":{"position":[[1368,13],[1440,13],[1512,13],[1584,13],[3394,13],[3451,13],[3508,13],[3565,13],[3622,13],[3679,13],[3736,13],[3793,13],[3850,13],[3908,13]]}}}],["votingperiodnotov",{"_index":2906,"t":{"1269":{"position":[[6,21]]}}}],["votingperiodnotpass",{"_index":3078,"t":{"1594":{"position":[[6,23]]}}}],["votingperiodov",{"_index":2905,"t":{"1267":{"position":[[6,18]]}}}],["vs",{"_index":951,"t":{"76":{"position":[[4342,3]]},"245":{"position":[[323,2]]},"1499":{"position":[[306,2]]}}}],["vulner",{"_index":41,"t":{"3":{"position":[[479,15]]},"9":{"position":[[581,10],[1851,13]]},"54":{"position":[[98,16]]}}}],["vvv",{"_index":3288,"t":{"1708":{"position":[[382,3],[579,3]]}}}],["w",{"_index":1480,"t":{"147":{"position":[[3794,2],[5316,2],[6875,2]]},"161":{"position":[[257,1]]},"169":{"position":[[933,1]]},"171":{"position":[[1168,1]]},"202":{"position":[[486,1]]}}}],["wallet",{"_index":1498,"t":{"147":{"position":[[5254,6]]},"210":{"position":[[3438,7]]},"798":{"position":[[64,6],[226,6]]}}}],["want",{"_index":920,"t":{"76":{"position":[[3187,4],[4056,4]]},"96":{"position":[[49,4]]},"113":{"position":[[673,4]]},"139":{"position":[[307,4]]},"212":{"position":[[2665,4]]},"308":{"position":[[275,5]]},"325":{"position":[[3041,4],[3068,4],[3114,4]]},"1750":{"position":[[8133,4]]}}}],["warn",{"_index":2581,"t":{"955":{"position":[[54,7]]}}}],["wasm",{"_index":1400,"t":{"137":{"position":[[90,4],[174,4]]},"147":{"position":[[6880,5],[6905,4],[6934,4],[6997,4],[7022,4],[7081,4],[7108,4],[7171,4]]},"169":{"position":[[481,4]]},"171":{"position":[[639,4]]},"245":{"position":[[566,5]]},"804":{"position":[[1422,4],[1482,4],[1546,4],[1598,4]]},"1767":{"position":[[196,4]]},"1775":{"position":[[2063,4],[2072,4],[2290,4],[2299,4]]}}}],["way",{"_index":88,"t":{"5":{"position":[[577,3]]},"23":{"position":[[256,4]]},"25":{"position":[[387,4],[1021,3],[1147,4]]},"27":{"position":[[373,4],[1007,3],[1133,4]]},"29":{"position":[[1008,3]]},"34":{"position":[[1760,3],[1914,3],[3308,3]]},"52":{"position":[[627,3]]},"60":{"position":[[26,3]]},"76":{"position":[[5467,3]]},"178":{"position":[[357,3]]},"238":{"position":[[84,3]]},"265":{"position":[[498,3]]},"308":{"position":[[202,3]]},"937":{"position":[[69,3]]},"1608":{"position":[[108,3]]},"1690":{"position":[[306,3]]},"1725":{"position":[[99,3]]},"1755":{"position":[[257,4]]}}}],["we'll",{"_index":1977,"t":{"308":{"position":[[1090,5]]}}}],["web",{"_index":1424,"t":{"145":{"position":[[167,3]]}}}],["web3",{"_index":3378,"t":{"1735":{"position":[[105,4]]}}}],["websit",{"_index":992,"t":{"76":{"position":[[6073,8],[6294,7]]},"1775":{"position":[[725,8]]}}}],["wei",{"_index":156,"t":{"7":{"position":[[199,3]]},"29":{"position":[[102,3],[775,3]]},"267":{"position":[[134,3]]}}}],["weight",{"_index":1270,"t":{"126":{"position":[[2605,6],[2737,6]]},"147":{"position":[[3808,6],[3845,6]]},"192":{"position":[[295,6]]},"194":{"position":[[295,6]]},"310":{"position":[[899,6],[955,6]]},"325":{"position":[[736,6],[2460,6]]},"812":{"position":[[542,6]]},"974":{"position":[[1671,6]]},"976":{"position":[[246,7],[299,7]]},"1712":{"position":[[683,6]]},"1716":{"position":[[246,7],[299,7]]},"1750":{"position":[[2236,6],[2368,6],[5939,6],[6074,6]]},"2259":{"position":[[338,6]]},"2285":{"position":[[360,6]]}}}],["weijiekoh/circomlib",{"_index":3127,"t":{"1688":{"position":[[141,19]]}}}],["welcom",{"_index":398,"t":{"13":{"position":[[49,7]]},"74":{"position":[[0,7]]}}}],["well",{"_index":197,"t":{"7":{"position":[[890,4]]},"58":{"position":[[810,4]]},"64":{"position":[[401,4]]},"76":{"position":[[5626,4],[6823,4]]},"88":{"position":[[170,4]]},"90":{"position":[[192,5]]},"100":{"position":[[110,4]]},"212":{"position":[[795,4],[1047,4]]},"214":{"position":[[754,4]]},"216":{"position":[[73,4]]},"261":{"position":[[201,4]]},"320":{"position":[[138,4]]},"962":{"position":[[122,4]]},"976":{"position":[[60,4]]},"1693":{"position":[[924,4]]},"1695":{"position":[[863,4]]},"1716":{"position":[[60,4]]},"2145":{"position":[[70,4]]}}}],["we’d",{"_index":1013,"t":{"76":{"position":[[7370,4]]}}}],["we’ll",{"_index":946,"t":{"76":{"position":[[4102,5],[4639,5]]}}}],["we’r",{"_index":905,"t":{"76":{"position":[[2829,5],[5356,5],[6442,5]]}}}],["we’v",{"_index":339,"t":{"11":{"position":[[289,5]]}}}],["whether",{"_index":584,"t":{"34":{"position":[[3323,7]]},"147":{"position":[[440,7],[638,7],[1700,7],[1817,7],[2524,7],[3192,7],[3865,7],[3967,7],[4247,7],[4613,7],[4918,7],[5197,7],[5373,7],[5819,7],[6691,7],[6886,7],[7282,7]]},"212":{"position":[[237,7]]},"220":{"position":[[66,7]]},"323":{"position":[[677,7]]},"788":{"position":[[456,7]]},"790":{"position":[[947,7],[999,7]]},"792":{"position":[[571,7]]},"794":{"position":[[1045,7]]},"796":{"position":[[150,7]]},"798":{"position":[[260,7]]},"800":{"position":[[152,7]]},"802":{"position":[[185,7]]},"804":{"position":[[1583,7],[1922,7]]},"806":{"position":[[367,7]]},"808":{"position":[[383,7]]},"810":{"position":[[631,7]]},"812":{"position":[[743,7]]},"814":{"position":[[954,7]]},"816":{"position":[[424,7]]},"818":{"position":[[233,7]]},"820":{"position":[[363,7]]},"822":{"position":[[642,7]]},"1006":{"position":[[208,7]]},"1070":{"position":[[357,7]]},"1094":{"position":[[69,7]]},"1157":{"position":[[104,7]]},"1217":{"position":[[24,7]]},"1233":{"position":[[725,7]]},"1413":{"position":[[745,7]]},"1417":{"position":[[707,7]]},"1419":{"position":[[297,7]]},"1421":{"position":[[977,7]]},"1652":{"position":[[222,7]]},"1654":{"position":[[218,7]]},"1656":{"position":[[222,7]]},"1668":{"position":[[487,7]]},"1674":{"position":[[420,7]]},"1680":{"position":[[424,7]]},"1723":{"position":[[1338,7],[1659,7]]},"1740":{"position":[[479,8]]},"1744":{"position":[[77,7],[177,7],[1217,7],[1738,7]]},"1746":{"position":[[572,7],[1905,7]]},"1929":{"position":[[40,7],[98,7]]},"2019":{"position":[[171,7]]},"2053":{"position":[[28,7],[145,7]]},"2075":{"position":[[40,7]]},"2077":{"position":[[28,7],[145,7]]},"2171":{"position":[[167,7]]},"2203":{"position":[[33,7],[159,7]]},"2329":{"position":[[171,7]]},"2355":{"position":[[27,7],[171,7]]},"2367":{"position":[[44,7],[186,7]]},"2399":{"position":[[151,7]]},"2441":{"position":[[33,7],[190,7]]},"2475":{"position":[[28,7],[166,7]]}}}],["whichev",{"_index":1698,"t":{"210":{"position":[[3989,9]]},"224":{"position":[[72,9]]}}}],["whitehat",{"_index":1911,"t":{"267":{"position":[[40,8]]},"1693":{"position":[[69,9]]}}}],["whitelist",{"_index":3346,"t":{"1725":{"position":[[106,9]]}}}],["whole",{"_index":1754,"t":{"212":{"position":[[2853,5]]},"325":{"position":[[882,5]]},"1375":{"position":[[158,5]]}}}],["whose",{"_index":733,"t":{"54":{"position":[[115,5]]},"128":{"position":[[4289,5]]},"1688":{"position":[[432,5]]},"1752":{"position":[[5555,5]]},"2247":{"position":[[47,5]]}}}],["window",{"_index":1827,"t":{"245":{"position":[[403,8],[438,7]]}}}],["wise",{"_index":1009,"t":{"76":{"position":[[7256,4]]}}}],["wish",{"_index":400,"t":{"13":{"position":[[108,4]]},"21":{"position":[[326,4]]},"34":{"position":[[80,4]]},"68":{"position":[[11,4]]},"222":{"position":[[116,4]]},"255":{"position":[[182,4]]},"257":{"position":[[7,4]]},"304":{"position":[[343,4]]},"1690":{"position":[[23,4]]},"1763":{"position":[[215,4]]},"1767":{"position":[[122,4]]},"1775":{"position":[[67,4]]}}}],["wit",{"_index":1512,"t":{"147":{"position":[[6279,7],[6370,7],[6467,7],[6978,7],[7062,7],[7152,7]]},"169":{"position":[[19,7]]},"171":{"position":[[103,7]]},"251":{"position":[[334,7]]},"257":{"position":[[556,7]]},"1723":{"position":[[124,9]]},"1748":{"position":[[487,9]]},"1767":{"position":[[201,9]]}}}],["withdraw",{"_index":769,"t":{"58":{"position":[[148,11]]}}}],["within",{"_index":334,"t":{"11":{"position":[[158,6]]},"54":{"position":[[236,6]]},"76":{"position":[[574,6],[3318,6],[4818,6],[5792,6],[6021,6],[7653,6],[7718,6],[7797,6]]},"88":{"position":[[11,6]]},"92":{"position":[[318,6]]},"126":{"position":[[193,6],[414,6]]},"149":{"position":[[71,6]]},"210":{"position":[[3848,6]]},"261":{"position":[[248,6]]},"263":{"position":[[145,6]]},"327":{"position":[[0,6],[550,6]]},"960":{"position":[[790,6]]},"1319":{"position":[[90,6]]},"1686":{"position":[[269,6]]},"1731":{"position":[[409,6],[460,6],[640,6],[711,6]]},"1750":{"position":[[261,6]]},"1755":{"position":[[11,6],[473,6],[591,6]]}}}],["without",{"_index":200,"t":{"7":{"position":[[940,7]]},"25":{"position":[[501,7]]},"27":{"position":[[487,7]]},"32":{"position":[[318,7]]},"36":{"position":[[101,7],[260,7]]},"54":{"position":[[657,7]]},"116":{"position":[[118,7]]},"333":{"position":[[49,7]]},"1080":{"position":[[75,7]]},"1748":{"position":[[522,7]]},"1769":{"position":[[218,7]]}}}],["witnessgen",{"_index":1510,"t":{"147":{"position":[[6223,10],[6318,10],[6411,10]]},"171":{"position":[[348,10],[407,10]]},"804":{"position":[[996,10],[1066,10],[1140,10]]}}}],["won't",{"_index":1855,"t":{"251":{"position":[[263,5]]}}}],["won’t",{"_index":699,"t":{"46":{"position":[[927,5]]}}}],["word",{"_index":133,"t":{"5":{"position":[[1509,6]]},"29":{"position":[[756,4],[765,4]]},"38":{"position":[[619,6]]},"126":{"position":[[532,6]]}}}],["work",{"_index":169,"t":{"7":{"position":[[335,4],[475,4],[780,4],[1255,4],[1328,7]]},"11":{"position":[[1760,5]]},"13":{"position":[[83,4],[145,5]]},"15":{"position":[[51,4]]},"19":{"position":[[7,7]]},"23":{"position":[[158,4]]},"34":{"position":[[3461,6]]},"68":{"position":[[190,4]]},"76":{"position":[[156,4],[6459,4]]},"102":{"position":[[101,7]]},"107":{"position":[[131,5]]},"113":{"position":[[426,4]]},"130":{"position":[[265,4]]},"147":{"position":[[4504,5]]},"232":{"position":[[290,4]]},"245":{"position":[[351,5],[430,4]]},"257":{"position":[[511,5]]},"267":{"position":[[236,4]]},"306":{"position":[[51,5],[399,4]]},"320":{"position":[[64,4]]},"323":{"position":[[540,5]]},"325":{"position":[[4889,4],[5079,7]]},"327":{"position":[[100,4],[648,4]]},"329":{"position":[[92,4],[330,4],[536,5],[716,4]]},"331":{"position":[[75,4]]},"333":{"position":[[30,5],[878,5]]},"1723":{"position":[[903,6]]},"1775":{"position":[[511,4]]}}}],["workflow",{"_index":513,"t":{"29":{"position":[[676,8]]},"32":{"position":[[12,9]]},"36":{"position":[[1399,8]]},"38":{"position":[[12,8]]},"76":{"position":[[4687,8]]},"102":{"position":[[53,8]]}}}],["workstream",{"_index":904,"t":{"76":{"position":[[2793,11],[2854,11],[3222,10],[3330,12],[4205,10],[4830,12],[5804,12],[6351,11],[7665,11],[7730,11],[7809,11]]}}}],["world",{"_index":882,"t":{"76":{"position":[[1589,6]]}}}],["worth",{"_index":186,"t":{"7":{"position":[[652,5]]},"76":{"position":[[6377,5]]}}}],["wp",{"_index":1509,"t":{"147":{"position":[[6209,3]]},"169":{"position":[[306,2]]},"337":{"position":[[418,2]]}}}],["wrap",{"_index":810,"t":{"62":{"position":[[445,7]]}}}],["write",{"_index":189,"t":{"7":{"position":[[691,8],[1263,7]]},"11":{"position":[[424,5]]},"118":{"position":[[83,5]]},"1697":{"position":[[581,8]]},"1748":{"position":[[179,7],[530,7]]},"1755":{"position":[[121,5],[206,5]]}}}],["written",{"_index":145,"t":{"7":{"position":[[96,7]]},"118":{"position":[[20,7]]},"167":{"position":[[416,7]]},"314":{"position":[[254,7]]},"316":{"position":[[320,7]]},"325":{"position":[[4923,7]]},"327":{"position":[[134,7],[682,7]]},"329":{"position":[[126,7]]},"331":{"position":[[102,7]]},"1748":{"position":[[34,7],[638,7]]},"1775":{"position":[[38,7],[3729,7]]}}}],["ws",{"_index":1515,"t":{"147":{"position":[[6397,3]]}}}],["wsl",{"_index":1829,"t":{"245":{"position":[[466,6]]}}}],["wt",{"_index":1513,"t":{"147":{"position":[[6306,3]]},"169":{"position":[[350,2]]},"337":{"position":[[464,2]]}}}],["ww",{"_index":3767,"t":{"1832":{"position":[[3,2]]},"1842":{"position":[[2,3]]}}}],["x",{"_index":596,"t":{"36":{"position":[[181,1],[226,1],[550,1]]},"147":{"position":[[1549,2],[2452,2],[3451,2],[4007,2],[4287,2],[4734,2],[5044,2],[5616,2],[5959,2],[7322,2]]},"169":{"position":[[115,1]]},"337":{"position":[[247,1]]},"584":{"position":[[0,1]]},"587":{"position":[[2,2]]},"594":{"position":[[0,1]]},"597":{"position":[[2,2]]},"974":{"position":[[1295,1],[1393,1]]},"978":{"position":[[391,1],[2303,1]]},"1012":{"position":[[25,2]]},"1014":{"position":[[28,2]]},"1604":{"position":[[24,2]]},"1708":{"position":[[1166,1]]},"1712":{"position":[[307,1],[405,1]]},"1718":{"position":[[400,1],[2343,1]]},"2038":{"position":[[0,1]]},"2043":{"position":[[96,1],[109,1]]},"2046":{"position":[[2,2]]},"2051":{"position":[[146,1]]},"2060":{"position":[[0,1]]},"2065":{"position":[[96,1],[111,1]]},"2068":{"position":[[2,2]]},"2073":{"position":[[146,1]]},"2075":{"position":[[106,1],[121,1],[139,3]]},"2331":{"position":[[262,3]]}}}],["x5x^5x5",{"_index":3207,"t":{"1695":{"position":[[358,7]]}}}],["x86",{"_index":3403,"t":{"1748":{"position":[[729,3]]}}}],["x_2",{"_index":2613,"t":{"966":{"position":[[194,4]]},"1695":{"position":[[194,4]]}}}],["x_n])y=poseidonn​([x1​,x2​,...,xn",{"_index":2614,"t":{"966":{"position":[[204,36]]},"1695":{"position":[[204,36]]}}}],["xi,y∈fpx_i",{"_index":3205,"t":{"1695":{"position":[[247,11]]}}}],["xxx",{"_index":3298,"t":{"1708":{"position":[[1337,4],[1351,3]]}}}],["y",{"_index":597,"t":{"36":{"position":[[185,1],[232,1],[556,2]]},"584":{"position":[[2,1]]},"589":{"position":[[2,2]]},"594":{"position":[[2,1]]},"599":{"position":[[2,2]]},"974":{"position":[[1438,1],[1536,1]]},"978":{"position":[[436,1],[2331,1]]},"1012":{"position":[[36,2]]},"1014":{"position":[[42,2]]},"1604":{"position":[[35,2]]},"1695":{"position":[[259,1]]},"1708":{"position":[[353,1],[1133,1]]},"1712":{"position":[[450,1],[548,1]]},"1718":{"position":[[445,1],[2371,1]]},"2038":{"position":[[2,1]]},"2043":{"position":[[17,3],[122,1],[135,1]]},"2048":{"position":[[2,2]]},"2051":{"position":[[155,1]]},"2060":{"position":[[2,1]]},"2065":{"position":[[17,3],[124,1],[139,1]]},"2070":{"position":[[2,2]]},"2073":{"position":[[157,1]]},"2075":{"position":[[145,3]]},"2331":{"position":[[266,2]]}}}],["y=poseidonn([x1,x2,...,xn])i",{"_index":2611,"t":{"966":{"position":[[146,28]]},"1695":{"position":[[137,28]]}}}],["y^2",{"_index":3295,"t":{"1708":{"position":[[1293,3]]}}}],["youtub",{"_index":491,"t":{"29":{"position":[[163,7]]}}}],["yyi",{"_index":3203,"t":{"1695":{"position":[[132,4]]},"1708":{"position":[[910,3],[1051,3],[1086,3],[1109,3]]}}}],["zcash",{"_index":506,"t":{"29":{"position":[[526,5]]}}}],["zero",{"_index":59,"t":{"5":{"position":[[37,4],[1204,4]]},"7":{"position":[[1141,4]]},"54":{"position":[[677,4]]},"62":{"position":[[650,4]]},"88":{"position":[[207,5]]},"90":{"position":[[240,4],[299,4],[611,4]]},"116":{"position":[[24,4]]},"212":{"position":[[3062,5]]},"265":{"position":[[1087,4]]},"314":{"position":[[228,4]]},"1022":{"position":[[142,5]]},"1499":{"position":[[67,5],[85,4],[268,4],[347,4],[477,4],[525,4],[542,4]]},"1505":{"position":[[73,5]]},"1507":{"position":[[71,5],[238,6]]},"1541":{"position":[[64,5],[82,4],[195,4],[242,4],[259,4]]},"1547":{"position":[[64,5],[82,4],[195,4]]},"1563":{"position":[[64,5],[82,4],[195,4],[242,4],[259,4]]},"1569":{"position":[[64,5],[82,4],[195,4],[242,4],[259,4]]},"1575":{"position":[[64,5],[82,4],[195,4],[242,4],[259,4]]},"1731":{"position":[[802,5]]},"1962":{"position":[[180,5]]},"2000":{"position":[[2,6]]},"2011":{"position":[[62,5]]},"2084":{"position":[[128,5]]},"2118":{"position":[[2,6]]}}}],["zeroth",{"_index":3871,"t":{"1939":{"position":[[382,6]]}}}],["zerovalu",{"_index":3905,"t":{"1962":{"position":[[170,9]]},"1967":{"position":[[37,11],[216,9]]},"1998":{"position":[[2,10]]},"2084":{"position":[[118,9]]},"2089":{"position":[[33,10],[126,9]]},"2116":{"position":[[2,10]]}}}],["zg0k8yptatwb/input.json",{"_index":2115,"t":{"337":{"position":[[1052,23]]}}}],["zg0k8yptatwb/output.wtn",{"_index":2116,"t":{"337":{"position":[[1090,24]]}}}],["zk",{"_index":128,"t":{"5":{"position":[[1431,2]]},"11":{"position":[[868,2]]},"13":{"position":[[223,2]]},"25":{"position":[[650,2]]},"27":{"position":[[636,2]]},"29":{"position":[[373,2],[483,2],[514,2],[567,2]]},"32":{"position":[[260,2]]},"34":{"position":[[3499,2],[3670,2]]},"36":{"position":[[13,2],[321,2],[1045,2]]},"44":{"position":[[740,2],[951,2],[1137,2]]},"46":{"position":[[131,2],[376,2]]},"54":{"position":[[247,2]]},"82":{"position":[[84,2]]},"94":{"position":[[139,2]]},"113":{"position":[[20,2]]},"116":{"position":[[0,2],[205,2]]},"118":{"position":[[89,2],[202,2]]},"120":{"position":[[54,2]]},"141":{"position":[[25,2]]},"149":{"position":[[78,2]]},"208":{"position":[[70,2]]},"216":{"position":[[52,2]]},"228":{"position":[[67,2]]},"236":{"position":[[141,2],[398,2]]},"255":{"position":[[18,2]]},"265":{"position":[[1312,2]]},"306":{"position":[[305,2]]},"314":{"position":[[18,2]]},"316":{"position":[[272,2]]},"769":{"position":[[55,2]]},"966":{"position":[[78,2]]},"974":{"position":[[429,2]]},"1002":{"position":[[114,2]]},"1006":{"position":[[113,2]]},"1070":{"position":[[130,2]]},"1231":{"position":[[360,2]]},"1233":{"position":[[660,2]]},"1393":{"position":[[144,2]]},"1695":{"position":[[763,2]]},"1704":{"position":[[413,2]]},"1733":{"position":[[1811,2],[2134,2]]},"1748":{"position":[[4,2]]},"1763":{"position":[[18,2]]},"1775":{"position":[[28,2]]},"1937":{"position":[[312,2]]},"2447":{"position":[[60,2]]}}}],["zkey",{"_index":368,"t":{"11":{"position":[[1020,4]]},"60":{"position":[[816,5]]},"139":{"position":[[15,4],[592,5],[886,4],[934,4]]},"147":{"position":[[1119,4],[1172,4],[1200,4],[1243,4],[1268,4],[1304,4],[2980,4],[3033,4],[3061,4],[3104,4],[3246,4],[3282,4],[6508,4],[6551,4],[6569,4],[6609,4],[6629,4],[6673,4]]},"153":{"position":[[30,5]]},"171":{"position":[[461,4],[520,4],[836,4],[896,4]]},"184":{"position":[[227,4],[293,4]]},"202":{"position":[[185,4],[245,4]]},"251":{"position":[[157,4]]},"255":{"position":[[120,5],[214,5],[462,5]]},"257":{"position":[[24,5],[218,4],[300,4],[368,5],[434,4]]},"337":{"position":[[163,6],[1491,4]]},"790":{"position":[[750,4],[819,4]]},"804":{"position":[[631,4],[694,4],[867,4]]},"814":{"position":[[730,4],[799,4],[930,4]]},"1748":{"position":[[565,4],[604,4]]},"1761":{"position":[[65,5],[137,5]]},"1763":{"position":[[153,5],[247,5],[387,5],[837,7]]},"1765":{"position":[[49,4]]},"1771":{"position":[[160,5]]},"1773":{"position":[[52,5],[959,6],[3836,6]]},"1775":{"position":[[651,5],[1087,4],[1113,4],[1343,4],[1369,4],[1652,4],[1898,4]]}}}],["zkeys.config.yml",{"_index":1408,"t":{"139":{"position":[[39,18],[241,16],[915,18],[1026,17]]},"257":{"position":[[82,17],[242,16],[329,16],[459,16]]},"337":{"position":[[1515,16]]},"1765":{"position":[[73,18]]}}}],["zkeys/processmessages_10",{"_index":1566,"t":{"153":{"position":[[433,26]]},"169":{"position":[[309,26],[390,26],[691,26],[854,26]]},"171":{"position":[[359,26],[466,25],[841,26],[1089,26]]},"184":{"position":[[232,26]]},"202":{"position":[[190,26],[407,26]]},"337":{"position":[[421,26],[506,26],[1000,26]]}}}],["zkeys/processmessages_7",{"_index":3522,"t":{"1773":{"position":[[3843,23],[3882,23],[3924,23],[4278,23],[4318,23],[4353,23],[4393,23],[4439,23],[4490,23],[4536,23],[4606,23],[4655,23],[4701,23],[4749,23],[4821,23],[4865,23],[4915,23],[4966,23],[5012,23],[5060,23],[5108,23],[5147,23],[5207,23],[5279,23],[5350,23]]}}}],["zkeys/tallyvotes_10",{"_index":1568,"t":{"153":{"position":[[483,21]]},"169":{"position":[[353,21],[441,21],[742,21],[786,21]]},"171":{"position":[[418,21],[525,21],[901,21],[1021,21]]},"184":{"position":[[298,21]]},"202":{"position":[[250,21],[339,21]]},"337":{"position":[[467,21],[559,21]]}}}],["zkeys/tallyvotes_7",{"_index":3526,"t":{"1773":{"position":[[3963,18],[3995,18],[4053,18],[4106,18],[4163,18],[4214,18],[4246,18],[5408,18],[5441,18],[5480,18],[5524,18],[5582,18],[5621,18],[5663,18],[5702,18],[5743,18],[5780,18],[5823,18],[5867,18],[5906,18],[5962,18],[6003,18],[6044,18],[6077,18],[6112,18]]}}}],["zkeys_10",{"_index":3495,"t":{"1773":{"position":[[790,8]]}}}],["zkeys_4",{"_index":3505,"t":{"1773":{"position":[[1548,7]]}}}],["zkeys_6",{"_index":3516,"t":{"1773":{"position":[[3036,7]]}}}],["zkeys_7",{"_index":3511,"t":{"1773":{"position":[[2294,7]]}}}],["zkopru",{"_index":3124,"t":{"1686":{"position":[[409,6]]}}}],["zkp",{"_index":437,"t":{"21":{"position":[[13,3]]}}}],["zksnark",{"_index":508,"t":{"29":{"position":[[600,8]]},"1729":{"position":[[22,7]]}}}],["zoom",{"_index":1815,"t":{"240":{"position":[[0,7]]}}}],["zp",{"_index":1517,"t":{"147":{"position":[[6494,3]]},"169":{"position":[[387,2],[688,2]]},"337":{"position":[[503,2]]}}}],["zs",{"_index":1521,"t":{"147":{"position":[[6615,3]]}}}],["zt",{"_index":1519,"t":{"147":{"position":[[6557,3]]},"169":{"position":[[438,2],[739,2]]},"337":{"position":[[556,2]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file +[{"documents":[{"i":1,"t":"Class: PubKey","u":"/docs/typedoc/classes/domainobjs_ts.PubKey","b":["index","classes"]},{"i":39,"t":"Class: PrivKey","u":"/docs/typedoc/classes/domainobjs_ts.PrivKey","b":["index","classes"]},{"i":69,"t":"Class: StateLeaf","u":"/docs/typedoc/classes/domainobjs_ts.StateLeaf","b":["index","classes"]},{"i":115,"t":"Class: TCommand","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","b":["index","classes"]},{"i":147,"t":"Class: VerifyingKey","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","b":["index","classes"]},{"i":183,"t":"Interface: DeployedContracts","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","b":["index","interfaces"]},{"i":211,"t":"Interface: PollContracts","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","b":["index","interfaces"]},{"i":225,"t":"Interface: BatchSizes","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","b":["index","interfaces"]},{"i":237,"t":"Interface: TallyData","u":"/docs/typedoc/interfaces/cli_ts.TallyData","b":["index","interfaces"]},{"i":255,"t":"Interface: IProcessMessagesCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","b":["index","interfaces"]},{"i":303,"t":"Interface: IJsonMaciState","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","b":["index","interfaces"]},{"i":321,"t":"Interface: IStateLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","b":["index","interfaces"]},{"i":333,"t":"Interface: IStateLeafContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","b":["index","interfaces"]},{"i":345,"t":"Interface: IVkContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","b":["index","interfaces"]},{"i":361,"t":"Interface: IVkObjectParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","b":["index","interfaces"]},{"i":385,"t":"Interface: Proof","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","b":["index","interfaces"]},{"i":397,"t":"Interface: ISubsidyCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","b":["index","interfaces"]},{"i":437,"t":"Interface: ITallyCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","b":["index","interfaces"]},{"i":483,"t":"Interface: MaxValues","u":"/docs/typedoc/interfaces/core_ts.MaxValues","b":["index","interfaces"]},{"i":493,"t":"Interface: TreeDepths","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","b":["index","interfaces"]},{"i":507,"t":"Interface: PoseidonFuncs","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","b":["index","interfaces"]},{"i":523,"t":"Interface: Queue","u":"/docs/typedoc/interfaces/crypto_ts.Queue","b":["index","interfaces"]},{"i":533,"t":"Interface: Keypair","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","b":["index","interfaces"]},{"i":543,"t":"Interface: Signature","u":"/docs/typedoc/interfaces/crypto_ts.Signature","b":["index","interfaces"]},{"i":555,"t":"Interface: ICommand","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","b":["index","interfaces"]},{"i":571,"t":"Interface: IG1ContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","b":["index","interfaces"]},{"i":581,"t":"Interface: IJsonBallot","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","b":["index","interfaces"]},{"i":593,"t":"Interface: IG2ContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","b":["index","interfaces"]},{"i":603,"t":"Interface: IJsonPCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","b":["index","interfaces"]},{"i":627,"t":"Interface: IJsonStateLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","b":["index","interfaces"]},{"i":639,"t":"Interface: IJsonTCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","b":["index","interfaces"]},{"i":655,"t":"Interface: IMessageContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","b":["index","interfaces"]},{"i":665,"t":"","u":"/blog/archive","b":["Blog"]},{"i":666,"t":"A Technical Introduction to MACI 1.0","u":"/blog/maci-1-0-technical-introduction","b":["Blog"]},{"i":691,"t":"MACI 1.0 Release","u":"/blog/maci-1-0-release","b":["Blog"]},{"i":713,"t":"Maci v1.1.1 Release","u":"/blog/maci-v1-1-1-release","b":["Blog"]},{"i":737,"t":"Interface: IJsonCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","b":["index","interfaces"]},{"i":747,"t":"Interface: IJsonKeyPair","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","b":["index","interfaces"]},{"i":757,"t":"Testing","u":"/docs/testing-in-details","b":[]},{"i":772,"t":"Troubleshooting","u":"/docs/troubleshooting","b":[]},{"i":776,"t":"Testing","u":"/docs/testing","b":[]},{"i":797,"t":"Trusted setup","u":"/docs/trusted-setup","b":[]},{"i":799,"t":"Minimal Anti Collusion Infrastructure (MACI)","u":"/docs/typedoc/","b":["index"]},{"i":803,"t":"Class: MaciState","u":"/docs/typedoc/classes/core_ts.MaciState","b":["index","classes"]},{"i":847,"t":"Class: G1Point","u":"/docs/typedoc/classes/crypto_ts.G1Point","b":["index","classes"]},{"i":869,"t":"Class: AccQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","b":["index","classes"]},{"i":945,"t":"Class: G2Point","u":"/docs/typedoc/classes/crypto_ts.G2Point","b":["index","classes"]},{"i":969,"t":"Class: IncrementalQuinTree","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","b":["index","classes"]},{"i":1035,"t":"Class: Poll","u":"/docs/typedoc/classes/core_ts.Poll","b":["index","classes"]},{"i":1167,"t":"Class: Ballot","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","b":["index","classes"]},{"i":1205,"t":"Class: Keypair","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","b":["index","classes"]},{"i":1233,"t":"Class: Message","u":"/docs/typedoc/classes/domainobjs_ts.Message","b":["index","classes"]},{"i":1269,"t":"Class: PCommand","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","b":["index","classes"]},{"i":1323,"t":"Welcome to MACI","u":"/blog/welcome","b":["Blog"]},{"i":1325,"t":"MACI Product Roadmap","u":"/roadmap","b":[]},{"i":1327,"t":"Typedoc | MACI","u":"/typedoc","b":[]},{"i":1328,"t":"Security Audits","u":"/docs/audit","b":[]},{"i":1351,"t":"Continuous Integration (CI) Pipeline","u":"/docs/ci-pipeline","b":[]},{"i":1362,"t":"Circuits","u":"/docs/circuits","b":[]},{"i":1394,"t":"Command-line interface","u":"/docs/cli","b":[]},{"i":1457,"t":"Smart Contracts","u":"/docs/contracts","b":[]},{"i":1485,"t":"Coordinator local processing","u":"/docs/coordinator-processing","b":[]},{"i":1493,"t":"Installation","u":"/docs/installation","b":[]},{"i":1508,"t":"Integrating MACI","u":"/docs/integrating","b":[]},{"i":1514,"t":"Introduction","u":"/docs/introduction","b":[]},{"i":1518,"t":"MACI Key Change","u":"/docs/key-change","b":[]},{"i":1526,"t":"MACI Overview","u":"/docs/overview","b":[]},{"i":1534,"t":"MACI Primitives","u":"/docs/primitives","b":[]},{"i":1557,"t":"MACI v1.0 Specification","u":"/docs/spec","b":[]},{"i":1625,"t":"HasherBenchmarks","u":"/docs/solidity-docs/benchmarks/HasherBenchmarks","b":["solidity-docs","benchmarks"]},{"i":1631,"t":"Hasher","u":"/docs/solidity-docs/crypto/Hasher","b":["solidity-docs","crypto"]},{"i":1645,"t":"IVerifier","u":"/docs/solidity-docs/crypto/IVerifier","b":["solidity-docs","crypto"]},{"i":1649,"t":"MockVerifier","u":"/docs/solidity-docs/crypto/MockVerifier","b":["solidity-docs","crypto"]},{"i":1653,"t":"Pairing","u":"/docs/solidity-docs/crypto/Pairing","b":["solidity-docs","crypto"]},{"i":1675,"t":"PoseidonT3","u":"/docs/solidity-docs/crypto/PoseidonT3","b":["solidity-docs","crypto"]},{"i":1679,"t":"PoseidonT4","u":"/docs/solidity-docs/crypto/PoseidonT4","b":["solidity-docs","crypto"]},{"i":1683,"t":"PoseidonT5","u":"/docs/solidity-docs/crypto/PoseidonT5","b":["solidity-docs","crypto"]},{"i":1687,"t":"PoseidonT6","u":"/docs/solidity-docs/crypto/PoseidonT6","b":["solidity-docs","crypto"]},{"i":1691,"t":"SnarkCommon","u":"/docs/solidity-docs/crypto/SnarkCommon","b":["solidity-docs","crypto"]},{"i":1695,"t":"SnarkConstants","u":"/docs/solidity-docs/crypto/SnarkConstants","b":["solidity-docs","crypto"]},{"i":1705,"t":"Verifier","u":"/docs/solidity-docs/crypto/Verifier","b":["solidity-docs","crypto"]},{"i":1719,"t":"FreeForAllGatekeeper","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","b":["solidity-docs","gatekeepers"]},{"i":1727,"t":"SignUpGatekeeper","u":"/docs/solidity-docs/gatekeepers/SignUpGatekeeper","b":["solidity-docs","gatekeepers"]},{"i":1733,"t":"SignUpTokenGatekeeper","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","b":["solidity-docs","gatekeepers"]},{"i":1753,"t":"InitialVoiceCreditProxy","u":"/docs/solidity-docs/initialVoiceCreditProxy/","b":["solidity-docs","InitialVoiceCreditProxy"]},{"i":1757,"t":"ConstantInitialVoiceCreditProxy","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","b":["solidity-docs","InitialVoiceCreditProxy"]},{"i":1765,"t":"IMACI","u":"/docs/solidity-docs/interfaces/IMACI","b":["solidity-docs","interfaces"]},{"i":1778,"t":"MACI","u":"/docs/solidity-docs/MACI","b":["solidity-docs"]},{"i":1842,"t":"MessageProcessor","u":"/docs/solidity-docs/MessageProcessor","b":["solidity-docs"]},{"i":1886,"t":"Poll","u":"/docs/solidity-docs/Poll","b":["solidity-docs"]},{"i":1964,"t":"PollFactory","u":"/docs/solidity-docs/PollFactory","b":["solidity-docs"]},{"i":1974,"t":"SignUpToken","u":"/docs/solidity-docs/SignUpToken","b":["solidity-docs"]},{"i":1980,"t":"Subsidy","u":"/docs/solidity-docs/Subsidy","b":["solidity-docs"]},{"i":2024,"t":"Tally","u":"/docs/solidity-docs/Tally","b":["solidity-docs"]},{"i":2068,"t":"TopupCredit","u":"/docs/solidity-docs/TopupCredit","b":["solidity-docs"]},{"i":2082,"t":"AccQueue","u":"/docs/solidity-docs/trees/AccQueue","b":["solidity-docs","trees"]},{"i":2172,"t":"AccQueueBinary","u":"/docs/solidity-docs/trees/AccQueueBinary","b":["solidity-docs","trees"]},{"i":2182,"t":"AccQueueBinary0","u":"/docs/solidity-docs/trees/AccQueueBinary0","b":["solidity-docs","trees"]},{"i":2188,"t":"AccQueueBinaryMaci","u":"/docs/solidity-docs/trees/AccQueueBinaryMaci","b":["solidity-docs","trees"]},{"i":2194,"t":"AccQueueQuinary","u":"/docs/solidity-docs/trees/AccQueueQuinary","b":["solidity-docs","trees"]},{"i":2204,"t":"AccQueueQuinary0","u":"/docs/solidity-docs/trees/AccQueueQuinary0","b":["solidity-docs","trees"]},{"i":2210,"t":"AccQueueQuinaryBlankSl","u":"/docs/solidity-docs/trees/AccQueueQuinaryBlankSl","b":["solidity-docs","trees"]},{"i":2216,"t":"AccQueueQuinaryMaci","u":"/docs/solidity-docs/trees/AccQueueQuinaryMaci","b":["solidity-docs","trees"]},{"i":2222,"t":"EmptyBallotRoots","u":"/docs/solidity-docs/trees/EmptyBallotRoots","b":["solidity-docs","trees"]},{"i":2227,"t":"Utilities","u":"/docs/solidity-docs/utilities/","b":["solidity-docs","Utilities"]},{"i":2237,"t":"CommonUtilities","u":"/docs/solidity-docs/utilities/CommonUtilities","b":["solidity-docs","Utilities"]},{"i":2243,"t":"DomainObjs","u":"/docs/solidity-docs/utilities/DomainObjs","b":["solidity-docs","Utilities"]},{"i":2253,"t":"Params","u":"/docs/solidity-docs/utilities/Params","b":["solidity-docs","Utilities"]},{"i":2263,"t":"VkRegistry","u":"/docs/solidity-docs/VkRegistry","b":["solidity-docs"]},{"i":2331,"t":"Interface: VoteOptionTreeLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf","b":["index","interfaces"]},{"i":2339,"t":"Module: cli/ts","u":"/docs/typedoc/modules/cli_ts","b":["index","modules"]},{"i":2382,"t":"Module: core/ts","u":"/docs/typedoc/modules/core_ts","b":["index","modules"]},{"i":2417,"t":"Module: crypto/ts","u":"/docs/typedoc/modules/crypto_ts","b":["index","modules"]},{"i":2510,"t":"Module: domainobjs/ts","u":"/docs/typedoc/modules/domainobjs_ts","b":["index","modules"]},{"i":2534,"t":"MACI versioning and release process","u":"/docs/versioning","b":[]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,1.892,1,4.088]],["t/39",[0,1.892,2,4.088]],["t/69",[0,1.892,3,4.088]],["t/115",[0,1.892,4,4.088]],["t/147",[0,1.892,5,4.088]],["t/183",[6,1.226,7,4.088]],["t/211",[6,1.226,8,4.088]],["t/225",[6,1.226,9,4.088]],["t/237",[6,1.226,10,4.088]],["t/255",[6,1.226,11,4.088]],["t/303",[6,1.226,12,4.088]],["t/321",[6,1.226,13,4.088]],["t/333",[6,1.226,14,4.088]],["t/345",[6,1.226,15,4.088]],["t/361",[6,1.226,16,4.088]],["t/385",[6,1.226,17,4.088]],["t/397",[6,1.226,18,4.088]],["t/437",[6,1.226,19,4.088]],["t/483",[6,1.226,20,4.088]],["t/493",[6,1.226,21,4.088]],["t/507",[6,1.226,22,4.088]],["t/523",[6,1.226,23,4.088]],["t/533",[6,1.226,24,3.607]],["t/543",[6,1.226,25,4.088]],["t/555",[6,1.226,26,4.088]],["t/571",[6,1.226,27,4.088]],["t/581",[6,1.226,28,4.088]],["t/593",[6,1.226,29,4.088]],["t/603",[6,1.226,30,4.088]],["t/627",[6,1.226,31,4.088]],["t/639",[6,1.226,32,4.088]],["t/655",[6,1.226,33,4.088]],["t/665",[]],["t/666",[34,2.83,35,2.497,36,1.353,37,2.497]],["t/691",[36,1.599,37,2.951,38,2.693]],["t/713",[36,1.599,38,2.693,39,3.344]],["t/737",[6,1.226,40,4.088]],["t/747",[6,1.226,41,4.088]],["t/757",[42,4.638]],["t/772",[43,5.256]],["t/776",[42,4.638]],["t/797",[44,4.088,45,4.088]],["t/799",[36,1.173,46,2.452,47,2.452,48,2.452,49,2.452]],["t/803",[0,1.892,50,4.088]],["t/847",[0,1.892,51,4.088]],["t/869",[0,1.892,52,3.607]],["t/945",[0,1.892,53,4.088]],["t/969",[0,1.892,54,4.088]],["t/1035",[0,1.892,55,3.607]],["t/1167",[0,1.892,56,4.088]],["t/1205",[0,1.892,24,3.607]],["t/1233",[0,1.892,57,4.088]],["t/1269",[0,1.892,58,4.088]],["t/1323",[36,1.955,59,4.088]],["t/1325",[36,1.599,60,3.344,61,3.344]],["t/1327",[36,1.599,62,3.344,63,3.344]],["t/1328",[64,4.088,65,4.088]],["t/1351",[66,2.83,67,2.497,68,2.83,69,2.83]],["t/1362",[70,5.256]],["t/1394",[6,1.003,71,3.344,72,3.344]],["t/1457",[73,4.088,74,4.088]],["t/1485",[75,3.344,76,3.344,77,2.951]],["t/1493",[78,5.256]],["t/1508",[36,1.955,67,3.607]],["t/1514",[35,4.638]],["t/1518",[36,1.599,79,3.344,80,3.344]],["t/1526",[36,1.955,81,4.088]],["t/1534",[36,1.955,82,4.088]],["t/1557",[36,1.599,83,3.344,84,3.344]],["t/1625",[85,5.256]],["t/1631",[86,5.256]],["t/1645",[87,5.256]],["t/1649",[88,5.256]],["t/1653",[89,5.256]],["t/1675",[90,5.256]],["t/1679",[91,5.256]],["t/1683",[92,5.256]],["t/1687",[93,5.256]],["t/1691",[94,5.256]],["t/1695",[95,5.256]],["t/1705",[96,5.256]],["t/1719",[97,5.256]],["t/1727",[98,5.256]],["t/1733",[99,5.256]],["t/1753",[100,5.256]],["t/1757",[101,5.256]],["t/1765",[102,5.256]],["t/1778",[36,2.513]],["t/1842",[103,5.256]],["t/1886",[55,4.638]],["t/1964",[104,5.256]],["t/1974",[105,5.256]],["t/1980",[106,5.256]],["t/2024",[107,5.256]],["t/2068",[108,5.256]],["t/2082",[52,4.638]],["t/2172",[109,5.256]],["t/2182",[110,5.256]],["t/2188",[111,5.256]],["t/2194",[112,5.256]],["t/2204",[113,5.256]],["t/2210",[114,5.256]],["t/2216",[115,5.256]],["t/2222",[116,5.256]],["t/2227",[117,5.256]],["t/2237",[118,5.256]],["t/2243",[119,5.256]],["t/2253",[120,5.256]],["t/2263",[121,5.256]],["t/2331",[6,1.226,122,4.088]],["t/2339",[123,3.055,124,4.088]],["t/2382",[123,3.055,125,4.088]],["t/2417",[123,3.055,126,4.088]],["t/2510",[123,3.055,127,4.088]],["t/2534",[36,1.353,38,2.278,77,2.497,128,2.83]]],"invertedIndex":[["",{"_index":63,"t":{"1327":{"position":[[8,1]]}}}],["1.0",{"_index":37,"t":{"666":{"position":[[33,3]]},"691":{"position":[[5,3]]}}}],["accqueu",{"_index":52,"t":{"869":{"position":[[7,8]]},"2082":{"position":[[0,8]]}}}],["accqueuebinari",{"_index":109,"t":{"2172":{"position":[[0,14]]}}}],["accqueuebinary0",{"_index":110,"t":{"2182":{"position":[[0,15]]}}}],["accqueuebinarymaci",{"_index":111,"t":{"2188":{"position":[[0,18]]}}}],["accqueuequinari",{"_index":112,"t":{"2194":{"position":[[0,15]]}}}],["accqueuequinary0",{"_index":113,"t":{"2204":{"position":[[0,16]]}}}],["accqueuequinaryblanksl",{"_index":114,"t":{"2210":{"position":[[0,22]]}}}],["accqueuequinarymaci",{"_index":115,"t":{"2216":{"position":[[0,19]]}}}],["anti",{"_index":47,"t":{"799":{"position":[[8,4]]}}}],["audit",{"_index":65,"t":{"1328":{"position":[[9,6]]}}}],["ballot",{"_index":56,"t":{"1167":{"position":[[7,6]]}}}],["batchsiz",{"_index":9,"t":{"225":{"position":[[11,10]]}}}],["chang",{"_index":80,"t":{"1518":{"position":[[9,6]]}}}],["ci",{"_index":68,"t":{"1351":{"position":[[23,4]]}}}],["circuit",{"_index":70,"t":{"1362":{"position":[[0,8]]}}}],["class",{"_index":0,"t":{"1":{"position":[[0,6]]},"39":{"position":[[0,6]]},"69":{"position":[[0,6]]},"115":{"position":[[0,6]]},"147":{"position":[[0,6]]},"803":{"position":[[0,6]]},"847":{"position":[[0,6]]},"869":{"position":[[0,6]]},"945":{"position":[[0,6]]},"969":{"position":[[0,6]]},"1035":{"position":[[0,6]]},"1167":{"position":[[0,6]]},"1205":{"position":[[0,6]]},"1233":{"position":[[0,6]]},"1269":{"position":[[0,6]]}}}],["cli/t",{"_index":124,"t":{"2339":{"position":[[8,6]]}}}],["collus",{"_index":48,"t":{"799":{"position":[[13,9]]}}}],["command",{"_index":71,"t":{"1394":{"position":[[0,7]]}}}],["commonutil",{"_index":118,"t":{"2237":{"position":[[0,15]]}}}],["constantinitialvoicecreditproxi",{"_index":101,"t":{"1757":{"position":[[0,31]]}}}],["continu",{"_index":66,"t":{"1351":{"position":[[0,10]]}}}],["contract",{"_index":74,"t":{"1457":{"position":[[6,9]]}}}],["coordin",{"_index":75,"t":{"1485":{"position":[[0,11]]}}}],["core/t",{"_index":125,"t":{"2382":{"position":[[8,7]]}}}],["crypto/t",{"_index":126,"t":{"2417":{"position":[[8,9]]}}}],["deployedcontract",{"_index":7,"t":{"183":{"position":[[11,17]]}}}],["domainobj",{"_index":119,"t":{"2243":{"position":[[0,10]]}}}],["domainobjs/t",{"_index":127,"t":{"2510":{"position":[[8,13]]}}}],["emptyballotroot",{"_index":116,"t":{"2222":{"position":[[0,16]]}}}],["freeforallgatekeep",{"_index":97,"t":{"1719":{"position":[[0,20]]}}}],["g1point",{"_index":51,"t":{"847":{"position":[[7,7]]}}}],["g2point",{"_index":53,"t":{"945":{"position":[[7,7]]}}}],["hasher",{"_index":86,"t":{"1631":{"position":[[0,6]]}}}],["hasherbenchmark",{"_index":85,"t":{"1625":{"position":[[0,16]]}}}],["icommand",{"_index":26,"t":{"555":{"position":[[11,8]]}}}],["ig1contractparam",{"_index":27,"t":{"571":{"position":[[11,17]]}}}],["ig2contractparam",{"_index":29,"t":{"593":{"position":[[11,17]]}}}],["ijsonballot",{"_index":28,"t":{"581":{"position":[[11,11]]}}}],["ijsoncommand",{"_index":40,"t":{"737":{"position":[[11,12]]}}}],["ijsonkeypair",{"_index":41,"t":{"747":{"position":[[11,12]]}}}],["ijsonmacist",{"_index":12,"t":{"303":{"position":[[11,14]]}}}],["ijsonpcommand",{"_index":30,"t":{"603":{"position":[[11,13]]}}}],["ijsonstateleaf",{"_index":31,"t":{"627":{"position":[[11,14]]}}}],["ijsontcommand",{"_index":32,"t":{"639":{"position":[[11,13]]}}}],["imaci",{"_index":102,"t":{"1765":{"position":[[0,5]]}}}],["imessagecontractparam",{"_index":33,"t":{"655":{"position":[[11,22]]}}}],["incrementalquintre",{"_index":54,"t":{"969":{"position":[[7,19]]}}}],["infrastructur",{"_index":49,"t":{"799":{"position":[[23,14]]}}}],["initialvoicecreditproxi",{"_index":100,"t":{"1753":{"position":[[0,23]]}}}],["instal",{"_index":78,"t":{"1493":{"position":[[0,12]]}}}],["integr",{"_index":67,"t":{"1351":{"position":[[11,11]]},"1508":{"position":[[0,11]]}}}],["interfac",{"_index":6,"t":{"183":{"position":[[0,10]]},"211":{"position":[[0,10]]},"225":{"position":[[0,10]]},"237":{"position":[[0,10]]},"255":{"position":[[0,10]]},"303":{"position":[[0,10]]},"321":{"position":[[0,10]]},"333":{"position":[[0,10]]},"345":{"position":[[0,10]]},"361":{"position":[[0,10]]},"385":{"position":[[0,10]]},"397":{"position":[[0,10]]},"437":{"position":[[0,10]]},"483":{"position":[[0,10]]},"493":{"position":[[0,10]]},"507":{"position":[[0,10]]},"523":{"position":[[0,10]]},"533":{"position":[[0,10]]},"543":{"position":[[0,10]]},"555":{"position":[[0,10]]},"571":{"position":[[0,10]]},"581":{"position":[[0,10]]},"593":{"position":[[0,10]]},"603":{"position":[[0,10]]},"627":{"position":[[0,10]]},"639":{"position":[[0,10]]},"655":{"position":[[0,10]]},"737":{"position":[[0,10]]},"747":{"position":[[0,10]]},"1394":{"position":[[13,9]]},"2331":{"position":[[0,10]]}}}],["introduct",{"_index":35,"t":{"666":{"position":[[12,12]]},"1514":{"position":[[0,12]]}}}],["iprocessmessagescircuitinput",{"_index":11,"t":{"255":{"position":[[11,29]]}}}],["istateleaf",{"_index":13,"t":{"321":{"position":[[11,10]]}}}],["istateleafcontractparam",{"_index":14,"t":{"333":{"position":[[11,24]]}}}],["isubsidycircuitinput",{"_index":18,"t":{"397":{"position":[[11,21]]}}}],["itallycircuitinput",{"_index":19,"t":{"437":{"position":[[11,19]]}}}],["iverifi",{"_index":87,"t":{"1645":{"position":[[0,9]]}}}],["ivkcontractparam",{"_index":15,"t":{"345":{"position":[[11,17]]}}}],["ivkobjectparam",{"_index":16,"t":{"361":{"position":[[11,15]]}}}],["key",{"_index":79,"t":{"1518":{"position":[[5,3]]}}}],["keypair",{"_index":24,"t":{"533":{"position":[[11,7]]},"1205":{"position":[[7,7]]}}}],["line",{"_index":72,"t":{"1394":{"position":[[8,4]]}}}],["local",{"_index":76,"t":{"1485":{"position":[[12,5]]}}}],["maci",{"_index":36,"t":{"666":{"position":[[28,4]]},"691":{"position":[[0,4]]},"713":{"position":[[0,4]]},"799":{"position":[[38,6]]},"1323":{"position":[[11,4]]},"1325":{"position":[[0,4]]},"1327":{"position":[[10,4]]},"1508":{"position":[[12,4]]},"1518":{"position":[[0,4]]},"1526":{"position":[[0,4]]},"1534":{"position":[[0,4]]},"1557":{"position":[[0,4]]},"1778":{"position":[[0,4]]},"2534":{"position":[[0,4]]}}}],["macist",{"_index":50,"t":{"803":{"position":[[7,9]]}}}],["maxvalu",{"_index":20,"t":{"483":{"position":[[11,9]]}}}],["messag",{"_index":57,"t":{"1233":{"position":[[7,7]]}}}],["messageprocessor",{"_index":103,"t":{"1842":{"position":[[0,16]]}}}],["minim",{"_index":46,"t":{"799":{"position":[[0,7]]}}}],["mockverifi",{"_index":88,"t":{"1649":{"position":[[0,12]]}}}],["modul",{"_index":123,"t":{"2339":{"position":[[0,7]]},"2382":{"position":[[0,7]]},"2417":{"position":[[0,7]]},"2510":{"position":[[0,7]]}}}],["overview",{"_index":81,"t":{"1526":{"position":[[5,8]]}}}],["pair",{"_index":89,"t":{"1653":{"position":[[0,7]]}}}],["param",{"_index":120,"t":{"2253":{"position":[[0,6]]}}}],["pcommand",{"_index":58,"t":{"1269":{"position":[[7,8]]}}}],["pipelin",{"_index":69,"t":{"1351":{"position":[[28,8]]}}}],["poll",{"_index":55,"t":{"1035":{"position":[[7,4]]},"1886":{"position":[[0,4]]}}}],["pollcontract",{"_index":8,"t":{"211":{"position":[[11,13]]}}}],["pollfactori",{"_index":104,"t":{"1964":{"position":[[0,11]]}}}],["poseidonfunc",{"_index":22,"t":{"507":{"position":[[11,13]]}}}],["poseidont3",{"_index":90,"t":{"1675":{"position":[[0,10]]}}}],["poseidont4",{"_index":91,"t":{"1679":{"position":[[0,10]]}}}],["poseidont5",{"_index":92,"t":{"1683":{"position":[[0,10]]}}}],["poseidont6",{"_index":93,"t":{"1687":{"position":[[0,10]]}}}],["primit",{"_index":82,"t":{"1534":{"position":[[5,10]]}}}],["privkey",{"_index":2,"t":{"39":{"position":[[7,7]]}}}],["process",{"_index":77,"t":{"1485":{"position":[[18,10]]},"2534":{"position":[[28,7]]}}}],["product",{"_index":60,"t":{"1325":{"position":[[5,7]]}}}],["proof",{"_index":17,"t":{"385":{"position":[[11,5]]}}}],["pubkey",{"_index":1,"t":{"1":{"position":[[7,6]]}}}],["queue",{"_index":23,"t":{"523":{"position":[[11,5]]}}}],["releas",{"_index":38,"t":{"691":{"position":[[9,7]]},"713":{"position":[[12,7]]},"2534":{"position":[[20,7]]}}}],["roadmap",{"_index":61,"t":{"1325":{"position":[[13,7]]}}}],["secur",{"_index":64,"t":{"1328":{"position":[[0,8]]}}}],["setup",{"_index":45,"t":{"797":{"position":[[8,5]]}}}],["signature(): T Create a deep clone of this TCommand Type parameters​ Name Type T extends TCommand Returns​ T a copy of the TCommand Implementation of​ ICommand.copy Defined in​ domainobjs/ts/commands/TCommand.ts:32","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#copy","p":115},{"i":142,"t":"▸ equals(command): boolean Check whether this command has deep equivalence to another command Parameters​ Name Type Description command TCommand the command to compare with Returns​ boolean whether they are equal or not Implementation of​ ICommand.equals Defined in​ domainobjs/ts/commands/TCommand.ts:39","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#equals","p":115},{"i":144,"t":"▸ toJSON(): IJsonTCommand Serialize into a JSON object Returns​ IJsonTCommand Implementation of​ ICommand.toJSON Defined in​ domainobjs/ts/commands/TCommand.ts:48","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#tojson","p":115},{"i":146,"t":"▸ fromJSON(json): TCommand Deserialize into a TCommand object Parameters​ Name Type Description json IJsonTCommand the json representation Returns​ TCommand the TCommand instance Defined in​ domainobjs/ts/commands/TCommand.ts:62","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.TCommand","h":"#fromjson","p":115},{"i":148,"t":"domainobjs/ts.VerifyingKey Notice A TS Class representing a zk-SNARK VerifyingKey","s":"Class: VerifyingKey","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"","p":147},{"i":151,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#constructors","p":147},{"i":153,"t":"alpha1 beta2 delta2 gamma2 ic","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#properties","p":147},{"i":155,"t":"asContractParam copy equals fromContract fromJSON fromObj","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#methods","p":147},{"i":158,"t":"• new VerifyingKey(alpha1, beta2, gamma2, delta2, ic): VerifyingKey Generate a new VerifyingKey Parameters​ Name Type Description alpha1 G1Point the alpha1 point beta2 G2Point the beta2 point gamma2 G2Point the gamma2 point delta2 G2Point the delta2 point ic G1Point[] the ic points Returns​ VerifyingKey Defined in​ domainobjs/ts/verifyingKey.ts:27","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#constructor","p":147},{"i":161,"t":"• alpha1: G1Point Defined in​ domainobjs/ts/verifyingKey.ts:9","s":"alpha1","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#alpha1","p":147},{"i":163,"t":"• beta2: G2Point Defined in​ domainobjs/ts/verifyingKey.ts:11","s":"beta2","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#beta2","p":147},{"i":165,"t":"• delta2: G2Point Defined in​ domainobjs/ts/verifyingKey.ts:15","s":"delta2","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#delta2","p":147},{"i":167,"t":"• gamma2: G2Point Defined in​ domainobjs/ts/verifyingKey.ts:13","s":"gamma2","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#gamma2","p":147},{"i":169,"t":"• ic: G1Point[] Defined in​ domainobjs/ts/verifyingKey.ts:17","s":"ic","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#ic","p":147},{"i":172,"t":"▸ asContractParam(): IVkContractParams Return this as an object which can be passed to the smart contract Returns​ IVkContractParams the object representation of this Defined in​ domainobjs/ts/verifyingKey.ts:40","s":"asContractParam","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#ascontractparam","p":147},{"i":174,"t":"▸ copy(): VerifyingKey Produce a copy of this verifying key Returns​ VerifyingKey the copy Defined in​ domainobjs/ts/verifyingKey.ts:94","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#copy","p":147},{"i":176,"t":"▸ equals(vk): boolean Check whether this is equal to another verifying key Parameters​ Name Type Description vk VerifyingKey the other verifying key Returns​ boolean whether this is equal to the other verifying key Defined in​ domainobjs/ts/verifyingKey.ts:73","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#equals","p":147},{"i":178,"t":"▸ fromContract(data): VerifyingKey Create a new verifying key from a contract representation of the VK Parameters​ Name Type Description data IVkContractParams the object representation Returns​ VerifyingKey a new VerifyingKey Defined in​ domainobjs/ts/verifyingKey.ts:55","s":"fromContract","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#fromcontract","p":147},{"i":180,"t":"▸ fromJSON(json): VerifyingKey Deserialize into a VerifyingKey instance Parameters​ Name Type Description json string the JSON representation Returns​ VerifyingKey the VerifyingKey Defined in​ domainobjs/ts/verifyingKey.ts:115","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#fromjson","p":147},{"i":182,"t":"▸ fromObj(data): VerifyingKey Convert an object representation to a VerifyingKey Parameters​ Name Type Description data IVkObjectParams the object representation Returns​ VerifyingKey the VerifyingKey Defined in​ domainobjs/ts/verifyingKey.ts:125","s":"fromObj","u":"/docs/typedoc/classes/domainobjs_ts.VerifyingKey","h":"#fromobj","p":147},{"i":184,"t":"cli/ts.DeployedContracts","s":"Interface: DeployedContracts","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"","p":183},{"i":187,"t":"initialVoiceCreditProxyAddress maciAddress pollFactoryAddress poseidonT3Address poseidonT4Address poseidonT5Address poseidonT6Address signUpGatekeeperAddress stateAqAddress topupCreditAddress verifierAddress","s":"Properties","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#properties","p":183},{"i":190,"t":"• initialVoiceCreditProxyAddress: string Defined in​ cli/ts/utils/interfaces.ts:14","s":"initialVoiceCreditProxyAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#initialvoicecreditproxyaddress","p":183},{"i":192,"t":"• maciAddress: string Defined in​ cli/ts/utils/interfaces.ts:6","s":"maciAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#maciaddress","p":183},{"i":194,"t":"• pollFactoryAddress: string Defined in​ cli/ts/utils/interfaces.ts:8","s":"pollFactoryAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#pollfactoryaddress","p":183},{"i":196,"t":"• poseidonT3Address: string Defined in​ cli/ts/utils/interfaces.ts:10","s":"poseidonT3Address","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#poseidont3address","p":183},{"i":198,"t":"• poseidonT4Address: string Defined in​ cli/ts/utils/interfaces.ts:11","s":"poseidonT4Address","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#poseidont4address","p":183},{"i":200,"t":"• poseidonT5Address: string Defined in​ cli/ts/utils/interfaces.ts:12","s":"poseidonT5Address","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#poseidont5address","p":183},{"i":202,"t":"• poseidonT6Address: string Defined in​ cli/ts/utils/interfaces.ts:13","s":"poseidonT6Address","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#poseidont6address","p":183},{"i":204,"t":"• signUpGatekeeperAddress: string Defined in​ cli/ts/utils/interfaces.ts:15","s":"signUpGatekeeperAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#signupgatekeeperaddress","p":183},{"i":206,"t":"• stateAqAddress: string Defined in​ cli/ts/utils/interfaces.ts:7","s":"stateAqAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#stateaqaddress","p":183},{"i":208,"t":"• topupCreditAddress: string Defined in​ cli/ts/utils/interfaces.ts:9","s":"topupCreditAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#topupcreditaddress","p":183},{"i":210,"t":"• verifierAddress: string Defined in​ cli/ts/utils/interfaces.ts:16","s":"verifierAddress","u":"/docs/typedoc/interfaces/cli_ts.DeployedContracts","h":"#verifieraddress","p":183},{"i":212,"t":"cli/ts.PollContracts","s":"Interface: PollContracts","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"","p":211},{"i":215,"t":"messageProcessor poll subsidy tally","s":"Properties","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#properties","p":211},{"i":218,"t":"• messageProcessor: string Defined in​ cli/ts/utils/interfaces.ts:20","s":"messageProcessor","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#messageprocessor","p":211},{"i":220,"t":"• poll: string Defined in​ cli/ts/utils/interfaces.ts:23","s":"poll","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#poll","p":211},{"i":222,"t":"• subsidy: string Defined in​ cli/ts/utils/interfaces.ts:22","s":"subsidy","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#subsidy","p":211},{"i":224,"t":"• tally: string Defined in​ cli/ts/utils/interfaces.ts:21","s":"tally","u":"/docs/typedoc/interfaces/cli_ts.PollContracts","h":"#tally","p":211},{"i":226,"t":"core/ts.BatchSizes This interface defines the batch sizes.","s":"Interface: BatchSizes","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"","p":225},{"i":229,"t":"messageBatchSize subsidyBatchSize tallyBatchSize","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"#properties","p":225},{"i":232,"t":"• messageBatchSize: number The size of the message batch. Defined in​ core/ts/utils/types.ts:46","s":"messageBatchSize","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"#messagebatchsize","p":225},{"i":234,"t":"• subsidyBatchSize: number The size of the subsidy batch. Defined in​ core/ts/utils/types.ts:47","s":"subsidyBatchSize","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"#subsidybatchsize","p":225},{"i":236,"t":"• tallyBatchSize: number The size of the tally batch. Defined in​ core/ts/utils/types.ts:45","s":"tallyBatchSize","u":"/docs/typedoc/interfaces/core_ts.BatchSizes","h":"#tallybatchsize","p":225},{"i":238,"t":"cli/ts.TallyData Interface for the tally file data.","s":"Interface: TallyData","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"","p":237},{"i":241,"t":"maci newTallyCommitment perVOSpentVoiceCredits pollId results totalSpentVoiceCredits","s":"Properties","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#properties","p":237},{"i":244,"t":"• maci: string The MACI address. Defined in​ cli/ts/utils/interfaces.ts:33","s":"maci","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#maci","p":237},{"i":246,"t":"• newTallyCommitment: string The new tally commitment. Defined in​ cli/ts/utils/interfaces.ts:43","s":"newTallyCommitment","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#newtallycommitment","p":237},{"i":248,"t":"• perVOSpentVoiceCredits: Object The per VO spent voice credits. Type declaration​ Name Type Description commitment string The commitment of the per VO spent voice credits. salt string The salt of the per VO spent voice credits. tally string[] The tally of the per VO spent voice credits. Defined in​ cli/ts/utils/interfaces.ts:88","s":"perVOSpentVoiceCredits","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#pervospentvoicecredits","p":237},{"i":250,"t":"• pollId: number The ID of the poll. Defined in​ cli/ts/utils/interfaces.ts:38","s":"pollId","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#pollid","p":237},{"i":252,"t":"• results: Object The results of the poll. Type declaration​ Name Type Description commitment string The commitment of the results. salt string The salt of the results. tally string[] The tally of the results. Defined in​ cli/ts/utils/interfaces.ts:48","s":"results","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#results","p":237},{"i":254,"t":"• totalSpentVoiceCredits: Object The total spent voice credits. Type declaration​ Name Type Description commitment string The commitment of the spent voice credits. salt string The salt of the spent voice credits. spent string The spent voice credits. Defined in​ cli/ts/utils/interfaces.ts:68","s":"totalSpentVoiceCredits","u":"/docs/typedoc/interfaces/cli_ts.TallyData","h":"#totalspentvoicecredits","p":237},{"i":256,"t":"core/ts.IProcessMessagesCircuitInputs An interface describing the circuit inputs to the ProcessMessage circuit","s":"Interface: IProcessMessagesCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"","p":255},{"i":259,"t":"coordPrivKey coordPubKey currentBallotRoot currentBallots currentBallotsPathElements currentSbCommitment currentSbSalt currentStateLeaves currentStateLeavesPathElements currentStateRoot currentVoteWeights currentVoteWeightsPathElements encPubKeys inputHash msgRoot msgSubrootPathElements msgs newSbCommitment newSbSalt packedVals pollEndTimestamp","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#properties","p":255},{"i":262,"t":"• coordPrivKey: string Defined in​ core/ts/utils/types.ts:158","s":"coordPrivKey","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#coordprivkey","p":255},{"i":264,"t":"• coordPubKey: string Defined in​ core/ts/utils/types.ts:159","s":"coordPubKey","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#coordpubkey","p":255},{"i":266,"t":"• currentBallotRoot: string Defined in​ core/ts/utils/types.ts:162","s":"currentBallotRoot","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentballotroot","p":255},{"i":268,"t":"• currentBallots: string[] Defined in​ core/ts/utils/types.ts:167","s":"currentBallots","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentballots","p":255},{"i":270,"t":"• currentBallotsPathElements: string[][] Defined in​ core/ts/utils/types.ts:168","s":"currentBallotsPathElements","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentballotspathelements","p":255},{"i":272,"t":"• currentSbCommitment: string Defined in​ core/ts/utils/types.ts:163","s":"currentSbCommitment","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentsbcommitment","p":255},{"i":274,"t":"• currentSbSalt: string Defined in​ core/ts/utils/types.ts:164","s":"currentSbSalt","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentsbsalt","p":255},{"i":276,"t":"• currentStateLeaves: string[] Defined in​ core/ts/utils/types.ts:165","s":"currentStateLeaves","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentstateleaves","p":255},{"i":278,"t":"• currentStateLeavesPathElements: string[][] Defined in​ core/ts/utils/types.ts:166","s":"currentStateLeavesPathElements","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentstateleavespathelements","p":255},{"i":280,"t":"• currentStateRoot: string Defined in​ core/ts/utils/types.ts:161","s":"currentStateRoot","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentstateroot","p":255},{"i":282,"t":"• currentVoteWeights: string[] Defined in​ core/ts/utils/types.ts:169","s":"currentVoteWeights","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentvoteweights","p":255},{"i":284,"t":"• currentVoteWeightsPathElements: string[][] Defined in​ core/ts/utils/types.ts:170","s":"currentVoteWeightsPathElements","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#currentvoteweightspathelements","p":255},{"i":286,"t":"• encPubKeys: string[] Defined in​ core/ts/utils/types.ts:160","s":"encPubKeys","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#encpubkeys","p":255},{"i":288,"t":"• inputHash: string Defined in​ core/ts/utils/types.ts:171","s":"inputHash","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#inputhash","p":255},{"i":290,"t":"• msgRoot: string Defined in​ core/ts/utils/types.ts:155","s":"msgRoot","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#msgroot","p":255},{"i":292,"t":"• msgSubrootPathElements: string[][] Defined in​ core/ts/utils/types.ts:157","s":"msgSubrootPathElements","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#msgsubrootpathelements","p":255},{"i":294,"t":"• msgs: string[] Defined in​ core/ts/utils/types.ts:156","s":"msgs","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#msgs","p":255},{"i":296,"t":"• newSbCommitment: string Defined in​ core/ts/utils/types.ts:173","s":"newSbCommitment","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#newsbcommitment","p":255},{"i":298,"t":"• newSbSalt: string Defined in​ core/ts/utils/types.ts:172","s":"newSbSalt","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#newsbsalt","p":255},{"i":300,"t":"• packedVals: string Defined in​ core/ts/utils/types.ts:154","s":"packedVals","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#packedvals","p":255},{"i":302,"t":"• pollEndTimestamp: string Defined in​ core/ts/utils/types.ts:153","s":"pollEndTimestamp","u":"/docs/typedoc/interfaces/core_ts.IProcessMessagesCircuitInputs","h":"#pollendtimestamp","p":255},{"i":304,"t":"core/ts.IJsonMaciState This interface defines the JSON representation of a MaciState","s":"Interface: IJsonMaciState","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"","p":303},{"i":307,"t":"currentPollBeingProcessed numSignUps pollBeingProcessed polls stateLeaves stateTreeDepth","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#properties","p":303},{"i":310,"t":"• currentPollBeingProcessed: string Defined in​ core/ts/utils/types.ts:129","s":"currentPollBeingProcessed","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#currentpollbeingprocessed","p":303},{"i":312,"t":"• numSignUps: number Defined in​ core/ts/utils/types.ts:130","s":"numSignUps","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#numsignups","p":303},{"i":314,"t":"• pollBeingProcessed: boolean Defined in​ core/ts/utils/types.ts:128","s":"pollBeingProcessed","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#pollbeingprocessed","p":303},{"i":316,"t":"• polls: IJsonPoll[] Defined in​ core/ts/utils/types.ts:126","s":"polls","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#polls","p":303},{"i":318,"t":"• stateLeaves: IJsonStateLeaf[] Defined in​ core/ts/utils/types.ts:127","s":"stateLeaves","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#stateleaves","p":303},{"i":320,"t":"• stateTreeDepth: number Defined in​ core/ts/utils/types.ts:125","s":"stateTreeDepth","u":"/docs/typedoc/interfaces/core_ts.IJsonMaciState","h":"#statetreedepth","p":303},{"i":322,"t":"domainobjs/ts.IStateLeaf Notice An interface representing a MACI state leaf","s":"Interface: IStateLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"","p":321},{"i":324,"t":"StateLeaf","s":"Implemented by","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"#implemented-by","p":321},{"i":327,"t":"pubKey voiceCreditBalance","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"#properties","p":321},{"i":330,"t":"• pubKey: PubKey Defined in​ domainobjs/ts/types.ts:17","s":"pubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"#pubkey","p":321},{"i":332,"t":"• voiceCreditBalance: bigint Defined in​ domainobjs/ts/types.ts:18","s":"voiceCreditBalance","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeaf","h":"#voicecreditbalance","p":321},{"i":334,"t":"domainobjs/ts.IStateLeafContractParams","s":"Interface: IStateLeafContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"","p":333},{"i":337,"t":"pubKey timestamp voiceCreditBalance","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"#properties","p":333},{"i":340,"t":"• pubKey: IG1ContractParams Defined in​ domainobjs/ts/types.ts:76","s":"pubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"#pubkey","p":333},{"i":342,"t":"• timestamp: BigNumberish Defined in​ domainobjs/ts/types.ts:78","s":"timestamp","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"#timestamp","p":333},{"i":344,"t":"• voiceCreditBalance: BigNumberish Defined in​ domainobjs/ts/types.ts:77","s":"voiceCreditBalance","u":"/docs/typedoc/interfaces/domainobjs_ts.IStateLeafContractParams","h":"#voicecreditbalance","p":333},{"i":346,"t":"domainobjs/ts.IVkContractParams","s":"Interface: IVkContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"","p":345},{"i":349,"t":"alpha1 beta2 delta2 gamma2 ic","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#properties","p":345},{"i":352,"t":"• alpha1: IG1ContractParams Defined in​ domainobjs/ts/types.ts:56","s":"alpha1","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#alpha1","p":345},{"i":354,"t":"• beta2: IG2ContractParams Defined in​ domainobjs/ts/types.ts:57","s":"beta2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#beta2","p":345},{"i":356,"t":"• delta2: IG2ContractParams Defined in​ domainobjs/ts/types.ts:59","s":"delta2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#delta2","p":345},{"i":358,"t":"• gamma2: IG2ContractParams Defined in​ domainobjs/ts/types.ts:58","s":"gamma2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#gamma2","p":345},{"i":360,"t":"• ic: IG1ContractParams[] Defined in​ domainobjs/ts/types.ts:60","s":"ic","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkContractParams","h":"#ic","p":345},{"i":362,"t":"domainobjs/ts.IVkObjectParams","s":"Interface: IVkObjectParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"","p":361},{"i":365,"t":"IC curve nPublic protocol vk_alpha_1 vk_alphabeta_12 vk_beta_2 vk_delta_2 vk_gamma_2","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#properties","p":361},{"i":368,"t":"• IC: BigNumberish[][] Defined in​ domainobjs/ts/types.ts:72","s":"IC","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#ic","p":361},{"i":370,"t":"• curve: BigNumberish Defined in​ domainobjs/ts/types.ts:65","s":"curve","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#curve","p":361},{"i":372,"t":"• nPublic: BigNumberish Defined in​ domainobjs/ts/types.ts:66","s":"nPublic","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#npublic","p":361},{"i":374,"t":"• protocol: BigNumberish Defined in​ domainobjs/ts/types.ts:64","s":"protocol","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#protocol","p":361},{"i":376,"t":"• vk_alpha_1: BigNumberish[] Defined in​ domainobjs/ts/types.ts:67","s":"vk_alpha_1","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_alpha_1","p":361},{"i":378,"t":"• vk_alphabeta_12: BigNumberish[][][] Defined in​ domainobjs/ts/types.ts:71","s":"vk_alphabeta_12","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_alphabeta_12","p":361},{"i":380,"t":"• vk_beta_2: BigNumberish[][] Defined in​ domainobjs/ts/types.ts:68","s":"vk_beta_2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_beta_2","p":361},{"i":382,"t":"• vk_delta_2: BigNumberish[][] Defined in​ domainobjs/ts/types.ts:70","s":"vk_delta_2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_delta_2","p":361},{"i":384,"t":"• vk_gamma_2: BigNumberish[][] Defined in​ domainobjs/ts/types.ts:69","s":"vk_gamma_2","u":"/docs/typedoc/interfaces/domainobjs_ts.IVkObjectParams","h":"#vk_gamma_2","p":361},{"i":386,"t":"domainobjs/ts.Proof Notice An interface representing a zk-SNARK proof","s":"Interface: Proof","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"","p":385},{"i":389,"t":"a b c","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"#properties","p":385},{"i":392,"t":"• a: G1Point Defined in​ domainobjs/ts/types.ts:8","s":"a","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"#a","p":385},{"i":394,"t":"• b: G2Point Defined in​ domainobjs/ts/types.ts:9","s":"b","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"#b","p":385},{"i":396,"t":"• c: G1Point Defined in​ domainobjs/ts/types.ts:10","s":"c","u":"/docs/typedoc/interfaces/domainobjs_ts.Proof","h":"#c","p":385},{"i":398,"t":"core/ts.ISubsidyCircuitInputs An interface describing the circuit inputs to the Subsidy circuit","s":"Interface: ISubsidyCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"","p":397},{"i":401,"t":"ballotPathElements1 ballotPathElements2 ballotRoot ballots1 ballots2 currentSubsidy currentSubsidyCommitment currentSubsidySalt inputHash newSubsidyCommitment newSubsidySalt packedVals sbCommitment sbSalt stateRoot votes1 votes2","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#properties","p":397},{"i":404,"t":"• ballotPathElements1: string[] Defined in​ core/ts/utils/types.ts:221","s":"ballotPathElements1","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballotpathelements1","p":397},{"i":406,"t":"• ballotPathElements2: string[] Defined in​ core/ts/utils/types.ts:222","s":"ballotPathElements2","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballotpathelements2","p":397},{"i":408,"t":"• ballotRoot: string Defined in​ core/ts/utils/types.ts:207","s":"ballotRoot","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballotroot","p":397},{"i":410,"t":"• ballots1: string[] Defined in​ core/ts/utils/types.ts:217","s":"ballots1","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballots1","p":397},{"i":412,"t":"• ballots2: string[] Defined in​ core/ts/utils/types.ts:218","s":"ballots2","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#ballots2","p":397},{"i":414,"t":"• currentSubsidy: string[] Defined in​ core/ts/utils/types.ts:214","s":"currentSubsidy","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#currentsubsidy","p":397},{"i":416,"t":"• currentSubsidyCommitment: string Defined in​ core/ts/utils/types.ts:212","s":"currentSubsidyCommitment","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#currentsubsidycommitment","p":397},{"i":418,"t":"• currentSubsidySalt: string Defined in​ core/ts/utils/types.ts:209","s":"currentSubsidySalt","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#currentsubsidysalt","p":397},{"i":420,"t":"• inputHash: string Defined in​ core/ts/utils/types.ts:216","s":"inputHash","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#inputhash","p":397},{"i":422,"t":"• newSubsidyCommitment: string Defined in​ core/ts/utils/types.ts:213","s":"newSubsidyCommitment","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#newsubsidycommitment","p":397},{"i":424,"t":"• newSubsidySalt: string Defined in​ core/ts/utils/types.ts:210","s":"newSubsidySalt","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#newsubsidysalt","p":397},{"i":426,"t":"• packedVals: string Defined in​ core/ts/utils/types.ts:215","s":"packedVals","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#packedvals","p":397},{"i":428,"t":"• sbCommitment: string Defined in​ core/ts/utils/types.ts:211","s":"sbCommitment","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#sbcommitment","p":397},{"i":430,"t":"• sbSalt: string Defined in​ core/ts/utils/types.ts:208","s":"sbSalt","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#sbsalt","p":397},{"i":432,"t":"• stateRoot: string Defined in​ core/ts/utils/types.ts:206","s":"stateRoot","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#stateroot","p":397},{"i":434,"t":"• votes1: number[] Defined in​ core/ts/utils/types.ts:219","s":"votes1","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#votes1","p":397},{"i":436,"t":"• votes2: number[] Defined in​ core/ts/utils/types.ts:220","s":"votes2","u":"/docs/typedoc/interfaces/core_ts.ISubsidyCircuitInputs","h":"#votes2","p":397},{"i":438,"t":"core/ts.ITallyCircuitInputs An interface describing the circuit inputs to the TallyVotes circuit","s":"Interface: ITallyCircuitInputs","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"","p":437},{"i":441,"t":"ballotPathElements ballotRoot ballots currentPerVOSpentVoiceCredits currentPerVOSpentVoiceCreditsRootSalt currentResults currentResultsRootSalt currentSpentVoiceCreditSubtotal currentSpentVoiceCreditSubtotalSalt currentTallyCommitment inputHash newPerVOSpentVoiceCreditsRootSalt newResultsRootSalt newSpentVoiceCreditSubtotalSalt newTallyCommitment packedVals sbCommitment sbSalt stateRoot votes","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#properties","p":437},{"i":444,"t":"• ballotPathElements: PathElements Defined in​ core/ts/utils/types.ts:189","s":"ballotPathElements","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#ballotpathelements","p":437},{"i":446,"t":"• ballotRoot: string Defined in​ core/ts/utils/types.ts:181","s":"ballotRoot","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#ballotroot","p":437},{"i":448,"t":"• ballots: string[] Defined in​ core/ts/utils/types.ts:188","s":"ballots","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#ballots","p":437},{"i":450,"t":"• currentPerVOSpentVoiceCredits: string[] Defined in​ core/ts/utils/types.ts:195","s":"currentPerVOSpentVoiceCredits","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentpervospentvoicecredits","p":437},{"i":452,"t":"• currentPerVOSpentVoiceCreditsRootSalt: string Defined in​ core/ts/utils/types.ts:196","s":"currentPerVOSpentVoiceCreditsRootSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentpervospentvoicecreditsrootsalt","p":437},{"i":454,"t":"• currentResults: string[] Defined in​ core/ts/utils/types.ts:191","s":"currentResults","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentresults","p":437},{"i":456,"t":"• currentResultsRootSalt: string Defined in​ core/ts/utils/types.ts:192","s":"currentResultsRootSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentresultsrootsalt","p":437},{"i":458,"t":"• currentSpentVoiceCreditSubtotal: string Defined in​ core/ts/utils/types.ts:193","s":"currentSpentVoiceCreditSubtotal","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentspentvoicecreditsubtotal","p":437},{"i":460,"t":"• currentSpentVoiceCreditSubtotalSalt: string Defined in​ core/ts/utils/types.ts:194","s":"currentSpentVoiceCreditSubtotalSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currentspentvoicecreditsubtotalsalt","p":437},{"i":462,"t":"• currentTallyCommitment: string Defined in​ core/ts/utils/types.ts:184","s":"currentTallyCommitment","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#currenttallycommitment","p":437},{"i":464,"t":"• inputHash: string Defined in​ core/ts/utils/types.ts:187","s":"inputHash","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#inputhash","p":437},{"i":466,"t":"• newPerVOSpentVoiceCreditsRootSalt: string Defined in​ core/ts/utils/types.ts:198","s":"newPerVOSpentVoiceCreditsRootSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#newpervospentvoicecreditsrootsalt","p":437},{"i":468,"t":"• newResultsRootSalt: string Defined in​ core/ts/utils/types.ts:197","s":"newResultsRootSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#newresultsrootsalt","p":437},{"i":470,"t":"• newSpentVoiceCreditSubtotalSalt: string Defined in​ core/ts/utils/types.ts:199","s":"newSpentVoiceCreditSubtotalSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#newspentvoicecreditsubtotalsalt","p":437},{"i":472,"t":"• newTallyCommitment: string Defined in​ core/ts/utils/types.ts:185","s":"newTallyCommitment","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#newtallycommitment","p":437},{"i":474,"t":"• packedVals: string Defined in​ core/ts/utils/types.ts:186","s":"packedVals","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#packedvals","p":437},{"i":476,"t":"• sbCommitment: string Defined in​ core/ts/utils/types.ts:183","s":"sbCommitment","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#sbcommitment","p":437},{"i":478,"t":"• sbSalt: string Defined in​ core/ts/utils/types.ts:182","s":"sbSalt","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#sbsalt","p":437},{"i":480,"t":"• stateRoot: string Defined in​ core/ts/utils/types.ts:180","s":"stateRoot","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#stateroot","p":437},{"i":482,"t":"• votes: string[][] Defined in​ core/ts/utils/types.ts:190","s":"votes","u":"/docs/typedoc/interfaces/core_ts.ITallyCircuitInputs","h":"#votes","p":437},{"i":484,"t":"core/ts.MaxValues This interface defines the maximum values that the circuit can handle.","s":"Interface: MaxValues","u":"/docs/typedoc/interfaces/core_ts.MaxValues","h":"","p":483},{"i":487,"t":"maxMessages maxVoteOptions","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.MaxValues","h":"#properties","p":483},{"i":490,"t":"• maxMessages: number The maximum number of messages. Defined in​ core/ts/utils/types.ts:56","s":"maxMessages","u":"/docs/typedoc/interfaces/core_ts.MaxValues","h":"#maxmessages","p":483},{"i":492,"t":"• maxVoteOptions: number The maximum number of vote options. Defined in​ core/ts/utils/types.ts:57","s":"maxVoteOptions","u":"/docs/typedoc/interfaces/core_ts.MaxValues","h":"#maxvoteoptions","p":483},{"i":494,"t":"core/ts.TreeDepths This interface defines the tree depths.","s":"Interface: TreeDepths","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"","p":493},{"i":497,"t":"intStateTreeDepth messageTreeDepth messageTreeSubDepth voteOptionTreeDepth","s":"Properties","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#properties","p":493},{"i":500,"t":"• intStateTreeDepth: number The depth of the intermediate state tree. Defined in​ core/ts/utils/types.ts:32","s":"intStateTreeDepth","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#intstatetreedepth","p":493},{"i":502,"t":"• messageTreeDepth: number The depth of the message tree. Defined in​ core/ts/utils/types.ts:33","s":"messageTreeDepth","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#messagetreedepth","p":493},{"i":504,"t":"• messageTreeSubDepth: number The depth of the message tree sub. Defined in​ core/ts/utils/types.ts:34","s":"messageTreeSubDepth","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#messagetreesubdepth","p":493},{"i":506,"t":"• voteOptionTreeDepth: number The depth of the vote option tree. Defined in​ core/ts/utils/types.ts:35","s":"voteOptionTreeDepth","u":"/docs/typedoc/interfaces/core_ts.TreeDepths","h":"#voteoptiontreedepth","p":493},{"i":508,"t":"crypto/ts.PoseidonFuncs A interface for poseidon hash functions","s":"Interface: PoseidonFuncs","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"","p":507},{"i":510,"t":"▪ [key: number]: (inputs: bigint[]) => bigint","s":"Indexable","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#indexable","p":507},{"i":513,"t":"2 3 4 5","s":"Properties","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#properties","p":507},{"i":516,"t":"• 2: (inputs: bigint[]) => bigint Type declaration​ ▸ (inputs): bigint Parameters​ Name Type inputs bigint[] Returns​ bigint Defined in​ crypto/ts/types.ts:54","s":"2","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#2","p":507},{"i":518,"t":"• 3: (inputs: bigint[]) => bigint Type declaration​ ▸ (inputs): bigint Parameters​ Name Type inputs bigint[] Returns​ bigint Defined in​ crypto/ts/types.ts:55","s":"3","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#3","p":507},{"i":520,"t":"• 4: (inputs: bigint[]) => bigint Type declaration​ ▸ (inputs): bigint Parameters​ Name Type inputs bigint[] Returns​ bigint Defined in​ crypto/ts/types.ts:56","s":"4","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#4","p":507},{"i":522,"t":"• 5: (inputs: bigint[]) => bigint Type declaration​ ▸ (inputs): bigint Parameters​ Name Type inputs bigint[] Returns​ bigint Defined in​ crypto/ts/types.ts:57","s":"5","u":"/docs/typedoc/interfaces/crypto_ts.PoseidonFuncs","h":"#5","p":507},{"i":524,"t":"crypto/ts.Queue A acc queue","s":"Interface: Queue","u":"/docs/typedoc/interfaces/crypto_ts.Queue","h":"","p":523},{"i":527,"t":"indices levels","s":"Properties","u":"/docs/typedoc/interfaces/crypto_ts.Queue","h":"#properties","p":523},{"i":530,"t":"• indices: number[] Defined in​ crypto/ts/types.ts:28","s":"indices","u":"/docs/typedoc/interfaces/crypto_ts.Queue","h":"#indices","p":523},{"i":532,"t":"• levels: bigint[][] Defined in​ crypto/ts/types.ts:27","s":"levels","u":"/docs/typedoc/interfaces/crypto_ts.Queue","h":"#levels","p":523},{"i":534,"t":"crypto/ts.Keypair A private key and a public key","s":"Interface: Keypair","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","h":"","p":533},{"i":537,"t":"privKey pubKey","s":"Properties","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","h":"#properties","p":533},{"i":540,"t":"• privKey: SnarkBigNumber Defined in​ crypto/ts/types.ts:35","s":"privKey","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","h":"#privkey","p":533},{"i":542,"t":"• pubKey: PubKey Defined in​ crypto/ts/types.ts:36","s":"pubKey","u":"/docs/typedoc/interfaces/crypto_ts.Keypair","h":"#pubkey","p":533},{"i":544,"t":"crypto/ts.Signature","s":"Interface: Signature","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"","p":543},{"i":546,"t":"Name Type N SnarkBigNumber","s":"Type parameters","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"#type-parameters","p":543},{"i":549,"t":"R8 S","s":"Properties","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"#properties","p":543},{"i":552,"t":"• R8: Point Defined in​ crypto/ts/types.ts:45","s":"R8","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"#r8","p":543},{"i":554,"t":"• S: N Defined in​ crypto/ts/types.ts:46","s":"S","u":"/docs/typedoc/interfaces/crypto_ts.Signature","h":"#s","p":543},{"i":556,"t":"domainobjs/ts.ICommand Notice A parent interface for all the commands","s":"Interface: ICommand","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"","p":555},{"i":558,"t":"PCommand TCommand","s":"Implemented by","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#implemented-by","p":555},{"i":561,"t":"cmdType copy equals toJSON","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#properties","p":555},{"i":564,"t":"• cmdType: bigint Defined in​ domainobjs/ts/commands/types.ts:5","s":"cmdType","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#cmdtype","p":555},{"i":566,"t":"• copy: () => T Type declaration​ ▸ (): T Type parameters​ Name Type T extends ICommand Returns​ T Defined in​ domainobjs/ts/commands/types.ts:6","s":"copy","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#copy","p":555},{"i":568,"t":"• equals: (command: T) => boolean Type declaration​ ▸ (command): boolean Type parameters​ Name Type T extends ICommand Parameters​ Name Type command T Returns​ boolean Defined in​ domainobjs/ts/commands/types.ts:7","s":"equals","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#equals","p":555},{"i":570,"t":"• toJSON: () => unknown Type declaration​ ▸ (): unknown Returns​ unknown Defined in​ domainobjs/ts/commands/types.ts:8","s":"toJSON","u":"/docs/typedoc/interfaces/domainobjs_ts.ICommand","h":"#tojson","p":555},{"i":572,"t":"domainobjs/ts.IG1ContractParams","s":"Interface: IG1ContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","h":"","p":571},{"i":575,"t":"x y","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","h":"#properties","p":571},{"i":578,"t":"• x: BigNumberish Defined in​ domainobjs/ts/types.ts:46","s":"x","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","h":"#x","p":571},{"i":580,"t":"• y: BigNumberish Defined in​ domainobjs/ts/types.ts:47","s":"y","u":"/docs/typedoc/interfaces/domainobjs_ts.IG1ContractParams","h":"#y","p":571},{"i":582,"t":"domainobjs/ts.IJsonBallot","s":"Interface: IJsonBallot","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"","p":581},{"i":585,"t":"nonce voteOptionTreeDepth votes","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"#properties","p":581},{"i":588,"t":"• nonce: BigNumberish Defined in​ domainobjs/ts/types.ts:88","s":"nonce","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"#nonce","p":581},{"i":590,"t":"• voteOptionTreeDepth: BigNumberish Defined in​ domainobjs/ts/types.ts:89","s":"voteOptionTreeDepth","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"#voteoptiontreedepth","p":581},{"i":592,"t":"• votes: BigNumberish[] Defined in​ domainobjs/ts/types.ts:87","s":"votes","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonBallot","h":"#votes","p":581},{"i":594,"t":"domainobjs/ts.IG2ContractParams","s":"Interface: IG2ContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","h":"","p":593},{"i":597,"t":"x y","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","h":"#properties","p":593},{"i":600,"t":"• x: BigNumberish[] Defined in​ domainobjs/ts/types.ts:51","s":"x","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","h":"#x","p":593},{"i":602,"t":"• y: BigNumberish[] Defined in​ domainobjs/ts/types.ts:52","s":"y","u":"/docs/typedoc/interfaces/domainobjs_ts.IG2ContractParams","h":"#y","p":593},{"i":604,"t":"domainobjs/ts.IJsonPCommand Notice An interface representing a json P command","s":"Interface: IJsonPCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"","p":603},{"i":606,"t":"IJsonCommand ↳ IJsonPCommand","s":"Hierarchy","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#hierarchy","p":603},{"i":609,"t":"cmdType newPubKey newVoteWeight nonce pollId salt stateIndex voteOptionIndex","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#properties","p":603},{"i":612,"t":"• cmdType: string Inherited from​ IJsonCommand.cmdType Defined in​ domainobjs/ts/commands/types.ts:15","s":"cmdType","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#cmdtype","p":603},{"i":614,"t":"• newPubKey: string Defined in​ domainobjs/ts/commands/types.ts:32","s":"newPubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#newpubkey","p":603},{"i":616,"t":"• newVoteWeight: string Defined in​ domainobjs/ts/commands/types.ts:34","s":"newVoteWeight","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#newvoteweight","p":603},{"i":618,"t":"• nonce: string Defined in​ domainobjs/ts/commands/types.ts:35","s":"nonce","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#nonce","p":603},{"i":620,"t":"• pollId: string Defined in​ domainobjs/ts/commands/types.ts:36","s":"pollId","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#pollid","p":603},{"i":622,"t":"• salt: string Defined in​ domainobjs/ts/commands/types.ts:37","s":"salt","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#salt","p":603},{"i":624,"t":"• stateIndex: string Defined in​ domainobjs/ts/commands/types.ts:31","s":"stateIndex","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#stateindex","p":603},{"i":626,"t":"• voteOptionIndex: string Defined in​ domainobjs/ts/commands/types.ts:33","s":"voteOptionIndex","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonPCommand","h":"#voteoptionindex","p":603},{"i":628,"t":"domainobjs/ts.IJsonStateLeaf","s":"Interface: IJsonStateLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"","p":627},{"i":631,"t":"pubKey timestamp voiceCreditBalance","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"#properties","p":627},{"i":634,"t":"• pubKey: string Defined in​ domainobjs/ts/types.ts:38","s":"pubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"#pubkey","p":627},{"i":636,"t":"• timestamp: string Defined in​ domainobjs/ts/types.ts:40","s":"timestamp","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"#timestamp","p":627},{"i":638,"t":"• voiceCreditBalance: string Defined in​ domainobjs/ts/types.ts:39","s":"voiceCreditBalance","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonStateLeaf","h":"#voicecreditbalance","p":627},{"i":640,"t":"domainobjs/ts.IJsonTCommand Notice An interface representing a json T command","s":"Interface: IJsonTCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"","p":639},{"i":642,"t":"IJsonCommand ↳ IJsonTCommand","s":"Hierarchy","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#hierarchy","p":639},{"i":645,"t":"amount cmdType pollId stateIndex","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#properties","p":639},{"i":648,"t":"• amount: string Defined in​ domainobjs/ts/commands/types.ts:23","s":"amount","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#amount","p":639},{"i":650,"t":"• cmdType: string Inherited from​ IJsonCommand.cmdType Defined in​ domainobjs/ts/commands/types.ts:15","s":"cmdType","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#cmdtype","p":639},{"i":652,"t":"• pollId: string Defined in​ domainobjs/ts/commands/types.ts:24","s":"pollId","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#pollid","p":639},{"i":654,"t":"• stateIndex: string Defined in​ domainobjs/ts/commands/types.ts:22","s":"stateIndex","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonTCommand","h":"#stateindex","p":639},{"i":656,"t":"domainobjs/ts.IMessageContractParams","s":"Interface: IMessageContractParams","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","h":"","p":655},{"i":659,"t":"data msgType","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","h":"#properties","p":655},{"i":662,"t":"• data: BigNumberish[] Defined in​ domainobjs/ts/types.ts:83","s":"data","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","h":"#data","p":655},{"i":664,"t":"• msgType: string Defined in​ domainobjs/ts/types.ts:82","s":"msgType","u":"/docs/typedoc/interfaces/domainobjs_ts.IMessageContractParams","h":"#msgtype","p":655},{"i":667,"t":"Introduction​ MACI, which stands for Minimal Anti-Collusion Infrastructure, is an application that allows users to have an on-chain voting process with greatly increased collusion resistance. A common problem among today’s on-chain voting processes is how easy it is to bribe voters into voting for a particular option. Oftentimes this bribery takes the form of “join our pool (vote our way) and we will give you a cut of the rewards (the bribe)”. Since all transactions on the blockchain are public, without MACI, voters can easily prove to the briber which option they voted for and therefore receive the bribe rewards. MACI counters this by using zk-SNARKs to essentially hide how each person voted while still revealing the final vote result. User’s cannot prove which option they voted for, and therefore bribers cannot reliably trust that a user voted for their preferred option. For example, a voter can tell a briber that they are voting for option A, but in reality they voted for option B. There is no reliable way to prove which option the voter actually voted for, so the briber does not have the incentive to pay voters to vote their way.","s":"A Technical Introduction to MACI 1.0","u":"/blog/maci-1-0-technical-introduction","h":"","p":666},{"i":669,"t":"MACI, which stands for Minimal Anti-Collusion Infrastructure, is an application that allows users to have an on-chain voting process with greatly increased collusion resistance. A common problem among today’s on-chain voting processes is how easy it is to bribe voters into voting for a particular option. Oftentimes this bribery takes the form of “join our pool (vote our way) and we will give you a cut of the rewards (the bribe)”. Since all transactions on the blockchain are public, without MACI, voters can easily prove to the briber which option they voted for and therefore receive the bribe rewards. MACI counters this by using zk-SNARKs to essentially hide how each person voted while still revealing the final vote result. User’s cannot prove which option they voted for, and therefore bribers cannot reliably trust that a user voted for their preferred option. For example, a voter can tell a briber that they are voting for option A, but in reality they voted for option B. There is no reliable way to prove which option the voter actually voted for, so the briber does not have the incentive to pay voters to vote their way.","s":"Introduction","u":"/blog/maci-1-0-technical-introduction","h":"#introduction","p":666},{"i":671,"t":"For a general overview, the history and the importance of MACI, see Release Announcement: MACI 1.0 by Wei Jie, one of the creators. He also created a very helpful youtube video on the overview of MACI. To see the origin of the idea of MACI, see Vitalik’s research post on Minimal Anti-Collusion Infrastructure. Lastly, it is recommended to understand the basic idea behind zk-SNARKs, as these are a core component of MACI. The following articles are great resources: Introduction to zk-SNARKs — Consensys What are zk-SNARKs — Zcash An approximate introduction to how zk-SNARKs are possible — Vitalik zkSNARKs in a nutshell — Ethereum.org This article will go over the general workflow of MACI and how it is capable of providing the following tenets (taken word for word from Wei Jie’s article): Collusion Resistance: No one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery Receipt-freeness: No voter may prove (besides to the coordinator) which way they voted Privacy: No one except a trusted coordinator should be able to decrypt a vote Uncensorability: No one (not even the trusted coordinator) should be able to censor a vote Unforgeability: Only the owner of a user’s private key may cast a vote tied to its corresponding public key Non-repudiation: No one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it Correct execution: No one (not even the trusted coordinator) should be able to produce a false tally of votes","s":"Background","u":"/blog/maci-1-0-technical-introduction","h":"#background","p":666},{"i":674,"t":"In the MACI workflow, there are two different roles: users (voters) and a single trusted coordinator. The users vote on the blockchain via MACI smart contracts, and the coordinator tallies up the votes and releases the final results. The coordinators must use zk-SNARKs to prove that their final tally result is valid without releasing the vote of every individual. Therefore, even if a coordinator is corrupt, they are unable to change a user’s vote or add extra votes themselves. A corrupt coordinator can stop a vote by never publishing the results, but they can’t publish false results. Before sending their vote on the blockchain, users encrypt their vote using a shared key that only the user and coordinator can know. This key scheme is designed so that every individual user shares a distinct key with the coordinator. This prevents any bribers from simply reading the transaction data to see which option a user voted for. The encrypted vote is now considered a “message” and the user sends this message to a MACI smart contract to be stored on-chain. A very simplified illustration of this encryption can be seen below:","s":"Roles","u":"/blog/maci-1-0-technical-introduction","h":"#roles","p":666},{"i":676,"t":"Before a user can cast a vote, they must sign up by sending the public key they wish to use to vote to a MACI smart contract. This public key acts as their identity when voting. They can vote from any address, but their message must contain a signature from that public key. When casting an actual vote after signing up, a user will bundle a few variables — including a public key, their vote option, their vote amount, and a few others — into what is called a “command”. Then, the user signs the command with the public key they originally used to sign up. After that, the user encrypts the signature and command together so that it is now considered a message. This more complex description of how a message is constructed is illustrated below: Users are able to override their previous vote as long as they sign their command with the previous public key. If the command is properly signed by the user’s previous public key, then the message is considered valid and the coordinator will count this as the correct vote. So, when a user provides a public key in their vote that is different than their previous public key, they may now submit a new vote signed by this new public key to override their previous vote. If the signature is not from the previous public key, the message will be marked as invalid and not counted toward the tally. Therefore, the public key can be thought of as the user’s voting username, and the signature is the voting password. If they provide the correct signature, they can submit a vote or change their public key — or both. This feature, which I refer to as public key switching, is designed to counter the bribery attack where a user simply shows the briber their message, and then decrypts it for the briber to see which way the user voted. Public key switching allows users to change their public key and create invalid messages in favor of the bribers. The bribers have no way of telling if the user switched their public keys before sending in the vote shown to the bribers. This can be quite confusing so here is an example: Bob signs up with public key 1 Bob then creates a command that contains — a vote for option A and public key 2 Bob signs this command with public key 1, the key he used to sign up Bob encrypts this command into a message and submits it to the MACI smart contracts The coordinator decrypts this message, and checks to ensure that the command is signed by Bob’s previous key — public key 1. This message is valid. The coordinator then records Bob’s vote for option A and updates his public key to public key 2 At this point, Bob has successfully voted for option A, and in order to override this vote must send in a new vote with a signature from public key 2. At this point, a briber now tries to get Bob to vote for option B: Bob creates a command that contains — a vote for option B and public key 1 Bob signs this command with public key 1, encrypts the message and submits it to the MACI smart contracts Bob shows the briber the decrypted message as proof of his vote for option B The coordinator decrypts Bob’s message and sees that the signature does not match up with public key 2 — Bob’s previous key added in his previous message. Therefore this message is invalid and this vote is not counted in the final tally. The briber has no way of knowing whether the vote was valid or invalid, and so is not incentivized to offer bribes to other users. In order to get a good idea of how MACI works, it’s important to know how the zk-SNARKs are able to prove that the coordinator decrypted each message and tallied the votes properly. The next section gives a quick and much oversimplified overview of zk-SNARKs, although the readings listed in the introduction are much more helpful.","s":"Vote Overriding and Public Key Switching","u":"/blog/maci-1-0-technical-introduction","h":"#vote-overriding-and-public-key-switching","p":666},{"i":678,"t":"Essentially, zk-SNARKs allow users to prove they know an answer to a specific mathematical equation, without revealing what that answer is. Take the following equation for example, X + Y = 15 I can prove that I know 2 values, X and Y that satisfy the equation without revealing what those two values are. When I create a zk-SNARK for my answer, anyone can use the SNARK (a group of numbers) and validate it against the equation above to prove that I do know a solution to that equation. The user is unable to use the SNARK to find out my answers for X and Y. For MACI, the equation is much more complicated but can be summarized as the following equations: encrypt(command1) = message1 encrypt(command2) = message2 encrypt(command3) = message3 … Command1 from user1 + command2 from user2 + command3 from user3 + … = total tally result Here, everyone is able to see the messages on the blockchain and the total tally result. Only the coordinator knows what the individual commands/votes are by decrypting the messages. So, the coordinator uses a zk-SNARK to prove they know all of the votes that: Encrypt to the messages present on the blockchain Sum to the tally result Users can then use the SNARK to prove that the tally result is correct, but cannot use it to prove any individual’s vote choices. Now that the core components of MACI have been covered, it is helpful to dive deeper into the MACI workflow and specific smart contracts.","s":"zk-SNARKs","u":"/blog/maci-1-0-technical-introduction","h":"#zk-snarks","p":666},{"i":680,"t":"The general workflow process can be broken down into 4 different phases: Sign Up Publish Message Process Messages Tally Results These phases make use of 3 main smart contracts — MACI, Poll and ​​PollProcessorAndTallyer. These contracts can be found on the MACI github page. The MACI contract is responsible for keeping track of all the user signups by recording the initial public key for each user. When a vote is going to take place, users can deploy a Poll smart contract via MACI.deployPoll(). The Poll smart contract is where users submit their messages. One MACI contract can be used for multiple polls. In other words, the users that signed up to the MACI contract can vote on multiple issues, with each issue represented by a distinct Poll contract. Finally, the PollProcessorAndTallyer contract is used by the coordinator to prove on-chain that they are correctly tallying each vote. This process is explained in more detail in the Process Messages and Tally Results sections below.","s":"Workflow","u":"/blog/maci-1-0-technical-introduction","h":"#workflow","p":666},{"i":682,"t":"The sign up process for MACI is handled via the MACI.sol smart contract. Users need to send three pieces of information when calling MACI.signUp(): Public Key Sign Up Gatekeeper Data Initial Voice Credit Proxy Data The public key is the original public key mentioned in above sections that the user will need to vote. As explained in earlier sections, they can change this public key later once voting starts. The user’s public key used to sign up is shared amongst every poll. MACI allows the contract creator/owner to set a “signUpGateKeeper”. The sign up gatekeeper is meant to be the address of another smart contract that determines the rules to sign up. So, when a user calls MACI.signUp(), the function will call the sign up gatekeeper to check if this user is valid to sign up. MACI also allows the contract creator/owner to set an “initialVoiceCreditProxy”. This represents the contract that determines how many votes a given user gets. So, when a user calls MACI.signUp(), the function will call the initial voice credit proxy to check how many votes they can spend. The user’s voice credit balance is reset to this number for every new poll. Once MACI has checked that the user is valid and retrieved how many voice credits they have, MACI stores the following user info into the Sign Up Merkle Tree: Public Key Voice Credits Timestamp","s":"Sign Up","u":"/blog/maci-1-0-technical-introduction","h":"#sign-up","p":666},{"i":684,"t":"Once it is time to vote, the MACI creator/owner will deploy a Poll smart contract. Then, users will call Poll.publishMessage() and send the following data: Message Encryption Key As explained in sections above, the coordinator will need to use the encryption key in order to derive a shared key. The coordinator can then use the shared key to decrypt the message into a command, which contains the vote. Once a user publishes their message, the Poll contract will store the message and encryption key into the Message Merkle Tree.","s":"Publish Message","u":"/blog/maci-1-0-technical-introduction","h":"#publish-message","p":666},{"i":686,"t":"Once the voting is done for a specific poll, the coordinator will use the PollProcessAndTallyer contract to first prove that they have correctly decrypted each message and applied them to correctly create an updated state tree. This state tree keeps an account of all the valid votes that should be counted. So, when processing the messages, the coordinator will not keep messages that are later overridden by a newer message inside the state tree. For example, if a user votes for option A, but then later sends a new message to vote for option B, the coordinator will only count the vote for option B. The coordinator must process messages in groups so that proving on chain does not exceed the data limit. The coordinator then creates a zk-SNARK proving their state tree correctly contains only the valid messages. Once the proof is ready, the coordinator calls PollProcessorAndTallyer.processMessages(), providing a hash of the state tree and the zk-SNARK proof as an input parameters. The PollProcessorAndTallyer contract will send the proof to a separate verifier contract. The verifier contract is specifically built to read MACI zk-SNARK proofs and tell if they are valid or not. So, if the verifier contract returns true, then everyone can see on-chain that the coordinator correctly processed that batch of messages. The coordinator repeats this process until all messages have been processed.","s":"Process Messages","u":"/blog/maci-1-0-technical-introduction","h":"#process-messages","p":666},{"i":688,"t":"Finally, once all messages have been processed, the coordinator tallies the votes of the valid messages. The coordinator creates a zk-SNARK proving that the valid messages in the state tree (proved in Process Messages step) contain votes that sum to the given tally result. Then, they call PollProcessorAndTallyer.tallyVotes() with a hash of the correct tally results and the zk-SNARK proof. Similarly to the processMessages function, the tallyVotes function will send the proof to a verifier contract to ensure that it is valid. The tallyVotes function is only successful if the verifier contract returns that the proof is valid. Therefore, once the tallyVotes function succeeds, users can trust that the coordinator has correctly tallied all of the valid votes. After this step, anyone can see the final tally results and the proof that these results are a correct result of the messages sent to the Poll contract. The users won’t be able to see how any individual voted, but will be able to trust that these votes were properly processed and counted.","s":"Tally Votes","u":"/blog/maci-1-0-technical-introduction","h":"#tally-votes","p":666},{"i":690,"t":"MACI is a huge step forward in preventing collusion for on-chain votes. While it doesn’t prevent all possibilities of collusion, it does make it much harder. MACI can already be seen to be in use by the clr.fund, which has users vote on which projects to receive funding. When the possible funding amount becomes very large, users and organizations have a large incentive to collude to receive parts of these funds. This is where MACI can truly make a difference, to protect the fairness of such important voting processes such as those at clr.fund.","s":"Conclusion","u":"/blog/maci-1-0-technical-introduction","h":"#conclusion","p":666},{"i":692,"t":"The Privacy & Scaling Explorations team is proud to release version 1.0 of Minimal Anti-Collusion Infrastructure (MACI). MACI enables collusion resistance for decentralised applications, particularly voting and quadratic funding systems. This release is a major upgrade to the project and provides better developer experience and gas savings for users. The code is in the v1 branch of the appliedzkp/macirepository and will be merged soon. MACI 1.0 was audited by Hashcloak. All vulnerabilities found have been fixed. The audit report can be found here. We would like to thank our highly professional and responsive auditors for surfacing these issues and providing clear feedback for addressing them.","s":"MACI 1.0 Release","u":"/blog/maci-1-0-release","h":"","p":691},{"i":694,"t":"MACI is a set of smart contracts and zero-knowledge circuits upon which which developers can build collusion-resistant applications, such as voting systems or quadratic funding platforms. MACI per se is not a user-facing application. Rather, developers may build applications on top of it. In turn, such applications can benefit from the following properties: Collusion resistance: no-one, except a trusted coordinator, can be convinced of the validity of a vote, reducing the effectiveness of bribery. Receipt-freeness: a voter cannot prove, besides to the coordinator, which way they voted. Privacy: no-one, except a trusted coordinator, should be able to decrypt a vote. Uncensorability: no-one, not even the trusted coordinator, should be able to censor a vote. Unforgeability: only the owner of a user’s private key may cast a vote tied to its corresponding public key. Non-repudiation: no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. Correct execution: no-one, not even the trusted coordinator, should be able to produce a false tally of votes. Practically speaking, MACI provides a set of Typescript packages, Ethereum smart contracts and zero-knowledge circuits. It inherits security and uncensorability from the underlying Ethereum blockchain, ensures unforgeability via asymmetric encryption, and achieves collusion resistance, privacy, and correct execution via zk-SNARKs. Please note that MACI does not and will not have a token. In other words, it does not represent an investment opportunity.","s":"About MACI","u":"/blog/maci-1-0-release","h":"#about-maci","p":691},{"i":696,"t":"MACI stems from an ethresear.ch post by Vitalik Buterin. Subsequently, the initial codebase was written in late 2019 and early 2020 by grantees with the Ethereum Foundation, namely Kendrick Tan, Koh Wei Jie, and Chih-Cheng Liang. MACI then saw developer adoption at ETHDenver in February 2020, where Auryn Macmillan and others started work on clr.fund, a protocol for the Ethereum community to allocate funds for Ethereum-based public goods. After the event, we continued to work with clr.fund to improve MACI and integrate it with their application. clr.fund has completed seven rounds of public goods funding, the last of which saw more than US$6000 worth of contributions. At the time of writing, it is currently running an eighth round with more than US$20k in contributions. Work on version 1.0 started in late 2020 with the goal of reducing the gas and computational requirements, as well as to improve its flexibility and usability, without compromising any of its anti-collusion, security, and trust guarantees. We also took this opportunity to keep up with new techniques, ideas, and tooling from the rapidly advancing Ethereum and zero-knowledge ecosystem. Finally, in early 2021 we were very fortunate to bring on Cory Dickson to the team. His work on writing documentation, revamping MACI’s integration test suites, working with our auditors to fix bugs, and collaborating with external teams has been invaluable to the project.","s":"MACI’s history","u":"/blog/maci-1-0-release","h":"#macis-history","p":691},{"i":698,"t":"It is very difficult for naive voting systems, particularly those which are integrated into smart contract platforms, to prevent collusion. For instance, if a simple Ethereum transaction represents a vote, a briber can easily examine its calldata, tell how its sender voted, and reward or punish them accordingly. More broadly, collusion resistance is particulary important for cryptoeconomic systems. Vitalik Buterin describes the motivations behind MACI in On Collusion. He argues that systems that use cryptoeconomic incentive mechanisms to align participants’ behaviour can be vulnerable to collusion attacks, such as bribery. In another post, he elaborates: if you can prove how you voted, selling your vote becomes very easy. Provability of votes would also enable forms of coercion where the coercer demands to see some kind of proof of voting for their preferred candidate. To illustrate this point, consider an alleged example of collusion that occurred in round 6 of Gitcoin grants (a platform for quadratic funding software projects which contribute to public goods). In How to Attack and Defend Quadratic Funding, an author from Gitcoin highlights a tweet by a potential grant beneficiary appeared to offer 0.01 ETH in exchange for matching funds: They explain the nature of this scheme: While creating fake accounts to attract matching funds can be prevented by sybil resistant design, colluders can easily up their game by coordinating a group of real accounts to “mine Gitcoin matching funds” and split the “interest” among the group. Finally, MACI is important because as crypto communities are increasingly adopting Decentralised Autonomous Organisations (DAOs) which govern through token voting. The threat of bribery attacks and other forms of collusion will only increase if left unchecked, since such attacks target a fundamental vulnerability of such systems.","s":"Why is MACI important?","u":"/blog/maci-1-0-release","h":"#why-is-maci-important","p":691},{"i":700,"t":"In this release, we rearchitected MACI’s smart contracts to allow for greater flexiblity and separation of concerns. In particular, we support multiple polls within a single instance of MACI. This allows the coordinator to run and tally many elections either subsequently or concurrently. We’ve kept the ability for developers to provide their own set of logic to gate-keep signups. For instance, application developers can write custom logic that only allows addresses which own a certain token to sign up once to MACI in order to participate in polls. An additional upgrade we have implemented is greater capacity for signups, votes, and vote options. With MACI 1.0, a coordinator can run a round that supports more users, votes, and choices than before, even with the same hardware. We adopted iden3’s tools for faster proof generation. Furthermore, we rewrote our zk-SNARK circuits using the latest versions of snarkjs, circom, and circomlib. We also developed additional developer tooling such as circom-helper and zkey-manager. Finally, we significantly reduced gas costs borne by users by replacing our incremental Merkle tree contracts with a modified deposit queue mechanism. While this new mechanism achieves the same outcome, it shifts some gas costs from users to the coordinator. A comparison of approximate gas costs for user-executed operations is as follows: Finally, we are looking forward to collaborating with other projects and supporting their development of client applications and new use cases. For instance, clr.fund team has indicated that they would like to upgrade their stack to MACI v1.0, and other projects have expressed interest in adopting MACI. We hope that through collaboration, the Ethereum community can benefit from our work, and vice versa.","s":"What’s new?","u":"/blog/maci-1-0-release","h":"#whats-new","p":691},{"i":702,"t":"There is plenty of space for MACI to grow and we welcome new ideas. We are keen to work with developers who wish to do interesting and impactful work, especially folks who would like to learn how to build applications with zk-SNARKs and Ethereum.","s":"Further work","u":"/blog/maci-1-0-release","h":"#further-work","p":691},{"i":704,"t":"We thank Samuel Gosling for completing a grant for work on negative voting. This allows voters to use their voice credits to not only signal approval of a vote option, but also disapproval. Please note that the negative voting branch, while complete, is currently unaudited and therefore not yet merged into the main MACI codebase.","s":"Negative voting","u":"/blog/maci-1-0-release","h":"#negative-voting","p":691},{"i":706,"t":"A suggested upgrade to MACI is to use ElGamal re-randomisation for anonymity of voters. While all votes are encrypted, currently the coordinator is able to decrypt and read them. With re-randomisation, the coordinator would not be able to tell which user took which action.","s":"Anonymisation","u":"/blog/maci-1-0-release","h":"#anonymisation","p":691},{"i":708,"t":"We are working on tooling that makes it easier for coordinators to interface with deployed contracts and manage tallies for multiple polls. This will allow users to generate proofs and query inputs and outputs from existing circuits through an easy-to-use API. We hope that this will drive more adoption of MACI and offload the need for bespoke infrastructure.","s":"Coordinator tooling","u":"/blog/maci-1-0-release","h":"#coordinator-tooling","p":691},{"i":710,"t":"Unlike other ZKP projects, MACI does not have an official trusted setup. Instead, we hope to assist teams implementing MACI in their applications to run their own trusted setup. For instance, clr.fund recently completed a trusted setup (on a previous version of MACI) for a specific set of circuit parameters. Other teams may wish to use a different set of parameters on MACI 1.0, which calls for a different trusted setup.","s":"Trusted setup","u":"/blog/maci-1-0-release","h":"#trusted-setup","p":691},{"i":712,"t":"This release marks a step towards the hard problem of preventing collusion in decentralised voting and quadratic funding systems. We are excited to share our work and please get in touch if you are a developer and are interested in getting involved in any way.","s":"Conclusion","u":"/blog/maci-1-0-release","h":"#conclusion","p":691},{"i":714,"t":"We are pleased to announce the release of an updated version of MACI - Minimal Anti-Collusion Infrastructure v1.1.1. This new release brings a more secure product, new features, and a much needed documentation refresh. Before we dive into the updates, let's refresh your memory on what MACI is and what it was created to achieve.","s":"Maci v1.1.1 Release","u":"/blog/maci-v1-1-1-release","h":"","p":713},{"i":716,"t":"MACI is an application that provides collusion resistance for on-chain voting processes. It was originally created after Vitalik's post, and has since been revisited and improved. MACI revolves around the need for a trusted coordinator. The coordinator is in charge of setting up the system, publishing its public key, and computing the tally of the votes. Below are the main properties of MACI: Property Description Collusion Resistance no-one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery. Receipt-freeness no-one can prove (besides to the coordinator) which way they voted. Privacy no-one except a trusted coordinator should be able to decrypt a vote. Uncensorability no-one — not even the trusted coordinator, should be able to censor a vote. Unforgeability only the owner of a user's private key may cast a vote tied to its corresponding public key. Non-repudiation no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. Correct execution no-one, not even the trusted coordinator, should be able to produce a false tally of votes. Since its inception, MACI has been adopted by different projects, most notably clr.fund and QFI. These projects prove how effective MACI can be, especially when integrated with applications that are otherwise prone to collusion, such as funding Public Goods. For a more detailed description of MACI, please refer to the v1 technical introduction article.","s":"Background","u":"/blog/maci-v1-1-1-release","h":"#background","p":713},{"i":718,"t":"MACI was audited by HashCloack in the summer of 2022. The audit team discovered certain high risk vulnerabilities, whose fixes were the focus of the MACI team in the past months. In more details, the audit revealed two high risk issues within the zk-SNARK circuits: Incomplete validation when processing messages Integer overflow which could have allowed users to affect a coordinator's effort of calculating the subsidy by either making it incorrect or by intercepting the calculation Another notable security issue was the lack of initialization of the AccQueue contract. This contract is used to store messages (votes or topups) for the different polls. Without inserting a zero value hash into the merkle tree contract as the first message during initialization, a malicious user could have performed a denial of service attack on a poll. This could have resulted in the poll results taking a very long time before being tallied by the coordinator. All of these issues have been successfully resolved, on top of fixing minor issues and general code optimizations. The updated product uses a more up to date and secure version of Solidity, and more thorough test cases to verify the correctness of the solution.","s":"Security Audit","u":"/blog/maci-v1-1-1-release","h":"#security-audit","p":713},{"i":720,"t":"Feature Description Top Up Credit Users can now top up credits rather than having to sign up with a different MACI key Pairwise Subsidy Enhanced protection against collusion in quadratic funding Coordinator Service Sample coordinator server for easier MACI use","s":"New Features","u":"/blog/maci-v1-1-1-release","h":"#new-features","p":713},{"i":722,"t":"Rather than requring a user to sign up multiple times, it is now possible to top up voice credits by sending a top up message on the Poll contract. Withdrawals are not enabled as this would allow a malicious user to bribe others offline to transfer their keys. Now, the Poll contract will hold all the funds deposited from users for the current poll. At the end of a poll, the coordinator can transfer the funds to a hardcoded address which can be used to fund public goods. When a user deposits tokens by calling topup, they will also need to specify the stateTree index. The topup function will insert a topup message into the message queue for them. When the voting period ends, any call of topup function will be rejected. Both voting and topup messages have the same ending time, which ensures there is a well-defined ending state for each poll. Please note that in this approach, the initial credit is still shared across multiple polls, and the actual credit an user can spend in a given poll is the following: totalCredit=initialCredit+topupCredit where the topupCredit is the voice credit amount deposited by the user during the voting period of the given pollID. For a detailed description, please refer to this document.","s":"Top Up Credit","u":"/blog/maci-v1-1-1-release","h":"#top-up-credit","p":713},{"i":724,"t":"Pairwise subsidy is a new way to reduce collusion in quadratic funding applications. If two contributors collude with each other, they can extract most of the public funding pool if they have enough funds. In this post, Vitalik introduced this kind of collusion and also proposed a protocol to penalize this behavior. As a generalized solution, the more correlation between contributions, the smaller subsidy should be allocated to this project, as this reduces the risk of collusion between contributors. It should be noted that this solution assumes that an identity system is in place to prevent the same entity from registering with two different identities. Please refer to this post for a more detailed explaination of the implementation. Finally, please note that currently it is not possible to generate the zkeys for the subsidy circuit with with the vote options parameter larger than $5^2$. This issue is documented here and the team will focus on finding a solution to be able to support larger vote options.","s":"Pairwise Subsidy","u":"/blog/maci-v1-1-1-release","h":"#pairwise-subsidy","p":713},{"i":726,"t":"MACI now includes a sample coordinator service. There are two roles in the cordinator service: admin (i.e. MACI coordinator) and user (i.e. a voter). The admin's responsibility is to ensure that the code remains updated and that the backend services are live. The user can then simply send HTTP requests to the backend server to interact with MACI, for instance, by signing up and publishing a message on chain. The coordinator service has been wrapped into two docker instances: one for the backend server to accept user requests; one for the Mongodb service to store all necessary information on the current state such as smart contract addresses, zero knowledge proof keys and so on. For further reading on coordinator services, please refer to this doc.","s":"Coordinator Service","u":"/blog/maci-v1-1-1-release","h":"#coordinator-service","p":713},{"i":728,"t":"MACI can be used as a standalone application to carry out on-chain polls, or be implemented into new projects that can then benefit from its properties. For use as a standalone application, a cli package is provided which allows coordinators and voters to use MACI. Please refer to this doc for details on how to use it. To implement MACI into a project, the documentation can be used a reference, as well as reviewing how clr.fund and qf use MACI in their code.","s":"How to use MACI","u":"/blog/maci-v1-1-1-release","h":"#how-to-use-maci","p":713},{"i":730,"t":"MACI version 0.x will be discontinued. MACI 1.x has feature parity, more robust code and newest features. Users are encouraged to use the latest version. Starting February 7, 2023, the team will focus solely on resolving issues for MACI 1.x, and will cease to provide support for version 0.x.","s":"MACI 0.x","u":"/blog/maci-v1-1-1-release","h":"#maci-0x","p":713},{"i":732,"t":"Should you wish to get involved with MACI or simply report a bug, feel free to visit the repository and open an issue, or comment under an open issue to notify the team of your intention to work on it. For any other enquiry, please reach out to us via the Privacy and Scaling Explorations (PSE) Discord.","s":"How to get involved","u":"/blog/maci-v1-1-1-release","h":"#how-to-get-involved","p":713},{"i":734,"t":"MACI GitHub repository A technical introduction to MACI 1.0 - Kyle Charbonnet Minimal anti-collusion infrastructure - Vitalik Pairwise Subsidy Security Audit","s":"References","u":"/blog/maci-v1-1-1-release","h":"#references","p":713},{"i":736,"t":"Here is a link to the new release code in GitHub - v1.1.1 Release.","s":"Release","u":"/blog/maci-v1-1-1-release","h":"#release","p":713},{"i":738,"t":"domainobjs/ts.IJsonCommand Notice An interface representing a generic json command","s":"Interface: IJsonCommand","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","h":"","p":737},{"i":740,"t":"IJsonCommand ↳ IJsonTCommand ↳ IJsonPCommand","s":"Hierarchy","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","h":"#hierarchy","p":737},{"i":743,"t":"cmdType","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","h":"#properties","p":737},{"i":746,"t":"• cmdType: string Defined in​ domainobjs/ts/commands/types.ts:15","s":"cmdType","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonCommand","h":"#cmdtype","p":737},{"i":748,"t":"domainobjs/ts.IJsonKeyPair","s":"Interface: IJsonKeyPair","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","h":"","p":747},{"i":751,"t":"privKey pubKey","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","h":"#properties","p":747},{"i":754,"t":"• privKey: string Defined in​ domainobjs/ts/types.ts:29","s":"privKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","h":"#privkey","p":747},{"i":756,"t":"• pubKey: string Defined in​ domainobjs/ts/types.ts:30","s":"pubKey","u":"/docs/typedoc/interfaces/domainobjs_ts.IJsonKeyPair","h":"#pubkey","p":747},{"i":758,"t":"This doc extends on the Testing doc and explains how MACI tests work in details. This information should be used by MACI's maintainers as well as contributors.","s":"Testing","u":"/docs/testing-in-details","h":"","p":757},{"i":761,"t":"MACI's CLI provides a series of commands that can be used by both the coordinator and voters, to interact with MACI, from deploying smart contracts to submitting a vote. Currently, there are a number of test cases that are available inside the cli tests folder. The tests are split into two categories: e2e tests that include the entire MACI stack, from deploying the contracts to submitting a vote and tallying all results. e2e tests as above, but with the subsidy feature enabled. The goal of these tests is to ensure that the MACI stack works as expected, and that the coordinator and voters can interact with the system as expected. They currently do not attempt to verify whether the tally results are expected, or that all votes were accounted for. On the other hand, they test different scenarios, mixing different numbers of voters and messages.","s":"CLI Tests","u":"/docs/testing-in-details","h":"#cli-tests","p":757},{"i":763,"t":"Integration tests follow a similar fashion of the CLI tests, though they also ensure that the tally results are as expected. Currently, tests are defined using a JSON file, here is one example: { \"name\": \"Happy path\", \"description\": \"Full tree, 4 batches, no bribers\", \"numVotesPerUser\": 1, \"numUsers\": 15, \"expectedTally\": [15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedSpentVoiceCredits\": [15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedTotalSpentVoiceCredits\": 15 } This test will generate 15 signups (as expressed in numUsers), and submit one vote (numVotesPerUser) for each of the users. As we did not provide any vote detail, it will use the default: weight = 1, option = 0 for all voters. This will result of course in a tally result of 15 for option 0, and 0 for all other options. Finally, the whole process of merging the state and message trees is performed, proofs are generated and the tally result is verified against the expected result. How to implement a new test case​ To add a new test cases, it is quite simple. You can amend the integrationTests/ts/__tests__/data/suites.json file and add your test declaration in there. { \"name\": \"Subsidy test\", \"description\": \"has subsidy result\", \"numUsers\": 4, \"numVotesPerUser\": 1, \"votes\": { \"0\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1, \"valid\": true } }, \"1\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1, \"valid\": true } }, \"2\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1, \"valid\": true } }, \"3\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1, \"valid\": true } } }, \"expectedTally\": [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedSpentVoiceCredits\": [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedTotalSpentVoiceCredits\": 4, \"subsidy\": { \"enabled\": true, \"expectedSubsidy\": [117636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] } } Let's look at the fields in detail: name: the name of the test case description: a description of the test case numUsers: the number of users to generate numVotesPerUser: the number of votes to generate for each user votes: the votes to generate. This is an object where the key is the user index, and the value is another object where the key is the message index, and the value is the vote details. If you do not provide any vote details, the default will be used: weight = 1, option = 0 for all voters. expectedTally: the expected tally result for each vote option (in order) expectedSpentVoiceCredits: the expected spent voice credits for each vote option (in order) expectedTotalSpentVoiceCredits: the expected total spent voice credits subsidy: an object that contains the subsidy details. If you do not provide any subsidy details, the default will be used: enabled = false, expectedSubsidy = []. If you do provide subsidy details, you must provide both fields. As an example, let's try to implement a test given the following criterias: We want 10 users to signup We want each user to publish a different vote We want to verify that the tally result is as expected We will not use the subsidy feature { \"name\": \"10 Users test\", \"description\": \"Should signup 10 users, submit 10 votes and tally the results\", \"numUsers\": 10, \"numVotesPerUser\": 1, \"votes\": { \"0\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 5 } }, \"1\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 9 } }, \"2\": { \"0\": { \"voteOptionIndex\": 5, \"voteWeight\": 3 } }, \"3\": { \"0\": { \"voteOptionIndex\": 3, \"voteWeight\": 2 } }, \"4\": { \"0\": { \"voteOptionIndex\": 0, \"voteWeight\": 1 } }, \"5\": { \"0\": { \"voteOptionIndex\": 9, \"voteWeight\": 1 } }, \"6\": { \"0\": { \"voteOptionIndex\": 4, \"voteWeight\": 7 } }, \"7\": { \"0\": { \"voteOptionIndex\": 7, \"voteWeight\": 5 } }, \"8\": { \"0\": { \"voteOptionIndex\": 3, \"voteWeight\": 10 } }, \"9\": { \"0\": { \"voteOptionIndex\": 8, \"voteWeight\": 2 } } }, \"expectedTally\": [15, 0, 0, 12, 7, 3, 0, 5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedSpentVoiceCredits\": [107, 0, 0, 104, 49, 9, 0, 25, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"expectedTotalSpentVoiceCredits\": 299 } Why expectedTally as above [(5 + 9 + 1), 0, 0, (2 + 10), 7, 3, 0, 5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0] -> [15, 0, 0, 12, 7, 3, 0, 5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0] Why 299 voice credits spent 5 ** 2 + 9 ** 2 + 3 ** 2 + 2 ** 2 + 1 ** 2 + 1 ** 1 + 7 ** 2 + 5 ** 2 + 10 ** 2 + 2 ** 2 = 25 + 81 + 9 + 4 + 1 + 1 + 49 + 25 + 100 + 4 = 299 Why expectedSpentVoiceCredits as above [(25 + 81 + 1), 0, 0, (4 + 100), 49, 0, 25, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0] -> [107, 0, 0, 104, 49, 0, 25, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] MACI keys integration tests​ Another test file which is found inside the integration tests folder is the maciKeys.test.ts file. This file contains a number of tests that are used to verify that the MACI keys work as expected. These tests are written in TypeScript and use the mocha and chai frameworks. They are testing that between the contracts, domainobjs and crypto packages, the MACI keys are working correctly, and are serialized/deserialized as expected. This is particularly important to test due to different data formats for keys, especially when parsed from the smart contract events.","s":"Integration Tests","u":"/docs/testing-in-details","h":"#integration-tests","p":757},{"i":765,"t":"Within the contracts folder, there are a number of tests that are used to verify that the contracts work as expected. These tests are written in TypeScript and use the hardhat framework. These tests interact with all other packages, such as crypto, domainobjs and core, where mock data comes from. Their main goal is to ensure that the smart contracts have the correct parameters when deployed, privileged functions cannot be called by non-privileged users, and that the contract state is as expected after a series of operations. ### Circuits tests Within the circuits folder, there are a number of tests that are used to verify that the circuits work as expected. These tests are written in TypeScript and use the circom_tester (which runs on top of mocha and chai). These tests often use mock data from the core package. For instance, when testing the processMessages circuit, we are required to generate the parameters from the core packing, using the Poll:processMessages function. The same applies to vote tallying, where we need the Poll:tally function to be run first with mock users and vote messages. All of the tests run using test parameters, usually 10, 2, 1, 2, aside from the tests inside: ceremonyParam which use the parameters of the latest MACI ceremony. More details on the trusted setup can be found here.","s":"Contract tests","u":"/docs/testing-in-details","h":"#contract-tests","p":757},{"i":767,"t":"The core package contains a number of tests that are used to verify that the core functions work as expected. These tests are written in TypeScript and use the mocha and chai frameworks. These tests interact with the crypto and dombinobjs packages, where mock data comes from. Their main goal is to ensure that the core functions work as expected, and that the state is as expected after a series of operations. Currently, there is a blend of e2e and unit tests, where e2e tests are used to verify that the entire MACI local processing works as expcted (users signup, publish votes, messages are processed and finally these votes are tallied). Unit tests on the other hand are used to verify that the core functions work as expected, such as processMessage and tallyVotes. You will find them in separate files, with e2e being here and unit tests in the other files.","s":"Core","u":"/docs/testing-in-details","h":"#core","p":757},{"i":769,"t":"These tests are used to verify that MACI's primitives such as private keys work as expected. They are written in TypeScript and use the mocha and chai frameworks.","s":"Domainobjs/Crypto tests","u":"/docs/testing-in-details","h":"#domainobjscrypto-tests","p":757},{"i":771,"t":"To ensure that the MACI stack works as expected, without having to run the entire test suite (or even just the e2e tests), there is a bash script inside the cli folder which can be used. This script contains a number of actions which touch all of the parts of MACI, and resemble exactly what other e2e tests do. Looking at this in more details we do the following: Deploy a VkRegistry contract Set the verification keys on this smart contract Deploy a MACI contract (and associated utility contracts) Deploy a Poll from the MACI contract. Signup 1 user Publish 2 messages Travel in time (local blockchain node) to arrive at the end of the poll Merge the signups tree Merge the messages tree Generate proofs for the message processing and vote tallying Update the on chain state Verify that proofs and tally are correct The above is the minimum required to ensure that the stack works as expected, as it encompasses actions from both voters and the coordinator.","s":"\"Manual\" Testing","u":"/docs/testing-in-details","h":"#manual-testing","p":757},{"i":775,"t":"If your logs look like the following, then make sure you have ProcessMessages_10-2-1-2_test.dat and TallyVotes_10-1-2_test.dat files in the same directory as your zkeys: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs -x 0xf204a4Ef082f5c04bB89F7D5E6568B796096735a \\ > -sk macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ > -o 0 \\ > -r ~/rapidsnark/build/prover \\ > -wp ./zkeys/ProcessMessages_10-2-1-2_test \\ > -wt ./zkeys/TallyVotes_10-1-2_test \\ > -zp ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ > -zt ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ > -t tally.json \\ > -f proofs fromBlock = 0 Generating proofs of message processing... terminate called after throwing an instance of 'std::system_error' what(): open: No such file or directory Aborted (core dumped) terminate called after throwing an instance of 'std::system_error' what(): open: No such file or directory Aborted (core dumped) Error: could not generate proof. Error: Error executing ./zkeys/ProcessMessages_10-2-1-2_test /tmp/tmp-9904-zG0k8YPTATWB/input.json /tmp/tmp-9904-zG0k8YPTATWB/output.wtns at genProof (/home/ubuntu/maci/circuits/ts/index.ts:44:15) at /home/ubuntu/maci/cli/ts/genProofs.ts:339:25 at step (/home/ubuntu/maci/cli/build/genProofs.js:33:23) at Object.next (/home/ubuntu/maci/cli/build/genProofs.js:14:53) at fulfilled (/home/ubuntu/maci/cli/build/genProofs.js:5:58) You can generate the missing .dat files using the following command: cd cli/ pnpm exec zkey-manager compile -c zkeys.config.yml","s":"Case: missing .dat files","u":"/docs/troubleshooting","h":"#case-missing-dat-files","p":772},{"i":778,"t":"Unit tests within the project are built using Mocha and Chai. Mocha is a test framework that provides the environment to write and run JavaScript tests, while Chai is an assertion library that allows us to write assertions in a more expressive and readable way. The following submodules contain unit tests: core, crypto, circuits, contracts, and domainobjs. You can run all unit tests from the root directory of the repo by running: pnpm run test Or you can run unit tests within each submodule. for example to run the crypto tests: cd crypto pnpm run test You can also run individual tests within submodules, for example: cd contracts pnpm run test:accQueue This test command will run AccQueue.test.ts","s":"Unit tests","u":"/docs/testing","h":"#unit-tests","p":776},{"i":780,"t":"First, compile the contracts. From the main maci/ directory, run: cd contracts && \\ pnpm run compileSol To run Contracts only tests, run: pnpm run test","s":"Contracts","u":"/docs/testing","h":"#contracts","p":776},{"i":782,"t":"To test the circuits, from the main maci/ directory, run: cd circuits && \\ pnpm run test Tests are run using Mocha and circom_tester.","s":"Circuits","u":"/docs/testing","h":"#circuits","p":776},{"i":784,"t":"You can test the CLI locally. First, you need to either generate .zkey files, or download them. Please remember to not use these testing .zkey files in production.","s":"CLI","u":"/docs/testing","h":"#cli","p":776},{"i":786,"t":"MACI has two main zk-SNARK circuits, processMessages and tallyVotes (subsidyPerBatch is optional). Each circuit is parameterised and there should be one .zkey file for each circuit and set of parameters. Unless you wish to generate a fresh set of .zkey files, you should obtain them from someone who has performed a multi-party trusted setup for said circuits. Note the locations of the .zkey files as the CLI requires them as command-line flags. For testing purposes you can download the required artifacts using the [download_zkeys``](https://github.com/privacy-scaling-explorations/maci/blob/dev/integrationTests/scripts/download_zkeys.sh) script inside the integrationTests/scriptsfolder. The script will place all required artifacts inside thecli/zkeysfolder. You can run the script directly with bash or use pnpm:pnpm run download-zkeys`.","s":"Download .zkey files or the witness generation binaries","u":"/docs/testing","h":"#download-zkey-files-or-the-witness-generation-binaries","p":776},{"i":788,"t":"From the main maci/cli directory, run: pnpm exec zkey-manager compile -c ./zkeys.config.yml You should see the following files in maci/cli/zkeys/: ProcessMessages_10-2-1-2_test ProcessMessages_10-2-1-2_test.circom ProcessMessages_10-2-1-2_test.dat ProcessMessages_10-2-1-2_test.r1cs ProcessMessages_10-2-1-2_test.sym ProcessMessages_10-2-1-2_test_cpp ProcessMessages_10-2-1-2_test_js SubsidyPerBatch_10-1-2_test SubsidyPerBatch_10-1-2_test.circom SubsidyPerBatch_10-1-2_test.dat SubsidyPerBatch_10-1-2_test.r1cs SubsidyPerBatch_10-1-2_test.sym SubsidyPerBatch_10-1-2_test_cpp SubsidyPerBatch_10-1-2_test_js TallyVotes_10-1-2_test TallyVotes_10-1-2_test.circom TallyVotes_10-1-2_test.dat TallyVotes_10-1-2_test.r1cs TallyVotes_10-1-2_test.sym TallyVotes_10-1-2_test_cpp TallyVotes_10-1-2_test_js","s":"Compile the witness generation binaries (if generating from scratch)","u":"/docs/testing","h":"#compile-the-witness-generation-binaries-if-generating-from-scratch","p":776},{"i":790,"t":"Next, ensure that the prover binary of rapidsnark is in ~/rapidsnark/build/prover. info This step is only required if you wish to use rapidsnark, for faster proof generation. You can also use the WASM witnesses provided in the cli/zkeys folder.","s":"Check the Rapidsnark binary","u":"/docs/testing","h":"#check-the-rapidsnark-binary","p":776},{"i":792,"t":"You can find the tests in maci/cli/tests. To run the tests first start a hardhat node in the background: cd contracts pnpm run hardhat & cd ../cli Then run the tests (this will run all tests): pnpm run test To run e2e without subsidy: pnpm run test:e2e To run e2e with subsidy: pnpm run test:e2e-subsidy","s":"Run CLI tests","u":"/docs/testing","h":"#run-cli-tests","p":776},{"i":794,"t":"You can find the tests in maci/integrationTests/. You can run them with: pnpm run test ## Pre-Compiled Artifacts for testing The followingcompiled circuits and zkeys are available to download: Prod (7-9-3-4) Micro (10-2-1-2) Small (4-6-3-4) Medium (7-7-3-3) 6-8-3-3","s":"Run integration tests","u":"/docs/testing","h":"#run-integration-tests","p":776},{"i":796,"t":"glibc 2.11 (Default of Ubuntu 20.04 LTS) Prod Size​ zkeys-7-9-3-4.tar.gz (2.8 GB) ProcessMessages_7-9-3-4_test.0.zkey (3.8 GB) generated using powersOfTau28_hez_final_22.ptau TallyVotes_7-3-4_test.0.zkey (8.5 GB) generated using powersOfTau28_hez_final_23.ptau Message processing​ Parameter Value Description State tree depth 7 Allows 78,125 signups. Message tree depth 9 Allows 1,953,125 votes or key-change messages. Message batch tree depth 3 Allows 125 messages to be processed per batch. Vote option tree depth 4 Allows 625 vote options. Vote tallying​ Parameter Value Description State tree depth 7 Allows 78,125 signups. State leaf batch depth 3 Allows 125 user's votes to be processed per batch. Message batch tree depth 4 Allows 625 messages to be processed per batch. Micro size​ zkeys_10-2-1-2_glibc-211.tar.gz (403 MB) ProcessMessages_10-2-1-2_test.0.zkey (190 MB) TallyVotes_10-1-2_test.0.zkey (71 MB) SubsidyPerBatch_10-1-2_test.0.zkey (202 MB) *.zkey files are generated using powersOfTau28_hez_final_20.ptau Message processing​ Parameter Value Description State tree depth 10 Allows 9,765,625 signups. Message tree depth 2 Allows 25 votes or key-change messages. Message batch tree depth 1 Allows 5 messages to be processed per batch. Vote option tree depth 2 Allows 25 vote options. Vote tallying​ Parameter Value Description State tree depth 10 Allows 9,765,625 signups. State leaf batch depth 1 Allows 5 user's votes to be processed per batch. Message batch tree depth 2 Allows 25 messages to be processed per batch. Small size​ zkeys_4-6-3-4_glibc-211.tar.gz (2.6 GB) ProcessMessages_4-6-3-4_test.0.zkey (2.9 GB) generated using powersOfTau28_hez_final_22.ptau TallyVotes_4-3-4_test.0.zkey (8.5 GB) generated using powersOfTau28_hez_final_23.ptau Message processing​ Parameter Value Description State tree depth 4 Allows 625 signups. Message tree depth 6 Allows 15,625 votes or key-change messages. Message batch tree depth 3 Allows 125 messages to be processed per batch. Vote option tree depth 4 Allows 625 vote options. Vote tallying​ Parameter Value Description State tree depth 4 Allows 9,765,625 signups. State leaf batch depth 3 Allows 125 user's votes to be processed per batch. Message batch tree depth 4 Allows 625 messages to be processed per batch. Medium size​ zkeys_7-7-3-3_glibc-211.tar.gz (4.9 GB) ProcessMessages_7-7-3-3_test.0.zkey (2.2 GB) generated using powersOfTau28_hez_final_22.ptau TallyVotes_7-3-3_test.0.zkey (884 MB) generated using powersOfTau28_hez_final_22.ptau Message processing​ Parameter Value Description State tree depth 7 Allows 78,125 signups. Message tree depth 7 Allows 78,125 votes or key-change messages. Message batch tree depth 3 Allows 125 messages to be processed per batch. Vote option tree depth 3 Allows 125 vote options. Vote tallying​ Parameter Value Description State tree depth 7 Allows 78,125 signups. State leaf batch depth 3 Allows 125 user's votes to be processed per batch. Message batch tree depth 3 Allows 125 messages to be processed per batch. 6-8-3-3​ zkeys_6-8-3-3_glibc-211.tar.gz (1.1 GB) ProcessMessages_6-8-3-3_test.0.zkey (3.4 GB) generated using powersOfTau28_hez_final_22.ptau TallyVotes_6-3-3_test.0.zkey (1.8 MB) generated using powersOfTau28_hez_final_22.ptau Message processing​ Parameter Value Description State tree depth 6 Allows 15,625 signups. Message tree depth 8 Allows 390,625 votes or key-change messages. Message batch tree depth 3 Allows 125 messages to be processed per batch. Vote option tree depth 3 Allows 125 vote options. Vote tallying​ Parameter Value Description State tree depth 7 Allows 15,625 signups. State leaf batch depth 3 Allows 125 user's votes to be processed per batch. Message batch tree depth 3 Allows 125 messages to be processed per batch. contents of *.tar.gz​ It contains compiled result of the circuit: zkeys/ zkeys/ProcessMessages_7-9-3-4_test.sym zkeys/ProcessMessages_7-9-3-4_test.circom zkeys/ProcessMessages_7-9-3-4_test.dat zkeys/TallyVotes_7-3-4_test_js/ zkeys/TallyVotes_7-3-4_test_js/TallyVotes_7-3-4_test.wasm zkeys/TallyVotes_7-3-4_test_js/witness_calculator.js zkeys/TallyVotes_7-3-4_test_js/TallyVotes_7-3-4_test.wat zkeys/TallyVotes_7-3-4_test_js/generate_witness.js zkeys/TallyVotes_7-3-4_test.sym zkeys/TallyVotes_7-3-4_test.dat zkeys/ProcessMessages_7-9-3-4_test.r1cs zkeys/ProcessMessages_7-9-3-4_test zkeys/ProcessMessages_7-9-3-4_test_cpp/ zkeys/ProcessMessages_7-9-3-4_test_cpp/fr.asm zkeys/ProcessMessages_7-9-3-4_test_cpp/calcwit.cpp zkeys/ProcessMessages_7-9-3-4_test_cpp/fr.hpp zkeys/ProcessMessages_7-9-3-4_test_cpp/ProcessMessages_7-9-3-4_test.o zkeys/ProcessMessages_7-9-3-4_test_cpp/calcwit.o zkeys/ProcessMessages_7-9-3-4_test_cpp/main.o zkeys/ProcessMessages_7-9-3-4_test_cpp/main.cpp zkeys/ProcessMessages_7-9-3-4_test_cpp/ProcessMessages_7-9-3-4_test.cpp zkeys/ProcessMessages_7-9-3-4_test_cpp/fr.o zkeys/ProcessMessages_7-9-3-4_test_cpp/circom.hpp zkeys/ProcessMessages_7-9-3-4_test_cpp/calcwit.hpp zkeys/ProcessMessages_7-9-3-4_test_cpp/fr.cpp zkeys/ProcessMessages_7-9-3-4_test_cpp/Makefile zkeys/ProcessMessages_7-9-3-4_test_cpp/fr_asm.o zkeys/ProcessMessages_7-9-3-4_test_js/ zkeys/ProcessMessages_7-9-3-4_test_js/witness_calculator.js zkeys/ProcessMessages_7-9-3-4_test_js/ProcessMessages_7-9-3-4_test.wasm zkeys/ProcessMessages_7-9-3-4_test_js/ProcessMessages_7-9-3-4_test.wat zkeys/ProcessMessages_7-9-3-4_test_js/generate_witness.js zkeys/TallyVotes_7-3-4_test_cpp/ zkeys/TallyVotes_7-3-4_test_cpp/fr.asm zkeys/TallyVotes_7-3-4_test_cpp/calcwit.cpp zkeys/TallyVotes_7-3-4_test_cpp/TallyVotes_7-3-4_test.cpp zkeys/TallyVotes_7-3-4_test_cpp/fr.hpp zkeys/TallyVotes_7-3-4_test_cpp/calcwit.o zkeys/TallyVotes_7-3-4_test_cpp/main.o zkeys/TallyVotes_7-3-4_test_cpp/main.cpp zkeys/TallyVotes_7-3-4_test_cpp/fr.o zkeys/TallyVotes_7-3-4_test_cpp/circom.hpp zkeys/TallyVotes_7-3-4_test_cpp/calcwit.hpp zkeys/TallyVotes_7-3-4_test_cpp/fr.cpp zkeys/TallyVotes_7-3-4_test_cpp/TallyVotes_7-3-4_test.o zkeys/TallyVotes_7-3-4_test_cpp/Makefile zkeys/TallyVotes_7-3-4_test_cpp/fr_asm.o zkeys/TallyVotes_7-3-4_test.r1cs zkeys/TallyVotes_7-3-4_test.circom zkeys/TallyVotes_7-3-4_test Contribution Hash​ ProcessMessages_4-6-3-4_test.0.zkey TallyVotes_4-3-4_test.0.zkey ProcessMessages_7-9-3-4_test.0.zkey TallyVotes_7-3-3_test.0.zkey ProcessMessages_10-2-1-2_test.0.zkey TallyVotes_7-3-3_test.0.zkey SubsidyPerBatch_10-1-2_test.0.zkey ProcessMessages_7-7-3-3_test.0.zkey TallyVotes_7-3-3_test.0.zkey ProcessMessages_4-6-3-4_test.0.zkey​ 2d29ddba 11e5292e b20f681d 3ade88cd 5c93852b 52f400b0 779e9413 03a49e35 55b27b66 db5fec74 c8e01b0a c407b08f 325cfc06 cb1ac909 38b2e5ff 22b34333 TallyVotes_4-3-4_test.0.zkey​ d2d88532 c2e1e7bd 3c7be3fb f85da2e2 897d11d3 d1231639 25f557e4 e5dda0fd 454eb84a 04bf7d6d 525895fd 8168b14b f3a8a155 cd338e2c 5f364836 bfd7913d ProcessMessages_7-9-3-4_test.0.zkey​ 75256709 6e8a034e a067ea67 16192fb2 57bd982a e202b12f 4a1381ac 362ca197 07ca0d33 c1ca2438 2c283eca 463c3c4d b1094e74 b8aaa9a3 9af75b22 0d9229e6 TallyVotes_7-3-4_test.0.zkey​ f44cf32e 1709e2c4 c8dbe8dc 5b6de4be 30b9a60c 0ddefacc af33a1d0 f54f57a2 6eed2430 87d00e29 5bf068fd 9d89c323 9b6ced66 c970a87d 745d35e4 5f47d7f9 ProcessMessages_10-2-1-2_test.0.zkey​ 23eb4980 d584c7ef 647478b9 dea49a6d 2c595cd0 43a0e9f2 e83fbfb7 b2fd7617 6fbe4b6f ba7f1f82 566c443d a8f0fec6 1c2c2662 20e0df3d 12a057f3 2a071937 TallyVotes_10-1-2_test.0.zkey​ ae12edd2 6f7f1d25 530177ab 27483fe0 ce9a8c26 9f015c49 203376da 911e295c 3f205792 5d661350 da391f34 16986d6a 61be4031 56220ca7 06ed3b9f e8504f11 SubsidyPerBatch_10-1-2_test.0.zkey​ 16dfc388 eda0bfd7 ff529e42 505ed6b7 cbffbb79 9218b09b cfa2fe29 0806097a 52f4839f 58ff692b 2f572309 980f218b c84bb980 a1346082 fb00a947 3c97d99e ProcessMessages_7-7-3-3_test.0.zkey​ e688264b e1326553 b58492d4 7c2028bc cda175f9 b786c4eb 44453080 369ab861 590816fe 257c1fe1 e079415b e4e1b626 a0f752f8 413a81ba f481d335 187e0091 TallyVotes_7-3-3_test.0.zkey​ 6869646d 1faf2aec d8c70c85 0021858f 8c17db02 ede8be90 9a49924c 665c931f 66673899 095159c8 2a236903 4774f42b 225e270f b446f8ec 33545826 3e9444b9","s":"Dependency (if running on intel chip and using rapidsnark)","u":"/docs/testing","h":"#dependency-if-running-on-intel-chip-and-using-rapidsnark","p":776},{"i":798,"t":"MACI currently uses Groth16 zk-SNARKs written in circom. Teams who wish to build on MACI may choose to perform a multi-party trusted setup. This allows observers to have a higher degree of confidence that the coordinator cannot generate fake proofs. Some teams, however, may forgo the trusted setup. There are two possible reasons for doing so: if a team does not intend to manage a large amount of value, and if their users accept that the risk of coordinator misbehaviour is insufficient to justify doing the work of a trusted setup. After all, MACI's security model presumes a trusted coordinator. The PSE team is making available a trusted set of zKeys for MACI's circuits, which are available and accessible on p0tion's website. For more info on trusted setup ceremonies please refer to p0tion's docs. For your convenience, here is a list of the artifacts that can be used in production: Please note these artifacts are generated from the most up to date version of the circom circuits, available in the dev branch at this time. Artifact Description Parameters Link processMessages zKey The production-ready zKey for the processMessages circuit. 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/contributions/processmessages_6-8-2-3_final.zkey tallyVotes zKey The production-ready zKey for the tallyVotes circuit. 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/contributions/tallyvotes_6-2-3_final.zkey processMessages r1cs The Rank-1 Constraint System file that was used to generate the zKey 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3.r1cs tallyVotes r1cs The Rank-1 Constraint System file that was used to generate the zKey 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3.r1cs processMessage wasm The WASM file that can be used to generate proofs 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3.wasm tallyVotes wasm The WASM file that can be used to generate proofs 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3.wasm processMessages vKey The verification key that can be used to verify the processMessages circuit's proofs 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3_vkey.json tallyVotes vKey The verification key that can be used to verify the tallyVotes circuit's proofs 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3_vkey.json processMessages Solidity verifier The Solidity smart contract which can be used to verify the processMessages circuit proofs on-chain 6-8-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/processmessages_6-8-2-3/processmessages_6-8-2-3_verifier.sol tallyVotes Solidity verifier The Solidity smart contract which can be used to verify the tallyVotes circuit proofs on-chain 6-2-3 https://maci-v1-trusted-setup-ceremony-pse-p0tion-production.s3.eu-central-1.amazonaws.com/circuits/tallyvotes_6-2-3/tallyvotes_6-2-3_verifier.sol In any case, MACI can be relatively easily modified to support PLONK, which does not require a circuit-specific trusted setup. Its circuits, written in circom, are compatible with Fluidex's plonkit tool. The downside to using PLONK is that proof generation is not as optimised as it is for Groth16.","s":"Trusted setup","u":"/docs/trusted-setup","h":"","p":797},{"i":802,"t":"cli/ts core/ts crypto/ts domainobjs/ts","s":"Modules","u":"/docs/typedoc/","h":"#modules","p":799},{"i":804,"t":"core/ts.MaciState A representation of the MACI contract.","s":"Class: MaciState","u":"/docs/typedoc/classes/core_ts.MaciState","h":"","p":803},{"i":806,"t":"IMaciState","s":"Implements","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#implements","p":803},{"i":809,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#constructors","p":803},{"i":811,"t":"currentPollBeingProcessed numSignUps pollBeingProcessed polls stateLeaves stateTree stateTreeDepth","s":"Properties","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#properties","p":803},{"i":813,"t":"copy deployNullPoll deployPoll equals signUp toJSON fromJSON","s":"Methods","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#methods","p":803},{"i":816,"t":"• new MaciState(stateTreeDepth): MaciState Constructs a new MaciState object. Parameters​ Name Type Description stateTreeDepth number The depth of the state tree. Returns​ MaciState Defined in​ core/ts/MaciState.ts:36","s":"constructor","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#constructor","p":803},{"i":819,"t":"• Optional currentPollBeingProcessed: number Defined in​ core/ts/MaciState.ts:30","s":"currentPollBeingProcessed","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#currentpollbeingprocessed","p":803},{"i":821,"t":"• numSignUps: number = 0 Defined in​ core/ts/MaciState.ts:25","s":"numSignUps","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#numsignups","p":803},{"i":823,"t":"• Optional pollBeingProcessed: boolean Defined in​ core/ts/MaciState.ts:28","s":"pollBeingProcessed","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#pollbeingprocessed","p":803},{"i":825,"t":"• polls: Poll[] = [] Defined in​ core/ts/MaciState.ts:14","s":"polls","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#polls","p":803},{"i":827,"t":"• stateLeaves: StateLeaf[] = [] Defined in​ core/ts/MaciState.ts:20","s":"stateLeaves","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#stateleaves","p":803},{"i":829,"t":"• stateTree: IncrementalQuinTree Defined in​ core/ts/MaciState.ts:17","s":"stateTree","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#statetree","p":803},{"i":831,"t":"• stateTreeDepth: number Defined in​ core/ts/MaciState.ts:23","s":"stateTreeDepth","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#statetreedepth","p":803},{"i":834,"t":"▸ copy(): MaciState Create a deep copy of the MaciState object. Returns​ MaciState A new instance of the MaciState object with the same properties. Implementation of​ IMaciState.copy Defined in​ core/ts/MaciState.ts:108","s":"copy","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#copy","p":803},{"i":836,"t":"▸ deployNullPoll(): void Deploy a null poll. Returns​ void Implementation of​ IMaciState.deployNullPoll Defined in​ core/ts/MaciState.ts:100","s":"deployNullPoll","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#deploynullpoll","p":803},{"i":838,"t":"▸ deployPoll(pollEndTimestamp, maxValues, treeDepths, messageBatchSize, coordinatorKeypair): number Deploy a new poll with the given parameters. Parameters​ Name Type Description pollEndTimestamp bigint The Unix timestamp at which the poll ends. maxValues MaxValues The maximum number of values for each vote option. treeDepths TreeDepths The depths of the tree. messageBatchSize number The batch size for processing messages. coordinatorKeypair Keypair The keypair of the MACI round coordinator. Returns​ number The index of the newly deployed poll. Implementation of​ IMaciState.deployPoll Defined in​ core/ts/MaciState.ts:73","s":"deployPoll","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#deploypoll","p":803},{"i":840,"t":"▸ equals(m): boolean Check if the MaciState object is equal to another MaciState object. Parameters​ Name Type Description m MaciState The MaciState object to compare. Returns​ boolean True if the two MaciState objects are equal, false otherwise. Implementation of​ IMaciState.equals Defined in​ core/ts/MaciState.ts:122","s":"equals","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#equals","p":803},{"i":842,"t":"▸ signUp(pubKey, initialVoiceCreditBalance, timestamp): number Sign up a user with the given public key, initial voice credit balance, and timestamp. Parameters​ Name Type Description pubKey PubKey The public key of the user. initialVoiceCreditBalance bigint The initial voice credit balance of the user. timestamp bigint The timestamp of the sign-up. Returns​ number The index of the newly signed-up user in the state tree. Implementation of​ IMaciState.signUp Defined in​ core/ts/MaciState.ts:55","s":"signUp","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#signup","p":803},{"i":844,"t":"▸ toJSON(): IJsonMaciState Serialize the MaciState object to a JSON object. Returns​ IJsonMaciState A JSON object representing the MaciState object. Implementation of​ IMaciState.toJSON Defined in​ core/ts/MaciState.ts:150","s":"toJSON","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#tojson","p":803},{"i":846,"t":"▸ fromJSON(json): MaciState Create a new MaciState object from a JSON object. Parameters​ Name Type Description json IJsonMaciState The JSON object representing the MaciState object. Returns​ MaciState A new instance of the MaciState object with the properties from the JSON object. Defined in​ core/ts/MaciState.ts:166","s":"fromJSON","u":"/docs/typedoc/classes/core_ts.MaciState","h":"#fromjson","p":803},{"i":848,"t":"crypto/ts.G1Point Notice A class representing a point on the first group (G1) of the Jubjub curve","s":"Class: G1Point","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"","p":847},{"i":851,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#constructors","p":847},{"i":853,"t":"x y","s":"Properties","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#properties","p":847},{"i":855,"t":"asContractParam equals","s":"Methods","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#methods","p":847},{"i":858,"t":"• new G1Point(x, y): G1Point Create a new instance of G1Point Parameters​ Name Type Description x bigint the x coordinate y bigint the y coordinate Returns​ G1Point Defined in​ crypto/ts/babyjub.ts:22","s":"constructor","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#constructor","p":847},{"i":861,"t":"• x: bigint Defined in​ crypto/ts/babyjub.ts:13","s":"x","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#x","p":847},{"i":863,"t":"• y: bigint Defined in​ crypto/ts/babyjub.ts:15","s":"y","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#y","p":847},{"i":866,"t":"▸ asContractParam(): Object Return the point as a contract param in the form of an object Returns​ Object the point as a contract param Name Type x string y string Defined in​ crypto/ts/babyjub.ts:42","s":"asContractParam","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#ascontractparam","p":847},{"i":868,"t":"▸ equals(pt): boolean Check whether two points are equal Parameters​ Name Type Description pt G1Point the point to compare with Returns​ boolean whether they are equal or not Defined in​ crypto/ts/babyjub.ts:34","s":"equals","u":"/docs/typedoc/classes/crypto_ts.G1Point","h":"#equals","p":847},{"i":870,"t":"crypto/ts.AccQueue An Accumulator Queue which conforms to the implementation in AccQueue.sol. Each enqueue() operation updates a subtree, and a merge() operation combines all subtrees into a main tree. Notice It supports 2 or 5 elements per leaf.","s":"Class: AccQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"","p":869},{"i":873,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#constructors","p":869},{"i":875,"t":"MAX_DEPTH currentSubtreeIndex hashFunc hashLength leafQueue mainRoots nextSRindexToQueue numLeaves smallSRTroot subDepth subHashFunc subRootQueue subRoots subTreesMerged zeroValue zeros","s":"Properties","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#properties","p":869},{"i":877,"t":"calcSRTdepth copy enqueue enqueueOp fill fillOp getRoot getSubRoot hasRoot hash insertSubTree merge mergeDirect mergeSubRoots queueSubRoot","s":"Methods","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#methods","p":869},{"i":880,"t":"• new AccQueue(subDepth, hashLength, zeroValue): AccQueue Create a new instance of AccQueue Parameters​ Name Type Description subDepth number the depth of the subtrees hashLength number the number of leaves per node zeroValue bigint the default value for empty leaves Returns​ AccQueue Defined in​ crypto/ts/AccQueue.ts:77","s":"constructor","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#constructor","p":869},{"i":883,"t":"• Private MAX_DEPTH: number = 32 Defined in​ crypto/ts/AccQueue.ts:18","s":"MAX_DEPTH","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#max_depth","p":869},{"i":885,"t":"• currentSubtreeIndex: number = 0 Defined in​ crypto/ts/AccQueue.ts:31","s":"currentSubtreeIndex","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#currentsubtreeindex","p":869},{"i":887,"t":"• hashFunc: (leaves: bigint[]) => bigint Type declaration​ ▸ (leaves): bigint Parameters​ Name Type leaves bigint[] Returns​ bigint Defined in​ crypto/ts/AccQueue.ts:37","s":"hashFunc","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#hashfunc","p":869},{"i":889,"t":"• hashLength: number Defined in​ crypto/ts/AccQueue.ts:24","s":"hashLength","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#hashlength","p":869},{"i":891,"t":"• leafQueue: Queue Defined in​ crypto/ts/AccQueue.ts:43","s":"leafQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#leafqueue","p":869},{"i":893,"t":"• mainRoots: bigint[] = [] Defined in​ crypto/ts/AccQueue.ts:62","s":"mainRoots","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#mainroots","p":869},{"i":895,"t":"• nextSRindexToQueue: number = 0 Defined in​ crypto/ts/AccQueue.ts:49","s":"nextSRindexToQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#nextsrindextoqueue","p":869},{"i":897,"t":"• numLeaves: number = 0 Defined in​ crypto/ts/AccQueue.ts:40","s":"numLeaves","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#numleaves","p":869},{"i":899,"t":"• smallSRTroot: bigint Defined in​ crypto/ts/AccQueue.ts:51","s":"smallSRTroot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#smallsrtroot","p":869},{"i":901,"t":"• subDepth: number Defined in​ crypto/ts/AccQueue.ts:21","s":"subDepth","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subdepth","p":869},{"i":903,"t":"• subHashFunc: (leaves: bigint[]) => bigint Type declaration​ ▸ (leaves): bigint Parameters​ Name Type leaves bigint[] Returns​ bigint Defined in​ crypto/ts/AccQueue.ts:34","s":"subHashFunc","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subhashfunc","p":869},{"i":905,"t":"• subRootQueue: Queue Defined in​ crypto/ts/AccQueue.ts:53","s":"subRootQueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subrootqueue","p":869},{"i":907,"t":"• subRoots: bigint[] = [] Defined in​ crypto/ts/AccQueue.ts:59","s":"subRoots","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subroots","p":869},{"i":909,"t":"• subTreesMerged: boolean = false Defined in​ crypto/ts/AccQueue.ts:69","s":"subTreesMerged","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#subtreesmerged","p":869},{"i":911,"t":"• zeroValue: bigint Defined in​ crypto/ts/AccQueue.ts:27","s":"zeroValue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#zerovalue","p":869},{"i":913,"t":"• zeros: bigint[] = [] Defined in​ crypto/ts/AccQueue.ts:66","s":"zeros","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#zeros","p":869},{"i":916,"t":"▸ calcSRTdepth(): number Calculate the depth of the smallest possible Merkle tree which fits all Returns​ number the depth of the smallest possible Merkle tree which fits all Defined in​ crypto/ts/AccQueue.ts:283","s":"calcSRTdepth","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#calcsrtdepth","p":869},{"i":918,"t":"▸ copy(): AccQueue Returns​ AccQueue a deep copy of this object Notice Deep-copies this object Defined in​ crypto/ts/AccQueue.ts:512","s":"copy","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#copy","p":869},{"i":920,"t":"▸ enqueue(leaf): number Enqueue a leaf into the current subtree Parameters​ Name Type Description leaf bigint The leaf to insert. Returns​ number The index of the leaf Defined in​ crypto/ts/AccQueue.ts:133","s":"enqueue","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#enqueue","p":869},{"i":922,"t":"▸ enqueueOp(leaf, level): void Private function that performs the actual enqueue operation Parameters​ Name Type Description leaf bigint The leaf to insert level number The level of the subtree Returns​ void Defined in​ crypto/ts/AccQueue.ts:172","s":"enqueueOp","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#enqueueop","p":869},{"i":924,"t":"▸ fill(): void Fill any empty leaves of the last subtree with zeros and store the resulting subroot. Returns​ void Defined in​ crypto/ts/AccQueue.ts:210","s":"fill","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#fill","p":869},{"i":926,"t":"▸ fillOp(level): void Private function that performs the actual fill operation Parameters​ Name Type Description level number The level of the subtree Returns​ void Defined in​ crypto/ts/AccQueue.ts:249","s":"fillOp","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#fillop","p":869},{"i":928,"t":"▸ getRoot(depth): undefined | null | bigint Get the root at a certain depth Parameters​ Name Type Description depth number The depth of the tree Returns​ undefined | null | bigint the root Defined in​ crypto/ts/AccQueue.ts:494","s":"getRoot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#getroot","p":869},{"i":930,"t":"▸ getSubRoot(index): bigint Get the subroot at a given index Parameters​ Name Type Description index number The index of the subroot Returns​ bigint the subroot Defined in​ crypto/ts/AccQueue.ts:124","s":"getSubRoot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#getsubroot","p":869},{"i":932,"t":"▸ hasRoot(depth): boolean Check if the root at a certain depth exists (subtree root) Parameters​ Name Type Description depth number the depth of the tree Returns​ boolean whether the root exists Defined in​ crypto/ts/AccQueue.ts:503","s":"hasRoot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#hasroot","p":869},{"i":934,"t":"▸ hash(leaves): bigint Hash an array of leaves Parameters​ Name Type Description leaves bigint[] The leaves to hash Returns​ bigint the hash value of the leaves Defined in​ crypto/ts/AccQueue.ts:539","s":"hash","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#hash","p":869},{"i":936,"t":"▸ insertSubTree(subRoot): void Insert a subtree into the queue. This is used when the subtree is already computed. Parameters​ Name Type Description subRoot bigint The root of the subtree Returns​ void Defined in​ crypto/ts/AccQueue.ts:299","s":"insertSubTree","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#insertsubtree","p":869},{"i":938,"t":"▸ merge(depth): void Merge all the subroots into a tree of a specified depth. It requires this.mergeSubRoots() to be run first. Parameters​ Name Type depth number Returns​ void Defined in​ crypto/ts/AccQueue.ts:321","s":"merge","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#merge","p":869},{"i":940,"t":"▸ mergeDirect(depth): void Merge all the subroots into a tree of a specified depth. Uses an IncrementalQuinTree instead of the two-step method that AccQueue.sol uses. Parameters​ Name Type depth number Returns​ void Defined in​ crypto/ts/AccQueue.ts:355","s":"mergeDirect","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#mergedirect","p":869},{"i":942,"t":"▸ mergeSubRoots(numSrQueueOps?): void Merge all subroots into the smallest possible Merkle tree which fits them. e.g. if there are 5 subroots and hashLength == 2, the tree depth is 3 since 2 ** 3 = 8 which is the next power of 2. Parameters​ Name Type Default value Description numSrQueueOps number 0 The number of subroots to queue into the SRT Returns​ void Defined in​ crypto/ts/AccQueue.ts:402","s":"mergeSubRoots","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#mergesubroots","p":869},{"i":944,"t":"▸ queueSubRoot(leaf, level, maxDepth): void Queues the leaf (a subroot) into queuedSRTlevels Parameters​ Name Type Description leaf bigint The leaf to insert level number The level of the subtree maxDepth number The maximum depth of the tree Returns​ void Defined in​ crypto/ts/AccQueue.ts:463","s":"queueSubRoot","u":"/docs/typedoc/classes/crypto_ts.AccQueue","h":"#queuesubroot","p":869},{"i":946,"t":"crypto/ts.G2Point Notice A class representing a point on the second group (G2) of the Jubjub curve. This is usually an extension field of the base field of the curve.","s":"Class: G2Point","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"","p":945},{"i":949,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#constructors","p":945},{"i":951,"t":"x y","s":"Properties","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#properties","p":945},{"i":953,"t":"asContractParam checkPointsRange equals","s":"Methods","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#methods","p":945},{"i":956,"t":"• new G2Point(x, y): G2Point Create a new instance of G2Point Parameters​ Name Type Description x bigint[] the x coordinate y bigint[] the y coordinate Returns​ G2Point Defined in​ crypto/ts/babyjub.ts:65","s":"constructor","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#constructor","p":945},{"i":959,"t":"• x: bigint[] Defined in​ crypto/ts/babyjub.ts:56","s":"x","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#x","p":945},{"i":961,"t":"• y: bigint[] Defined in​ crypto/ts/babyjub.ts:58","s":"y","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#y","p":945},{"i":964,"t":"▸ asContractParam(): Object Return the point as a contract param in the form of an object Returns​ Object the point as a contract param Name Type x string[] y string[] Defined in​ crypto/ts/babyjub.ts:86","s":"asContractParam","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#ascontractparam","p":945},{"i":966,"t":"▸ checkPointsRange(x, type): void Check whether the points are in range Parameters​ Name Type Description x bigint[] the x coordinate type \"x\" | \"y\" the type of the coordinate Returns​ void Defined in​ crypto/ts/babyjub.ts:98","s":"checkPointsRange","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#checkpointsrange","p":945},{"i":968,"t":"▸ equals(pt): boolean Check whether two points are equal Parameters​ Name Type Description pt G2Point the point to compare with Returns​ boolean whether they are equal or not Defined in​ crypto/ts/babyjub.ts:78","s":"equals","u":"/docs/typedoc/classes/crypto_ts.G2Point","h":"#equals","p":945},{"i":970,"t":"crypto/ts.IncrementalQuinTree","s":"Class: IncrementalQuinTree","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"","p":969},{"i":973,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#constructors","p":969},{"i":975,"t":"capacity depth equals getChildIndices getParentIndices hashFunc leavesPerNode nextIndex nodes numNodes root serialize zeroValue zeros unserialize verifyMerklePath","s":"Properties","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#properties","p":969},{"i":977,"t":"copy genMerklePath genMerkleSubrootPath getLeaf getNode insert setNode update calcChildIndices calcParentIndices","s":"Methods","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#methods","p":969},{"i":980,"t":"• new IncrementalQuinTree(depth, zeroValue, leavesPerNode, _hashFunc): IncrementalQuinTree Parameters​ Name Type depth number zeroValue bigint leavesPerNode number _hashFunc (leaves: bigint[]) => bigint Returns​ IncrementalQuinTree Defined in​ crypto/ts/@types/optimisedmt.d.ts:134","s":"constructor","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#constructor","p":969},{"i":983,"t":"• capacity: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:132","s":"capacity","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#capacity","p":969},{"i":985,"t":"• depth: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:114","s":"depth","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#depth","p":969},{"i":987,"t":"• equals: (o: IncrementalQuinTree) => boolean Type declaration​ ▸ (o): boolean Parameters​ Name Type o IncrementalQuinTree Returns​ boolean Defined in​ crypto/ts/@types/optimisedmt.d.ts:167","s":"equals","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#equals","p":969},{"i":989,"t":"• Private getChildIndices: any Defined in​ crypto/ts/@types/optimisedmt.d.ts:155","s":"getChildIndices","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#getchildindices","p":969},{"i":991,"t":"• Private getParentIndices: any Defined in​ crypto/ts/@types/optimisedmt.d.ts:159","s":"getParentIndices","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#getparentindices","p":969},{"i":993,"t":"• hashFunc: (leaves: bigint[]) => bigint Type declaration​ ▸ (leaves): bigint Parameters​ Name Type leaves bigint[] Returns​ bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:120","s":"hashFunc","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#hashfunc","p":969},{"i":995,"t":"• leavesPerNode: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:118","s":"leavesPerNode","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#leavespernode","p":969},{"i":997,"t":"• nextIndex: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:122","s":"nextIndex","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#nextindex","p":969},{"i":999,"t":"• nodes: MTNode Defined in​ crypto/ts/@types/optimisedmt.d.ts:128","s":"nodes","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#nodes","p":969},{"i":1001,"t":"• numNodes: number Defined in​ crypto/ts/@types/optimisedmt.d.ts:130","s":"numNodes","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#numnodes","p":969},{"i":1003,"t":"• root: bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:126","s":"root","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#root","p":969},{"i":1005,"t":"• serialize: () => string Type declaration​ ▸ (): string Returns​ string Defined in​ crypto/ts/@types/optimisedmt.d.ts:165","s":"serialize","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#serialize","p":969},{"i":1007,"t":"• zeroValue: bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:116","s":"zeroValue","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#zerovalue","p":969},{"i":1009,"t":"• zeros: bigint[] Defined in​ crypto/ts/@types/optimisedmt.d.ts:124","s":"zeros","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#zeros","p":969},{"i":1011,"t":"▪ Static unserialize: (s: string) => IncrementalQuinTree Type declaration​ ▸ (s): IncrementalQuinTree Parameters​ Name Type s string Returns​ IncrementalQuinTree Defined in​ crypto/ts/@types/optimisedmt.d.ts:169","s":"unserialize","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#unserialize","p":969},{"i":1013,"t":"▪ Static verifyMerklePath: (proof: MerkleProof, hashFunc: (leaves: bigint[]) => bigint) => boolean Type declaration​ ▸ (proof, hashFunc): boolean Parameters​ Name Type proof MerkleProof hashFunc (leaves: bigint[]) => bigint Returns​ boolean Defined in​ crypto/ts/@types/optimisedmt.d.ts:147","s":"verifyMerklePath","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#verifymerklepath","p":969},{"i":1016,"t":"▸ copy(): IncrementalQuinTree Returns​ IncrementalQuinTree Defined in​ crypto/ts/@types/optimisedmt.d.ts:163","s":"copy","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#copy","p":969},{"i":1018,"t":"▸ genMerklePath(index): MerkleProof Parameters​ Name Type index number Returns​ MerkleProof Defined in​ crypto/ts/@types/optimisedmt.d.ts:140","s":"genMerklePath","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#genmerklepath","p":969},{"i":1020,"t":"▸ genMerkleSubrootPath(startIndex, endIndex): MerkleProof Parameters​ Name Type startIndex number endIndex number Returns​ MerkleProof Defined in​ crypto/ts/@types/optimisedmt.d.ts:142","s":"genMerkleSubrootPath","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#genmerklesubrootpath","p":969},{"i":1022,"t":"▸ getLeaf(index): bigint Parameters​ Name Type index number Returns​ bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:149","s":"getLeaf","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#getleaf","p":969},{"i":1024,"t":"▸ getNode(index): bigint Parameters​ Name Type index number Returns​ bigint Defined in​ crypto/ts/@types/optimisedmt.d.ts:151","s":"getNode","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#getnode","p":969},{"i":1026,"t":"▸ insert(value): void Parameters​ Name Type value bigint Returns​ void Defined in​ crypto/ts/@types/optimisedmt.d.ts:136","s":"insert","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#insert","p":969},{"i":1028,"t":"▸ setNode(index, value): void Parameters​ Name Type index number value bigint Returns​ void Defined in​ crypto/ts/@types/optimisedmt.d.ts:153","s":"setNode","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#setnode","p":969},{"i":1030,"t":"▸ update(index, value): void Parameters​ Name Type index number value bigint Returns​ void Defined in​ crypto/ts/@types/optimisedmt.d.ts:138","s":"update","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#update","p":969},{"i":1032,"t":"▸ calcChildIndices(index, leavesPerNode, depth): number[] Parameters​ Name Type index number leavesPerNode number depth number Returns​ number[] Defined in​ crypto/ts/@types/optimisedmt.d.ts:157","s":"calcChildIndices","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#calcchildindices","p":969},{"i":1034,"t":"▸ calcParentIndices(index, leavesPerNode, depth): number[] Parameters​ Name Type index number leavesPerNode number depth number Returns​ number[] Defined in​ crypto/ts/@types/optimisedmt.d.ts:161","s":"calcParentIndices","u":"/docs/typedoc/classes/crypto_ts.IncrementalQuinTree","h":"#calcparentindices","p":969},{"i":1036,"t":"core/ts.Poll A representation of the Poll contract.","s":"Class: Poll","u":"/docs/typedoc/classes/core_ts.Poll","h":"","p":1035},{"i":1038,"t":"IPoll","s":"Implements","u":"/docs/typedoc/classes/core_ts.Poll","h":"#implements","p":1035},{"i":1041,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/core_ts.Poll","h":"#constructors","p":1035},{"i":1043,"t":"MM WW ballotTree ballots batchSizes cbi commands coordinatorKeypair currentMessageBatchIndex emptyBallot emptyBallotHash encPubKeys maciStateRef maxValues messageTree messages numBatchesProcessed numBatchesTallied perVOSpentVoiceCredits pollEndTimestamp pollId preVOSpentVoiceCreditsRootSalts rbi resultRootSalts sbSalts spentVoiceCreditSubtotalSalts stateCopied stateLeaves stateTree stateTreeDepth subsidy subsidySalts tallyResult totalSpentVoiceCredits treeDepths","s":"Properties","u":"/docs/typedoc/classes/core_ts.Poll","h":"#properties","p":1035},{"i":1045,"t":"coefficientCalculation copy copyStateFromMaci equals genPerVOSpentVoiceCreditsCommitment genProcessMessagesCircuitInputsPartial genSpentVoiceCreditSubtotalCommitment hasUnfinishedSubsidyCalculation hasUnprocessedMessages hasUntalliedBallots increaseSubsidyIndex previousSubsidyIndexToString processAllMessages processMessage processMessages publishMessage setCoordinatorKeypair subsidyCalculation subsidyPerBatch tallyVotes toJSON topupMessage fromJSON","s":"Methods","u":"/docs/typedoc/classes/core_ts.Poll","h":"#methods","p":1035},{"i":1048,"t":"• new Poll(pollEndTimestamp, coordinatorKeypair, treeDepths, batchSizes, maxValues, maciStateRef): Poll Constructs a new Poll object. Parameters​ Name Type Description pollEndTimestamp bigint The Unix timestamp at which the poll ends. coordinatorKeypair Keypair The keypair of the coordinator. treeDepths TreeDepths The depths of the trees used in the poll. batchSizes BatchSizes The sizes of the batches used in the poll. maxValues MaxValues The maximum values the MACI circuits can accept. maciStateRef MaciState The reference to the MACI state. Returns​ Poll Defined in​ core/ts/Poll.ts:142","s":"constructor","u":"/docs/typedoc/classes/core_ts.Poll","h":"#constructor","p":1035},{"i":1051,"t":"• MM: number = 50 Defined in​ core/ts/Poll.ts:123","s":"MM","u":"/docs/typedoc/classes/core_ts.Poll","h":"#mm","p":1035},{"i":1053,"t":"• WW: number = 4 Defined in​ core/ts/Poll.ts:125","s":"WW","u":"/docs/typedoc/classes/core_ts.Poll","h":"#ww","p":1035},{"i":1055,"t":"• Optional ballotTree: IncrementalQuinTree Defined in​ core/ts/Poll.ts:72","s":"ballotTree","u":"/docs/typedoc/classes/core_ts.Poll","h":"#ballottree","p":1035},{"i":1057,"t":"• ballots: Ballot[] = [] Defined in​ core/ts/Poll.ts:70","s":"ballots","u":"/docs/typedoc/classes/core_ts.Poll","h":"#ballots","p":1035},{"i":1059,"t":"• batchSizes: BatchSizes Defined in​ core/ts/Poll.ts:61","s":"batchSizes","u":"/docs/typedoc/classes/core_ts.Poll","h":"#batchsizes","p":1035},{"i":1061,"t":"• cbi: number = 0 Defined in​ core/ts/Poll.ts:121","s":"cbi","u":"/docs/typedoc/classes/core_ts.Poll","h":"#cbi","p":1035},{"i":1063,"t":"• commands: ICommand[] = [] Defined in​ core/ts/Poll.ts:78","s":"commands","u":"/docs/typedoc/classes/core_ts.Poll","h":"#commands","p":1035},{"i":1065,"t":"• coordinatorKeypair: Keypair Defined in​ core/ts/Poll.ts:57","s":"coordinatorKeypair","u":"/docs/typedoc/classes/core_ts.Poll","h":"#coordinatorkeypair","p":1035},{"i":1067,"t":"• Optional currentMessageBatchIndex: number Defined in​ core/ts/Poll.ts:91","s":"currentMessageBatchIndex","u":"/docs/typedoc/classes/core_ts.Poll","h":"#currentmessagebatchindex","p":1035},{"i":1069,"t":"• emptyBallot: Ballot Defined in​ core/ts/Poll.ts:129","s":"emptyBallot","u":"/docs/typedoc/classes/core_ts.Poll","h":"#emptyballot","p":1035},{"i":1071,"t":"• Optional emptyBallotHash: bigint Defined in​ core/ts/Poll.ts:131","s":"emptyBallotHash","u":"/docs/typedoc/classes/core_ts.Poll","h":"#emptyballothash","p":1035},{"i":1073,"t":"• encPubKeys: PubKey[] = [] Defined in​ core/ts/Poll.ts:80","s":"encPubKeys","u":"/docs/typedoc/classes/core_ts.Poll","h":"#encpubkeys","p":1035},{"i":1075,"t":"• maciStateRef: MaciState Defined in​ core/ts/Poll.ts:93","s":"maciStateRef","u":"/docs/typedoc/classes/core_ts.Poll","h":"#macistateref","p":1035},{"i":1077,"t":"• maxValues: MaxValues Defined in​ core/ts/Poll.ts:63","s":"maxValues","u":"/docs/typedoc/classes/core_ts.Poll","h":"#maxvalues","p":1035},{"i":1079,"t":"• messageTree: IncrementalQuinTree Defined in​ core/ts/Poll.ts:76","s":"messageTree","u":"/docs/typedoc/classes/core_ts.Poll","h":"#messagetree","p":1035},{"i":1081,"t":"• messages: Message[] = [] Defined in​ core/ts/Poll.ts:74","s":"messages","u":"/docs/typedoc/classes/core_ts.Poll","h":"#messages","p":1035},{"i":1083,"t":"• numBatchesProcessed: number = 0 Defined in​ core/ts/Poll.ts:89","s":"numBatchesProcessed","u":"/docs/typedoc/classes/core_ts.Poll","h":"#numbatchesprocessed","p":1035},{"i":1085,"t":"• numBatchesTallied: number = 0 Defined in​ core/ts/Poll.ts:110","s":"numBatchesTallied","u":"/docs/typedoc/classes/core_ts.Poll","h":"#numbatchestallied","p":1035},{"i":1087,"t":"• perVOSpentVoiceCredits: bigint[] = [] Defined in​ core/ts/Poll.ts:108","s":"perVOSpentVoiceCredits","u":"/docs/typedoc/classes/core_ts.Poll","h":"#pervospentvoicecredits","p":1035},{"i":1089,"t":"• pollEndTimestamp: bigint Defined in​ core/ts/Poll.ts:68","s":"pollEndTimestamp","u":"/docs/typedoc/classes/core_ts.Poll","h":"#pollendtimestamp","p":1035},{"i":1091,"t":"• pollId: number Defined in​ core/ts/Poll.ts:95","s":"pollId","u":"/docs/typedoc/classes/core_ts.Poll","h":"#pollid","p":1035},{"i":1093,"t":"• preVOSpentVoiceCreditsRootSalts: Record = {} Defined in​ core/ts/Poll.ts:101","s":"preVOSpentVoiceCreditsRootSalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#prevospentvoicecreditsrootsalts","p":1035},{"i":1095,"t":"• rbi: number = 0 Defined in​ core/ts/Poll.ts:119","s":"rbi","u":"/docs/typedoc/classes/core_ts.Poll","h":"#rbi","p":1035},{"i":1097,"t":"• resultRootSalts: Record = {} Defined in​ core/ts/Poll.ts:99","s":"resultRootSalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#resultrootsalts","p":1035},{"i":1099,"t":"• sbSalts: Record = {} Defined in​ core/ts/Poll.ts:97","s":"sbSalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#sbsalts","p":1035},{"i":1101,"t":"• spentVoiceCreditSubtotalSalts: Record = {} Defined in​ core/ts/Poll.ts:103","s":"spentVoiceCreditSubtotalSalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#spentvoicecreditsubtotalsalts","p":1035},{"i":1103,"t":"• stateCopied: boolean = false Defined in​ core/ts/Poll.ts:82","s":"stateCopied","u":"/docs/typedoc/classes/core_ts.Poll","h":"#statecopied","p":1035},{"i":1105,"t":"• stateLeaves: StateLeaf[] Defined in​ core/ts/Poll.ts:84","s":"stateLeaves","u":"/docs/typedoc/classes/core_ts.Poll","h":"#stateleaves","p":1035},{"i":1107,"t":"• Optional stateTree: IncrementalQuinTree Defined in​ core/ts/Poll.ts:86","s":"stateTree","u":"/docs/typedoc/classes/core_ts.Poll","h":"#statetree","p":1035},{"i":1109,"t":"• stateTreeDepth: number Defined in​ core/ts/Poll.ts:66","s":"stateTreeDepth","u":"/docs/typedoc/classes/core_ts.Poll","h":"#statetreedepth","p":1035},{"i":1111,"t":"• subsidy: bigint[] = [] Defined in​ core/ts/Poll.ts:115","s":"subsidy","u":"/docs/typedoc/classes/core_ts.Poll","h":"#subsidy","p":1035},{"i":1113,"t":"• subsidySalts: Record = {} Defined in​ core/ts/Poll.ts:117","s":"subsidySalts","u":"/docs/typedoc/classes/core_ts.Poll","h":"#subsidysalts","p":1035},{"i":1115,"t":"• tallyResult: bigint[] = [] Defined in​ core/ts/Poll.ts:106","s":"tallyResult","u":"/docs/typedoc/classes/core_ts.Poll","h":"#tallyresult","p":1035},{"i":1117,"t":"• totalSpentVoiceCredits: bigint Defined in​ core/ts/Poll.ts:112","s":"totalSpentVoiceCredits","u":"/docs/typedoc/classes/core_ts.Poll","h":"#totalspentvoicecredits","p":1035},{"i":1119,"t":"• treeDepths: TreeDepths Defined in​ core/ts/Poll.ts:59","s":"treeDepths","u":"/docs/typedoc/classes/core_ts.Poll","h":"#treedepths","p":1035},{"i":1122,"t":"▸ coefficientCalculation(rowBallot, colBallot): bigint This method calculates the coefficient for a pair of ballots. Parameters​ Name Type Description rowBallot Ballot The ballot in the row. colBallot Ballot The ballot in the column. Returns​ bigint Returns the calculated coefficient. Defined in​ core/ts/Poll.ts:902","s":"coefficientCalculation","u":"/docs/typedoc/classes/core_ts.Poll","h":"#coefficientcalculation","p":1035},{"i":1124,"t":"▸ copy(): Poll Create a deep copy of the Poll object. Returns​ Poll A new instance of the Poll object with the same properties. Implementation of​ IPoll.copy Defined in​ core/ts/Poll.ts:1176","s":"copy","u":"/docs/typedoc/classes/core_ts.Poll","h":"#copy","p":1035},{"i":1126,"t":"▸ copyStateFromMaci(): void Copy the state from the MaciState instance. Returns​ void Defined in​ core/ts/Poll.ts:178","s":"copyStateFromMaci","u":"/docs/typedoc/classes/core_ts.Poll","h":"#copystatefrommaci","p":1035},{"i":1128,"t":"▸ equals(p): boolean Check if the Poll object is equal to another Poll object. Parameters​ Name Type Description p Poll The Poll object to compare. Returns​ boolean True if the two Poll objects are equal, false otherwise. Implementation of​ IPoll.equals Defined in​ core/ts/Poll.ts:1259","s":"equals","u":"/docs/typedoc/classes/core_ts.Poll","h":"#equals","p":1035},{"i":1130,"t":"▸ genPerVOSpentVoiceCreditsCommitment(salt, numBallotsToCount): bigint This method generates a commitment to the spent voice credits per vote option. This is the hash of the Merkle root of the spent voice credits per vote option and a salt, computed as Poseidon([root, _salt]). Parameters​ Name Type Description salt bigint The salt used in the hash function. numBallotsToCount number The number of ballots to count for the calculation. Returns​ bigint Returns the hash of the Merkle root of the spent voice credits per vote option and a salt, computed as Poseidon([root, _salt]). Defined in​ core/ts/Poll.ts:1154","s":"genPerVOSpentVoiceCreditsCommitment","u":"/docs/typedoc/classes/core_ts.Poll","h":"#genpervospentvoicecreditscommitment","p":1035},{"i":1132,"t":"▸ genProcessMessagesCircuitInputsPartial(index): CircuitInputs Generates partial circuit inputs for processing a batch of messages Parameters​ Name Type Description index number The index of the partial batch. Returns​ CircuitInputs stringified partial circuit inputs Defined in​ core/ts/Poll.ts:665","s":"genProcessMessagesCircuitInputsPartial","u":"/docs/typedoc/classes/core_ts.Poll","h":"#genprocessmessagescircuitinputspartial","p":1035},{"i":1134,"t":"▸ genSpentVoiceCreditSubtotalCommitment(salt, numBallotsToCount): bigint This method generates a commitment to the total spent voice credits. This is the hash of the total spent voice credits and a salt, computed as Poseidon([totalCredits, _salt]). Parameters​ Name Type Description salt bigint The salt used in the hash function. numBallotsToCount number The number of ballots to count for the calculation. Returns​ bigint Returns the hash of the total spent voice credits and a salt, computed as Poseidon([totalCredits, _salt]). Defined in​ core/ts/Poll.ts:1130","s":"genSpentVoiceCreditSubtotalCommitment","u":"/docs/typedoc/classes/core_ts.Poll","h":"#genspentvoicecreditsubtotalcommitment","p":1035},{"i":1136,"t":"▸ hasUnfinishedSubsidyCalculation(): boolean This method checks if there are any unfinished subsidy calculations. Returns​ boolean Returns true if the product of the row batch index (rbi) and batch size or the product of column batch index (cbi) and batch size is less than the length of the ballots array, indicating that there are still ballots left to be processed. Otherwise, it returns false. Implementation of​ IPoll.hasUnfinishedSubsidyCalculation Defined in​ core/ts/Poll.ts:783","s":"hasUnfinishedSubsidyCalculation","u":"/docs/typedoc/classes/core_ts.Poll","h":"#hasunfinishedsubsidycalculation","p":1035},{"i":1138,"t":"▸ hasUnprocessedMessages(): boolean This method checks if there are any unprocessed messages in the Poll instance. Returns​ boolean Returns true if the number of processed batches is less than the total number of batches, false otherwise. Implementation of​ IPoll.hasUnprocessedMessages Defined in​ core/ts/Poll.ts:388","s":"hasUnprocessedMessages","u":"/docs/typedoc/classes/core_ts.Poll","h":"#hasunprocessedmessages","p":1035},{"i":1140,"t":"▸ hasUntalliedBallots(): boolean Checks whether there are any untallied ballots. Returns​ boolean Whether there are any untallied ballots Implementation of​ IPoll.hasUntalliedBallots Defined in​ core/ts/Poll.ts:774","s":"hasUntalliedBallots","u":"/docs/typedoc/classes/core_ts.Poll","h":"#hasuntalliedballots","p":1035},{"i":1142,"t":"▸ increaseSubsidyIndex(): void It increases the index for the subsidy calculation. Returns​ void Defined in​ core/ts/Poll.ts:857","s":"increaseSubsidyIndex","u":"/docs/typedoc/classes/core_ts.Poll","h":"#increasesubsidyindex","p":1035},{"i":1144,"t":"▸ previousSubsidyIndexToString(): string This method converts the previous subsidy index to a string. Returns​ string Returns a string representation of the previous subsidy index. The string is in the format \"rbi-cbi\", where rbi and cbi are the previous row batch index and column batch index respectively. Defined in​ core/ts/Poll.ts:874","s":"previousSubsidyIndexToString","u":"/docs/typedoc/classes/core_ts.Poll","h":"#previoussubsidyindextostring","p":1035},{"i":1146,"t":"▸ processAllMessages(): Object Process all messages. This function does not update the ballots or state leaves; rather, it copies and then updates them. This makes it possible to test the result of multiple processMessage() invocations. Returns​ Object The state leaves and ballots of the poll Name Type ballots Ballot[] stateLeaves StateLeaf[] Implementation of​ IPoll.processAllMessages Defined in​ core/ts/Poll.ts:758","s":"processAllMessages","u":"/docs/typedoc/classes/core_ts.Poll","h":"#processallmessages","p":1035},{"i":1148,"t":"▸ processMessage(message, encPubKey): IProcessMessagesOutput Process one message. Parameters​ Name Type Description message Message The message to process. encPubKey PubKey The public key associated with the encryption private key. Returns​ IProcessMessagesOutput A number of variables which will be used in the zk-SNARK circuit. Defined in​ core/ts/Poll.ts:205","s":"processMessage","u":"/docs/typedoc/classes/core_ts.Poll","h":"#processmessage","p":1035},{"i":1150,"t":"▸ processMessages(pollId): IProcessMessagesCircuitInputs Process _batchSize messages starting from the saved index. This function will process messages even if the number of messages is not an exact multiple of _batchSize. e.g. if there are 10 messages, index is 8, and _batchSize is 4, this function will only process the last two messages in this.messages, and finally update the zeroth state leaf. Note that this function will only process as many state leaves as there are ballots to prevent accidental inclusion of a new user after this poll has concluded. Parameters​ Name Type Description pollId number The ID of the poll associated with the messages to process Returns​ IProcessMessagesCircuitInputs stringified circuit inputs Implementation of​ IPoll.processMessages Defined in​ core/ts/Poll.ts:413","s":"processMessages","u":"/docs/typedoc/classes/core_ts.Poll","h":"#processmessages","p":1035},{"i":1152,"t":"▸ publishMessage(message, encPubKey): void Inserts a Message and the corresponding public key used to generate the ECDH shared key which was used to encrypt said message. Parameters​ Name Type Description message Message The message to insert encPubKey PubKey The public key used to encrypt the message Returns​ void Implementation of​ IPoll.publishMessage Defined in​ core/ts/Poll.ts:349","s":"publishMessage","u":"/docs/typedoc/classes/core_ts.Poll","h":"#publishmessage","p":1035},{"i":1154,"t":"▸ setCoordinatorKeypair(serializedPrivateKey): void Set the coordinator's keypair Parameters​ Name Type Description serializedPrivateKey string the serialized private key Returns​ void Implementation of​ IPoll.setCoordinatorKeypair Defined in​ core/ts/Poll.ts:1366","s":"setCoordinatorKeypair","u":"/docs/typedoc/classes/core_ts.Poll","h":"#setcoordinatorkeypair","p":1035},{"i":1156,"t":"▸ subsidyCalculation(rowStartIndex, colStartIndex): Ballot[][] This method calculates the subsidy for a batch of ballots. Parameters​ Name Type Description rowStartIndex number The starting index for the row ballots. colStartIndex number The starting index for the column ballots. Returns​ Ballot[][] Returns a 2D array of ballots. The first array contains the row ballots and the second array contains the column ballots. Defined in​ core/ts/Poll.ts:917","s":"subsidyCalculation","u":"/docs/typedoc/classes/core_ts.Poll","h":"#subsidycalculation","p":1035},{"i":1158,"t":"▸ subsidyPerBatch(): ISubsidyCircuitInputs This method calculates the subsidy per batch. Returns​ ISubsidyCircuitInputs Returns an array of big integers which represent the circuit inputs for the subsidy calculation. Implementation of​ IPoll.subsidyPerBatch Defined in​ core/ts/Poll.ts:792","s":"subsidyPerBatch","u":"/docs/typedoc/classes/core_ts.Poll","h":"#subsidyperbatch","p":1035},{"i":1160,"t":"▸ tallyVotes(): ITallyCircuitInputs This method tallies a ballots and updates the tally results. Returns​ ITallyCircuitInputs the circuit inputs for the TallyVotes circuit. Implementation of​ IPoll.tallyVotes Defined in​ core/ts/Poll.ts:956","s":"tallyVotes","u":"/docs/typedoc/classes/core_ts.Poll","h":"#tallyvotes","p":1035},{"i":1162,"t":"▸ toJSON(): IJsonPoll Serialize the Poll object to a JSON object Returns​ IJsonPoll a JSON object Implementation of​ IPoll.toJSON Defined in​ core/ts/Poll.ts:1294","s":"toJSON","u":"/docs/typedoc/classes/core_ts.Poll","h":"#tojson","p":1035},{"i":1164,"t":"▸ topupMessage(message): void Top up the voice credit balance of a user. Parameters​ Name Type Description message Message The message to top up the voice credit balance Returns​ void Implementation of​ IPoll.topupMessage Defined in​ core/ts/Poll.ts:319","s":"topupMessage","u":"/docs/typedoc/classes/core_ts.Poll","h":"#topupmessage","p":1035},{"i":1166,"t":"▸ fromJSON(json, maciState): Poll Deserialize a json object into a Poll instance Parameters​ Name Type Description json IJsonPoll the json object to deserialize maciState MaciState the reference to the MaciState Class Returns​ Poll a new Poll instance Defined in​ core/ts/Poll.ts:1317","s":"fromJSON","u":"/docs/typedoc/classes/core_ts.Poll","h":"#fromjson","p":1035},{"i":1168,"t":"domainobjs/ts.Ballot A Ballot represents a User's votes in a Poll, as well as their next valid nonce.","s":"Class: Ballot","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"","p":1167},{"i":1171,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#constructors","p":1167},{"i":1173,"t":"nonce voteOptionTreeDepth votes","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#properties","p":1167},{"i":1175,"t":"asArray asCircuitInputs copy equals hash toJSON fromJSON genBlankBallot genRandomBallot","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#methods","p":1167},{"i":1178,"t":"• new Ballot(_numVoteOptions, _voteOptionTreeDepth): Ballot Create a new Ballot instance Parameters​ Name Type Description _numVoteOptions number How many vote options are available in the poll _voteOptionTreeDepth number The depth of the merkle tree holding the vote options Returns​ Ballot Defined in​ domainobjs/ts/ballot.ts:23","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#constructor","p":1167},{"i":1181,"t":"• nonce: bigint Defined in​ domainobjs/ts/ballot.ts:14","s":"nonce","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#nonce","p":1167},{"i":1183,"t":"• voteOptionTreeDepth: number Defined in​ domainobjs/ts/ballot.ts:16","s":"voteOptionTreeDepth","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#voteoptiontreedepth","p":1167},{"i":1185,"t":"• votes: bigint[] = [] Defined in​ domainobjs/ts/ballot.ts:12","s":"votes","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#votes","p":1167},{"i":1188,"t":"▸ asArray(): bigint[] Convert in a an array of bigints Returns​ bigint[] the ballot as a bigint array Notice this is the nonce and the root of the vote option tree Defined in​ domainobjs/ts/ballot.ts:52","s":"asArray","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#asarray","p":1167},{"i":1190,"t":"▸ asCircuitInputs(): bigint[] Convert in a format suitable for the circuit Returns​ bigint[] the ballot as a BigInt array Defined in​ domainobjs/ts/ballot.ts:45","s":"asCircuitInputs","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#ascircuitinputs","p":1167},{"i":1192,"t":"▸ copy(): Ballot Create a deep clone of this Ballot Returns​ Ballot a copy of the ballot Defined in​ domainobjs/ts/ballot.ts:68","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#copy","p":1167},{"i":1194,"t":"▸ equals(b): boolean Check if two ballots are equal (same votes and same nonce) Parameters​ Name Type Description b Ballot The ballot to compare with Returns​ boolean whether the two ballots are equal Defined in​ domainobjs/ts/ballot.ts:81","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#equals","p":1167},{"i":1196,"t":"▸ hash(): bigint Generate an hash of this ballot Returns​ bigint The hash of the ballot Defined in​ domainobjs/ts/ballot.ts:36","s":"hash","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#hash","p":1167},{"i":1198,"t":"▸ toJSON(): IJsonBallot Serialize to a JSON object Returns​ IJsonBallot Defined in​ domainobjs/ts/ballot.ts:112","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#tojson","p":1167},{"i":1200,"t":"▸ fromJSON(json): Ballot Deserialize into a Ballot instance Parameters​ Name Type Description json IJsonBallot the json representation Returns​ Ballot the deserialized object as a Ballot instance Defined in​ domainobjs/ts/ballot.ts:125","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#fromjson","p":1167},{"i":1202,"t":"▸ genBlankBallot(numVoteOptions, voteOptionTreeDepth): Ballot Generate a blank ballot Parameters​ Name Type Description numVoteOptions number How many vote options are available voteOptionTreeDepth number How deep is the merkle tree holding the vote options Returns​ Ballot a Blank Ballot object Defined in​ domainobjs/ts/ballot.ts:104","s":"genBlankBallot","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#genblankballot","p":1167},{"i":1204,"t":"▸ genRandomBallot(numVoteOptions, voteOptionTreeDepth): Ballot Generate a random ballot Parameters​ Name Type Description numVoteOptions number How many vote options are available voteOptionTreeDepth number How deep is the merkle tree holding the vote options Returns​ Ballot a random Ballot Defined in​ domainobjs/ts/ballot.ts:92","s":"genRandomBallot","u":"/docs/typedoc/classes/domainobjs_ts.Ballot","h":"#genrandomballot","p":1167},{"i":1206,"t":"domainobjs/ts.Keypair Notice A KeyPair is a pair of public and private keys This is a MACI keypair, which is not to be confused with an Ethereum public and private keypair. A MACI keypair is comprised of a MACI public key and a MACI private key","s":"Class: Keypair","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"","p":1205},{"i":1209,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#constructors","p":1205},{"i":1211,"t":"privKey pubKey","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#properties","p":1205},{"i":1213,"t":"copy equals toJSON fromJSON genEcdhSharedKey","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#methods","p":1205},{"i":1216,"t":"• new Keypair(privKey?): Keypair Create a new instance of a Keypair Parameters​ Name Type Description privKey? PrivKey the private key (optional) Returns​ Keypair Notice if no privKey is passed, it will automatically generate a new private key Defined in​ domainobjs/ts/keyPair.ts:26","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#constructor","p":1205},{"i":1219,"t":"• privKey: PrivKey Defined in​ domainobjs/ts/keyPair.ts:17","s":"privKey","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#privkey","p":1205},{"i":1221,"t":"• pubKey: PubKey Defined in​ domainobjs/ts/keyPair.ts:19","s":"pubKey","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#pubkey","p":1205},{"i":1224,"t":"▸ copy(): Keypair Create a deep clone of this Keypair Returns​ Keypair a copy of the Keypair Defined in​ domainobjs/ts/keyPair.ts:41","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#copy","p":1205},{"i":1226,"t":"▸ equals(keypair): boolean Check whether two Keypairs are equal Parameters​ Name Type Description keypair Keypair the keypair to compare with Returns​ boolean whether they are equal or not Defined in​ domainobjs/ts/keyPair.ts:58","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#equals","p":1205},{"i":1228,"t":"▸ toJSON(): IJsonKeyPair Serialize into a JSON object Returns​ IJsonKeyPair Defined in​ domainobjs/ts/keyPair.ts:75","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#tojson","p":1205},{"i":1230,"t":"▸ fromJSON(json): Keypair Deserialize into a Keypair instance Parameters​ Name Type json IJsonKeyPair Returns​ Keypair a keypair instance Defined in​ domainobjs/ts/keyPair.ts:87","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#fromjson","p":1205},{"i":1232,"t":"▸ genEcdhSharedKey(privKey, pubKey): EcdhSharedKey Generate a shared key Parameters​ Name Type privKey PrivKey pubKey PubKey Returns​ EcdhSharedKey Defined in​ domainobjs/ts/keyPair.ts:49","s":"genEcdhSharedKey","u":"/docs/typedoc/classes/domainobjs_ts.Keypair","h":"#genecdhsharedkey","p":1205},{"i":1234,"t":"domainobjs/ts.Message Notice An encrypted command and signature.","s":"Class: Message","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"","p":1233},{"i":1237,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#constructors","p":1233},{"i":1239,"t":"data msgType DATA_LENGTH","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#properties","p":1233},{"i":1241,"t":"asArray asCircuitInputs asContractParam copy equals hash toJSON fromJSON","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#methods","p":1233},{"i":1244,"t":"• new Message(msgType, data): Message Create a new instance of a Message Parameters​ Name Type Description msgType bigint the type of the message data bigint[] the data of the message Returns​ Message Defined in​ domainobjs/ts/message.ts:23","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#constructor","p":1233},{"i":1247,"t":"• data: bigint[] Defined in​ domainobjs/ts/message.ts:14","s":"data","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#data","p":1233},{"i":1249,"t":"• msgType: bigint Defined in​ domainobjs/ts/message.ts:12","s":"msgType","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#msgtype","p":1233},{"i":1251,"t":"▪ Static DATA_LENGTH: number = 10 Defined in​ domainobjs/ts/message.ts:16","s":"DATA_LENGTH","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#data_length","p":1233},{"i":1254,"t":"▸ asArray(): bigint[] Return the message as an array of bigints Returns​ bigint[] the message as an array of bigints Defined in​ domainobjs/ts/message.ts:33","s":"asArray","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#asarray","p":1233},{"i":1256,"t":"▸ asCircuitInputs(): bigint[] Return the message as a circuit input Returns​ bigint[] the message as a circuit input Defined in​ domainobjs/ts/message.ts:48","s":"asCircuitInputs","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#ascircuitinputs","p":1233},{"i":1258,"t":"▸ asContractParam(): IMessageContractParams Return the message as a contract param Returns​ IMessageContractParams the message as a contract param Defined in​ domainobjs/ts/message.ts:39","s":"asContractParam","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#ascontractparam","p":1233},{"i":1260,"t":"▸ copy(): Message Create a copy of the message Returns​ Message a copy of the message Defined in​ domainobjs/ts/message.ts:61","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#copy","p":1233},{"i":1262,"t":"▸ equals(m): boolean Check if two messages are equal Parameters​ Name Type Description m Message the message to compare with Returns​ boolean the result of the comparison Defined in​ domainobjs/ts/message.ts:72","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#equals","p":1233},{"i":1264,"t":"▸ hash(encPubKey): bigint Hash the message data and a public key Parameters​ Name Type Description encPubKey PubKey the public key that is used to encrypt this message Returns​ bigint the hash of the message data and the public key Defined in​ domainobjs/ts/message.ts:55","s":"hash","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#hash","p":1233},{"i":1266,"t":"▸ toJSON(): IMessageContractParams Serialize to a JSON object Returns​ IMessageContractParams Defined in​ domainobjs/ts/message.ts:86","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#tojson","p":1233},{"i":1268,"t":"▸ fromJSON(json): Message Deserialize into a Message instance Parameters​ Name Type Description json IMessageContractParams the json representation Returns​ Message the deserialized object as a Message instance Defined in​ domainobjs/ts/message.ts:95","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.Message","h":"#fromjson","p":1233},{"i":1270,"t":"domainobjs/ts.PCommand Notice Unencrypted data whose fields include the user's public key, vote etc. This represents a Vote command.","s":"Class: PCommand","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"","p":1269},{"i":1272,"t":"ICommand","s":"Implements","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#implements","p":1269},{"i":1275,"t":"constructor","s":"Constructors","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#constructors","p":1269},{"i":1277,"t":"cmdType newPubKey newVoteWeight nonce pollId salt stateIndex voteOptionIndex","s":"Properties","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#properties","p":1269},{"i":1279,"t":"asArray asCircuitInputs copy encrypt equals hash sign toJSON verifySignature decrypt fromJSON","s":"Methods","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#methods","p":1269},{"i":1282,"t":"• new PCommand(stateIndex, newPubKey, voteOptionIndex, newVoteWeight, nonce, pollId, salt?): PCommand Create a new PCommand Parameters​ Name Type Description stateIndex bigint the state index of the user newPubKey PubKey the new public key of the user voteOptionIndex bigint the index of the vote option newVoteWeight bigint the new vote weight of the user nonce bigint the nonce of the message pollId bigint the poll ID salt bigint the salt of the message Returns​ PCommand Defined in​ domainobjs/ts/commands/PCommand.ts:58","s":"constructor","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#constructor","p":1269},{"i":1285,"t":"• cmdType: bigint Implementation of​ ICommand.cmdType Defined in​ domainobjs/ts/commands/PCommand.ts:32","s":"cmdType","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#cmdtype","p":1269},{"i":1287,"t":"• newPubKey: PubKey Defined in​ domainobjs/ts/commands/PCommand.ts:36","s":"newPubKey","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#newpubkey","p":1269},{"i":1289,"t":"• newVoteWeight: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:40","s":"newVoteWeight","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#newvoteweight","p":1269},{"i":1291,"t":"• nonce: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:42","s":"nonce","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#nonce","p":1269},{"i":1293,"t":"• pollId: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:44","s":"pollId","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#pollid","p":1269},{"i":1295,"t":"• salt: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:46","s":"salt","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#salt","p":1269},{"i":1297,"t":"• stateIndex: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:34","s":"stateIndex","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#stateindex","p":1269},{"i":1299,"t":"• voteOptionIndex: bigint Defined in​ domainobjs/ts/commands/PCommand.ts:38","s":"voteOptionIndex","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#voteoptionindex","p":1269},{"i":1302,"t":"▸ asArray(): bigint[] Returns​ bigint[] bigint[] - the command as an array Notice Returns this Command as an array. Note that 5 of the Command's fields are packed into a single 250-bit value. This allows Messages to be smaller and thereby save gas when the user publishes a message. Defined in​ domainobjs/ts/commands/PCommand.ts:106","s":"asArray","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#asarray","p":1269},{"i":1304,"t":"▸ asCircuitInputs(): bigint[] Returns​ bigint[] Defined in​ domainobjs/ts/commands/PCommand.ts:122","s":"asCircuitInputs","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#ascircuitinputs","p":1269},{"i":1306,"t":"▸ copy(): T Create a deep clone of this PCommand Type parameters​ Name Type T extends PCommand Returns​ T a copy of the PCommand Implementation of​ ICommand.copy Defined in​ domainobjs/ts/commands/PCommand.ts:89","s":"copy","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#copy","p":1269},{"i":1308,"t":"▸ encrypt(signature, sharedKey): Message Parameters​ Name Type signature Signature sharedKey EcdhSharedKey Returns​ Message Notice Encrypts this command along with a signature to produce a Message. To save gas, we can constrain the following values to 50 bits and pack them into a 250-bit value: 0. state index 3. vote option index 4. new vote weight 5. nonce 6. poll ID Defined in​ domainobjs/ts/commands/PCommand.ts:161","s":"encrypt","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#encrypt","p":1269},{"i":1310,"t":"▸ equals(command): boolean Parameters​ Name Type command PCommand Returns​ boolean Implementation of​ ICommand.equals Defined in​ domainobjs/ts/commands/PCommand.ts:127","s":"equals","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#equals","p":1269},{"i":1312,"t":"▸ hash(): bigint Returns​ bigint Defined in​ domainobjs/ts/commands/PCommand.ts:136","s":"hash","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#hash","p":1269},{"i":1314,"t":"▸ sign(privKey): Signature Parameters​ Name Type privKey PrivKey Returns​ Signature Notice Signs this command and returns a Signature. Defined in​ domainobjs/ts/commands/PCommand.ts:141","s":"sign","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#sign","p":1269},{"i":1316,"t":"▸ toJSON(): IJsonPCommand Serialize into a JSON object Returns​ IJsonPCommand Implementation of​ ICommand.toJSON Defined in​ domainobjs/ts/commands/PCommand.ts:220","s":"toJSON","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#tojson","p":1269},{"i":1318,"t":"▸ verifySignature(signature, pubKey): boolean Parameters​ Name Type signature Signature pubKey PubKey Returns​ boolean Notice Returns true if the given signature is a correct signature of this command and signed by the private key associated with the given public key. Defined in​ domainobjs/ts/commands/PCommand.ts:148","s":"verifySignature","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#verifysignature","p":1269},{"i":1320,"t":"▸ decrypt(message, sharedKey): IDecryptMessage Decrypts a Message to produce a Command. Parameters​ Name Type Description message Message the message to decrypt sharedKey EcdhSharedKey the shared key to use for decryption Returns​ IDecryptMessage Defined in​ domainobjs/ts/commands/PCommand.ts:178","s":"decrypt","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#decrypt","p":1269},{"i":1322,"t":"▸ fromJSON(json): PCommand Deserialize into a PCommand instance Parameters​ Name Type json IJsonPCommand Returns​ PCommand a PComamnd instance Defined in​ domainobjs/ts/commands/PCommand.ts:238","s":"fromJSON","u":"/docs/typedoc/classes/domainobjs_ts.PCommand","h":"#fromjson","p":1269},{"i":1324,"t":"Welcome to the MACI blog! This is where we will post updates on the project, including new releases, new features, and other news.","s":"Welcome to MACI","u":"/blog/welcome","h":"","p":1323},{"i":1326,"t":"MACI Product Roadmap This document aims to outline the 2024 MACI team & product roadmap. This public roadmap is part of our core team's efforts to make our work more accessible and to foster more collaboration from our open source community. We plan to re-assess & iterate on our roadmap over time, and will update this document when we do. info Our roadmap is still under active discussion - please join the conversation in our GitHub discussion if you have feedback! Team description​ The MACI core team is a small collaborative engineering team building various projects within Privacy & Scaling Explorations (PSE). Our sustained focus is on MACI: an on-chain voting protocol that provides greatly increased collusion resistance & privacy. We also allocate a significant portion of our time to support the practical adoption of this technology by supporting community leaders to run democratic governance and public funding initiatives, like Quadratic Voting (QV) & Quadratic Funding (QF) grant rounds. MACI mission & vision​ MACI (Minimal Anti-Collusion Infrastructure) is a public good & a potential core piece of infrastructure for many Ethereum-based applications to support privacy-protecting on-chain governance. Using MACI, individual votes are private but final results are public, so no voter can reveal how they voted yet voting results are verifiable with cryptographic proofs to prevent censorship, bribery, collusion, and other forms of manipulation common in public polling processes. Long term, the MACI team’s vision is to build the most secure e-voting solution in the world. Short term, our vision is to empower developers to build with MACI to create collusion resistant & privacy-protecting voting applications, like quadratic funding platforms & DAO governance tools. Our goal is to provide an out-of-the-box solution for developers to quickly integrate into their applications & deploy. MACI aims to handle the voting infrastructure so you can focus on building the logic specific to your application. High-level MACI ecosystem goals​ 2021: MACI integrated by an ecosystem project (✅, clr.fund) 2023: MACI integrated by a PSE project (✅, QF) 2024: MACI integrated by an additional external project 2025: MACI used by multiple DAOs for governance applications & QF integrations 2028: MACI used in smaller municipal elections (counties, provinces, etc) 2030: MACI used in national elections High-level MACI development goals​ 2021: release MACI v1.0 (✅) 2023: build technical feasibility for 10K concurrent voters on the platform (✅) 2024 Q1: release MACI v1.2, with revamped documentation & educational resource 2026: build technical feasibility for 100K concurrent voters on the platform 2028: build technical feasibility for 1M concurrent voters on the platform 2024 workstreams To achieve our mission, we’re focused on 4 major workstreams that comprise our roadmap. 1) MACI Developer Experience (DX)​ ~50% of team’s total bandwidth We believe that MACI is only useful to the extent that people use MACI & build on MACI. Despite the power of MACI, not a single project has yet integrated MACI v1.x in a production environment. We view this as a failure, and we want to fix this. The goal of this workstream is to make MACI as easy to understand and easy to integrate as possible. Initiatives within this workstream:​ Implement & release a MACI v1.2 (#856) Refactor the codebase for improved quality, readability & modularity Add code comments (with TypeDoc & NatSpec) to improve productivity Improve tooling (e.g. cross-platform support) for ease of integration & performance Improve/create documentation for developer onboarding & education Revamp documentation stack (via Docusaurus) with versioning & additional resources Voter & coordinator guides to understand full poll lifecycle Build app templates & tutorials that can serve as reference implementations References MACI v1.2 Refactoring Plan MACI development team sprint board MACI v1.1.1 refactor milestone 2) MACI Community Engagement​ ~15% of team’s total bandwidth We want to proactively support adoption of MACI. We’ll create an open source community where integrations & contributions are actively encouraged! This workstream relates closely to improving DX but focuses on areas that will require active maintenance, support & engagement from our team vs. improving code, documentation & educational resources that will be available online 24/7/365. The hope here is that close interactions with integration developers & Ethereum community members will help us gather insightful user feedback so that we iterate faster to improve MACI as a product. We’ll be rolling out an agile scrum development workflow that should allow us to rapidly respond to input from the community to guide our roadmap & product direction. Initiatives within this workstream:​ Allocate team bandwidth to be available to respond to the community Support MACI integrations (starting with clr.fund v1.x integration) Revamp GitHub repo maintenance (MACI GH processes) Establish & respond to public channels (Discord, Twitter) Proactively engage with the ecosystem to identify collaboration opportunities (conference talks, hackathon bounties, social media) Update our development processes to quickly react to user needs & input 3) Quadratic Funding Experiments​ ~30% of team’s total bandwidth We’re building technical infrastructure, operational expertise & a network of communities to create a scalable way to enable community organizers to run QF rounds. The mission of our QF project has been to serve as a reference implementation on how to integrate MACI as well as support the practical adoption of this community-funding technology. Read more about our QF initiatives here. 2024 goal​ Help run 12 QF/QV rounds Initiatives within this workstream:​ Build an evaluation framework of QF rounds, to increase our sophistication around how we measure success Landscape analysis of QF & capital-allocation projects to better understand how our efforts fit in within the broader ecosystem Update & expand our QF website, with public launch to generate inbound interest Explore community collaboration opportunities (running QF rounds) Exploring project collaboration opportunities (supporting MACI/QF integrations) References GitHub Website Future R&D​ While not prioritized as an upcoming workstream, we think it’s worth calling out important areas of research & development that we’re excited to work on in the future: MACI Coordinator Service​ The primary responsibility of the Coordinator Service will be to: offload and automate the tasks performed by the human coordinator minimize proving time by parallelizing SNARK proof generation and making MACI easier to adopt GitHub repo QF stack​ To serve as a reference implementation on how to integrate MACI as well as support the practical adoption of this community-funding technology. Improvements Support QF (as of now only supports QV functionality) Make it easier for operators to run rounds Make it easier for end users to use GitHub repo MACI improvements​ Unconditional Voter Privacy (e.g. ElGamal Key Change Mechanism) Scaling explorations, like SNARK Folding Schemes (e.g. Nova integration) Different matching mechanisms (e.g. Group Wise Matching in Quadratic Funding) Gas-less MACI for voters Gas efficiency Feedback​ Questions? Concerns? Ideas? We’d love to hear from you! Feel free to create an issue on our GitHub or reach out to our team in the PSE Discord (#maci channel). Team description MACI mission & vision High-level MACI ecosystem goals High-level MACI development goals 1) MACI Developer Experience (DX) Initiatives within this workstream: 2) MACI Community Engagement Initiatives within this workstream: 3) Quadratic Funding Experiments 2024 goal Initiatives within this workstream: Future R&D MACI Coordinator Service QF stack MACI improvements Feedback","s":"MACI Product Roadmap","u":"/roadmap","h":"","p":1325},{"i":1330,"t":"Audit by HashCloak 2022/09 report Audit by HashCloak 2021/09 report","s":"Links","u":"/docs/audit","h":"#links","p":1328},{"i":1332,"t":"In the summer of 2022, MACI v1 was audited by HashCloak. The audit covered both the zk-SNARK circuits and the Solidity smart contracts. This audit revealed a number of high severity issues which have been remediated by the MACI development team. We will be looking at those in details in the following sections.","s":"HashCloak audit 2022","u":"/docs/audit","h":"#hashcloak-audit-2022","p":1328},{"i":1334,"t":"This issue could have allowed a malicious coordinator to change the MACI state arbitrarily, for instance by tampering with the voice credits and the voting public key of any user. In more details, the processMessages.circom circuit, did not fully verify that after a state update, the new state was the result of executing an arbitrary number of user messages on the previous state. topupStateLeaves and topupStateLeavesPathElements were never verified against the current state, and topupStateIndexes and topupAmounts were not verified against the message root. This was rectified with commit 6df6a4054da926b07f35c5befab4f1f8af33dcc6","s":"Data is not fully verified during a state update","u":"/docs/audit","h":"#data-is-not-fully-verified-during-a-state-update","p":1328},{"i":1336,"t":"The provided TopupCredit.sol contract implemented unprotected airdrop and airdropTo functions, which could have allowed anyone to receive unlimited voice credits. While this contract was provided as a template, the issue has been rectified by adding the onlyOwner modifier to these two functions. function airdropTo(address account, uint256 amount) public onlyOwner { require(amount < MAXIMUM_AIRDROP_AMOUNT); _mint(account, amount); } function airdrop(uint256 amount) public onlyOwner { require(amount < MAXIMUM_AIRDROP_AMOUNT, \"amount exceed maximum limit\"); _mint(msg.sender, amount); }","s":"Token for top-up is a free resource","u":"/docs/audit","h":"#token-for-top-up-is-a-free-resource","p":1328},{"i":1338,"t":"This issue within the float.circom circuit could have resulted in an overflow on the IntegerDivision template. This stemmed from the lack of validation of input size, as well as not preventing a division by zero. Furthemore, it was pointed out that using assert in circuits did not contribute to constraints verification, and could have been bypassed by a malicious coordinator. The issue was rectified with commit efd4617724e956d2566062c6fe882e1d45cba7c4","s":"Integer overflow problem and improper bit length restriction","u":"/docs/audit","h":"#integer-overflow-problem-and-improper-bit-length-restriction","p":1328},{"i":1340,"t":"MACI uses a message queue (a quinary merkle tree) to store all the messages to be processed for a single poll. When deploying a new poll, a corresponding message queue contract is deployed as well, however this was never initialized with a zero value. Should the queue never be initialized with the zero value, a malicious user could submit a message to initialize the queue with a value they know how to decrypt, which however would take a very long time to generate a proof for. This could result in a denial of service attack against the coordinator. The code was fixed by enqueuing a message containing the zero value NOTHING_UP_MY_SLEEVE which is the result of: keccak256(\"Maci\") % p Translated into code, an init function was included in the Poll contract, with the following enqueuing of the placeholder leaf: // init messageAq here by inserting placeholderLeaf uint256[2] memory dat; dat[0] = NOTHING_UP_MY_SLEEVE; dat[1] = 0; (Message memory _message, PubKey memory _padKey, uint256 placeholderLeaf) = padAndHashMessage(dat, 1); extContracts.messageAq.enqueue(placeholderLeaf);","s":"MessageQueue in PollFactory is uninitialized","u":"/docs/audit","h":"#messagequeue-in-pollfactory-is-uninitialized","p":1328},{"i":1342,"t":"The rest of the issues were either low risk, informational or general optimizations. As an example, there were certain functions which did not enforce the checks-effets-interaction pattern, which could potentially have led to reentrancy attacks. While most of these have been fully remediated, the deployPoll function within MACI is not currently enforcing the pattern when deploying a new poll contract using the PollFactory factory contract. function deployPoll( uint256 _duration, MaxValues memory _maxValues, TreeDepths memory _treeDepths, PubKey memory _coordinatorPubKey ) public afterInit { uint256 pollId = nextPollId; [..snip] Poll p = pollFactory.deploy( _duration, _maxValues, _treeDepths, batchSizes, _coordinatorPubKey, vkRegistry, this, topupCredit, owner() ); polls[pollId] = p; emit DeployPoll(pollId, address(p), _coordinatorPubKey); } As seen above, an external call is made, before updating the state with the new poll. The issue is tracked here and only left open as the code does not enforce best practices, however it does not pose any immediate risk. The rest of the issues were successfully fixed and reflected in the v1.1.1. For the full report, please refer to the audit folder inside the root of the repository.","s":"Additional issues and improvements","u":"/docs/audit","h":"#additional-issues-and-improvements","p":1328},{"i":1344,"t":"In March 2023, Veridise responsibly disclosed a number of issues to the MACI team, which were identified using their new tool for catching ZK circuit bugs. Out of five issues disclosed, only three were relevant and have been since fixed by the MACI team. The other two issues were disregarded as they were present in older version of code which is not in use anymore. We would like to thank you the Veridise team for their effort in keeping open source projects safe. Please note that at this time the fixed code is only present in the dev branch. This will be merged to the main branch in the next minor update.","s":"Veridise disclosure 2023","u":"/docs/audit","h":"#veridise-disclosure-2023","p":1328},{"i":1346,"t":"Description In the template QuinSelector, if you want to confirm the input signal index is a valid integer less than 2**3, you should add Num2bits(3) to check it. Code Location incrementalQuinTree.circom Fix Code location // Ensure that index < choices component lessThan = SafeLessThan(3); This was fixed by adding a new Template, SafeLesThan which uses Num2Bits as further check on the signals: // the implicit assumption of LessThan is both inputs are at most n bits // so we need add range check for both inputs template SafeLessThan(n) { assert(n <= 252); signal input in[2]; signal output out; component n2b1 = Num2Bits(n); n2b1.in <== in[0]; component n2b2 = Num2Bits(n); n2b2.in <== in[1]; component n2b = Num2Bits(n+1); n2b.in <== in[0]+ (1< out; } And then used it to constrain the index input signal: greaterThan[i] = SafeGreaterThan(3); greaterThan[i].in[0] <== i; greaterThan[i].in[1] <== index;","s":"Issue 2","u":"/docs/audit","h":"#issue-2","p":1328},{"i":1350,"t":"Description In the template QuinGeneratePathIndices, the constrains of the signal n[levels + 1] don't perform well for division and modulo counting. Code Location incrementalQuinTree.circom Fix The updated code uses the SafeLessThen template, as shown below: for (var i = 0; i < levels; i++) { // Check that each output element is less than the base leq[i] = SafeLessThan(3); leq[i].in[0] <== out[i]; leq[i].in[1] <== BASE; leq[i].out === 1; // Re-compute the total sum sum.nums[i] <== out[i] * (BASE ** i); }","s":"Issue 3","u":"/docs/audit","h":"#issue-3","p":1328},{"i":1352,"t":"CI (Continuous Integration) pipeline is an automated workflow to ensure that software is always in a working state. An event like opening a pull request causes a pipeline to run. The pipeline consists of an automated build process and a suite of automated tests (See Testing for more details).","s":"Continuous Integration (CI) Pipeline","u":"/docs/ci-pipeline","h":"","p":1351},{"i":1355,"t":"Each commit (i.e. a merged PR) to the main branch triggers the pipeline. The pipeline creates packages that can be deployed to any environment. Packages are uploaded to an artifact repository (e.g. npm).","s":"Commit to Main Branch","u":"/docs/ci-pipeline","h":"#commit-to-main-branch","p":1351},{"i":1357,"t":"When a pull request has been created (or updated), it triggers the PR pipeline. It gives the reviewer confidence that the software works as expected with the introduced code changes.","s":"Pull Request (PR)","u":"/docs/ci-pipeline","h":"#pull-request-pr","p":1351},{"i":1359,"t":"Nightly build runs every midnight. It is to ensure that all required dependencies are present and to show no bugs have been introduced.","s":"Nightly","u":"/docs/ci-pipeline","h":"#nightly","p":1351},{"i":1361,"t":"When a tag has been pushed, it triggers a release pipeline. It will draft a release note with an auto-generated changelog and publish npm package(s).","s":"Tag Push","u":"/docs/ci-pipeline","h":"#tag-push","p":1351},{"i":1363,"t":"MACI has three main zk-SNARK circuits: ProcessMessages.circom, which takes a batch of encrypted messages, decrypts them, and generates a proof that the coordinator's local processing was performed correctly. TallyVotes.circom, which counts votes from users' ballots, batch by batch. Subsidy.circom, which implements pairwise subsidy. The rest of the circuits are utilities templates that are required for the main circuits to work correctly. These include utilities such as float math, conversion of private keys, and Poseidon hashing/encryption. Each circuit is parameterised and it is important to set the right parameters that matches your use case. For example, if you want to support up to 3125 messages, the message tree depth parameter should be set to 5 (as 55=31255^5 = 312555=3125).","s":"Circuits","u":"/docs/circuits","h":"","p":1362},{"i":1366,"t":"zk-SNARKs are a type of zero-knowledge proof which allows a \"prover\" to prove to a \"verifier\" that they know a secret without revealing the secret itself. In MACI, the prover is the coordinator. MACI uses zk-SNARKs to prove that the coordinator has correctly processed the batches of messages and that all votes have been tallied correctly. A smart contract acts as the verifier to check the proof from the coordinator. Users can also verify that the process was done correctly at any point after the proof generation.","s":"zk-SNARKs","u":"/docs/circuits","h":"#zk-snarks","p":1362},{"i":1368,"t":"MACI's circuits are written using Circom, a domain-specific language (DSL) used to write zk-SNARK circuits. Circom syntax resembles JavaScript, and it currently is one of the most popular DSL in use by zk developers. Please refer to their documentation to learn more about the language.","s":"Circom","u":"/docs/circuits","h":"#circom","p":1362},{"i":1370,"t":"MACI uses Groth16 as its proving system. Groth16 is a zk-SNARK proving system that allows for the generation of proofs that are small and fast to verify.","s":"Proving system","u":"/docs/circuits","h":"#proving-system","p":1362},{"i":1372,"t":"The circuits are used by the coordinator (the prover) to prove that they have correctly processed a batch of messages and tallied the votes correctly. This happens after a Poll has completed, and the coordinator has merged the state and message trees. The coordinator then generates a proof for each batch of messages, and submits them to the contract. The contract then verifies the proofs and updates the commitments on chain.","s":"How are the circuits used?","u":"/docs/circuits","h":"#how-are-the-circuits-used","p":1362},{"i":1376,"t":"This circuit allows the coordinator to prove that they have correctly processed each message in reverse order, in a consecutive batch of 5 ^ msgBatchDepth messages to the respective state leaf within the state tree. Coordinators would use this circuit to prove correct execution at the end of each Poll. The processMessages circuit will try to decrypt the messages, and based on the content of the message, update within itself the trees, to generate a proof that the coordinator's off-chain processing was done correctly. In other words, the circuit takes a final state, an initial state, and the leaves (messages and user signups) - it process these messages via the different state transitions to finally check that the expected state is correct. The pre-requisites for this circuit are: the related Poll has ended the state tree has been merged the message tree has been merged This circuit requires the coordinator's private key, hence a proof for this circuit can only be generated by the coordinator. The private key is needed in order to generate the ECDH shared key used to decrypt the messages. Parameters​ # Parameter Description 0 State tree depth Allows (5n)(5^{n})(5n) signups. 1 Message tree depth Allows (5n)(5^{n})(5n) votes or key-change messages. 2 Message batch tree depth Allows (5n)(5^{n})(5n) messages to be processed per batch. 3 Vote option tree depth Allows (5n)(5^{n})(5n) vote options. Inputs​ Input signal Description inputHash The SHA256 hash of inputs supplied by the contract packedVals Described below pollEndTimestamp The Unix timestamp at which the poll ends msgRoot The root of the message tree msgs The batch of messages as an array of arrays msgSubrootPathElements Described below coordinatorPubKeyHash poseidon2([cPkx,cPky])poseidon_2([cPk_x, cPk_y])poseidon2​([cPkx​,cPky​]) newSbCommitment Described below coordPrivKey The coordinator's private key coordPubKey The coordinator's public key encPubKeys The public keys used to generate shared ECDH encryption keys to encrypt the messages currentStateRoot The state root before the commands are applied currentStateLeaves The state leaves upon which messages are applied currentStateLeavesPathElements The Merkle path to each incremental state root currentSbCommitment Described below currentSbSalt Described below newSbCommitment Described below newSbSalt Described below currentBallotRoot The root of the ballot tree before messages are applied currentBallots The ballots upon which ballots are applied currentBallotsPathElements The Merkle path to each incremental ballot root currentVoteWeights The existing vote weight for the vote option in the ballot which each command refers to currentVoteWeightsPathElements The Merkle path from each vote weight to the vote option root in its ballot inputHash​ All inputs to this circuit are private except for inputHash. To save gas during verification, the MessageProcessor contract hashes the following values using SHA256 and uses the hash as the sole element of icicic: packedVals coordinatorPubKeyHash msgRoot currentSbCommitment newSbCommitment pollEndTimestamp The hash is computed using the sha256 Solidity function and is then subject to modulo ppp. packedVals​ packedVals is the following values represented as one field element. Consider that a field element is roughly 253 bits. The big-endian bit-representation is as such: Bits Value 1st 53 bits 0 2nd 50 bits batchEndIndex 3rd 50 bits currentMessageBatchIndex 4th 50 bits numSignUps 5th 50 bits maxVoteOptions For instance, if maxVoteOptions is 25 and batchEndIndex is 5, and all other values are 0, the following is the packedVals representation in hexadecimal: 140000000000000000000000000000000000019 currentSbCommitment and newSbCommitment​ The currentSbCommitment is the poseidon3poseidon_3poseidon3​ hash of the state tree root, the ballot tree root, and a random salt. The purpose of the random salt, which should be unique to each batch, is to ensure that the value of currentSbCommitment always changes even if all the commands in a batch are invalid and therefore do not change the state tree or ballot tree root. The result of applying a batch of messages to currentSbCommitment is newSbCommitment. currentSbSalt​ The salt used to produce currentSbCommitment (see above). newSbSalt​ The salt used to produce newSbCommitment (see above). msgSubrootPathElements​ The index of each message in msgs is consecutive. As such, in order to prove that each message in msgs is indeed a leaf of the message tree, we compute the subtree root of msgs, and then verify that the subtree root is indeed a subroot of msgRoot. A simplified example using a tree of arity 2: r / \\ s ... / \\ o o / \\ / \\ a b c d To prove that a...d are leaves of the tree with root r, we prove that the leaves have the subroot s with depth 2, and then prove that s is a member of r at depth 1. The implementation for this is in the QuinBatchLeavesExists circuit in https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/trees/incrementalQuinTree.circom. This method requires fewer circuit constraints than if we verified a Merkle proof for each leaf. Statements that the circuit proves​ That the prover knows the preimage to inputHash (see above) That the prover knows the preimage to currentSbCommitment (that is, the state root, ballot root, and currentSbSalt) That maxVoteOptions <= (5 ^ voteOptionTreeDepth) That numSignUps <= (5 ^ stateTreeDepth) That coordPubKey is correctly derived from coordPrivKey That coordPubKey is the preimage to the Poseidon hash of coordPubKey (provided by the contract) That each message in msgs exists in the message tree That after decrypting and applying each message, in reverse order, to the corresponding state and ballot leaves, the new state root, new ballot root, and newSbSalt are the preimage to newSbCommitment","s":"Message processing (processMessages)","u":"/docs/circuits","h":"#message-processing-processmessages","p":1362},{"i":1378,"t":"Parameters​ # Parameter Description 0 State tree depth Allows (5n)(5^{n})(5n) signups. 1 State leaf batch depth Allows (5n)(5^{n})(5n) users' votes to be processed per batch. 2 Vote option tree depth Allows (5n)(5^{n})(5n) vote options. Input signals​ Input signal Description inputHash The SHA256 hash of inputs supplied by the contract packedVals Described below sbCommitment Described below currentTallyCommitment Described below newTallyCommitment Described below stateRoot The root of the state tree after all messages have been applied ballotRoot The root of the ballot tree after all messages have been applied sbSalt The salt used to produce sbCommitment ballots The ballots in the batch being tallied ballotPathElements The Merkle path to each ballot leaf votes The votes in each ballot cast per result currentResults The current tally of votes per vote option currentResultsRootSalt A random value currentSpentVoiceCreditSubtotal The subtotal of voice credits spent across all vote options currentSpentVoiceCreditSubtotalSalt A random value currentPerVOSpentVoiceCredits The voice credits spent on each vote option so far currentPerVOSpentVoiceCreditsRootSalt A random value newResultsRootSalt A random value newPerVOSpentVoiceCreditsRootSalt A random value newSpentVoiceCreditSubtotalSalt A random value inputHash​ All inputs to this circuit are private except for inputHash. To save gas during verification, the Tally contract hashes the following values using SHA256 and uses the hash as the sole element of icicic: packedVals sbCommitment currentTallyCommitment newTallyCommitment The hash is computed using the sha256 Solidity function and is then subject to modulo ppp. packedVals​ packedVals is the following values represented as one field element. Consider that a field element is roughly 253 bits. The big-endian bit-representation is as such: Bits Value 1st 53 bits 0 2nd 50 bits 0 3rd 50 bits 0 4th 50 bits numSignUps 5th 50 bits batchStartIndex numSignUps, a value provided by the contract, is the number of users who have signed up. This is one less than the number of leaves inserted in the state tree (since the 0th state leaf is a blank state leaf [2.8.1]). batchStartIndex is the ballot tree index at which the batch begins. For instance, if numSignUps is 25 and the batch index is 5, and all other values are 0, the following is the packedVals representation in hexadecimal: 64000000000005 sbCommitment​ The commitment to stateRoot, ballotRoot, and sbSalt: poseidon3([stateRoot,ballotRoot,sbSalt])poseidon_3([stateRoot, ballotRoot, sbSalt])poseidon3​([stateRoot,ballotRoot,sbSalt]) Proving preimage of sbCommitment is one out of the several steps required to prove that the votes were tallied correctly. By establishing that the coordinator knows ballotRoot, the coordinator can (using other parts of the circuit) prove that that they know the preimage of the ballot leaves in the batch being tallied. currentTallyCommitment and newTallyCommitment​ A tally is represented by a tally commitment, which is the poseidon_3$ hash of: tcrtc_rtcr​: a commitment to the votes per option This is the hash of the Merkle root rrr_rrr​ of the votes and a salt rsr_srs​, computed as poseidon2([rr,rs])poseidon_2([r_r, r_s])poseidon2​([rr​,rs​]) tcttc_ttct​: a commitment to the total spent voice credits This is the hash of the total spent voice credits tct_ctc​ and a salt tst_sts​, computed as poseidon2([tc,ts])poseidon_2([t_c, t_s])poseidon2​([tc​,ts​]) tcptc_ptcp​: a commitment to the spent voice credits per vote option This is the hash of the Merkle root of the spent voice credits per vote option pvp_vpv​ and a salt psp_sps​, computed as poseidon2([pv,ps])poseidon_2([p_v, p_s])poseidon2​([pv​,ps​]) The tally commitment is computed as such: poseidon3([tcr,tct,tcp])poseidon_3([tc_r, tc_t, tc_p])poseidon3​([tcr​,tct​,tcp​]) Statements that the circuit proves​ That the coordinator knows the preimage of sbCommitment That the coordinator knows the preimage of inputHash That batchStartIndex is less than or equal to numSignUps That each ballot in ballots is in a member of the ballot tree with the Merkle root ballotRoot at indices batchStartIndex to batchStartIndex + (5 ** intStateTreeDepth) That each set of votes (votes[i]) has the Merkle root bltrblt_rbltr​ whose value equals ballots[i][1] That the tally is valid, which is: That the sum of votes per vote option is correct","s":"Tally Votes (tallyVotes)","u":"/docs/circuits","h":"#tally-votes-tallyvotes","p":1362},{"i":1380,"t":"This circuit is an optional feature - it's not required for MACI to function. The subsidy circuit is used to implement pairwise subsidy. This is a technique that can be used to detect voters collusion. It currently is not optimized for production and the team will work on a more efficient implementation in the future. Parameters​ # Parameter Description 0 State tree depth Allows (5n)(5^{n})(5n) signups. 1 State leaf batch depth Allows (5n)(5^{n})(5n) users' votes to be processed per batch. 2 Vote option tree depth Allows (5n)(5^{n})(5n) vote options.","s":"Subsisdy (subsidy)","u":"/docs/circuits","h":"#subsisdy-subsidy","p":1362},{"i":1382,"t":"Process Messages Input Hasher​ An utility circuit used by the main processMessages circuit to hash its inputs. It outputs one field element, which is the SHA256 hash of the following inputs: packedVals pollEndTimestamp msgRoot coordinatorPubKeyHash newSbCommitment currentSbCommitment Tally Votes Input Hasher​ An utility template that generates a sha256 hash of the provided tally inputs. It outputs one field element, which is the SHA256 hash of the following inputs: packedVals sbCommitment currentTallyCommitment newTallyCommitment ResultsCommitmentVerifier​ An utility circuit used by the main tallyVotes circuit to verify that the results commitment is correct. QuinCheckRoot​ Utility circuit that given a quin Merkle root and a list of leaves, check if the root is the correct result of inserting all the leaves into the tree in the given order. CalculateTotal​ Utility circuit used to calculate the sum of an array of elements. ECDH​ Utility circuit used to generate a shared key from a private key and a public key. Poseidon​ Utility circuit used to generate a Poseidon hash. In this case, it supports up to 13 inputs. MessageToCommand​ Utility circuit used to convert a message into a command, this involves decrypting the message. MessageValidator​ Utility circuit used to validate a message. This performs several checks: stateTreeIndex is valid voteOptionIndex is valid nonce is valid the signatuer is valid the user signed up before poll end timestamp the user had enough voice credits PrivToPubKey​ Utility circuit used to generate a public key from a private key. VerifySignature​ Utility circuit used to verify a EdDSA signature UnpackElement​ Utility circuit used to unpack an input element. QuinSelector​ Utility circuit used to select one element from an array of n elements at a given index. Splicer​ Utility circuit used to insert one element in an array at position index. QuinBatchLeavesExists​ Utility circuit used to check if a batch of leaves exists in a quinary tree. QuinGeneratePathIndices​ Utility circuit used to generate the indices needed to traverse the tree until we find the leaf we are looking for. ProcessTopup​ Utility circuit used to process a topup message. ProcessOne​ Utility circuit used to process one message.","s":"Utility circuits","u":"/docs/circuits","h":"#utility-circuits","p":1362},{"i":1385,"t":"Before building the project, make sure you have the following dependencies installed: circom","s":"Prerequisites","u":"/docs/circuits","h":"#prerequisites","p":1362},{"i":1387,"t":"To build the two main circuits of MACI, run the following commands: circom --r1cs --sym --wasm --output ./build circom/test/processMessages_test.circom circom --r1cs --sym --wasm --output ./build circom/test/tallyVotes_test.circom Please note that the circuit is configured with testing purpose parameters, which means it can only handle a limited amount of messages (up to 25 messages). For more information on the parameters and how to configure them, refer to this page.","s":"Building MACI circuits","u":"/docs/circuits","h":"#building-maci-circuits","p":1362},{"i":1389,"t":"Run: pnpm exec zkey-manager compile -c ./zkeys.config.yml The larger the trees, the more time this process may take. You may also need a machine with a very large amount of memory. Note that you will have to modify the parameters inside the zkeys.config.yml file to match your use case. For example, if you want to support up to 3125 messages, the message tree depth parameter should be set to 5 (as 55=31255^5 = 312555=3125). Measure the circuit sizes​ The size of a circuit is denoted by its number of constraints. The larger this number, the more time it takes to compile it, generate its .zkey file, and perform phase 2 contributions. Run this command to measure a circuit: pnpm exec snarkjs r1cs info CIRCUIT_NAME.circom Download the .ptau file​ This file should be the result of the Perpetual Powers of Tau trusted setup contribution which Hermez Network selected. Run: pnpm exec zkey-manager downloadPtau -c ./zkeys.config.yml zkey-manager will select the smallest .ptau file that fits the largest circuit specified in zkeys.config.yml.","s":"Generating zKeys","u":"/docs/circuits","h":"#generating-zkeys","p":1362},{"i":1391,"t":"To generate and validate ZK proofs from the artifacts produced by circom, you will need snarkjs.","s":"Generating and Validating ZK Proofs","u":"/docs/circuits","h":"#generating-and-validating-zk-proofs","p":1362},{"i":1393,"t":"To test the circuits package, please use pnpm run test. This will run all of the tests inside the tests folder. To run individual tests, you can use the following commands (for all other circuits please refer to the package.json scripts section): pnpm run test-processMessages to run the tests for the processMessages circuit. pnpm run test-tallyVotes to run the tests for the tallyVotes circuit. More details on testing are provided in the testing section of the documentation.","s":"Testing","u":"/docs/circuits","h":"#testing","p":1362},{"i":1395,"t":"MACI provides a command-line interface that allows for effective deployment and testing. Applications that build on top of MACI, such as clr.fund, implement their own web UIs. Note that all the example commands default to a local Ethereum testnet at http://localhost:8545, and use the Ethereum private key 0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3. Do not send any real funds to the address generated by this key. For testing purposes, you can run: # in maci/contracts pnpm run hardhat Note that you will need a hardhat.config file in your current directory to be able to run the cli.","s":"Command-line interface","u":"/docs/cli","h":"","p":1394},{"i":1397,"t":"Command Description Options create Deploy the contracts -v, --vkRegistryAddress : The vk registry contract address -i, --initialVoiceCredits : The initial voice credits -p, --initialVoiceCreditsProxyAddress : The initial voice credits proxy contract address -g, --signupGatekeeperAddress : The signup gatekeeper contract address -q, --quiet: Whether to print values to the console -s, --stateTreeDepth : The state tree depth checkVerifyingKeys Check that the verifying keys in the contract match the local ones -q, --quiet: Whether to print values to the console -vk, --vk-contract : The VkRegistry contract address -s, --state-tree-depth : The state tree depth -i, --int-state-tree-depth : The intermediate state tree depth -m, --msg-tree-depth : The message tree depth -v, --vote-option-tree-depth : The vote option tree depth -b, --msg-batch-depth : The message batch depth -p, --process-messages-zkey : The process messages zkey path -t, --tally-votes-zkey : The tally votes zkey path -ss, --subsidy-zkey : The subsidy zkey path genMaciPubKey Generate a new MACI public key -sk, --privkey : The private key genMaciKeyPair Generate a new MACI key pair No options airdrop Airdrop topup credits to the coordinator -a, --amount : The amount of topup -x, --contract : The MACI contract address -o, --poll-id : Poll id -t, --token-address : The token address -q, --quiet: Whether to print values to the console deployVkRegistry Deploy a new verification key registry contract -q, --quiet: Whether to print values to the console show Show the deployed contract addresses No options deployPoll Deploy a new poll -t, --duration : The poll duration -g, --max-messages : The max messages -mv, --max-vote-options : The max vote options -i, --int-state-tree-depth : The int state tree depth -b, --msg-batch-depth : The message tree sub depth -m, --msg-tree-depth : The message tree depth -v, --vote-option-tree-depth : The vote option tree depth -pk, --pubkey : The coordinator public key -x, --maci-address : The MACI contract address -q, --quiet: Whether to print values to the console setVerifyingKeys Set the verifying keys -s, --state-tree-depth : The state tree depth -i, --int-state-tree-depth : The intermediate state tree depth -m, --msg-tree-depth : The message tree depth -v, --vote-option-tree-depth : The vote option tree depth -b, --msg-batch-depth : The message batch depth -p, --process-messages-zkey : The process messages zkey path -t, --tally-votes-zkey : The tally votes zkey path -k, --vk-registry : The vk registry contract address -q, --quiet: Whether to print values to the console -ss, --subsidy-zkey : The subsidy zkey path publish Publish a new message to a MACI Poll contract -p, --pubkey : The MACI public key which should replace the user's public key in the state tree -x, --contract : The MACI contract address -sk, --privkey : Your serialized MACI private key -i, --state-index : The user's state index -v, --vote-option-index : The vote option index -n, --nonce : The message nonce -s, --salt : The message salt -o, --poll-id : The poll id -w, --new-vote-weight : The new vote weight -q, --quiet: Whether to print values to the console mergeMessages Merge the message accumulator queue -q, --quiet: Whether to print values to the console -x, --maci-contract-address : The MACI contract address -o, --poll-id : The poll id -n, --num-queue-ops : The number of queue operations mergeSignups Merge the signups accumulator queue -q, --quiet: Whether to print values to the console -x, --maci-contract-address : The MACI contract address -o, --poll-id : The poll id -n, --num-queue-ops : The number of queue operations timeTravel Fast-forward the time (only works for local hardhat testing) -s, --seconds : The number of seconds to fast-forward -q, --quiet: Whether to print values to the console signup Sign up to a MACI contract -p, --pubkey : The MACI public key -x, --maci-address : The MACI contract address -s, --sg-data : The signup gateway data -i, --ivcp-data : The initial voice credit proxy data -q, --quiet: Whether to print values to the console topup Top up an account with voice credits -a, --amount : The amount of topup -x, --maci-address : The MACI contract address -i, --state-index : State leaf index -o, --poll-id : Poll id -q, --quiet: Whether to print values to the console fundWallet Fund a wallet with Ether -a, --amount : The amount of Ether -w, --address
: The address to fund -q, --quiet: Whether to print values to the console verify Verify the results of a poll and optionally the subsidy results -o, --poll-id : The poll id -t, --tally-file : The tally file -s, --subsidy-file : The subsidy file -x, --contract : The MACI contract address -tc, --tally-contract : The tally contract address -sc, --subsidy-contract : The subsidy contract address -q, --quiet: Whether to print values to the console genProofs Generate the proofs for a poll -sk, --privkey : Your serialized MACI private key -x, --contract : The MACI contract address -o, --poll-id : The poll id -t, --tally-file : The tally file -s, --subsidy-file : The subsidy file -r, --rapidsnark : The path to the rapidsnark binary -wp, --process-witnessgen : The path to the process witness generation binary -wt, --tally-witnessgen : The path to the tally witness generation binary -ws, --subsidy-witnessgen : The path to the subsidy witness generation binary -zp, --process-zkey : The path to the tally zkey -zs, --subsidy-zkey : The path to the subsidy zkey -q, --quiet: Whether to print values to the console -f, --output : The output directory for proofs -tx, --transaction-hash : Transaction hash of MACI contract creation -w, --wasm: Whether to use the wasm binaries -pw, --process-wasm : The path to the process witness generation wasm binary -tw, --tally-wasm : The path to the tally witness generation wasm binary -sw, --subsidy-wasm : The path to the subsidy witness generation wasm binary proveOnChain Prove the results of a poll on chain -o, --poll-id : The poll id -q, --quiet: Whether to print values to the console -x, --contract : The MACI contract address -p, --message-processor-address : The message processor contract address -t, --tally-contract : The tally contract address -s, --subsidy-contract : The subsidy contract address -f, --proof-dir : The proof output directory from the genProofs subcommand","s":"Subcommands","u":"/docs/cli","h":"#subcommands","p":1394},{"i":1399,"t":"MACI uses private keys in the BabyJub field for operations which occur within zk-SNARKs, such as decrypting messages or signing commands. As MACI is deployed on Ethereum, we seek to avoid confusing BabyJub private keys with Ethereum private keys. To that end, users should pass serialized formats of public and private keys to this CLI. We use maci-domainobj's PrivKey.serialize and PubKey.serialize functions to do so. Examples of serialized public and private keys: Private key: macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e Public key: macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330","s":"Public and private key format","u":"/docs/cli","h":"#public-and-private-key-format","p":1394},{"i":1401,"t":"This command deploys an instance of a VkRegistry contract. Multiple MACI contracts can refer to the same VkRegistry as long as they are all owned (via Ownable.sol) by the same account. Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js deployVkRegistry Example output: [✓] VkRegistry deployed at: 0x6b5A4751307F6751E265c194244552A9995B6B3D","s":"Coordinator: Deploy VkRegistry","u":"/docs/cli","h":"#coordinator-deploy-vkregistry","p":1394},{"i":1403,"t":"Note that the filename of the .zkey files must follow this format: ProcessMessages_---_test..zkey TallyVotes_-->_test.>.zkey Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js setVerifyingKeys \\ -s 10 -i 1 -m 2 -v 2 -b 1 \\ -p ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ -t ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ Example output: [i] Setting verifying keys... [i] Transaction hash: 0x6b5b2959ba5161497d5499a0f9d9c69f773cd5f9b82f80a79253797b066863e3 [✓] Verifying keys set successfully","s":"Coordinator: Set verifying keys","u":"/docs/cli","h":"#coordinator-set-verifying-keys","p":1394},{"i":1405,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js create -s 10 Example output: [✓] MACI deployed at: 0xB08CEd0f34940a3E576Cf023b287f9Db2f306a1f","s":"Coordinator: Create MACI instance","u":"/docs/cli","h":"#coordinator-create-maci-instance","p":1394},{"i":1407,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node ./build/index.js deployPoll \\ -pk macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 \\ -t 30 -g 25 -mv 25 -i 1 -m 2 -b 1 -v 2 Example output: [i] Poll ID: 0 [i] Poll contract: 0xB6389Da0285c7B1FC0ba352F5A1D5fb1A492a786 [i] Message processor contract: 0xE0bF6021e023a197DBb3fABE64efA880E13D3f4b [i] Tally contract: 0x3f21BC64076e7c9ed8695d053DCCBE6D8d5E6f43 [i] Subsidy contract: 0xb848ef765E289762e9BE66a38006DDc4D23AeF24","s":"Coordinator: Deploy poll","u":"/docs/cli","h":"#coordinator-deploy-poll","p":1394},{"i":1409,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node ./build/index.js signup \\ -p macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 Example output: [i] Transaction hash: 0x4c7c9f65187fcf6e243804b75555bda48cbae4c317bb312f1b9f95ac4b7697b1 [✓] State index: 1","s":"User: sign up","u":"/docs/cli","h":"#user-sign-up","p":1394},{"i":1411,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js publish \\ -p macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 \\ -sk macisk.2ae4f199bf3925a2407f7c775c9261f351ab861d8e9ecbb84622bdd3f6d41b08 \\ -i 1 -v 0 -w 9 -n 1 -o 0 Example output: [i] Transaction hash: 0xa2ab91c821bf7fa73fedcf19a5371a0f0866ae0747d22f82f1685afca0e5db49 [i] Ephemeral private key: macisk.2631d585e46f059e4909ab35172451542ed7723a1ace120fcf49d68e27f935b0 ### (Testing only) Coordinator: Time travel Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js timeTravel -s 1000 Example output: [✓] Fast-forwarded 1000 seconds","s":"User: publish message","u":"/docs/cli","h":"#user-publish-message","p":1394},{"i":1413,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js mergeSignups -o 0 Example output: [i] Merging state subroots 1 / 1 [i] Transaction hash: 0xd7e7312f70831ec05bb23f23f506ef37d6ce0c2056c1b72f7bb989653d1c8a42 [✓] Executed mergeMaciStateAqSubRoots(); gas used: 720061 [✓] All state subtrees have been merged. [i] Merging subroots to a main state root... [i] Transaction hash: 0xb5e98d328b066d91e1b7aa35775fe624be446b540a00bcb4b27a02477636b569 [✓] Executed mergeStateAq(); gas used: 1004720","s":"Coordinator: merge state tree","u":"/docs/cli","h":"#coordinator-merge-state-tree","p":1394},{"i":1415,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js mergeMessages -o 0 Example output: [i] Merging message subroots 1 / 1 [✓] Executed mergeMessageAqSubRoots(); gas used: 602448 [i] Transaction hash: 0xdf9d11c6b35fcccff82dafa3aa15f760e3f7694a72b07007fbdb359d44df0bea [✓] All message subtrees have been merged. [i] Merging subroots to a main message root... [✓] Executed mergeMessageAq(); gas used: 173346 [i] Transaction hash: 0x1f18ec08fd14db90a0d1d02d1ed27c0bfd3bc138701e812c4c3382572fc4d151 [✓] The message tree has been merged.","s":"Coordinator: merge message tree","u":"/docs/cli","h":"#coordinator-merge-message-tree","p":1394},{"i":1417,"t":"Example usage to generate the state locally from the smart contracts events: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genLocalState \\ --poll-id 0 \\ --output localState.json \\ --privkey macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ --blocks-per-batch 50 Example output: [i] Fetching logs from 0 till 228 and generating the offline maci state [✓] The state has been written to localState.json","s":"Coordinator: generate Maci state offchain","u":"/docs/cli","h":"#coordinator-generate-maci-state-offchain","p":1394},{"i":1419,"t":"Example usage: C++ witness parameters HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs -x 0x89962fa216d39fCcaaC11e1e462340d80ab6Cf4D \\ -sk macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ -o 0 \\ -t tally.json \\ -f proofs \\ -r ~/rapidsnark/build/prover \\ -wp ./zkeys/ProcessMessages_10-2-1-2_test \\ -wt ./zkeys/TallyVotes_10-1-2_test \\ -zp ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ -zt ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ WASM Parameters HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs \\ -sk macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ -o 0 \\ -t tally.json \\ -f proofs \\ -zp ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ -zt ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ -tw ./zkeys/TallyVotes_10-1-2_test_js/TallyVotes_10-1-2_test.wasm \\ -pw ./zkeys/ProcessMessages_10-2-1-2_test_js/ProcessMessages_10-2-1-2_test.wasm \\ -w true Example output: [i] starting to fetch logs from block 0 [i] Generating proofs of message processing... [i] Progress: 1 / 1 [i] gen processMessage proof took 17.322 seconds [i] Generating proofs of vote tallying... [i] Progress: 1 / 1 [✓] The tally commitment is correct [i] gen tally proof took 4.951 seconds","s":"Coordinator: generate proofs","u":"/docs/cli","h":"#coordinator-generate-proofs","p":1394},{"i":1421,"t":"Example usage to generate the proofs locally from the local state file created with genLocalState: C++ witness parameters HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs \\ --privkey macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ --poll-id 0 \\ --rapidsnark ~/rapidsnark/build/prover \\ --process-witnessgen ./zkeys/ProcessMessages_10-2-1-2_test \\ --tally-witnessgen ./zkeys/TallyVotes_10-1-2_test \\ --process-zkey /zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ --tally-zkey ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ --tally-file tally.json \\ --output proofs/ \\ --state-file localState.json WASM Params HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs \\ --privkey macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ --poll-id 0 \\ --process-zkey ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ --tally-zkey ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ --tally-file tally.json \\ --output proofs/ \\ --state-file localState.json \\ -tw ./zkeys/TallyVotes_10-1-2_test_js/TallyVotes_10-1-2_test.wasm \\ -pw ./zkeys/ProcessMessages_10-2-1-2_test_js/ProcessMessages_10-2-1-2_test.wasm \\ -w true Example output: [i] Generating proofs of message processing... [i] Progress: 1 / 1 [i] gen processMessage proof took 17.053 seconds [i] Generating proofs of vote tallying... [i] Progress: 1 / 1 [✓] The tally commitment is correct [i] gen tally proof took 4.746 seconds","s":"Coordinator: generate proofs using a local state file","u":"/docs/cli","h":"#coordinator-generate-proofs-using-a-local-state-file","p":1394},{"i":1423,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js proveOnChain \\ -o 0 \\ -f proofs/ Example output: [i] Submitting proofs of message processing... [i] Transaction hash: 0xa8acf67d6520ceaf5eef8acbf4cda7f5c2657122e2a72a092b9f4503282d70b9 [i] Progress: 1 / 1 [✓] All message processing proofs have been submitted. [i] Submitting proofs of vote tallying... [i] Progress: 1 / 1 [i] Transaction hash: 0x691687ab6fb504919859901f297cdb7d8c4d736756d2d4edf345d721bb82365b [✓] All vote tallying proofs have been submitted.","s":"Coordinator: prove on chain","u":"/docs/cli","h":"#coordinator-prove-on-chain","p":1394},{"i":1425,"t":"Example usage: HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js verify \\ -o 0 \\ -t tally.json Example output: [i] on-chain tally commitment: 83601b7979c13506317b58e859950e9e92e1e6d326810d89332cc13909833ec [✓] The on-chain tally commitment matches. [i] The on-chain tally matches the off-chain tally.","s":"Anyone: verify tally","u":"/docs/cli","h":"#anyone-verify-tally","p":1394},{"i":1428,"t":"Alice votes for Party A Alice changes her key Eve tries to bribe Alice to change her vote to Party B Alice submits an invalid vote for Party B The coordinator processes the votes, computes, and verifies the final tally The expected result is: Party A has some votes and Party B has 0 votes. Implication: Alice's invalid vote was not counted, and Eve had no way to tell.","s":"Scenario:","u":"/docs/cli","h":"#scenario","p":1394},{"i":1430,"t":"Coordinator: Private key: macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e Public key: macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 Alice: Private key: macisk.fd7aa614ec4a82716ffc219c24fd7e7b52a2b63b5afb17e81c22fe21515539c Public key: macipk.3e7bb2d7f0a1b7e980f1b6f363d1e3b7a12b9ae354c2cd60a9cfa9fd12917391","s":"Examples of serialized public and private keys:","u":"/docs/cli","h":"#examples-of-serialized-public-and-private-keys","p":1394},{"i":1432,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js deployVkRegistry Output: [✓] VkRegistry deployed at: 0x7607Cfe2fA0d62F725537e55d83C693Cc3C76EF2","s":"Coordinator: Deploy VkRegistry","u":"/docs/cli","h":"#coordinator-deploy-vkregistry-1","p":1394},{"i":1434,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js setVerifyingKeys \\ --state-tree-depth 10 \\ --int-state-tree-depth 1 \\ --msg-tree-depth 2 \\ --vote-option-tree-depth 2 \\ --msg-batch-depth 1 \\ --process-messages-zkey ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ --tally-votes-zkey ./zkeys/TallyVotes_10-1-2_test.0.zkey Output: [i] Setting verifying keys... [i] Transaction hash: 0xbd5d06935537fb59903c27b9bdb19a41d422f75e1dfd6eb61f028bf3a7b82c76 [✓] Verifying keys set successfully","s":"Coordinator: Set verifying keys","u":"/docs/cli","h":"#coordinator-set-verifying-keys-1","p":1394},{"i":1436,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js create -s 10 Output: [✓] MACI deployed at: 0xC131D3eeD9D6D410A7bfc200d81b9795f1bb5ed6","s":"Coordinator: Create MACI instance","u":"/docs/cli","h":"#coordinator-create-maci-instance-1","p":1394},{"i":1438,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node ./build/index.js deployPoll \\ -pk macipk.c974f4f168b79727ac98bfd53a65ea0b4e45dc2552fe73df9f8b51ebb0930330 \\ -t 1000 -g 25 -mv 25 -i 1 -m 2 -b 1 -v 2 Output: [i] Poll ID: 0 [i] Poll contract: 0x2c3Adf2852788662148038511aD80962aaf631D7 [i] Message processor contract: 0xd3C3C6530fE4073292D6EAfdEAdEeAbf1A3DC19B [i] Tally contract: 0x06c1939F6cBb68D42333F140CAE815cc36D341b0 [i] Subsidy contract: 0xCB74254716c96B07c812c73A5945e68aa1de4569","s":"Coordinator: Deploy poll","u":"/docs/cli","h":"#coordinator-deploy-poll-1","p":1394},{"i":1440,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node ./build/index.js signup \\ --pubkey macipk.3e7bb2d7f0a1b7e980f1b6f363d1e3b7a12b9ae354c2cd60a9cfa9fd12917391 Output: [i] Transaction hash: 0x7ab4c2d23686049432d19bb64c8ee4e8776fff134d971dcf27e1f513b4fdb97f [✓] State index: 1","s":"Alice: sign up","u":"/docs/cli","h":"#alice-sign-up","p":1394},{"i":1442,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js publish \\ --pubkey macipk.3e7bb2d7f0a1b7e980f1b6f363d1e3b7a12b9ae354c2cd60a9cfa9fd12917391 \\ --privkey macisk.fd7aa614ec4a82716ffc219c24fd7e7b52a2b63b5afb17e81c22fe21515539c \\ --state-index 1 \\ --vote-option-index 0 \\ --new-vote-weight 9 \\ --nonce 1 \\ --poll-id 0 Output: [i] Transaction hash: 0x60936cfb0b25c8618d3cb8d0f5497106d5f6e3776f3212932975442d874eddbd [i] Ephemeral private key: macisk.103b8c4c98700d06f47522892032fce54bd03cd197cee495ede3802730409910","s":"Alice: votes for Party A (option index 0)","u":"/docs/cli","h":"#alice-votes-for-party-a-option-index-0","p":1394},{"i":1444,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js publish \\ --pubkey macipk.d5788ea6ccf1ec295df99aaef859031fe7bd359e7e03acb80eb6e8a192f2ce19 \\ --privkey macisk.fd7aa614ec4a82716ffc219c24fd7e7b52a2b63b5afb17e81c22fe21515539c \\ --state-index 1 \\ --vote-option-index 1 \\ --new-vote-weight 9 \\ --nonce 2 \\ --poll-id 0 Output: [i] Transaction hash: 0x73f74b13d276cd311ce5421a145debc71e97e48abc8be2f9a0a548b26f7920f9 [i] Ephemeral private key: macisk.1e490d67477b4c5f08806973fca2bea81e723c60deba6bdeacab56f7a4bd867b","s":"Alice: submits an invalid vote for Party B (option index 1) with different public key","u":"/docs/cli","h":"#alice-submits-an-invalid-vote-for-party-b-option-index-1-with-different-public-key","p":1394},{"i":1446,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js timeTravel -s 1000 Output: [✓] Fast-forwarded 1000 seconds","s":"Coordinator: Time Travel","u":"/docs/cli","h":"#coordinator-time-travel","p":1394},{"i":1448,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js mergeSignups --poll-id 0 Output: [i] Merging state subroots 1 / 1 [i] Transaction hash: 0xd01932e8dfad251f9b0d288290ac17f12bc449ea859a6921f63edf6b4b06f4c9 [✓] Executed mergeMaciStateAqSubRoots(); gas used: 720061 [✓] All state subtrees have been merged. [i] Merging subroots to a main state root... [i] Transaction hash: 0x25f60a9b5a24d11b87c41d8a4f681e3fd895b3bdf78ea86755b9800005662ce6 [✓] Executed mergeStateAq(); gas used: 1004720","s":"Coordinator: merge state tree","u":"/docs/cli","h":"#coordinator-merge-state-tree-1","p":1394},{"i":1450,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js mergeMessages --poll-id 0 Output: [i] Merging message subroots 1 / 1 [✓] Executed mergeMessageAqSubRoots(); gas used: 600520 [i] Transaction hash: 0xac0e8a01277db1b6282f8fb3763a8a4aeeebb3e12a41dd0dee9fc2804a4c9e81 [✓] All message subtrees have been merged. [i] Merging subroots to a main message root... [✓] Executed mergeMessageAq(); gas used: 173346 [i] Transaction hash: 0x472f0fd515c7cd2a02c430189e4ee92a6843bd6b19807484ce454cb7dab0e931 [✓] The message tree has been merged.","s":"Coordinator: merge message tree","u":"/docs/cli","h":"#coordinator-merge-message-tree-1","p":1394},{"i":1452,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js genProofs \\ --privkey macisk.49953af3585856f539d194b46c82f4ed54ec508fb9b882940cbe68bbc57e59e \\ --poll-id 0 \\ --process-zkey ./zkeys/ProcessMessages_10-2-1-2_test.0.zkey \\ --tally-zkey ./zkeys/TallyVotes_10-1-2_test.0.zkey \\ --tally-file tally.json \\ --output proofs/ \\ -tw ./zkeys/TallyVotes_10-1-2_test_js/TallyVotes_10-1-2_test.wasm \\ -pw ./zkeys/ProcessMessages_10-2-1-2_test_js/ProcessMessages_10-2-1-2_test.wasm \\ -w true Output: [i] Generating proofs of message processing... [i] Progress: 1 / 1 [i] gen processMessage proof took 16.644 seconds [i] Generating proofs of vote tallying... [i] Progress: 1 / 1 [✓] The tally commitment is correct [i] gen tally proof took 4.809 seconds","s":"Coordinator: generate proofs","u":"/docs/cli","h":"#coordinator-generate-proofs-1","p":1394},{"i":1454,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js proveOnChain \\ --poll-id 0 \\ --proof-dir proofs/ Output: [i] Submitting proofs of message processing... [i] Transaction hash: 0x9c3280af80de2436f9a886e4cd94218e01fe35ea3d3e671aad97b5aa5d6108ed [i] Progress: 1 / 1 [✓] All message processing proofs have been submitted. [i] Submitting proofs of vote tallying... [i] Progress: 1 / 1 [i] Transaction hash: 0x3e82ae3ad04215d4f357455ab5a610eba082796d2abc698aad91b046d16b9350 [✓] All vote tallying proofs have been submitted.","s":"Coordinator: prove on chain","u":"/docs/cli","h":"#coordinator-prove-on-chain-1","p":1394},{"i":1456,"t":"HARDHAT_CONFIG=./build/hardhat.config.js \\ node build/ts/index.js verify \\ --poll-id 0 \\ --tally-file tally.json Output: [i] on-chain tally commitment: 1ed004ac21a5397a512cbe749e7110934a434837f4818265043fd2e2e9cbec91 [✓] The on-chain tally commitment matches.","s":"Anyone: verify","u":"/docs/cli","h":"#anyone-verify","p":1394},{"i":1458,"t":"MACI is composed of multiple smart contracts, which together with the zk-SNARK circuits, can be used to carry out on-chain voting. The main contracts are presented and explained below.","s":"Smart Contracts","u":"/docs/contracts","h":"","p":1457},{"i":1460,"t":"MACI.sol is the core contract of the project, as it provides the base layer for user signups and Polls to be created. The constructor shown below accepts three arguments, a PollFactory contract, a SignUpGatekeeper contract, and an InitialVoiceCreditProxy contract. constructor( PollFactory _pollFactory, SignUpGatekeeper _signUpGatekeeper, InitialVoiceCreditProxy _initialVoiceCreditProxy ) { // Deploy the state AccQueue stateAq = new AccQueueQuinaryBlankSl(STATE_TREE_SUBDEPTH); stateAq.enqueue(BLANK_STATE_LEAF_HASH); pollFactory = _pollFactory; signUpGatekeeper = _signUpGatekeeper; initialVoiceCreditProxy = _initialVoiceCreditProxy; signUpTimestamp = block.timestamp; // Verify linked poseidon libraries require( hash2([uint256(1), uint256(1)]) != 0, \"MACI: poseidon hash libraries not linked\" ); } Upon deployment, the contract will deploy a new AccQueueQuinaryBlankSl contract using the STATE_TREE_SUBDEPTH. By default, this is defined as uint8 internal constant STATE_TREE_SUBDEPTH = 2;. Should this be changed, it will be necessary to amend the contracts/ts/genEmptyBallotRootsContract.ts file to reflect the change. The first action on this deployed contract, is to enqueue (add) an empty hash (defined as 6769006970205099520508948723718471724660867171122235270773600567925038008762). After this, the contracts will be stored to state, the current time taken and then the contract will perform a simple sanity check to ensure that the Poseidon hash libraries were linked successfully. Once the contract is deployed, the owner (set as the deployer address of MACI), is required to call the init function, which is shown below: function init( VkRegistry _vkRegistry, MessageAqFactory _messageAqFactory, TopupCredit _topupCredit ) public onlyOwner { require(!isInitialised, \"MACI: already initialised\"); isInitialised = true; vkRegistry = _vkRegistry; messageAqFactory = _messageAqFactory; topupCredit = _topupCredit; // Check that the factory contracts have correct access controls before // allowing any functions in MACI to run (via the afterInit modifier) require( pollFactory.owner() == address(this), \"MACI: PollFactory owner incorrectly set\" ); // The PollFactory needs to store the MessageAqFactory address pollFactory.setMessageAqFactory(messageAqFactory); // The MessageAQFactory owner must be the PollFactory contract require( messageAqFactory.owner() == address(pollFactory), \"MACI: MessageAqFactory owner incorrectly set\" ); // The VkRegistry owner must be the owner of this contract require( vkRegistry.owner() == owner(), \"MACI: VkRegistry owner incorrectly set\" ); emit Init(_vkRegistry, _messageAqFactory); } This function accepts three arguments: VkRegistry - the contract holding the verifying keys MessageAqFactory - the factory contract for deploying new MessageAq contracts TopupCredit - the contract responsible for topping up voting credits In more details, the init function will check/do the following: That the PollFactory contract's owner has been set to be the MACI contract Set the messageAqFactory contract on the pollFactory contract Check that the owner of the messageAqFactory is the pollFactory contract Confirm that the vkRegistry owner is the same as the MACI owner Finally, it will emit an event. Next, we have the signUp function, which allows users to signUp using a SignUpGatekeeper contract. This contract can use any mean necessary to gatekeep access to MACI's polls. For instance, only wallets with access to a specific ERC721 token can be allowed to sign up. Please note that this function can only be called after the contract is initialized (thanks to the afterInit modifier). This function does the following: checks that the maximum number of signups have not been reached. As of now, this will be 5∗∗10−15 ** 10 - 15∗∗10−1 due to circuit limitations. checks that the provided public key is within the allowed boundaries increases the number of signups registers the user using the sign up gatekeeper contract. It is important that whichever gatekeeper is used, it reverts if an user tries to sign up twice. calls the voice credit proxy to retrieve the number of allocated voice credits for the calling account hashes the voice credits alongside the calling address and the current time enqueues this hashed data into the stateAq contract function signUp( PubKey memory _pubKey, bytes memory _signUpGatekeeperData, bytes memory _initialVoiceCreditProxyData ) public afterInit { // The circuits only support up to (5 ** 10 - 1) signups require( numSignUps < STATE_TREE_ARITY**stateTreeDepth, \"MACI: maximum number of signups reached\" ); require( _pubKey.x < SNARK_SCALAR_FIELD && _pubKey.y < SNARK_SCALAR_FIELD, \"MACI: _pubKey values should be less than the snark scalar field\" ); // Increment the number of signups numSignUps++; // Register the user via the sign-up gatekeeper. This function should // throw if the user has already registered or if ineligible to do so. signUpGatekeeper.register(msg.sender, _signUpGatekeeperData); // Get the user's voice credit balance. uint256 voiceCreditBalance = initialVoiceCreditProxy.getVoiceCredits( msg.sender, _initialVoiceCreditProxyData ); uint256 timestamp = block.timestamp; // Create a state leaf and enqueue it. uint256 stateLeaf = hashStateLeaf( StateLeaf(_pubKey, voiceCreditBalance, timestamp) ); uint256 stateIndex = stateAq.enqueue(stateLeaf); emit SignUp(stateIndex, _pubKey, voiceCreditBalance, timestamp); } Once everything has been setup, polls can be deployed using the deployPoll function. This function is not protected by access control, therefore any user can deploy one. It should be noted however, that previous poll should have been closed out first, and this can only be done by the owner of the contract, which is the MACI contract itself. function deployPoll( uint256 _duration, MaxValues memory _maxValues, TreeDepths memory _treeDepths, PubKey memory _coordinatorPubKey ) public afterInit { uint256 pollId = nextPollId; // Increment the poll ID for the next poll nextPollId++; if (pollId > 0) { require( stateAq.treeMerged(), \"MACI: previous poll must be completed before using a new instance\" ); } // The message batch size and the tally batch size BatchSizes memory batchSizes = BatchSizes( MESSAGE_TREE_ARITY**uint8(_treeDepths.messageTreeSubDepth), STATE_TREE_ARITY**uint8(_treeDepths.intStateTreeDepth), STATE_TREE_ARITY**uint8(_treeDepths.intStateTreeDepth) ); Poll p = pollFactory.deploy( _duration, _maxValues, _treeDepths, batchSizes, _coordinatorPubKey, vkRegistry, this, topupCredit, owner() ); polls[pollId] = p; emit DeployPoll(pollId, address(p), _coordinatorPubKey); }","s":"MACI.sol","u":"/docs/contracts","h":"#macisol","p":1457},{"i":1462,"t":"This contract allows users to vote on a Poll. The main functions of the contract are as follows: topup - This function accepts two parameters, a stateIndex, and an amount. It can only be called before the voting deadline. After checking whether the deadline has passed or not, it will validate that the contract has not reached the maximum number of messages, if the checks passes, it will increase the number of messages by 1. It will then try to transfer the amount of topUpCredit tokens. Finally, it will create a new Message object that will be hashed and enqueued in the messageAq contract. This messageAq contract is reserved for this one poll only and will only contain its messages. publishMessage - This function allows anyone to publish a message, and it accepts the message object as well as an ephemeral public key. This key together with the coordinator public key will be used to generate a shared ECDH key that will encrypt the message. Before saving the message, the function will check that the voting deadline has not passed, as well as the max number of messages was not reached. The mergeMaciStateAqSubRoots function can be called by the contract admin after the voting deadline and looks like the following: function mergeMaciStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) public onlyOwner isAfterVotingDeadline { // This function can only be called once per Poll require(!stateAqMerged, ERROR_STATE_AQ_ALREADY_MERGED); if (!extContracts.maci.stateAq().subTreesMerged()) { extContracts.maci.mergeStateAqSubRoots(_numSrQueueOps, _pollId); } emit MergeMaciStateAqSubRoots(_numSrQueueOps); } If the subtrees have not been merged on the MACI contract's stateAq, then it will merge it by calling mergeStateAqSubroots. It accepts two parameters: _numSrQueueOps - the number of operations required _pollId - the id of the poll The next function, is presented below: function mergeMaciStateAq(uint256 _pollId) public onlyOwner isAfterVotingDeadline { // This function can only be called once per Poll after the voting // deadline require(!stateAqMerged, ERROR_STATE_AQ_ALREADY_MERGED); stateAqMerged = true; require( extContracts.maci.stateAq().subTreesMerged(), ERROR_STATE_AQ_SUBTREES_NEED_MERGE ); mergedStateRoot = extContracts.maci.mergeStateAq(_pollId); // Set currentSbCommitment uint256[3] memory sb; sb[0] = mergedStateRoot; sb[1] = emptyBallotRoots[treeDepths.voteOptionTreeDepth - 1]; sb[2] = uint256(0); currentSbCommitment = hash3(sb); emit MergeMaciStateAq(mergedStateRoot); } This function only accepts one parameter, and can be called by the owner only, and after the voting deadline. The parameter is the pollId for which we want to perform the operation. This function can only be called once per poll, and it will check that the sub trees have been merged on MACI's AccQueue contract. Finally it will merge the whole AccQueue to generate the state root, and store the current commitment comprised of: the Poseidon hash of the merkle root, an empty ballot root stored in the emptyBallotRoots mapping (shown below), and a zero. emptyBallotRoots[0] = uint256(6579820437991406069687396372962263845395426835385368878767605633903648955255); emptyBallotRoots[1] = uint256(9105453741665960449792281626882014222103501499246287334255160659262747058842); emptyBallotRoots[2] = uint256(14830222164980158319423900821611648302565544940504586015002280367515043751869); emptyBallotRoots[3] = uint256(12031563002271722465187541954825013132282571927669361737331626664787916495335); emptyBallotRoots[4] = uint256(5204612805325639173251450278876337947880680931527922506745154187077640790699); In order for the processMessages circuit to access the message root, the following two functions need to be called (only by the owner): mergeMessageAqSubRoots - merges the Poll's messages tree subroot mergeMessageAq - merges the Poll's messages tree","s":"Poll.sol","u":"/docs/contracts","h":"#pollsol","p":1457},{"i":1464,"t":"PollFactory is a smart contract that is used to deploy new Polls. This is used by MACI inside the deployPoll function. It only contains two functions: setMessageAqFactory - owner only function which allows to set the address of the MessageAqFactory (a contract used to deploy new AccQueue contracts) deploy - owner only function which allows to deploy a new Poll The arguments required to deploy a new Poll are the following: uint256 _duration, MaxValues memory _maxValues, TreeDepths memory _treeDepths, BatchSizes memory _batchSizes, PubKey memory _coordinatorPubKey, VkRegistry _vkRegistry, IMACI _maci, TopupCredit _topupCredit, address _pollOwner Upon deployment, the ownership of the messageAq contract will be transferred to the deployed poll, as well as the ownership of the new Poll contract be transferred to the poll owner, which in MACI is set as the owner of MACI.","s":"PollFactory.sol","u":"/docs/contracts","h":"#pollfactorysol","p":1457},{"i":1466,"t":"This contract is used to prepare parameters for the zk-SNARK circuits as well as for verifying proofs. It should be deployed alongside MACI and ownership assigned to the coordinator.","s":"PollProcessorAndTallyer","u":"/docs/contracts","h":"#pollprocessorandtallyer","p":1457},{"i":1468,"t":"This is a simple factory contract which allows to deploy new AccQueueQuinaryMaci contracts. It exposes one function, deploy, which can only be called by the contract owner. After deployment of the contract, it will transfer its ownership to the same owner as the factory contract. contract MessageAqFactory is Ownable { function deploy(uint256 _subDepth) public onlyOwner returns (AccQueue) { AccQueue aq = new AccQueueQuinaryMaci(_subDepth); aq.transferOwnership(owner()); return aq; } }","s":"MessageAqFactory","u":"/docs/contracts","h":"#messageaqfactory","p":1457},{"i":1470,"t":"This contract should be used by the SignUpGateKeeper to determine whether a user is allowed to register. The default contract provided with MACI is a simple ERC721 token. Coordinators can use this contract to mint a token for each of the participants in the voting process.","s":"SignUpToken","u":"/docs/contracts","h":"#signuptoken","p":1457},{"i":1472,"t":"MACI requires a signup gatekeeper to ensure that only designed users register. It is up to MACI's deployer how they wish to allow sign-ups, therefore they can implement their own GateKeeper. The repository comes with two presets: FreeForAllSignUpGatekeeper - This allows anyone to signup on MACI. SignUpTokenGatekeeper - This makes use of a ERC721 token to gatekeep the signup function. An abstract contract to inherit from is also provided, with two function signatures as shown below: abstract contract SignUpGatekeeper { function setMaciInstance(MACI _maci) public virtual {} function register(address _user, bytes memory _data) public virtual {} } The MACI contract will need to call register inside the signUp function.","s":"SignUpGatekeeper","u":"/docs/contracts","h":"#signupgatekeeper","p":1457},{"i":1474,"t":"The VoiceCreditProxy contract is used to assign voice credits to users. Whichever implementation should the MACI deployers use, this must implement a view function that returns the balance for a user, such as the one below: function getVoiceCredits(address _user, bytes memory _data) public virtual view returns (uint256) {}","s":"VoiceCreditProxy","u":"/docs/contracts","h":"#voicecreditproxy","p":1457},{"i":1476,"t":"This contract exposes methods to hash different number of parameters with the Poseidon hash.","s":"Hasher","u":"/docs/contracts","h":"#hasher","p":1457},{"i":1478,"t":"The VkRegistry is a contract that holds the verifying keys for the zk-SNARK circuits. It holds three different sets of keys: processVks - The keys for the processMessages circuit tallyVks - The keys for the tallyVotes circuit subsidyVk - The keys for the subsidy circuit Each circuit will have a signature which is its compile-time constants represented as a uint256.","s":"VkRegistry","u":"/docs/contracts","h":"#vkregistry","p":1457},{"i":1480,"t":"A contract holding three structs: struct TreeDepths { uint8 intStateTreeDepth; uint8 messageTreeSubDepth; uint8 messageTreeDepth; uint8 voteOptionTreeDepth; } struct BatchSizes { uint24 messageBatchSize; uint24 tallyBatchSize; uint24 subsidyBatchSize; } struct MaxValues { uint256 maxMessages; uint256 maxVoteOptions; } These are stored separately to avoid a stack overlow error during compilation of the contracts using them.","s":"Params","u":"/docs/contracts","h":"#params","p":1457},{"i":1482,"t":"The AccQueue contract represents a Merkle Tree where each leaf insertion only updates a subtree. To obtain the main tree root, the subtrees must be merged together by the contract owner. This requires at least two operations, a mergeSubRoots and a merge. The contract can be initialized to work as a traditional Merkle Tree (2 leaves per node) or a Quinary Tree (5 leaves per node). This can be achieved by passing either two or five as parameter to the constructor (_hashLength). Any other values should not be accepted. Below are presented the most important functions of the smart contract: enqueue - Allows to add a leaf to the queue for the current subtree. Only one parameter is accepted and that is the leaf to insert. insertSubTree - Admin only function which allows to insert a full subtree (batch enqueue) mergeSubRoots - Allows the contract owner to merge all of the subtrees to form the shortest possible tree. The argument _numSrQueueOps can be used to perform the operation in multiple transactions (as this might trigger the block gas limit). merge - Allows the contract admin to form a main tree with the desired depth. The depth must fit all of the leaves.","s":"AccQueue","u":"/docs/contracts","h":"#accqueue","p":1457},{"i":1484,"t":"This contract contains the roots of Ballot trees of five leaf configurations. emptyBallotRoots[0] = uint256(6579820437991406069687396372962263845395426835385368878767605633903648955255); emptyBallotRoots[1] = uint256(9105453741665960449792281626882014222103501499246287334255160659262747058842); emptyBallotRoots[2] = uint256(14830222164980158319423900821611648302565544940504586015002280367515043751869); emptyBallotRoots[3] = uint256(12031563002271722465187541954825013132282571927669361737331626664787916495335); emptyBallotRoots[4] = uint256(5204612805325639173251450278876337947880680931527922506745154187077640790699);","s":"EmptyBallotRoots","u":"/docs/contracts","h":"#emptyballotroots","p":1457},{"i":1486,"t":"The coordinator is responsible for processing and tallying messages locally, before generating proofs that this was done correctly using the zk-SNARK circuits. To summarize, the coordinator's goal here is to process all of the messages that were submitted by MACI's voters, then tally the votes based on the valid vote messages. Furthermore, each batch processed should be able to be verified by a zk-SNARK proof.","s":"Coordinator local processing","u":"/docs/coordinator-processing","h":"","p":1485},{"i":1488,"t":"The following diagram, shows which components are involved and at which step of the way","s":"Which MACI's components are involved","u":"/docs/coordinator-processing","h":"#which-macis-components-are-involved","p":1485},{"i":1490,"t":"Zooming in.. Message processing Vote tallying","s":"What does the process look like?","u":"/docs/coordinator-processing","h":"#what-does-the-process-look-like","p":1485},{"i":1492,"t":"Process of completing a Poll Process of generating proofs Tally commitments","s":"What does the process look like when including the zk-SNARK proofs","u":"/docs/coordinator-processing","h":"#what-does-the-process-look-like-when-including-the-zk-snark-proofs","p":1485},{"i":1495,"t":"You need the following to use MACI: Node.js: use nvm to install it. MACI has been tested with Node 14, 16, 18 and 20. We do however recommend to use Node 18 or Node 20 as Node 14 is deprecated and Node 16 will soon be deprecated too. The rapidsnark tool if running on an intel chip (this allows for faster proof generation vs snarkjs). Note that MACI works on Linux and MacOS. It has not been tested on Windows, however it should work on Windows Subsystem for Linux (WSL). Keep in mind that when using MACI e2e on a non intel chip, tests will run using snarkjs with WASM. This will result in slower proof generation.","s":"Requirements","u":"/docs/installation","h":"#requirements","p":1493},{"i":1497,"t":"First, install dependencies: sudo apt-get install build-essential libgmp-dev libsodium-dev nasm git Next, clone rapidsnark and build it: git clone https://github.com/iden3/rapidsnark.git && \\ cd rapidsnark && \\ git checkout 1c13721de4a316b0b254c310ccec9341f5e2208e pnpm install && \\ git submodule init && \\ git submodule update && \\ pnpm exec task createFieldSources && \\ pnpm exec task buildProver Note the location of the rapidsnark binary (e.g. /home/user/rapidsnark/build/prover).","s":"Install rapidsnark (if on an intel chip)","u":"/docs/installation","h":"#install-rapidsnark-if-on-an-intel-chip","p":1493},{"i":1499,"t":"https://docs.circom.io/ Note the location of the circom binary (e.g. $HOME/.cargo/bin/circom), as you will need it later.","s":"Install circom v2:","u":"/docs/installation","h":"#install-circom-v2","p":1493},{"i":1501,"t":"git clone https://github.com/privacy-scaling-explorations/maci.git && \\ cd maci && \\ pnpm i && \\ pnpm run build On intel chips​ Install dependencies for and zkey-manager: sudo apt-get install libgmp-dev nlohmann-json3-dev nasm g++ Note that on an ARM macbook you won't need the above. However, you will not be able to compile the c++ witness generator.","s":"Install MACI","u":"/docs/installation","h":"#install-maci","p":1493},{"i":1503,"t":"Edit cli/zkeys.config.yml to include the relative path to the circom binary. --- circomPath: \"RELATIVE_PATH_TO_CIRCOM\"","s":"Configure zkey-manager","u":"/docs/installation","h":"#configure-zkey-manager","p":1493},{"i":1505,"t":"MACI has two main zk-SNARK circuits (plus an optional Subsidy circuit). Each circuit is parameterised. There should one .zkey file for each circuit and set of parameters. Unless you wish to generate a fresh set of .zkey files, you should obtain them from someone who has performed a multi-party trusted setup for said circuits. For more details on which artifacts have undergone a trusted setup, please refer to the Trusted Setup page. Note the locations of the .zkey files as the CLI requires them as command-line flags.","s":"Download .zkey files","u":"/docs/installation","h":"#download-zkey-files","p":1493},{"i":1507,"t":"If you wish to generate .zkey files from scratch, first navigate to cli/ and edit zkeys.config.yml. Set the parameters you need. Next, run the following to compile the circuits with parameters you specified: pnpm exec zkey-manager compile -c zkeys.config.yml Next, download the .ptau file: pnpm exec zkey-manager downloadPtau -c zkeys.config.yml Finally, generate the .zkey files. This may require a lot of memory and time. pnpm exec zkey-manager genZkeys -c zkeys.config.yml If on a ARM64 chip, the above will work, though it will show errors for the c++ witness generator. You can ignore these errors. main.cpp:9:10: fatal error: 'nlohmann/json.hpp' file not found #include ^~~~~~~~~~~~~~~~~~~ 1 error generated.","s":"Generate .zkey files","u":"/docs/installation","h":"#generate-zkey-files","p":1493},{"i":1509,"t":"MACI can be used in any protocol that requires collusion resistance, for instance it has been proven to be quite efficient when integrated in quadratic funding applications such as clr.fund and qfi. Here we will be looking at QFI and how it was used. Please note that this will be expanded as QFI is updated to use the newest version of MACI. Should you decide to integrate MACI in the meantime, feel free to open an issue on the GitHub repo.","s":"Integrating MACI","u":"/docs/integrating","h":"","p":1508},{"i":1511,"t":"The MACI contract is the core of the protocol. Contracts can inherit from MACI and thus expose the signup and topup functions. As with standalone MACI, one would need to deploy a sign up gatekeeper as well as the voice credit proxy. As an example, within the quadratic funding infrastructure project, the QFI contract inherits from MACI and allows sign up via the contribute function. function contribute( PubKey calldata pubKey, uint256 amount ) external { [..snip] uint256 voiceCredits = amount / voiceCreditFactor; // The user is marked as registered here upon contribution grantRoundToContributors[nextGrantRoundId][msg.sender] = ContributorStatus(voiceCredits, true); // Increase the number of contributors for this round grantRoundToContributorsCount[nextGrantRoundId]++; bytes memory signUpGatekeeperAndInitialVoiceCreditProxyData = abi.encode( msg.sender, voiceCredits ); signUp( pubKey, signUpGatekeeperAndInitialVoiceCreditProxyData, signUpGatekeeperAndInitialVoiceCreditProxyData ); [..snip] emit ContributionSent(msg.sender, amount); }","s":"MACI Contract","u":"/docs/integrating","h":"#maci-contract","p":1508},{"i":1513,"t":"On the other hand, the Poll contract can be inherited to expose functionality such as top ups and publishing of messages/commands. For instance, within QFI, the publishMessageBatch function call the publishMessage function of Poll, as shown below: function publishMessageBatch( Message[] calldata _messages, PubKey[] calldata _encPubKeys ) external { // Check that the two arrays have the same length require( _messages.length == _encPubKeys.length, \"GrantRound: _messages and _encPubKeys should be the same length\" ); uint256 batchSize = _messages.length; for (uint8 i = 0; i < batchSize; ++i) { publishMessage(_messages[i], _encPubKeys[i]); } emit Voted(msg.sender); }","s":"Poll Contract","u":"/docs/integrating","h":"#poll-contract","p":1508},{"i":1515,"t":"Minimum Anti-Collusion Infrastructure (MACI) is a base layer for bribery-resistant, secure, and private digital voting. Applications like clr.fund build atop MACI to increase privacy and discourage bribery for public goods funding. MACI offers the following guarantees: Collusion resistance: no-one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery. Receipt-freeness: no voter should be able to prove (besides to the coordinator) which way they voted. Privacy: no-one except a trusted coordinator should be able to decrypt a vote. Uncensorability: no-one — not even the trusted coordinator — should be able to censor a vote. Unforgeability: only the owner of a user's private key may cast a vote tied to its corresponding public key. Non-repudiation: no-one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. Correct execution: no-one — not even the trusted coordinator — should be able to produce a false tally of votes. Under the hood, MACI uses Ethereum smart contracts and zero-knowledge proofs. It inherits security and uncensorability from the underlying Ethereum blockchain, ensures unforgeability via asymmetric encryption, and achieves collusion resistance, privacy, and correct execution via zk-SNARK proofs. Although MACI can provide collusion resistance only if the coordinator is honest, a dishonest coordinator can neither censor nor tamper with its execution. Note that MACI presumes an identity system where each legitimate member controls a unique Ethereum private key. MACI was originally proposed by Vitalik Buterin in this ethresear.ch post.","s":"Introduction","u":"/docs/introduction","h":"","p":1514},{"i":1517,"t":"MACI was originally developed by: Barry WhiteHat Cory Dickson Chih-Cheng Liang Han Jian Kendrick Tan Kirill Goncharov Kobi Gurkan Koh Wei Jie Samuel Gosling Currently, it is being maintained by the new MACI team, which will continue to work on improving the protocol and its documentation. info If you are using one of the previous versions of MACI, see the MACI v0.x documentation.","s":"Credits","u":"/docs/introduction","h":"#credits","p":1514},{"i":1519,"t":"MACI's voters are identified by their MACI public key. Together with their private key, they can sign and submit messages to live Polls. As MACI's main property is to provide collusion resistence in digital voting applications, it is important to have a mechanism for a user to change their voting key, should this become compromised, or they wish to revoke past actions.","s":"MACI Key Change","u":"/docs/key-change","h":"","p":1518},{"i":1521,"t":"In order to understand how key changing currenctly works in MACI, we need to understand how messages are processed. After a poll ends, the coordinator processes messages off chain in reverse order. To improve efficiency, messages are processed in batches, and correctness is proved for each batch using a zk-SNARK circuit. Due to messages being processed in reverse order, key change messages would work a bit differently than if they were processed in the same order as they were submitted.","s":"How MACI messages are processed","u":"/docs/key-change","h":"#how-maci-messages-are-processed","p":1518},{"i":1523,"t":"Reverse processing was introduced to prevent a type of attack where a briber would collude with a voter to sign up, and then submit a message to change their key to a key that the briber controls. This way the briber would have assurance that they could submit the vote they want. Let's take as an example the following: Alice signs up with pub key pub1pub1pub1 Bob (Briber) bribes Alice and asks her to submit a key change message to pub2pub2pub2 (owned by Bob) Bob submits a vote with pub2pub2pub2 Alice submits a vote with pub1pub1pub1 If messages were processed in the same order as they were submitted, Alice's vote would not be valid, due to it being signed with a private key priv1priv1priv1 - which now would not be valid. On the other hand, due to messages being processed in reverse order, Alice's last message would be counted as valid as the key change would have not been processed yet. Then, Bob's vote would not be counted as valid as the current key for Alice would be pub2pub2pub2. Note that a key change message should have the nonce set to 1 in order for it to be valid. We'll see it a code example in the next sections.","s":"Why are messages processed in reverse order?","u":"/docs/key-change","h":"#why-are-messages-processed-in-reverse-order","p":1518},{"i":1525,"t":"A user, can submit a key change message, by simply sending a new message signed with their signup key, and setting the nonce to 1. This is because the code checks that the first message to be processed has the nonce set to 1. Let's take a look into a code example: We have two users, and three keypairs Create three keypairs const user1Keypair = new Keypair(); const user2Keypair = new Keypair(); const secondKeyPair = new Keypair(); Votes will be // user1 votes for project 0 const user1VoteOptionIndex = BigInt(0); // user2 votes for project 1 const user2VoteOptionIndex = BigInt(1); // user1 votes 9 for the first vote const user1VoteWeight = BigInt(9); // user2 votes 3 const user2VoteWeight = BigInt(3); // user1 will change their vote to 5 const user1NewVoteWeight = BigInt(5); What do we expect as result project 0 = 5 * 5 -> 25 project 1 = 3 * 3 -> 9 As seen above, we expect the first vote weight 9 to not be counted, but instead the second vote weight 5 to be counted. Deploy a MaciState locally and sign up const maciState: MaciState = new MaciState(STATE_TREE_DEPTH); // Sign up user1StateIndex = maciState.signUp(user1Keypair.pubKey, voiceCreditBalance, BigInt(Math.floor(Date.now() / 1000))); user2StateIndex = maciState.signUp(user2Keypair.pubKey, voiceCreditBalance, BigInt(Math.floor(Date.now() / 1000))); // deploy a poll pollId = maciState.deployPoll( duration, BigInt(Math.floor(Date.now() / 1000) + duration), maxValues, treeDepths, messageBatchSize, coordinatorKeypair, ); User1 and user2 submit their first votes const poll = maciState.polls[pollId]; const command1 = new PCommand( BigInt(user1StateIndex), user1Keypair.pubKey, user1VoteOptionIndex, user1VoteWeight, BigInt(1), BigInt(pollId), ); const signature1 = command1.sign(user1Keypair.privKey); const ecdhKeypair1 = new Keypair(); const sharedKey1 = Keypair.genEcdhSharedKey(ecdhKeypair1.privKey, coordinatorKeypair.pubKey); const message1 = command1.encrypt(signature1, sharedKey1); poll.publishMessage(message1, ecdhKeypair1.pubKey); const command2 = new PCommand( BigInt(user2StateIndex), user2Keypair.pubKey, user2VoteOptionIndex, user2VoteWeight, BigInt(1), BigInt(pollId), ); const signature2 = command2.sign(user2Keypair.privKey); const ecdhKeypair2 = new Keypair(); const sharedKey2 = Keypair.genEcdhSharedKey(ecdhKeypair2.privKey, coordinatorKeypair.pubKey); const message2 = command2.encrypt(signature2, sharedKey2); poll.publishMessage(message2, ecdhKeypair2.pubKey); User1 submits a key change message with the new vote const poll = maciState.polls[pollId]; const command = new PCommand( BigInt(user1StateIndex), secondKeyPair.pubKey, user1VoteOptionIndex, user1NewVoteWeight, BigInt(1), BigInt(pollId), ); const signature = command.sign(user1Keypair.privKey); const ecdhKeypair = new Keypair(); const sharedKey = Keypair.genEcdhSharedKey(ecdhKeypair.privKey, coordinatorKeypair.pubKey); const message = command.encrypt(signature, sharedKey); poll.publishMessage(message, ecdhKeypair.pubKey); We process the votes and check that the result is as expected (user1NewVoteWeight was 5 and user2VoteWeight 3) const poll = maciState.polls[pollId]; poll.processMessages(pollId); poll.tallyVotes(); expect(poll.perVOSpentVoiceCredits[0].toString()).to.eq((user1NewVoteWeight * user1NewVoteWeight).toString()); expect(poll.perVOSpentVoiceCredits[1].toString()).to.eq((user2VoteWeight * user2VoteWeight).toString()); Finally confirm that the keypair was changed for the user1 const poll = maciState.polls[pollId]; const stateLeaf1 = poll.stateLeaves[user1StateIndex]; const stateLeaf2 = poll.stateLeaves[user2StateIndex]; expect(stateLeaf1.pubKey.equals(user1SecondKeypair.pubKey)).to.eq(true); expect(stateLeaf2.pubKey.equals(user2Keypair.pubKey)).to.eq(true); We see that is important that we set the final message (the one with the new vote) with nonce 1, as this vote would be counted as the first vote. info Tests related to key changes have been added to the core package and to the cli package.","s":"Then how can a voter change their key and submit a new vote?","u":"/docs/key-change","h":"#then-how-can-a-voter-change-their-key-and-submit-a-new-vote","p":1518},{"i":1527,"t":"To implement an on-chain, privacy-preserving, voting system, the MACI protocol consists of three subsystems in different programming languages: Circom circuits Solidity smart contracts TypeScript libraries","s":"MACI Overview","u":"/docs/overview","h":"","p":1526},{"i":1529,"t":"MACI has multiple zk-SNARK circuits that ensure all off-chain computation is completed correctly. The circuits enforce that message processing and vote tallying were correctly executed by the coordinator. The circuits for these zero-knowledge proofs are written in Circom. The MACI circuits are released through the @maci-circuits NPM package. Learn more about MACI circuits","s":"Circuits","u":"/docs/overview","h":"#circuits","p":1526},{"i":1531,"t":"The MACI smart contracts handle the management and on-chain voting aspects of the system. They provide the functionality to sign up voters, deploy polls, and they store on-chain data from transactions, such as the encrypted votes of a poll. They also verify proofs of the zk-SNARK circuits. The MACI smart contracts are written in Solidity. Contracts are released through the @maci-contracts NPM package. Learn more about MACI contracts","s":"Smart contracts","u":"/docs/overview","h":"#smart-contracts","p":1526},{"i":1533,"t":"The TypeScript libraries manage the business logic between the smart contracts and the circuit code. They provide a variety of functionality, such as encryption tools, utilities, and a CLI for interacting with MACI (such as vote tallying & proof-generation). The MACI TypeScript libraries are released through the following NPM packages: @maci-cli @maci-core @maci-crypto @maci-domainobjs @maci-integrationtests","s":"TypeScript libraries","u":"/docs/overview","h":"#typescript-libraries","p":1526},{"i":1536,"t":"This section provides a short introduction of the main primitives used by MACI.","s":"MACI primitives","u":"/docs/primitives","h":"#maci-primitives","p":1534},{"i":1538,"t":"MACI uses the Baby Jubjub Elliptic Curve. The p scalar field of choosing is: p=21888242871839275222246405745257275088548364400416034343698204186575808495617p=21888242871839275222246405745257275088548364400416034343698204186575808495617p=21888242871839275222246405745257275088548364400416034343698204186575808495617 with generator: 995203441582195749578291179787384436505546430278305826713579947235728471134995203441582195749578291179787384436505546430278305826713579947235728471134995203441582195749578291179787384436505546430278305826713579947235728471134 547206071795981880556160143631431877213709110010400858592455104664395212390554720607179598188055616014363143187721370911001040085859245510466439521239055472060717959818805561601436314318772137091100104008585924551046643952123905 and within the finite field with modulo ppp.","s":"Elliptic Curves","u":"/docs/primitives","h":"#elliptic-curves","p":1534},{"i":1540,"t":"MACI uses Node.js's crypto.randomBytes(32) function to generate a cryptographically strong pseudorandom 32-byte value, as well as an algorithm to prevent modulo bias. In pseudocode this is: lim = 2 ** 256 min = lim - p rand = null while true: rand = BigInt(crypto.getRandomBytes(32)) if rand >= min: break privKey = rand % p A public key is a point on the Baby Jubjub curve, which is deterministically derived from a private key s.","s":"Key Pairs","u":"/docs/primitives","h":"#key-pairs","p":1534},{"i":1542,"t":"To sign messages, MACI uses the Edwards-curve Digital Signature Algorithm (EdDSA), implemented by iden3.","s":"Message Signing","u":"/docs/primitives","h":"#message-signing","p":1534},{"i":1544,"t":"MACI uses the Poseidon hash function, which is proven to be very efficient in ZK applications. Poseidon accepts nnn inputs and produces 1 output: y=poseidonn([x1,x2,...,xn])y = poseidon_n([x_1, x_2, ..., x_n])y=poseidonn​([x1​,x2​,...,xn​]) Also, SHA256 is used to compress public inputs to a circuit into a single field element in the finite field FFF mod ppp.","s":"Hash Functions","u":"/docs/primitives","h":"#hash-functions","p":1534},{"i":1546,"t":"In order to encrypt messages, MACI uses Poseidon in DuplexSponge mode. This provides an encryption function and a decryption function: CCC as poseidonEncrypt(ks[0],ks[1],N,l,t[])poseidonEncrypt(k_s[0], k_s[1], N, l, t[])poseidonEncrypt(ks​[0],ks​[1],N,l,t[]) poseidonDecrypt(ks[0],ks[1],N,l,C)poseidonDecrypt(k_s[0], k_s[1], N, l, C)poseidonDecrypt(ks​[0],ks​[1],N,l,C) In more details, ksk_sks​ is the shared key, a point on the Baby Jubjub curve NNN is the nonce, which we hardcode to 0 lll is the length of the plaintext t[]t[]t[] The implementation can be found here.","s":"Message Encryption","u":"/docs/primitives","h":"#message-encryption","p":1534},{"i":1548,"t":"The ECDH algorithm is used to generate a shared key, which is then used to encrypt each message. This allows to create messages which are only decryptable by the coordinator and the person sending the message. In more details: The coordinator's public key cPkcPkcPk is known to all. Their private key cSkcSkcSk is secret. When the user publishes a message (i.e. casts a vote), they generate an ephemeral keypair with private key eSkeSkeSk and public key ePkePkePk. The user generates the shared key kkk using the coordinator's public key cPkcPkcPk and the user's ephemeral private key eSkeSkeSk. The user encrypts the command and signature with kkk to form a message. The user sends their ephemeral public key ePkePkePk along with the ciphertext. The coordinator can recover the same shared key using their private key cSkcSkcSk and the given ephemeral public key ePkePkePk.","s":"Shared Key Generation","u":"/docs/primitives","h":"#shared-key-generation","p":1534},{"i":1550,"t":"Rather than using Binary merkle trees, MACI uses Quinary merkle trees (5 leaves per node). This allows for more gas efficient computation using the Poseidon hash function. Accumulator queue​ This contract holds user sign-ups and messages. When a leaf is inserted into the AccQueue, the merkle root is not updated yet, instead the leaf is updated or the root of a subtree is re-computed. The smart contract exposes three functions: enqueue(leaf): Enqueues a leaf into a subtree four out of five times it is invoked, an enqueue operation may or may not require the contract to perform a hash function. When it does, only up to tdt_dtd​ required number of hashes need to be computed mergeSubRoots(): Merge all subtree roots into the shortest possible Merkle tree to fit Before computing the main Merkle root, it is necessary to compute the smallSRTroot (the smallest subroot tree root). This is the Merkle root of a tree which is small enough to fit all the subroots function which allows the coordinator to specify the number of queue operations to execute. The entire tree may be merged in a single transaction, or it may not. merge(): Calculate the Merkle root of all the leaves at height dtd_tdt​","s":"Merkle Trees","u":"/docs/primitives","h":"#merkle-trees","p":1534},{"i":1552,"t":"Verifying Keys​ A verifying key vkvkvk is comprised of the following elements: α\\alphaα, a point in the curve on which G1G_1G1​ is defined β\\betaβ, a point in the curve on which G2G_2G2​ is defined γ\\gammaγ, a point in the curve on which G2G_2G2​ is defined δ\\deltaδ, a point in the curve on which G2G_2G2​ is defined ic[]ic[]ic[], a list of points in the curve on which G1G_1G1​ is defined A verifying key is used to validate a zk-SNARK proof. Each unique permutation of parameters to a particular circuit has a different verifying key. Private Keys​ MACI's private keys allow users to send and decrypt messages. This key translates to a scalar point on the Baby Jubjub elliptic curve. All keys are serialized with the prefix macisk. Public Keys​ Public keys also translate to a point on the Baby Jubjub elliptic curve, and is derived from the private key kkk. These are serialized with the prefix macipk. Key Pair​ A Key Pair is a private key and its corresponding public key. Command​ A command represents an action that a user may take. Such as casting a vote in a poll or changing their public key if bribed. It is made up of the following parameters: Symbol Name Size Description cmicm_icmi​ State index 50 State leaf index where the signing key is located cmpxcm_{p_{x}}cmpx​​ Public key x-coordinate 253 If no change is necessary this parameter should reflect the current public key's x-coordinate cmpycm_{p_{y}}cmpy​​ Public key y-coordinate 253 If no change is necessary this parameter should reflect the current public key's y-coordinate cmivcm_{i_{v}}cmiv​​ Vote option index 50 Option state leaf index of preference to assign the vote for cmwcm_wcmw​ Voting weight 50 Voice credit balance allocation, this is an arbitrary value dependent on a user's available credits cmncm_ncmn​ Nonce 50 State leaf's index of actions committed plus one cmidcm_{id}cmid​ Poll id 50 The poll's identifier to cast in regard to cmscm_scms​ Salt 253 An entropy value to inhibit brute force attacks Message​ A message is an encrypted command using the shared key ksk_sks​ between the voter and the coordinator. The plaintext ttt is computed as such: t=[p,cmpx,cmpy,cms,R8[0],R8[1],S]t = [p, cm_{p_{x}}, cm_{p_{y}}, cm_s, R8[0], R8[1], S]t=[p,cmpx​​,cmpy​​,cms​,R8[0],R8[1],S] While the message can be computed with the formula below: MMM = poseidonEncrypt(ks[0],ks[1],cmn,7,t){poseidonEncrypt}(k_s[0], k_s[1], cm_n, 7, t)poseidonEncrypt(ks​[0],ks​[1],cmn​,7,t) Decrypting a message​ To decrypt a message using ksk_sks​ is expressed as [p,R8[0],R8[1],cms][p, R8[0], R8[1], cm_s][p,R8[0],R8[1],cms​] = poseidonDecrypt(M,ks[0],ks[1],cmn,7){poseidonDecrypt}(M, k_s[0], k_s[1], cm_n, 7)poseidonDecrypt(M,ks​[0],ks​[1],cmn​,7) To unpack ppp to its original five parameters, it must be separated into 50 bit values from the parent 250 bit value. To extract 50 bits at byte nnn, we: initialise 50 bits shift left by nnn bits bitwise AND with ppp shift right by nnn bits","s":"Domain Objects","u":"/docs/primitives","h":"#domain-objects","p":1534},{"i":1554,"t":"A Ballot represents a particular user's votes in a poll, as well as their next valid nonce. It is akin to a voting slip, which belongs to only one voter and contains a list of their choices. Symbol Name Comments bltvblt_{v}bltv​ An array of vote weights bltv[i]blt_{v[i]}bltv[i]​ refers to the vote weights assigned to vote option iii bltnblt_nbltn​ The current nonce Starts from 0 and increments, so the first valid command must have nonce 1 bltdblt_dbltd​ The vote option tree depth The hash bltbltblt is computed as such: Compute the Merkle root of bltvblt_vbltv​, arity 5, of a tree of depth bltdblt_dbltd​; let this value be bltrblt_rbltr​ Compute poseidon2([bltn,bltr])poseidon_2([blt_n, blt_r])poseidon2​([bltn​,bltr​])","s":"Ballot","u":"/docs/primitives","h":"#ballot","p":1534},{"i":1556,"t":"A state leaf represents a user's participation declared through an identity (their public key) and information relevant to their ability or right to cast votes in a poll (their voice credit balance and the block timestamp at which they signed up). We define a state leaf slslsl as the poseidon4poseidon_4poseidon4​ hash of the following: Symbol Name Comments slPxsl_{P_x}slPx​​ Public key's x-coordinate slPysl_{P_y}slPy​​ Public key's y-coordinate slvsl_{v}slv​ Voice credit balance sltsl_{t}slt​ Block timestamp In Unix time (seconds since Jan 1 1970 UTC) The hash slslsl is computed as such: sl=poseidon4([slAx,slAy,slv,slt])sl = poseidon_4([sl_{A_x}, sl_{A_y}, sl_{v}, sl_{t}])sl=poseidon4​([slAx​​,slAy​​,slv​,slt​]) Blank state leaf​ A blank state leaf slBsl_BslB​ has the following value: 676900697020509952050894872371847172466086717112223527077360056792503800876267690069702050995205089487237184717246608671711222352707736005679250380087626769006970205099520508948723718471724660867171122235270773600567925038008762 This value is computed as such: Abx=10457101036533406547632367118273992217979173478358440826365724437999023779287A_{b_x} = 10457101036533406547632367118273992217979173478358440826365724437999023779287Abx​​=10457101036533406547632367118273992217979173478358440826365724437999023779287 Aby=19824078218392094440610104313265183977899662750282163392862422243483260492317A_{b_y} = 19824078218392094440610104313265183977899662750282163392862422243483260492317Aby​​=19824078218392094440610104313265183977899662750282163392862422243483260492317 slB=poseidon4([Ab0,Ab1,0,0])sl_B = poseidon_4([A_{b0}, A_{b1}, 0, 0])slB​=poseidon4​([Ab0​,Ab1​,0,0]) The code to derive AbxA_{b_x}Abx​​ and AbyA_{b_y}Aby​​ is here. The function call required is pedersenHash.getBasePoint('blake', 0) Hash the string PedersenGenerator_00000000000000000000000000000000_00000000000000000000000000000000 with blake256blake_{256}blake256​. In big-endian hexadecimal format, the hash should be 1b3ef77ef2cd620fd2358e69dd564f35556aad552fdd7f06b777bd3a1d697160. Set the 255th bit to 0. The result should be 1b3ef77ef2cd620fd2358e69dd564f35556aad552fdd7f06b777bd3a1d697120. Use the method to convert a buffer to a point on the BabyJub curve described in [2.3.2]. Multiply the point by 8. The result is the point with x-value AbxA_{b_x}Abx​​ and y-value AbyA_{b_y}Aby​​ Given the elliptic curve discrete logarithm problem, we assume that no-one knows the private key s∈Fps \\in {F}_ps∈Fp​ and by using the public key generation procedure in [1.4], we can derive AbxA_{b_x}Abx​​ and AbyA_{b_y}Aby​​. Furthermore, the string above (PedersenGenerator...) acts as a nothing-up-my-sleeve value.","s":"State leaf","u":"/docs/primitives","h":"#state-leaf","p":1534},{"i":1558,"t":"info This document is a copy of the MACI 1.0 Specification (for audit) document, created in July 2021 for one of MACI's formal audits. This historical document is stored here for informational purposes. We do not intend to edit it. As a result, some of the information within this document may be outdated. This is a detailed specification meant to assist auditors in reviewing MACI version 1.0. We thank the Zkopru team for their protocol specification, which this document adopts.","s":"MACI v1.0 Specification","u":"/docs/spec","h":"","p":1557},{"i":1560,"t":"The commit hashes relevant to this audit are the following: Name Commit appliedzkp/maci (v1 branch) 2db5f625b67a6b810bd851950d7a42c26189088b weijiekoh/circomlib (feat/poseidon-encryption branch) 0e78dde8c813b95f4585b0613927e9c4269de500 The scope of the audit with regards to the circomlib library covers: all the JS files that MACI references, excluding those which are not referenced by MACI's TS files all circuit files excluding whose which are not referenced by MACI's circuit files","s":"Audit scope","u":"/docs/spec","h":"#audit-scope","p":1557},{"i":1562,"t":"Through this audit, we wish to challenge the following statements: MACI exhibits collusion resistance No one except a trusted coordinator should be certain of the validity of a vote, reducing the effectiveness of bribery MACI exhibits receipt-freeness No voter may prove (besides to the coordinator) which way they voted MACI provides privacy No one except a trusted coordinator should be able to decrypt a vote MACI is uncensorable: No one (not even the trusted coordinator) should be able to censor a vote MACI provides unforgeability Only the owner of a user's private key may cast a vote tied to its corresponding public key MACI provides non-repudiation No one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it Correct execution No one (not even the trusted coordinator) should be able to produce a false tally of votes","s":"Statements that we wish to challenge","u":"/docs/spec","h":"#statements-that-we-wish-to-challenge","p":1557},{"i":1565,"t":"MACI uses the Baby Jubjub Elliptic Curve as defined in this paper by Whitehat, Baylina, and Bellés. 1.1. The Baby Jubjub curve​ Following the Baby Jubjub paper, we define the scalar field \\(p\\) as such: p=21888242871839275222246405745257275088548364400416034343698204186575808495617p = 21888242871839275222246405745257275088548364400416034343698204186575808495617p=21888242871839275222246405745257275088548364400416034343698204186575808495617 The field Fp\\mathbb{F}_pFp​ is the finite field with modulo ppp. The generator point of Baby Jubjub GGG is: 995203441582195749578291179787384436505546430278305826713579947235728471134, 5472060717959818805561601436314318772137091100104008585924551046643952123905 1.2. Private key generation​ A private key is a random integer in the field Fp\\mathbb{F}_pFp​. MACI uses the Node.js crypto.randomBytes(32) function to generate a cryptographically strong pseudorandom 32-byte value, as well as an algorithm to prevent modulo bias. In pseduocode this is expressed as: lim = 2 ** 256 min = lim - p rand = null while true: rand = BigInt(crypto.getRandomBytes(32)) if rand >= min: break privKey = rand % p 1.3. Private key formatting​ The following procedures require that a private key be formatted into a scalar that can be multiplied with a point on the Baby Jubjub curve. Public key generation ECDH shared key generation The algorithm to do so is as such: Hash the private key using blake512\\mathsf{blake512}blake512 as such: h1=blake512(s)h_1 = \\mathsf{blake512}(s)h1​=blake512(s) Take the lowest 32 bytes of h1h_1h1​ as a buffer and prune it to derive h2h_2h2​. To prune the buffer, we: 2.1. Clear the lowest three bits of the 0th byte 2.2. Clear the highest bit of the 31st byte 2.3. Set the second-highest bit of the 31st byte to 1. Convert h2h_2h2​ to its little-endian integer representation. We denote this as h3h_3h3​ Shift h3h_3h3​ right by 3 bits to get the formatted private key h4h_4h4​ 1.4. Public key generation​ A public key is a point on the Baby Jubjub curve. It is determistically derived from a private key sss, the procedure to do so is almost identical to RFC8032. Format the private key [1.3] Multiply GGG by 8 and multiply the resulting point by the formatted private key to derive the public key AAA: B=8⋅GB = 8 \\cdot GB=8⋅G A=B⋅h4A = B \\cdot h_4A=B⋅h4​ 1.5. Digital signature generation​ We use the Edwards-curve Digital Signature Algorithm (EdDSA) to sign messages. The code which implements signature generation and verification is iden3's implementation in the circomlib library. Given a private key sss, its public key AAA [1.4] and a message M∈FpM \\in \\mathbb{F}_pM∈Fp​, we derive the signature R8,SR8, SR8,S as such: Hash the private key using blake512\\mathsf{blake512}blake512 as such: h1=blake512(s)h_1 = \\mathsf{blake512}(s)h1​=blake512(s) Format sss [1.3] to generate AAA [1.4] Convert MMM to a buffer in little-endian format, concatenate it with the 32nd to 64th bytes of h1h_1h1​, and hash the result with blake512\\mathsf{blake512}blake512, and interpret the hash in little-endian format as a value rrr in the field Fp\\mathbb{F}_pFp​ Multiply rrr with BBB to get R8R8R8 Hash R8R8R8, AAA, and MMM: hm=poseidon4([R8[0],R8[1],A[0],A[1],m])hm = \\mathsf{poseidon_4}([R8[0], R8[1], A[0], A[1], m])hm=poseidon4​([R8[0],R8[1],A[0],A[1],m]) Calculate S=hm⋅h3+rS = hm \\cdot h_3 + rS=hm⋅h3​+r The signature is R8,SR8, SR8,S 1.6. Digital signature verification​ Given a message MMM, a signature R8R8R8, SSS, and a public key AAA, we verify the signature in this manner: hm=poseidon4(R8[0],R8[1],A[0],A[1],M)hm = \\mathsf{poseidon_4}(R8[0], R8[1], A[0], A[1], M)hm=poseidon4​(R8[0],R8[1],A[0],A[1],M) The signature is valid if the following are equal: 2.1. (G⋅8)⋅S(G \\cdot 8) \\cdot S(G⋅8)⋅S 2.2. ((hm⋅8)⋅A)+R8((hm \\cdot 8) \\cdot A) + R8((hm⋅8)⋅A)+R8","s":"Elliptic Curve Cryptography","u":"/docs/spec","h":"#elliptic-curve-cryptography","p":1557},{"i":1567,"t":"1.7. Poseidon​ We define poseidonn\\mathsf{poseidon_n}poseidonn​ as a hash function which accepts nnn inputs and produces one output yyy: y=poseidonn([x1,x2,...,xn])y = \\mathsf{poseidon_n}([x_1, x_2, ..., x_n])y=poseidonn​([x1​,x2​,...,xn​]) where xi,y∈Fpx_i, y \\in \\mathbb{F}_pxi​,y∈Fp​. We use the implementation provided by circomlib, which uses the S-box x5x^5x5 and the following RFR_FRF​ and RPR_PRP​ values: nnn ttt RFR_FRF​ RPR_PRP​ 2 3 8 57 3 4 8 56 4 5 8 60 5 6 8 60 We verified that circomlib's poseidonn\\mathsf{poseidon_n}poseidonn​ implementation matches the reference implementation using the procedure documented here. 1.8. SHA256​ SHA256 is used to compress public inputs to a circuit into a single field element in Fp\\mathbb{F}_pFp​. This reduces zk-SNARK verification gas costs. SHA256 is defined in RFC6234. We use implementations in the EVM as well as ethers.js.","s":"Hash functions","u":"/docs/spec","h":"#hash-functions","p":1557},{"i":1569,"t":"1.9. Poseidon in DuplexSponge mode​ We use the Poseidon permutation function in DuplexSponge mode to encrypt each command and its signature. This method is described by the authors of the Poseidon hash function here. We refer to the encryption function which produces ciphertext CCC as poseidonEncrypt(ks[0],ks[1],N,l,t[])\\mathsf{poseidonEncrypt}(k_s[0], k_s[1], N, l, t[])poseidonEncrypt(ks​[0],ks​[1],N,l,t[]) where: ksk_sks​ is the shared key, a point on the Baby Jubjub curve NNN is the nonce, which we hardcode to 0 lll is the length of the plaintext t[]t[]t[] At the time of writing, the Javascript and circom code for Poseidon encryption / decryption is in this fork of the original iden3 codebase. poseidonDecrypt(ks[0],ks[1],N,l,C)\\mathsf{poseidonDecrypt}(k_s[0], k_s[1], N, l, C)poseidonDecrypt(ks​[0],ks​[1],N,l,C) is the decryption function that reverses poseidonEncrypt\\mathsf{poseidonEncrypt}poseidonEncrypt.","s":"Symmetric encryption","u":"/docs/spec","h":"#symmetric-encryption","p":1557},{"i":1571,"t":"1.10. Elliptic-curve Diffie–Hellman (ECDH)​ As will be described below, each command [2.5] is encrypted with a key that only the coordinator and the user know. In order to securely generate this shared key, we use the ECDH algorithm. The coordinator's public key cPkcPkcPk is known to all. Their private key cSkcSkcSk is secret. When the user publishes a message (i.e. casts a vote), they generate an ephemeral keypair with private key eSkeSkeSk and public key ePkePkePk. The user generates the shared key kkk using the coordinator's public key cPkcPkcPk and the user's ephemeral private key eSkeSkeSk. The user encrypts the command and signature with kkk to form a message [2.6]. The user sends their ephemeral public key ePkePkePk along with the ciphertext. The coordinator can recover the same shared key using their private key cSkcSkcSk and the given ephemeral public key ePkePkePk. To generate kkk from cPkcPkcPk and eSkeSkeSk: Format eSkeSkeSk [1.3] Multiply the point cPkcPkcPk by the above result","s":"Shared-key generation","u":"/docs/spec","h":"#shared-key-generation","p":1557},{"i":1573,"t":"We use quinary Merkle trees (5 leaves per node) rather than binary Merkle trees (2 leaves per node) due to the gas and circuit constraints when using the Poseidon hash function. 1.10. Accumulator queue​ When users sign up or publish messages, they invoke a smart contract function that enqueues a leaf into an accumulator queue (which we dub an AccQueue). This is a data structure which is akin to a quinary Merkle tree. When a user inserts a leaf into the AccQueue, the Merkle root of all the leaves is not yet updated. Rather, the leaf is either simply stored or the root of a subtree is updated. The height of the subtree tst_sts​ is less than the full height of the tree tdt_dtd​. The coordinator must merge all the subtrees to compute the Merkle root of all the leaves, allowing users to save gas when they enqueue leaves. It exposes the following interface: enqueue(leaf): Enqueues a leaf into a subtree mergeSubRoots(): Merge all subtree roots into the shortest possible Merkle tree to fit merge(): Calculate the Merkle root of all the leaves at height tdt_dtd​ The AccQueue keeps track of levels\\mathsf{levels}levels and indices\\mathsf{indices}indices for the latest subtree. It also keeps track of a list of all the subtree roots. An AccQueue which supports subtrees of depth ddd has the following as mutable state: State item Description levels[33][4]\\mathsf{levels[33][4]}levels[33][4] Leaf/node values at each subtree level indices[33]\\mathsf{indices[33]}indices[33] The next available leaf/node index per subtree level subRootLevels[33][4]\\mathsf{subRootLevels[33][4]}subRootLevels[33][4] Leaf/node values for the tree formed by subroots as leaves subRootIndices[33]\\mathsf{subRootIndices[33]}subRootIndices[33] The next available leaf/node index per subroot level subRoots[]\\mathsf{subRoots[]}subRoots[] All the roots of complete subtrees numLeaves\\mathsf{numLeaves}numLeaves The number of enqueued leaves 1.10.1. Enqueuing a leaf​ To enqueue a leaf lll in an AccQueue: For each nnn in 0...(d+1)0...(d+1)0...(d+1), either: Store the leaf in levels[n][indices[n]]\\mathsf{levels[n][indices[n]]}levels[n][indices[n]] if indices[n]<5indices[n] < 5indices[n]<5, and break from the loop, or Compute poseidon5([levels[n][0],levels[n][1],levels[n][2],levels[n][3],l)\\mathsf{poseidon_5}([levels[n][0], levels[n][1], levels[n][2], levels[n][3], l)poseidon5​([levels[n][0],levels[n][1],levels[n][2],levels[n][3],l), clear all values of levels[n]levels[n]levels[n], clear indices[n]indices[n]indices[n], and continue the loop with the hash as lll Increment numLeaves\\mathsf{numLeaves}numLeaves by 1 If numLeaves\\mathsf{numLeaves}numLeaves is a multiple of 5ts5^{t_s}5ts​: Append levels[ts][0]\\mathsf{levels}[t_s][0]levels[ts​][0] to subRootssubRootssubRoots Clear levels[ts]\\mathsf{levels}[t_s]levels[ts​] Clear indices\\mathsf{indices}indices Effectively, four out of five times it is invoked, an enqueue operation may or may not require the contract to perform a hash function. When it does, only up to tdt_dtd​ required number of hashes need to be computed. 1.10.2. Merging subroots​ Before computing the main Merkle root, it is necessary to compute the smallSRTroot (the smallest subroot tree root). This is the Merkle root of a tree which is small enough to fit all the subroots, it uses a similar mechanisim to enqueuing leaves [1.10.2]. The AccQueue.sol contract provides the mergeSubRoots(uint256 _numSrQueueOps) function which allows the coordinator to specify the number of queue operations to execute. The entire tree may be merged in a single transaction, or it may not. Multiple calls to mergeSubRoots may be required due to the block gas limit. 1.10.3. Computing main root​ A similar operation to [1.10.2] and [1.10.3] is used to derive the main Merkle root (with depth tdt_dtd​). 1.11. Groups on the alt_bn128 elliptic curve​ We refer to the G1G_1G1​ and G2G_2G2​ cyclic groups as defined in EIP-197.","s":"Merkle trees","u":"/docs/spec","h":"#merkle-trees","p":1557},{"i":1576,"t":"A verifying key vkvkvk is comprised of the following elements: α\\alphaα, a point in the curve on which G1G_1G1​ is defined β\\betaβ, a point in the curve on which G2G_2G2​ is defined γ\\gammaγ, a point in the curve on which G2G_2G2​ is defined δ\\deltaδ, a point in the curve on which G2G_2G2​ is defined ic[]ic[]ic[], a list of points in the curve on which G1G_1G1​ is defined A verifying key is used to validate a zk-SNARK proof. Each unique permutation of parameters to a particular circuit has a different verifying key.","s":"2.1. Verifying key","u":"/docs/spec","h":"#21-verifying-key","p":1557},{"i":1578,"t":"A private key kkk represents a particpant's ability to broadcast or decrypt messages under an unique identity and generation of a shared key [1.9], it translates to a scalar point on the Baby Jubjub ellpitical curve. To avoid confusion with Ethereum's ECDSA encryption, MACI requires serialisation bound with the prefix macisk. 2.2.1. Serialisation​ To represent kkk as a serialised private key, it is converted into big-endian hexadecimal format (lowercase; using the Node.js BigInt.toString(16) function) and concatenated with the prefix, no padding is applied during this process. For example, the following private key in decimal format: 378518255983818910927934606039702971920825053305019083084707716727223126406137851825598381891092793460603970297192082505330501908308470771672722312640613785182559838189109279346060397029719208250533050190830847077167272231264061 is serialised as: macisk.85e56605303139aca49355df30d94f225788892ec71a5cfdbe79266563d5f3d 2.2.2. Deserialisation​ To revert a serialised key back to its unserialised form kkk, the string is manipulated to isolate the hexadecimal value by removing the prefix (through the Node.js operation String.slice()) and is prepended 0x for conversion from hexadecimal back to its big-endian primitive.","s":"2.2. Private key","u":"/docs/spec","h":"#22-private-key","p":1557},{"i":1580,"t":"A public key ppp represents a users identity derived from kkk and therefore is also a point on the Baby Jubjub curve. It too requires serialisation, but to clarify the contrast to private keys it is assigned the prefix macipk. 2.3.1. Serialisation​ To get a serialised public key from public key coordinates, the variable uuu is defined as public key's y-cordinate, a 32 bit buffer vvv is created and iterated over each uninitialised byte to: assign the result of a bitwise AND (&) operation between values uuu and 255255255 to byte nnn shift uuu right by 8 bits (>>) The result vvv is a hexadecimal big-endian value which is prendend its prefix to declare it as a serialised key. 2.3.2. Deserialisation​ To reverse the effects of serialisation and return the unpacked public key, we must remove the prefix (using the method defined in [2.2.2]) and convert back to a buffer from hexadecimal. A return variable yyy is initialised and the buffer is then iterated over each byte to: shift uuu left by the result of 888 multiplied by nnn bits (<<) assign yyy the result of addition between yyy and uuu The result yyy is the public key's y-cordinate, to then compute the x-cordinate we must look at the equation for the twisted Edwards elliptic curve (as defined in EIP-2494): ax2+y2=1+dx2y2ax^2 + y^2 = 1 + dx^2y^2ax2+y2=1+dx2y2 solving for xxx, results: xxx = dy2−ay2−1\\mathsf{\\sqrt{\\frac{dy^2 - a}{y^2 - 1}}}y2−1dy2−a​​","s":"2.3. Public key","u":"/docs/spec","h":"#23-public-key","p":1557},{"i":1582,"t":"A keypair is a private key and its corresponding public key.","s":"2.4. Keypair","u":"/docs/spec","h":"#24-keypair","p":1557},{"i":1584,"t":"A command represents an action that a user may take. Such as casting a vote in a poll or changing their public key if bribed. It is made up of the following parameters: Symbol Name Size Description cmicm_icmi​ State index 50 State leaf index where the signing key is located cmpxcm_{p_{x}}cmpx​​ Public key x-coordinate 253 If no change is necessary this parameter should reflect the current public key's x-coordinate cmpycm_{p_{y}}cmpy​​ Public key y-coordinate 253 If no change is necessary this parameter should reflect the current public key's y-coordinate cmivcm_{i_{v}}cmiv​​ Vote option index 50 Option state leaf index of preference to assign the vote for cmwcm_wcmw​ Voting weight 50 Voice credit balance allocation, this is an arbitary value dependent on a user's available credits cmncm_ncmn​ Nonce 50 State leaf's index of actions committed plus one cmidcm_{id}cmid​ Poll id 50 The poll's identifier to cast in regard to cmscm_scms​ Salt 253 An entropy value to inhibit brute force attacks The parameters; cmicm_icmi​, cmivcm_{i_{v}}cmiv​​, cmncm_ncmn​, cmwcm_wcmw​ and cmidcm_{id}cmid​ are packed into a singular 250 bit value ppp, defined as the sum of bitwise right shifts from 0 to 250, incrementing by 50 for each parameter. This reduces gas expenditures when generating a poseidon4\\mathsf{poseidon_{4}}poseidon4​ hash of a command hcmh_{cm}hcm​, expressed as: hcmh_{cm}hcm​ = poseidon4([p,cmpx,cmpy,cms])\\mathsf{poseidon_{4}([p, cm_{p_{x}}, cm_{p_{y}}, cm_s])}poseidon4​([p,cmpx​​,cmpy​​,cms​]) 2.5.1. Signing a command​ To sign a command with a public key AAA: Compute M=hcmM = h_{cm}M=hcm​ Sign MMM using EdDSA [1.5] The signature is R8,SR8, SR8,S 2.5.2. Verifying a signature​ We use the method described in [1.6]","s":"2.5. Command","u":"/docs/spec","h":"#25-command","p":1557},{"i":1586,"t":"A message represents an encrypted command. Given a shared key ksk_sks​ derived using ECDH [1.10] and plaintext ttt, we compute: t=[p,cmpx,cmpy,cms,R8[0],R8[1],S]t = [p, cm_{p_{x}}, cm_{p_{y}}, cm_s, R8[0], R8[1], S]t=[p,cmpx​​,cmpy​​,cms​,R8[0],R8[1],S] MMM = poseidonEncrypt(ks[0],ks[1],cmn,7,t)\\mathsf{poseidonEncrypt}(k_s[0], k_s[1], cm_n, 7, t)poseidonEncrypt(ks​[0],ks​[1],cmn​,7,t) 2.6.1. Decrypting a message​ To decrypt a message using ksk_sks​ is expressed as [p,R8[0],R8[1],cms][p, R8[0], R8[1], cm_s][p,R8[0],R8[1],cms​] = poseidonDecrypt(M,ks[0],ks[1],cmn,7)\\mathsf{poseidonDecrypt}(M, k_s[0], k_s[1], cm_n, 7)poseidonDecrypt(M,ks​[0],ks​[1],cmn​,7) To unpack ppp to it's original five parameters, it must be seperated into 50 bit values from the parent 250 bit value. To extract 50 bits at byte nnn, we: initialise 50 bits shift left by nnn bits bitwise AND with ppp shift right by nnn bits","s":"2.6. Message","u":"/docs/spec","h":"#26-message","p":1557},{"i":1588,"t":"A Ballot represents a particular user's votes in a poll, as well as their next valid nonce. It is akin to a voting slip, which belongs to only one voter and contains a list of their choices. Symbol Name Comments bltvblt_{v}bltv​ An array of vote weights bltv[i]blt_{v[i]}bltv[i]​ refers to the vote weights assigned to vote option iii bltnblt_nbltn​ The current nonce Starts from 0 and increments, so the first valid command must have nonce 1 bltdblt_dbltd​ The vote option tree depth The hash bltbltblt is computed as such: Compute the Merkle root of bltvblt_vbltv​, arity 5, of a tree of depth bltdblt_dbltd​; let this value be bltrblt_rbltr​ Compute poseidon2([bltn,bltr])\\mathsf{poseidon_2}([blt_n, blt_r])poseidon2​([bltn​,bltr​])","s":"2.7. Ballot","u":"/docs/spec","h":"#27-ballot","p":1557},{"i":1590,"t":"A state leaf represents a user's participation declared through an identity (their public key) and information relevant to their ability or right to cast votes in a poll (their voice credit balance and the block timestamp at which they signed up). We define a state leaf slslsl as the poseidon4\\mathsf{poseidon_4}poseidon4​ hash of the following: Symbol Name Comments slPxsl_{P_x}slPx​​ Public key's x-coordinate slPysl_{P_y}slPy​​ Public key's y-coordinate slvsl_{v}slv​ Voice credit balance sltsl_{t}slt​ Block timestamp In Unix time (seconds since Jan 1 1970 UTC) The hash slslsl is computed as such: sl=poseidon4([slAx,slAy,slv,slt])sl = \\mathsf{poseidon_4}([sl_{A_x}, sl_{A_y}, sl_{v}, sl_{t}])sl=poseidon4​([slAx​​,slAy​​,slv​,slt​]) 2.8.1. Blank state leaf​ A blank state leaf slBsl_BslB​ has the following value: 676900697020509952050894872371847172466086717112223527077360056792503800876267690069702050995205089487237184717246608671711222352707736005679250380087626769006970205099520508948723718471724660867171122235270773600567925038008762 This value is computed as such: Abx=10457101036533406547632367118273992217979173478358440826365724437999023779287A_{b_x} = 10457101036533406547632367118273992217979173478358440826365724437999023779287Abx​​=10457101036533406547632367118273992217979173478358440826365724437999023779287 Aby=19824078218392094440610104313265183977899662750282163392862422243483260492317A_{b_y} = 19824078218392094440610104313265183977899662750282163392862422243483260492317Aby​​=19824078218392094440610104313265183977899662750282163392862422243483260492317 slB=poseidon4([Ab0,Ab1,0,0])sl_B = \\mathsf{poseidon_4}([A_{b0}, A_{b1}, 0, 0])slB​=poseidon4​([Ab0​,Ab1​,0,0]) The code to derive AbxA_{b_x}Abx​​ and AbyA_{b_y}Aby​​ is here. The function call required is pedersenHash.getBasePoint('blake', 0) Hash the string PedersenGenerator_00000000000000000000000000000000_00000000000000000000000000000000 with blake256\\mathsf{blake_{256}}blake256​. In big-endian hexadecimal format, the hash should be 1b3ef77ef2cd620fd2358e69dd564f35556aad552fdd7f06b777bd3a1d697160 Set the 255th bit to 0. The result should be 1b3ef77ef2cd620fd2358e69dd564f35556aad552fdd7f06b777bd3a1d697120 Use the method to convert a buffer to a point on the BabyJub curve described in [2.3.2] Multiply the point by 8. The result is the point with x-value AbxA_{b_x}Abx​​ and y-value AbyA_{b_y}Aby​​ Given the elliptic curve discrete logarithm problem, we assume that no-one knows the private key s∈Fps \\in \\mathbb{F}_ps∈Fp​ and by using the public key generation procedure in [1.4], we can derive AbxA_{b_x}Abx​​ and AbyA_{b_y}Aby​​. Furthermore, the string above (PedersenGenerator...) acts as a nothing-up-my-sleeve value.","s":"2.8. State leaf","u":"/docs/spec","h":"#28-state-leaf","p":1557},{"i":1593,"t":"There is a coordinator and one or more users. Coordinator​ The coordinator's public key is cPkcPkcPk and their private key is cSkcSkcSk. User​ A user's ephemeral public key is ePkePkePk and their ephemeral private key is eSkeSkeSk.","s":"3.1. Actors","u":"/docs/spec","h":"#31-actors","p":1557},{"i":1595,"t":"In governing systems, collusion can be described as the ability to distort any ballot through acts of influence, most often witnessed as bribery. Such arrangements require the bribee to vote in a manner requested by the briber, and for the former to provide proof (such as the transaction hash of a vote) to receive compensation (e.g. a monetary incentive) for their compliance. MACI provides collusion-resistance assuming that: it uses an identity system which is sybil-resistant the coordinator is honest That said, even if the coordinator is dishonest, they can neither tamper nor censor with its execution. In MACI, the contents of a vote can only be decrypted by the coordinator. Moreover, the validity of a vote cannot be proven, as participants can revoke past actions through key-changes. Therefore, inhibiting the adversary in validating the fufilliment of such agreements. To clarify how this works, consider the following situation between Alice and Eve involving a vote option A: Alice registers her identity during the sign up period, in preparation for the upcoming poll The sign up period ends and the voting period begins, Eve bribes Alice to oppose option A Alice casts a message for option A, in which she simultaneously: Votes in opposition of A Changes her keypair through submitting a new public key Eve is uncertain whether Alice has voted for her preference due to the secrecy of the message, regardless she assumes confirmation upon recieving the transaction hash Alice broadcasts a message from the new keypair registered in step 3 and casts a vote in support of poll A in turn, voiding her initial vote in opposition Eve is doubtful whether her request was actually satisfied and is unaware to Alice casting a new vote to void the first, she decides not compensate Alice because of the uncertainty surrounding her compliance.","s":"3.2. How MACI prevents collusion","u":"/docs/spec","h":"#32-how-maci-prevents-collusion","p":1557},{"i":1597,"t":"The gatekeeper contract is an abstraction of logic that any deployment of MACI can modify. It is a way to whitelist signups to the system. For example, a custom gatekeeper contract may only allow addresses which own a certain ERC721 token for registration.","s":"3.3. Gatekeeper contract","u":"/docs/spec","h":"#33-gatekeeper-contract","p":1557},{"i":1599,"t":"The voice credit contract is another abstraction of logic that any deployment can configure at preference. It is a mechanism to define or admit voting power among participants based on, for instance, one's token balances. MACI only supports 2322^{32}232 (unit256) values for voice credit balances.","s":"3.4. Initial voice credit proxy","u":"/docs/spec","h":"#34-initial-voice-credit-proxy","p":1557},{"i":1601,"t":"In MACI there are two zkSNARK circuits each ensuring: the correct registration of messages to the state tree the correct execution of the tallying of votes Each of these circuits involve ownership of an independent verifying key to validate each when successfully executed, these are generated during the trusted setup and are initialised to the registry for generating proofs.","s":"3.5. Verifying key registry","u":"/docs/spec","h":"#35-verifying-key-registry","p":1557},{"i":1603,"t":"The state tree​ Each leaf the state tree encodes a participant's identity (public key) and the Unix timestamp at which they signed up. It has an arity of 5 and its depth is hardcoded to 10. The default leaf value is the hash of a blank state leaf [2.8.1], insertions begin at index 1. Leaf 0 is reserved to inhibit a denial-of-service attack as explained below in [6.1]. The ballot tree (per poll)​ Each leaf within the ballot trees stores a participants vote within a poll, it shares the same arity and depth as the state tree. It also has index 0 reserved for a blank leaf following the same basis. The message tree (per poll)​ Each leaf within the message tree correlates to a command cast from participants within a poll, it too like the state tree has a default nothing-up-my-sleeve value at leaf zero. Except it is a Keccak256 hash of the string \"Maci\" moduluo the SNARK field size ppp [1.1].","s":"3.6. State","u":"/docs/spec","h":"#36-state","p":1557},{"i":1605,"t":"When a user signs up​ Registration is initiated through fulfilling the requirements specified in the gatekeeper contract and calling the signUp() method in the MACI contract. This enqueues adding a new leaf to the state tree for it to be merged by the coordinator once appropriate. When a user publishes a message​ Publishing messages requires users to encrypt a command using a shared key generated using ECDH [1.10] and submiting the ciphertext through the publishMessage() function. The message is then queued for processing by the co-ordinator once published. When the coordinator merges the state queue​ To subsidise gas costs for users, registration does not require the state root to be updated at its full depth, which would incur a gas cost linear to the depth. Rather, the use the Accumulator Queue system described in [1.10] enqueues leaves. As such, the coordinator must compute the state tree root after the voting period is over and before they process messages. Which first requires the merging of subroots [1.10.1], this creates the shortest possible tree that contains all the state leaves. Which may or may not require multiple transactions (in the form of batches) due to the restriction of the block gas limit. Once all the subroots have been computed they are merged [1.10.2] to compute the state root at its full depth. After merging, the state-ballot commitment hash currentSbCommitment is initialised, which is a poseidon3\\mathsf{poseidon_{3}}poseidon3​ represenation of the state's Merkle root, the ballot's Merkle root and a salt. At initialisation the Merkle roots are equal to the trees at full depth. When the coordinator merges the message queue​ The process of merging queues are the same in both the message and state trees. When the coordinator processes the messages​ As large zk-SNARK circuits take up a lot of disk space and require a large amount of resources to compile, it is not feasible to prove the correctness of message processing for all messages in a single proof. Rather, we process messages in batches. With each batch of messages at a particular index, the coordinator proves, using a zk-SNARK proof, intermediate currentSbCommitment values for subroots at a relative depth. The authencity of this statement is confirmed using the registry's processing verifying key. The outcome of processing all batches, which must occur in consecutive order, is the same as if all the messages were processed in one go. When the coordinator tallies the votes​ To index tallying of votes in a poll, a tally commitment hash tallyCommitment is recorded which conforms similarly to the state-ballot commitment hash. The coordinator submits a new commitment hash and it's relative proof to tally the votes, which requires the verifying tallying key (queried from the registry) and the public input hash to validate the claim. Which is a SHA256 representation of the following parameters: a packed value of; the number of signups, batch start index and batch size (packedVals [6.2]) the state-ballot commitment hash the current tally commitment hash the new tally commitment hash The proof is then verified (see below) and the tally commitment hash is updated with the new value, this process is continued through iteration of the batch index until all pending votes have been tallied. When a 3rd party verifies the tally​ Any 3rd party contract may verify a leaf in tallyCommitment on-chain using a combination of Merkle proofs and hashing. Client developers should implement these functions as needed. We do not implement these functions in MACI to minimise contract size.","s":"3.7. System flow","u":"/docs/spec","h":"#37-system-flow","p":1557},{"i":1607,"t":"Applications that use MACI are likely to be run in the browser. Users who sign up and vote can do so via web3 interactions. Only the coordinator needs to run scripts to deploy MACI, set verifying keys, deploy Polls, merge trees, process messages, and tally votes. To make these processes easy to use, we provide command-line interface tools. The integration tests and shell scripts in the cli directory provide examples of the order in which to execute them. Command Description Notes genMaciPubkey Generate a MACI public key from a private key Only the coordinator needs to run this, as users should generate their keys in the browser and should be automated by the client application genMaciKeypair Generates a MACI private key and public key Only the coordinator needs to run this, as users should generate their keys in the browser and should be automated by the client application deployVkRegistry Deploy the VkRegistry contract Executed only the coordinator setVerifyingKeys Set verifying keys to the VkRegistry Executed only the coordinator create Deploy a new instance of MACI Executed only the coordinator deployPoll Deploy a new poll on a MACI instance Executed only the coordinator signup Sign up a user Mainly for testing; as users are more likely to use the client application instead of the CLI publish Submit a message to a poll Mainly for testing; as users are more likely to use the client application instead of the CLI mergeMessages Must be executed before generating proofs Executed only the coordinator mergeSignups Must be executed before generating proofs Executed only the coordinator genProofs Generate all message processing and vote tallying proofs Executed only the coordinator proveOnChain Submit proofs to the PollProcessorAndTallyer contract Executed only the coordinator","s":"4. Command-line interface","u":"/docs/spec","h":"#4-command-line-interface","p":1557},{"i":1610,"t":"Function Permissions Notes init(VkRegistry _vkRegistry, MessageAqFactory _messageAqFactory) Coordinator only Initialise factory, helper and registry contracts that share equal ownership signUp(PubKey memory _pubKey, bytes memory _signUpGatekeeperData, bytes memory _initialVoiceCreditProxyData) Executable only during the sign-up period and after initialisation Participant registration and voice credit assignment mergeStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) Executable only by poll contract _pollId and after initialisation Merge queued state leaves to form the state tree subroots mergeStateAq(uint256 _pollId) Executable only by poll contract _pollId and after initialisation Merge the state subroots to form the state root getStateAqRoot() Non-applicable Query the state root deployPoll(uint256 _duration, MaxValues memory _maxValues, TreeDepths memory _treeDepths, PubKey memory _coordinatorPubKey) Executable only after initialisation Create a new poll getPoll(uint256 _pollId) Non-applicable Query a poll address","s":"5.1. MACI","u":"/docs/spec","h":"#51-maci","p":1557},{"i":1612,"t":"Function Permissions Notes getDeployTimeAndDuration() Non-applicable Query the deployment timestamp and duration numSignUpsAndMessages() Non-applicable Query the number of participants and messages cast currentSbAndTallyCommitments() Non-applicable Query the current state-ballot and tally commitments hashes publishMessage(Message memory _message, PubKey memory _encPubKey) Executable only during the voting period and if the message limit has not been not met Submit a message (whether valid or not) to the message queue hashMessageAndEncPubKey(Message memory _message, PubKey memory _encPubKey) Non-applicable Query a hash of a message and public key coordinates mergeMaciStateAqSubRoots( uint256 _numSrQueueOps, uint256 _pollId) Executable only by the coordinator and after the voting period Merge queued state leaves to form the state subroots mergeMaciStateAq(uint256 _pollId) Executable only by the coordinator and after the voting period Merge the state subroots to form the state root and initialise the state-ballot commitment hash mergeMessageAqSubRoots(uint256 _numSrQueueOps) Executable only by the coordinator and after the voting period Merge the queued message leaves to form the message tree subroots mergeMessageAq() Executable only by the coordinator and after the voting period Merge the message tree subroots to form the message tree root batchEnqueueMessage(uint256 _messageSubRoot) Executable only by the coordinator and after the voting period Submit a batch of messages to the queue","s":"5.2. Poll","u":"/docs/spec","h":"#52-poll","p":1557},{"i":1614,"t":"Function Permissions Notes setMessageAqFactory(MessageAqFactory _messageAqFactory) Coordinator only Initialise the message factory contract deploy(uint256 _duration, MaxValues memory _maxValues, TreeDepths memory _treeDepths, BatchSizes memory _batchSizes, PubKey memory _coordinatorPubKey, VkRegistry _vkRegistry, IMACI _maci, address _pollOwner) Coordinator only Create a new poll","s":"5.3. PollFactory","u":"/docs/spec","h":"#53-pollfactory","p":1557},{"i":1616,"t":"Function Permissions Notes isProcessVkSet(uint256 _sig) Non-applicable Query whether a signature is valid for message processing isTallyVkSet(uint256 _sig) Non-applicable Query whether a signature valid for tallying votes genProcessVkSig(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) Non-applicable Generate a signature (used for verifying key mapping lookups) for message processing by compressing parameters into a singular value genTallyVkSig(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) Non-appicable Generate a signature (used for verifying key mapping lookups) for vote tallying by compressing parameters into a singular value setVerifyingKeys( uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize, VerifyingKey memory _processVk, VerifyingKey memory _tallyVk) Coordinator only Intialise verifying keys for processing and tallying to the contract alongside specifying each tree depth hasProcessVk(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) Non-applicable Query whether the signature of the parameters is valid for message processing getProcessVkBySig(uint256 _sig) Non-applicable Query a processing verifying key by providing a valid signature getProcessVk(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) Non-applicable Query a processing verifying key by providing parameters to generate a valid signature hasTallyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) Non-appicable Query whether the signature of the parameters is valid for vote tallying getTallyVkBySig(uint256 _sig) Non-applicable Query a tallying verifying key by providing a valid signature getTallyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) Non-appicable Query a tallying verifying key by providing parameters to generate a valid signature","s":"5.4. VkRegistry","u":"/docs/spec","h":"#54-vkregistry","p":1557},{"i":1618,"t":"Function Permissions Notes sha256Hash(uint256[] memory array) Non-appicable Hash an array of values (using SHA256) moduluo the snark field size processMessages(Poll _poll, uint256 _newSbCommitment, uint256[8] memory _proof) Executable only by the coordinator and after the voting period Process state messages relative to a new state-ballot commitment given that the proof is valid verifyProcessProof(Poll _poll, uint256 _currentMessageBatchIndex, uint256 _messageRoot, uint256 _currentSbCommitment, uint256 _newSbCommitment, uint256[8] memory _proof) Non-appicable Query whether a message processing proof is valid genProcessMessagesPublicInputHash(Poll _poll, uint256 _currentMessageBatchIndex, uint256 _messageRoot, uint256 _numSignUps, uint256 _currentSbCommitment, uint256 _newSbCommitment) Non-appicable Hash of the coordinators public key, packedVals, current state-ballot commitment and message root genProcessMessagesPackedVals( Poll _poll, uint256 _currentMessageBatchIndex, uint256 _numSignUps) Non-appicable Generate a packed 250-bit value packedVals for message processing genTallyVotesPackedVals( uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize) Non-appicable Generate a packed 100-bit value packedVals for vote tallying genTallyVotesPublicInputHash( uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize, uint256 _newTallyCommitment ) Non-appicable Hash of the current tally commitment, the new tally commitment, packedVals and the state-ballot commitment tallyVotes(Poll _poll, uint256 _newTallyCommitment, uint256[8] memory _proof) Executable only by the coordinator and after the voting period Tally votes relative to a new tally commitment given that the proof is valid verifyTallyProof(Poll _poll, uint256[8] memory _proof, uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize, uint256 _newTallyCommitment) Non-appicable Query whether a vote tallying proof is valid","s":"5.5. PollProcessorAndTallyer","u":"/docs/spec","h":"#55-pollprocessorandtallyer","p":1557},{"i":1620,"t":"The zk-SNARK circuits in MACI are written in the circom language. Proofs are Groth16 and are generated using the rapidsnark prover. We use custom tools to simplify the process of writing circuits, testing them, and generating proving and verifying keys. These tools are not in scope of the audit but it is useful to know them. circom-helper allows developers to test circom circuits quickly and easily. It compiles circuits and exposes a JSON-RPC API which allows developers to generate witnesses and access signal values without writing command-line glue scripts. zkey-manager simplifies the process of zkey file management for circuits written in circom. Please note that MACI requires the coordinator to generate proofs on an x86 machine (Intel / AMD) or VM. Other processors (e.g. ARM) are not supported.","s":"6. zk-SNARKs","u":"/docs/spec","h":"#6-zk-snarks","p":1557},{"i":1622,"t":"The message processing circuit, defined in circuits/circom/processMessages.circom, allows the coordinator to prove that they have correctly applied each message in reverse order, in a consecutive batch of 5 ^ msgBatchDepth messages to the respective state leaf within the state tree. Parameters​ Parameter Description stateTreeDepth Depth of the state tree, this value must be equal to 10 msgTreeDepth Depth of the message tree, this must be the same value passed to the deployPoll() contract function of MACI.sol msgBatchDepth Depth of a tree that exactly fits the number of messages in a batch, this must be the same value passed to the deployPoll() contract function of MACI.sol voteOptionTreeDepth Depth of the vote option tree, this must be the same value passed to the deployPoll() contract function of MACI.sol The state tree, message tree, and vote option trees all have an arity of 5. As such, it is possible to calculate the maximum number of signups, messages per poll, and vote options per poll. Input signals​ Input signal Description inputHash The SHA256 hash of inputs supplied by the contract packedVals As described below pollEndTimestamp The Unix timestamp at which the poll ends msgRoot The root of the message tree msgs The batch of messages as an array of arrays msgSubrootPathElements As described below coordinatorPubKeyHash poseidon2([cPkx,cPky])\\mathsf{poseidon_2}([cPk_x, cPk_y])poseidon2​([cPkx​,cPky​]) newSbCommitment As described below coordPrivKey The coordinator's private key coordPubKey The coordinator's public key encPubKeys The public keys used to generate shared ECDH encryption keys to encrypt the messages currentStateRoot The state root before the commands are applied currentStateLeaves The state leaves upon which messages are applied currentStateLeavesPathElements The Merkle path to each incremental state root currentSbCommitment As described below currentSbSalt As described below newSbCommitment As described below newSbSalt As described below currentBallotRoot The root of the ballot tree before messages are applied currentBallots The ballots upon which ballots are applied currentBallotsPathElements The Merkle path to each incremental ballot root currentVoteWeights The existing vote weight for the vote option in the ballot which each command refers to currentVoteWeightsPathElements The Merkle path from each vote weight to the vote option root in its ballot inputHash​ All inputs to this circuit are private except for inputHash. To save gas during verification, the PollProcessorAndTallyer contract hashes the following values using SHA256 and uses the hash as the sole element of icicic: packedVals coordinatorPubKeyHash msgRoot currentSbCommitment newSbCommitment pollEndTimestamp The hash is computed using the sha256 Solidity function and is then subject to modulo ppp. packedVals​ packedVals is the following values represented as one field element. Consider that a field element is roughly 253 bits. The big-endian bit-representation is as such: Bits Value 1st 53 bits 0 2nd 50 bits batchEndIndex 3rd 50 bits currentMessageBatchIndex 4th 50 bits numSignUps 5th 50 bits maxVoteOptions For instance, if maxVoteOptions is 25 and batchEndIndex is 5, and all other values are 0, the following is the packedVals representation in hexadecimal: 140000000000000000000000000000000000019 currentSbCommitment and newSbCommitment​ The currentSbCommitment is the poseidon3\\mathsf{poseidon_3}poseidon3​ hash of the state tree root, the ballot tree root, and a random salt. The purpose of the random salt, which should be unique to each batch, is to ensure that the value of currentSbCommitment always changes even if all the commands in a batch are invalid and therefore do not change the state tree or ballot tree root. The result of applying a batch of messages to currentSbCommitment is newSbCommitment. currentSbSalt​ The salt used to produce currentSbCommitment (see above). newSbSalt​ The salt used to produce newSbCommitment (see above). msgSubrootPathElements​ The index of each message in msgs is consecutive. As such, in order to prove that each message in msgs is indeed a leaf of the message tree, we compute the subtree root of msgs, and then verify that the subtree root is indeed a subroot of msgRoot. A simplified example using a tree of arity 2: r / \\ s ... / \\ o o / \\ / \\ a b c d To prove that a...d are leaves of the tree with root r, we prove that the leaves have the subroot s with depth 2, and then prove that s is a member of r at depth 1. The implementation for this is in the QuinBatchLeavesExists circuit in circuits/circom/trees/incrementalQuinTree.circom. This method requires fewer circuit constraints than if we verified a Merkle proof for each leaf. Statements that the circuit proves​ That the prover knows the preimage to inputHash (see above) That the prover knows the preimage to currentSbCommitment (that is, the state root, ballot root, and currentSbSalt) That maxVoteOptions <= (5 ^ voteOptionTreeDepth) That numSignUps <== (5 ^ stateTreeDepth) That coordPubKey is correctly derived from coordPrivKey That coordPubKey is the preimage to the Poseidon hash of coordPubKey (provided by the contract) That each message in msgs exists in the message tree That after decrypting and applying each message, in reverse order, to the corresponding state and ballot leaves, the new state root, new ballot root, and newSbSalt are the preimage to newSbCommitment How messages are decrypted and applied​ The circuit uses Poseidon decryption [1.9] to decrypt each message. The shared key is derived using ECDH [1.10] and the nonce is always equal to a value of0. The procedure to apply a command to a state leaf and ballot leaf is as such: Check if the signature is valid [1.6] Check if the user has enough voice credits To do so , we check if slv+(bltvcmiv)2−(cmw)2≥0sl_v + (blt_{v_{cm_{i_v}}})^{2} - (cm_{w})^2 \\geq 0slv​+(bltvcmiv​​​​)2−(cmw​)2≥0 Check if the vote weight is less than 147946756881789319005730692170996259609 which is approximately p\\sqrt pp​ This ensures that the square of the vote weight will not overflow ppp Check if the nonce is valid Check if the state leaf index is valid Check if the timestamp is valid Check if the vote option index is valid. If any of the above are invalid, the command is invalid. If the command is valid: Verify that the state leaf at cmicm_icmi​ is a member of the state root Verify that the ballot leaf at cmicm_icmi​ is a member of the ballot root Update the state root by replacing the state leaf at cmicm_icmi​: Set slPxsl_{P_x}slPx​​ to cmPxcm_{P_x}cmPx​​ Set slPysl_{P_y}slPy​​ to cmPycm_{P_y}cmPy​​ Set slvsl_{v}slv​ to cmivcm_{i_v}cmiv​​ Update the ballot root by replacing the ballot leaf at cmicm_icmi​: Set bltv[cmiv]blt_{v[cm_{i_v}]}bltv[cmiv​​]​ to cmwcm_{w}cmw​, update bltvblt_vbltv​, and update bltbltblt [2.7] If the command is invalid: Verify that the state leaf at index 0 is a member of the state root Verify that the ballot leaf at index 0 is a member of the ballot root The state leaf at index 0 is a blank state leaf, and the ballot leaf at index 0 is an blank ballot leaf. It should be impossible to update the 0th state leaf or 0th ballot leaf. The reason that these blank leaves exist at index 0 is to prevent an attack where a user sets cmicm_icmi​ to the maximum possible value (5105^{10}510), which would force the coordinator to have to compute the Merkle path of leaf 510−15_{10} - 1510​−1. Which is would take such a long time that it would constitute a denial-of-service attack on the coordinator that prevents them from generating proofs in a reasonable time. Order of message processing​ Messages are applied in reverse order. This prevents an attack where a briber colludes with a user to sign up and then immediately change their key to the briber's, ceding control entirely. Rather, the user may render previous commands invalid even if said commands are key-change commands. For instance: If messages are processed in last-in-first-out order​ User signs up with public key uuu Briber tells user to change their key to bbb, they comply Briber can now vote for anything they want using bbb and their commands will be valid The user cannot change the key as they do not know the briber's private key If messages are processed in first-in-first-out order​ User signs up with public key uuu Briber tells user to change their key to bbb, the nonce of this command is 2, the user complies Briber submits a vote, the nonce of this command is 1 User changes their key to kkk, the nonce of this command is 2 User votes for a vote option using public key uuu, the nonce of this command is 1 The commands at (3) and (2) are invalid because the commands at (5) and (4) are processed first. The command at (3) is invalid not only because the briber does not know the private key to kkk, but also because the expected nonce is 3.","s":"6.1. Message processing circuit","u":"/docs/spec","h":"#61-message-processing-circuit","p":1557},{"i":1624,"t":"After the coordinator processes all message batches, each ballot contains the votes per vote option. The next step is to tally each vote so as to produce the following results: Votes per vote option Total voice credits per vote option Total spent voice credits As an illustration, consider the following Ballots for 5 uses. Assume that there are 5 vote options and all messages have already been processed. [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [1, 1, 1, 1, 1] The final tally should be: Votes per vote option: [3, 5, 7, 9, 11] Total voice credits per vote option: [3, 9, 19, 33, 26] Total spent voice credits: 66 The coordinator uses the ballot tallying circuit (tallyVotes.circom) to generate proofs that they have correctly computed the tally. As there are many ballots to tally, each proof only computes the tally for a batch of ballots. Each proof is chained to the previous one such that each proof is also a proof of knowledge of the preimage of the previous tally commitment. Parameters​ Parameter Description stateTreeDepth Depth of the state tree, this value must be equal to 10 intStateTreeDepth Depth of the intermediate state tree, 5 ** intStateTreeDepth is the batch size voteOptionTreeDepth Depth of the vote option tree, this must be the same value passed to the deployPoll() contract function of MACI.sol Input signals​ Input signal Description inputHash The SHA256 hash of inputs supplied by the contract packedVals As described below sbCommitment As described below currentTallyCommitment As described below newTallyCommitment As described below stateRoot The root of the state tree after all messages have been applied ballotRoot The root of the ballot tree after all messages have been applied sbSalt The salt used to produce sbCommitment ballots The ballots in the batch being tallied ballotPathElements The Merkle path to each ballot leaf votes The votes in each ballot cast per result currentResults The current tally of votes per vote option currentResultsRootSalt A random value currentSpentVoiceCreditSubtotal The subtotal of voice credits spent across all vote options currentSpentVoiceCreditSubtotalSalt A random value currentPerVOSpentVoiceCredits The voice credits spent on each vote option so far currentPerVOSpentVoiceCreditsRootSalt A random value newResultsRootSalt A random value newPerVOSpentVoiceCreditsRootSalt A random value newSpentVoiceCreditSubtotalSalt A random value inputHash​ All inputs to this circuit are private except for inputHash. To save gas during verification, the PollProcessorAndTallyer contract hashes the following values using SHA256 and uses the hash as the sole element of icicic: packedVals sbCommitment currentTallyCommitment newTallyCommitment The hash is computed using the sha256 Solidity function and is then subject to modulo ppp. packedVals​ packedVals is the following values represented as one field element. Consider that a field element is roughly 253 bits. The big-endian bit-representation is as such: Bits Value 1st 53 bits 0 2nd 50 bits 0 3rd 50 bits 0 4th 50 bits numSignUps 5th 50 bits batchStartIndex numSignUps, a value provided by the contract, is the number of users who have signed up. This is one less than the number of leaves inserted in the state tree (since the 0th state leaf is a blank state leaf [2.8.1]). batchStartIndex is the ballot tree index at which the batch begins. For instance, if numSignUps is 25 and the batch index is 5, and all other values are 0, the following is the packedVals representation in hexadecimal: 64000000000005 sbCommitment​ The commitment to stateRoot, ballotRoot, and sbSalt: poseidon3([stateRoot,ballotRoot,sbSalt])\\mathsf{poseidon_3}([\\mathsf{stateRoot}, \\mathsf{ballotRoot}, \\mathsf{sbSalt}])poseidon3​([stateRoot,ballotRoot,sbSalt]) Proving preimage of sbCommitment is one out of the several steps required to prove that the votes were tallied correctly. By establishing that the coordinator knows ballotRoot, the coordinator can (using other parts of the circuit) prove that that they know the preimage of the ballot leaves in the batch being tallied. currentTallyCommitment and newTallyCommitment​ A tally is represented by a tally commitment, which is the poseidon3\\mathsf{poseidon_3}poseidon3​ hash of: tcrtc_{r}tcr​: a commitment to the votes per option This is the hash of the Merkle root rrr_rrr​ of the votes and a salt rsr_srs​, computed as poseidon2([rr,rs])\\mathsf{poseidon_2}([r_r, r_s])poseidon2​([rr​,rs​]) tcttc_ttct​: a commitment to the total spent voice credits This is the hash of the total spent voice credits tct_ctc​ and a salt tst_sts​, computed as poseidon2([tc,ts])\\mathsf{poseidon_2}([t_c, t_s])poseidon2​([tc​,ts​]) tcptc_ptcp​: a commitment to the spent voice credits per vote option This is the hash of the Merkle root of the spent voice credits per vote option pvp_vpv​ and a salt psp_sps​, computed as poseidon2([pv,ps])\\mathsf{poseidon_2}([p_v, p_s])poseidon2​([pv​,ps​]) The tally commitment is computed as such: poseidon3([tcr,tct,tcp])\\mathsf{poseidon_3}([tc_r, tc_t, tc_p])poseidon3​([tcr​,tct​,tcp​]) Statements that the circuit proves​ That the coordinator knows the preimage of sbCommitment (see above) That the coordinator knows the preimage of inputHash (see above) That batchStartIndex is less than or equal to numSignUps That each ballot in ballots is in a member of the ballot tree with the Merkle root ballotRoot at indices batchStartIndex to batchStartIndex + (5 ** intStateTreeDepth) That each set of votes (votes[i]) has the Merkle root bltrblt_rbltr​ whose value equals ballots[i][1] That the tally is valid, which is: That the sum of votes per vote option is correct That the sum of voice credits per vote option is correct That the subtotal of the spent voice credits is correct","s":"6.2. Ballot tallying circuit","u":"/docs/spec","h":"#62-ballot-tallying-circuit","p":1557},{"i":1626,"t":"A contract used to benchmark the poseidon hash function","s":"HasherBenchmarks","u":"/docs/solidity-docs/benchmarks/HasherBenchmarks","h":"","p":1625},{"i":1628,"t":"function hash5Benchmark(uint256[5] array) public pure returns (uint256 result) Benchmark the poseidon hash function with 5 inputs Parameters​ Name Type Description array uint256[5] The array of inputs to hash Return Values​ Name Type Description result uint256 The hash of the inputs","s":"hash5Benchmark","u":"/docs/solidity-docs/benchmarks/HasherBenchmarks","h":"#hash5benchmark","p":1625},{"i":1630,"t":"function hashLeftRightBenchmark(uint256 _left, uint256 _right) public pure returns (uint256 result) Benchmark the poseidon hash function with 2 inputs Parameters​ Name Type Description _left uint256 The left input to hash _right uint256 The right input to hash Return Values​ Name Type Description result uint256 The hash of the two inputs","s":"hashLeftRightBenchmark","u":"/docs/solidity-docs/benchmarks/HasherBenchmarks","h":"#hashleftrightbenchmark","p":1625},{"i":1632,"t":"A SHA256 hash function for any number of input elements, and Poseidon hash functions for 2, 3, 4, 5, and 12 input elements.","s":"Hasher","u":"/docs/solidity-docs/crypto/Hasher","h":"","p":1631},{"i":1634,"t":"function sha256Hash(uint256[] array) public pure returns (uint256 result) Computes the SHA256 hash of an array of uint256 elements. Parameters​ Name Type Description array uint256[] The array of uint256 elements. Return Values​ Name Type Description result uint256 The SHA256 hash of the array.","s":"sha256Hash","u":"/docs/solidity-docs/crypto/Hasher","h":"#sha256hash","p":1631},{"i":1636,"t":"function hash2(uint256[2] array) public pure returns (uint256 result) Computes the Poseidon hash of two uint256 elements. Parameters​ Name Type Description array uint256[2] An array of two uint256 elements. Return Values​ Name Type Description result uint256 The Poseidon hash of the two elements.","s":"hash2","u":"/docs/solidity-docs/crypto/Hasher","h":"#hash2","p":1631},{"i":1638,"t":"function hash3(uint256[3] array) public pure returns (uint256 result) Computes the Poseidon hash of three uint256 elements. Parameters​ Name Type Description array uint256[3] An array of three uint256 elements. Return Values​ Name Type Description result uint256 The Poseidon hash of the three elements.","s":"hash3","u":"/docs/solidity-docs/crypto/Hasher","h":"#hash3","p":1631},{"i":1640,"t":"function hash4(uint256[4] array) public pure returns (uint256 result) Computes the Poseidon hash of four uint256 elements. Parameters​ Name Type Description array uint256[4] An array of four uint256 elements. Return Values​ Name Type Description result uint256 The Poseidon hash of the four elements.","s":"hash4","u":"/docs/solidity-docs/crypto/Hasher","h":"#hash4","p":1631},{"i":1642,"t":"function hash5(uint256[5] array) public pure returns (uint256 result) Computes the Poseidon hash of five uint256 elements. Parameters​ Name Type Description array uint256[5] An array of five uint256 elements. Return Values​ Name Type Description result uint256 The Poseidon hash of the five elements.","s":"hash5","u":"/docs/solidity-docs/crypto/Hasher","h":"#hash5","p":1631},{"i":1644,"t":"function hashLeftRight(uint256 left, uint256 right) public pure returns (uint256 result) Computes the Poseidon hash of two uint256 elements. Parameters​ Name Type Description left uint256 the first element to hash. right uint256 the second element to hash. Return Values​ Name Type Description result uint256 The Poseidon hash of the two elements.","s":"hashLeftRight","u":"/docs/solidity-docs/crypto/Hasher","h":"#hashleftright","p":1631},{"i":1646,"t":"an interface for a Groth16 verifier contract","s":"IVerifier","u":"/docs/solidity-docs/crypto/IVerifier","h":"","p":1645},{"i":1648,"t":"function verify(uint256[8], struct SnarkCommon.VerifyingKey, uint256) public view virtual returns (bool) Verify a zk-SNARK proof","s":"verify","u":"/docs/solidity-docs/crypto/IVerifier","h":"#verify","p":1645},{"i":1650,"t":"a MockVerifier to be used for testing","s":"MockVerifier","u":"/docs/solidity-docs/crypto/MockVerifier","h":"","p":1649},{"i":1652,"t":"function verify(uint256[8], struct SnarkCommon.VerifyingKey, uint256) public pure returns (bool result) Verify a zk-SNARK proof (test only return always true) Return Values​ Name Type Description result bool Whether the proof is valid given the verifying key and public","s":"verify","u":"/docs/solidity-docs/crypto/MockVerifier","h":"#verify","p":1649},{"i":1654,"t":"A library implementing the alt_bn128 elliptic curve operations.","s":"Pairing","u":"/docs/solidity-docs/crypto/Pairing","h":"","p":1653},{"i":1656,"t":"uint256 PRIME_Q","s":"PRIME_Q","u":"/docs/solidity-docs/crypto/Pairing","h":"#prime_q","p":1653},{"i":1658,"t":"struct G1Point { uint256 x; uint256 y; }","s":"G1Point","u":"/docs/solidity-docs/crypto/Pairing","h":"#g1point","p":1653},{"i":1660,"t":"struct G2Point { uint256[2] x; uint256[2] y; }","s":"G2Point","u":"/docs/solidity-docs/crypto/Pairing","h":"#g2point","p":1653},{"i":1662,"t":"error PairingAddFailed() custom errors","s":"PairingAddFailed","u":"/docs/solidity-docs/crypto/Pairing","h":"#pairingaddfailed","p":1653},{"i":1664,"t":"error PairingMulFailed()","s":"PairingMulFailed","u":"/docs/solidity-docs/crypto/Pairing","h":"#pairingmulfailed","p":1653},{"i":1666,"t":"error PairingOpcodeFailed()","s":"PairingOpcodeFailed","u":"/docs/solidity-docs/crypto/Pairing","h":"#pairingopcodefailed","p":1653},{"i":1668,"t":"function negate(struct Pairing.G1Point p) internal pure returns (struct Pairing.G1Point) The negation of p, i.e. p.plus(p.negate()) should be zero.","s":"negate","u":"/docs/solidity-docs/crypto/Pairing","h":"#negate","p":1653},{"i":1670,"t":"function plus(struct Pairing.G1Point p1, struct Pairing.G1Point p2) internal view returns (struct Pairing.G1Point r) r Returns the sum of two points of G1.","s":"plus","u":"/docs/solidity-docs/crypto/Pairing","h":"#plus","p":1653},{"i":1672,"t":"function scalarMul(struct Pairing.G1Point p, uint256 s) internal view returns (struct Pairing.G1Point r) r Return the product of a point on G1 and a scalar, i.e. p == p.scalarMul(1) and p.plus(p) == p.scalarMul(2) for all points p.","s":"scalarMul","u":"/docs/solidity-docs/crypto/Pairing","h":"#scalarmul","p":1653},{"i":1674,"t":"function pairing(struct Pairing.G1Point a1, struct Pairing.G2Point a2, struct Pairing.G1Point b1, struct Pairing.G2Point b2, struct Pairing.G1Point c1, struct Pairing.G2Point c2, struct Pairing.G1Point d1, struct Pairing.G2Point d2) internal view returns (bool isValid) Return Values​ Name Type Description isValid bool The result of computing the pairing check e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1 For example, pairing([P1(), P1().negate()], [P2(), P2()]) should return true.","s":"pairing","u":"/docs/solidity-docs/crypto/Pairing","h":"#pairing-1","p":1653},{"i":1676,"t":"A library which provides functions for computing Pedersen hashes.","s":"PoseidonT3","u":"/docs/solidity-docs/crypto/PoseidonT3","h":"","p":1675},{"i":1678,"t":"function poseidon(uint256[2] input) public pure returns (uint256)","s":"poseidon","u":"/docs/solidity-docs/crypto/PoseidonT3","h":"#poseidon","p":1675},{"i":1680,"t":"A library which provides functions for computing Pedersen hashes.","s":"PoseidonT4","u":"/docs/solidity-docs/crypto/PoseidonT4","h":"","p":1679},{"i":1682,"t":"function poseidon(uint256[3] input) public pure returns (uint256)","s":"poseidon","u":"/docs/solidity-docs/crypto/PoseidonT4","h":"#poseidon","p":1679},{"i":1684,"t":"A library which provides functions for computing Pedersen hashes.","s":"PoseidonT5","u":"/docs/solidity-docs/crypto/PoseidonT5","h":"","p":1683},{"i":1686,"t":"function poseidon(uint256[4] input) public pure returns (uint256)","s":"poseidon","u":"/docs/solidity-docs/crypto/PoseidonT5","h":"#poseidon","p":1683},{"i":1688,"t":"A library which provides functions for computing Pedersen hashes.","s":"PoseidonT6","u":"/docs/solidity-docs/crypto/PoseidonT6","h":"","p":1687},{"i":1690,"t":"function poseidon(uint256[5] input) public pure returns (uint256)","s":"poseidon","u":"/docs/solidity-docs/crypto/PoseidonT6","h":"#poseidon","p":1687},{"i":1692,"t":"a Contract which holds a struct representing a Groth16 verifying key","s":"SnarkCommon","u":"/docs/solidity-docs/crypto/SnarkCommon","h":"","p":1691},{"i":1694,"t":"struct VerifyingKey { struct Pairing.G1Point alpha1; struct Pairing.G2Point beta2; struct Pairing.G2Point gamma2; struct Pairing.G2Point delta2; struct Pairing.G1Point[] ic; }","s":"VerifyingKey","u":"/docs/solidity-docs/crypto/SnarkCommon","h":"#verifyingkey","p":1691},{"i":1696,"t":"This contract contains constants related to the SNARK components of MACI.","s":"SnarkConstants","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"","p":1695},{"i":1698,"t":"uint256 SNARK_SCALAR_FIELD The scalar field","s":"SNARK_SCALAR_FIELD","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"#snark_scalar_field","p":1695},{"i":1700,"t":"uint256 PAD_PUBKEY_X The public key here is the first Pedersen base point from iden3's circomlib implementation of the Pedersen hash. Since it is generated using a hash-to-curve function, we are confident that no-one knows the private key associated with this public key. See: https://github.com/iden3/circomlib/blob/d5ed1c3ce4ca137a6b3ca48bec4ac12c1b38957a/src/pedersen_printbases.js Its hash should equal 6769006970205099520508948723718471724660867171122235270773600567925038008762.","s":"PAD_PUBKEY_X","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"#pad_pubkey_x","p":1695},{"i":1702,"t":"uint256 PAD_PUBKEY_Y","s":"PAD_PUBKEY_Y","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"#pad_pubkey_y","p":1695},{"i":1704,"t":"uint256 NOTHING_UP_MY_SLEEVE The Keccack256 hash of 'Maci'","s":"NOTHING_UP_MY_SLEEVE","u":"/docs/solidity-docs/crypto/SnarkConstants","h":"#nothing_up_my_sleeve","p":1695},{"i":1706,"t":"a Groth16 verifier contract","s":"Verifier","u":"/docs/solidity-docs/crypto/Verifier","h":"","p":1705},{"i":1708,"t":"struct Proof { struct Pairing.G1Point a; struct Pairing.G2Point b; struct Pairing.G1Point c; }","s":"Proof","u":"/docs/solidity-docs/crypto/Verifier","h":"#proof","p":1705},{"i":1710,"t":"uint256 PRIME_Q","s":"PRIME_Q","u":"/docs/solidity-docs/crypto/Verifier","h":"#prime_q","p":1705},{"i":1712,"t":"error InvalidProofQ() custom errors","s":"InvalidProofQ","u":"/docs/solidity-docs/crypto/Verifier","h":"#invalidproofq","p":1705},{"i":1714,"t":"error InvalidInputVal()","s":"InvalidInputVal","u":"/docs/solidity-docs/crypto/Verifier","h":"#invalidinputval","p":1705},{"i":1716,"t":"function verify(uint256[8] _proof, struct SnarkCommon.VerifyingKey vk, uint256 input) public view returns (bool isValid) Verify a zk-SNARK proof Parameters​ Name Type Description _proof uint256[8] The proof vk struct SnarkCommon.VerifyingKey The verifying key input uint256 The public inputs to the circuit Return Values​ Name Type Description isValid bool Whether the proof is valid given the verifying key and public input. Note that this function only supports one public input. Refer to the Semaphore source code for a verifier that supports multiple public inputs.","s":"verify","u":"/docs/solidity-docs/crypto/Verifier","h":"#verify","p":1705},{"i":1718,"t":"function checkPoint(uint256 point) internal pure","s":"checkPoint","u":"/docs/solidity-docs/crypto/Verifier","h":"#checkpoint","p":1705},{"i":1720,"t":"A SignUpGatekeeper which allows anyone to sign up.","s":"FreeForAllGatekeeper","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","h":"","p":1719},{"i":1722,"t":"constructor() public payable Create a new instance of FreeForAllGatekeeper","s":"constructor","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","h":"#constructor","p":1719},{"i":1724,"t":"function setMaciInstance(contract MACI _maci) public setMaciInstance does nothing in this gatekeeper Parameters​ Name Type Description _maci contract MACI The MACI contract","s":"setMaciInstance","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","h":"#setmaciinstance","p":1719},{"i":1726,"t":"function register(address _address, bytes _data) public Registers the user without any restrictions. Parameters​ Name Type Description _address address The address of the user _data bytes memory additional data","s":"register","u":"/docs/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper","h":"#register","p":1719},{"i":1728,"t":"A gatekeeper contract which allows users to sign up for a poll.","s":"SignUpGatekeeper","u":"/docs/solidity-docs/gatekeepers/SignUpGatekeeper","h":"","p":1727},{"i":1730,"t":"function setMaciInstance(contract MACI _maci) public virtual Allows to set the MACI contract","s":"setMaciInstance","u":"/docs/solidity-docs/gatekeepers/SignUpGatekeeper","h":"#setmaciinstance","p":1727},{"i":1732,"t":"function register(address _user, bytes _data) public virtual Registers the user Parameters​ Name Type Description _user address The address of the user _data bytes additional data","s":"register","u":"/docs/solidity-docs/gatekeepers/SignUpGatekeeper","h":"#register","p":1727},{"i":1734,"t":"This contract allows to gatekeep MACI signups by requiring new voters to own a certain ERC721 token","s":"SignUpTokenGatekeeper","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"","p":1733},{"i":1736,"t":"contract SignUpToken token the reference to the SignUpToken contract","s":"token","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#token","p":1733},{"i":1738,"t":"contract MACI maci the reference to the MACI contract","s":"maci","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#maci","p":1733},{"i":1740,"t":"mapping(uint256 => bool) registeredTokenIds a mapping of tokenIds to whether they have been used to sign up","s":"registeredTokenIds","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#registeredtokenids","p":1733},{"i":1742,"t":"error AlreadyRegistered() custom errors","s":"AlreadyRegistered","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#alreadyregistered","p":1733},{"i":1744,"t":"error NotTokenOwner()","s":"NotTokenOwner","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#nottokenowner","p":1733},{"i":1746,"t":"error OnlyMACI()","s":"OnlyMACI","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#onlymaci","p":1733},{"i":1748,"t":"constructor(contract SignUpToken _token) public payable creates a new SignUpTokenGatekeeper Parameters​ Name Type Description _token contract SignUpToken the address of the SignUpToken contract","s":"constructor","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#constructor","p":1733},{"i":1750,"t":"function setMaciInstance(contract MACI _maci) public Adds an uninitialised MACI instance to allow for token signups Parameters​ Name Type Description _maci contract MACI The MACI contract interface to be stored","s":"setMaciInstance","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#setmaciinstance","p":1733},{"i":1752,"t":"function register(address _user, bytes _data) public Registers the user if they own the token with the token ID encoded in _data. Throws if the user does not own the token or if the token has already been used to sign up. Parameters​ Name Type Description _user address The user's Ethereum address. _data bytes The ABI-encoded tokenId as a uint256.","s":"register","u":"/docs/solidity-docs/gatekeepers/SignUpTokenGatekeeper","h":"#register","p":1733},{"i":1754,"t":"This contract is the base contract for InitialVoiceCreditProxy contracts. It allows to set a custom initial voice credit balance for MACI's voters.","s":"InitialVoiceCreditProxy","u":"/docs/solidity-docs/initialVoiceCreditProxy/","h":"","p":1753},{"i":1756,"t":"function getVoiceCredits(address _user, bytes _data) public view virtual returns (uint256) Returns the initial voice credit balance for a new MACI's voter Parameters​ Name Type Description _user address the address of the voter _data bytes additional data Return Values​ Name Type Description [0] uint256 the balance","s":"getVoiceCredits","u":"/docs/solidity-docs/initialVoiceCreditProxy/","h":"#getvoicecredits","p":1753},{"i":1758,"t":"This contract allows to set a constant initial voice credit balance for MACI's voters.","s":"ConstantInitialVoiceCreditProxy","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","h":"","p":1757},{"i":1760,"t":"uint256 balance the balance to be returned by getVoiceCredits","s":"balance","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","h":"#balance","p":1757},{"i":1762,"t":"constructor(uint256 _balance) public payable creates a new ConstantInitialVoiceCreditProxy Parameters​ Name Type Description _balance uint256 the balance to be returned by getVoiceCredits","s":"constructor","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","h":"#constructor","p":1757},{"i":1764,"t":"function getVoiceCredits(address, bytes) public view returns (uint256) Returns the constant balance for any new MACI's voter Return Values​ Name Type Description [0] uint256 balance","s":"getVoiceCredits","u":"/docs/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy","h":"#getvoicecredits","p":1757},{"i":1767,"t":"function stateTreeDepth() external view returns (uint8) Get the depth of the state tree Return Values​ Name Type Description [0] uint8 The depth of the state tree","s":"stateTreeDepth","u":"/docs/solidity-docs/interfaces/IMACI","h":"#statetreedepth","p":1765},{"i":1769,"t":"function getStateAqRoot() external view returns (uint256) Get the root of the state accumulator queue Return Values​ Name Type Description [0] uint256 The root of the state accumulator queue","s":"getStateAqRoot","u":"/docs/solidity-docs/interfaces/IMACI","h":"#getstateaqroot","p":1765},{"i":1771,"t":"function mergeStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) external Merge the sub roots of the state accumulator queue Parameters​ Name Type Description _numSrQueueOps uint256 The number of queue operations _pollId uint256 The poll identifier","s":"mergeStateAqSubRoots","u":"/docs/solidity-docs/interfaces/IMACI","h":"#mergestateaqsubroots","p":1765},{"i":1773,"t":"function mergeStateAq(uint256 _pollId) external returns (uint256) Merge the state accumulator queue Parameters​ Name Type Description _pollId uint256 The poll identifier Return Values​ Name Type Description [0] uint256 The new root of the state accumulator queue after merging","s":"mergeStateAq","u":"/docs/solidity-docs/interfaces/IMACI","h":"#mergestateaq","p":1765},{"i":1775,"t":"function numSignUps() external view returns (uint256) Get the number of signups Return Values​ Name Type Description [0] uint256 The number of signups","s":"numSignUps","u":"/docs/solidity-docs/interfaces/IMACI","h":"#numsignups","p":1765},{"i":1777,"t":"function stateAq() external view returns (contract AccQueue) Get the state accumulator queue Return Values​ Name Type Description [0] contract AccQueue The state accumulator queue","s":"stateAq","u":"/docs/solidity-docs/interfaces/IMACI","h":"#stateaq","p":1765},{"i":1779,"t":"A contract which allows users to sign up, and deploy new polls","s":"MACI","u":"/docs/solidity-docs/MACI","h":"","p":1778},{"i":1781,"t":"uint8 STATE_TREE_DEPTH The state tree depth is fixed. As such it should be as large as feasible so that there can be as many users as possible. i.e. 5 ** 10 = 9765625 this should also match the parameter of the circom circuits.","s":"STATE_TREE_DEPTH","u":"/docs/solidity-docs/MACI","h":"#state_tree_depth","p":1778},{"i":1783,"t":"uint8 STATE_TREE_SUBDEPTH IMPORTANT: remember to change the ballot tree depth in contracts/ts/genEmptyBallotRootsContract.ts file if we change the state tree depth!","s":"STATE_TREE_SUBDEPTH","u":"/docs/solidity-docs/MACI","h":"#state_tree_subdepth","p":1778},{"i":1785,"t":"uint8 TREE_ARITY","s":"TREE_ARITY","u":"/docs/solidity-docs/MACI","h":"#tree_arity","p":1778},{"i":1787,"t":"uint256 BLANK_STATE_LEAF_HASH The hash of a blank state leaf","s":"BLANK_STATE_LEAF_HASH","u":"/docs/solidity-docs/MACI","h":"#blank_state_leaf_hash","p":1778},{"i":1789,"t":"uint256 nextPollId Each poll has an incrementing ID","s":"nextPollId","u":"/docs/solidity-docs/MACI","h":"#nextpollid","p":1778},{"i":1791,"t":"mapping(uint256 => contract Poll) polls A mapping of poll IDs to Poll contracts.","s":"polls","u":"/docs/solidity-docs/MACI","h":"#polls","p":1778},{"i":1793,"t":"uint256 numSignUps The number of signups","s":"numSignUps","u":"/docs/solidity-docs/MACI","h":"#numsignups","p":1778},{"i":1795,"t":"mapping(uint256 => uint256) numStateLeaves A mapping of block timestamps to the number of state leaves","s":"numStateLeaves","u":"/docs/solidity-docs/MACI","h":"#numstateleaves","p":1778},{"i":1797,"t":"contract TopupCredit topupCredit","s":"topupCredit","u":"/docs/solidity-docs/MACI","h":"#topupcredit","p":1778},{"i":1799,"t":"contract PollFactory pollFactory","s":"pollFactory","u":"/docs/solidity-docs/MACI","h":"#pollfactory","p":1778},{"i":1801,"t":"contract AccQueue stateAq The state AccQueue. Represents a mapping between each user's public key and their voice credit balance.","s":"stateAq","u":"/docs/solidity-docs/MACI","h":"#stateaq","p":1778},{"i":1803,"t":"contract SignUpGatekeeper signUpGatekeeper Address of the SignUpGatekeeper, a contract which determines whether a user may sign up to vote","s":"signUpGatekeeper","u":"/docs/solidity-docs/MACI","h":"#signupgatekeeper","p":1778},{"i":1805,"t":"contract InitialVoiceCreditProxy initialVoiceCreditProxy The contract which provides the values of the initial voice credit balance per user","s":"initialVoiceCreditProxy","u":"/docs/solidity-docs/MACI","h":"#initialvoicecreditproxy","p":1778},{"i":1807,"t":"uint256 signUpTimestamp When the contract was deployed. We assume that the signup period starts immediately upon deployment.","s":"signUpTimestamp","u":"/docs/solidity-docs/MACI","h":"#signuptimestamp","p":1778},{"i":1809,"t":"event SignUp(uint256 _stateIndex, struct DomainObjs.PubKey _userPubKey, uint256 _voiceCreditBalance, uint256 _timestamp)","s":"SignUp","u":"/docs/solidity-docs/MACI","h":"#signup","p":1778},{"i":1811,"t":"event DeployPoll(uint256 _pollId, address _pollAddr, struct DomainObjs.PubKey _pubKey)","s":"DeployPoll","u":"/docs/solidity-docs/MACI","h":"#deploypoll","p":1778},{"i":1813,"t":"modifier onlyPoll(uint256 _pollId) Only allow a Poll contract to call the modified function.","s":"onlyPoll","u":"/docs/solidity-docs/MACI","h":"#onlypoll","p":1778},{"i":1815,"t":"error CallerMustBePoll(address _caller) custom errors","s":"CallerMustBePoll","u":"/docs/solidity-docs/MACI","h":"#callermustbepoll","p":1778},{"i":1817,"t":"error PoseidonHashLibrariesNotLinked()","s":"PoseidonHashLibrariesNotLinked","u":"/docs/solidity-docs/MACI","h":"#poseidonhashlibrariesnotlinked","p":1778},{"i":1819,"t":"error TooManySignups()","s":"TooManySignups","u":"/docs/solidity-docs/MACI","h":"#toomanysignups","p":1778},{"i":1821,"t":"error MaciPubKeyLargerThanSnarkFieldSize()","s":"MaciPubKeyLargerThanSnarkFieldSize","u":"/docs/solidity-docs/MACI","h":"#macipubkeylargerthansnarkfieldsize","p":1778},{"i":1823,"t":"error PreviousPollNotCompleted(uint256 pollId)","s":"PreviousPollNotCompleted","u":"/docs/solidity-docs/MACI","h":"#previouspollnotcompleted","p":1778},{"i":1825,"t":"error PollDoesNotExist(uint256 pollId)","s":"PollDoesNotExist","u":"/docs/solidity-docs/MACI","h":"#polldoesnotexist","p":1778},{"i":1827,"t":"constructor(contract PollFactory _pollFactory, contract SignUpGatekeeper _signUpGatekeeper, contract InitialVoiceCreditProxy _initialVoiceCreditProxy, contract TopupCredit _topupCredit, uint8 _stateTreeDepth) public payable Create a new instance of the MACI contract. Parameters​ Name Type Description _pollFactory contract PollFactory The PollFactory contract _signUpGatekeeper contract SignUpGatekeeper The SignUpGatekeeper contract _initialVoiceCreditProxy contract InitialVoiceCreditProxy The InitialVoiceCreditProxy contract _topupCredit contract TopupCredit _stateTreeDepth uint8 The depth of the state tree","s":"constructor","u":"/docs/solidity-docs/MACI","h":"#constructor","p":1778},{"i":1829,"t":"function stateTreeDepth() external view returns (uint8) Get the depth of the state tree Return Values​ Name Type Description [0] uint8 The depth of the state tree","s":"stateTreeDepth","u":"/docs/solidity-docs/MACI","h":"#statetreedepth","p":1778},{"i":1831,"t":"function signUp(struct DomainObjs.PubKey _pubKey, bytes _signUpGatekeeperData, bytes _initialVoiceCreditProxyData) public Allows any eligible user sign up. The sign-up gatekeeper should prevent double sign-ups or ineligible users from doing so. This function will only succeed if the sign-up deadline has not passed. It also enqueues a fresh state leaf into the state AccQueue. Parameters​ Name Type Description _pubKey struct DomainObjs.PubKey The user's desired public key. _signUpGatekeeperData bytes Data to pass to the sign-up gatekeeper's register() function. For instance, the POAPGatekeeper or SignUpTokenGatekeeper requires this value to be the ABI-encoded token ID. _initialVoiceCreditProxyData bytes Data to pass to the InitialVoiceCreditProxy, which allows it to determine how many voice credits this user should have.","s":"signUp","u":"/docs/solidity-docs/MACI","h":"#signup-1","p":1778},{"i":1833,"t":"function deployPoll(uint256 _duration, struct Params.MaxValues _maxValues, struct Params.TreeDepths _treeDepths, struct DomainObjs.PubKey _coordinatorPubKey) public returns (address pollAddr) Deploy a new Poll contract. Parameters​ Name Type Description _duration uint256 How long should the Poll last for _maxValues struct Params.MaxValues The maximum number of vote options, and messages _treeDepths struct Params.TreeDepths The depth of the Merkle trees _coordinatorPubKey struct DomainObjs.PubKey The coordinator's public key Return Values​ Name Type Description pollAddr address a new Poll contract address","s":"deployPoll","u":"/docs/solidity-docs/MACI","h":"#deploypoll-1","p":1778},{"i":1835,"t":"function mergeStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) public Allow Poll contracts to merge the state subroots Parameters​ Name Type Description _numSrQueueOps uint256 Number of operations _pollId uint256 The active Poll ID","s":"mergeStateAqSubRoots","u":"/docs/solidity-docs/MACI","h":"#mergestateaqsubroots","p":1778},{"i":1837,"t":"function mergeStateAq(uint256 _pollId) public returns (uint256 root) Allow Poll contracts to merge the state root Parameters​ Name Type Description _pollId uint256 The active Poll ID Return Values​ Name Type Description root uint256 The calculated Merkle root","s":"mergeStateAq","u":"/docs/solidity-docs/MACI","h":"#mergestateaq","p":1778},{"i":1839,"t":"function getStateAqRoot() public view returns (uint256 root) Return the main root of the StateAq contract Return Values​ Name Type Description root uint256 The Merkle root","s":"getStateAqRoot","u":"/docs/solidity-docs/MACI","h":"#getstateaqroot","p":1778},{"i":1841,"t":"function getPoll(uint256 _pollId) public view returns (contract Poll poll) Get the Poll details Parameters​ Name Type Description _pollId uint256 The identifier of the Poll to retrieve Return Values​ Name Type Description poll contract Poll The Poll contract object","s":"getPoll","u":"/docs/solidity-docs/MACI","h":"#getpoll","p":1778},{"i":1843,"t":"MessageProcessor is used to process messages published by signup users. It will process message by batch due to large size of messages. After it finishes processing, the sbCommitment will be used for Tally and Subsidy contracts.","s":"MessageProcessor","u":"/docs/solidity-docs/MessageProcessor","h":"","p":1842},{"i":1845,"t":"error NoMoreMessages() custom errors","s":"NoMoreMessages","u":"/docs/solidity-docs/MessageProcessor","h":"#nomoremessages","p":1842},{"i":1847,"t":"error StateAqNotMerged()","s":"StateAqNotMerged","u":"/docs/solidity-docs/MessageProcessor","h":"#stateaqnotmerged","p":1842},{"i":1849,"t":"error MessageAqNotMerged()","s":"MessageAqNotMerged","u":"/docs/solidity-docs/MessageProcessor","h":"#messageaqnotmerged","p":1842},{"i":1851,"t":"error InvalidProcessMessageProof()","s":"InvalidProcessMessageProof","u":"/docs/solidity-docs/MessageProcessor","h":"#invalidprocessmessageproof","p":1842},{"i":1853,"t":"error VkNotSet()","s":"VkNotSet","u":"/docs/solidity-docs/MessageProcessor","h":"#vknotset","p":1842},{"i":1855,"t":"error MaxVoteOptionsTooLarge()","s":"MaxVoteOptionsTooLarge","u":"/docs/solidity-docs/MessageProcessor","h":"#maxvoteoptionstoolarge","p":1842},{"i":1857,"t":"error NumSignUpsTooLarge()","s":"NumSignUpsTooLarge","u":"/docs/solidity-docs/MessageProcessor","h":"#numsignupstoolarge","p":1842},{"i":1859,"t":"error CurrentMessageBatchIndexTooLarge()","s":"CurrentMessageBatchIndexTooLarge","u":"/docs/solidity-docs/MessageProcessor","h":"#currentmessagebatchindextoolarge","p":1842},{"i":1861,"t":"error BatchEndIndexTooLarge()","s":"BatchEndIndexTooLarge","u":"/docs/solidity-docs/MessageProcessor","h":"#batchendindextoolarge","p":1842},{"i":1863,"t":"bool processingComplete Whether there are unprocessed messages left","s":"processingComplete","u":"/docs/solidity-docs/MessageProcessor","h":"#processingcomplete","p":1842},{"i":1865,"t":"uint256 numBatchesProcessed The number of batches processed","s":"numBatchesProcessed","u":"/docs/solidity-docs/MessageProcessor","h":"#numbatchesprocessed","p":1842},{"i":1867,"t":"uint256 currentMessageBatchIndex The current message batch index. When the coordinator runs processMessages(), this action relates to messages currentMessageBatchIndex to currentMessageBatchIndex + messageBatchSize.","s":"currentMessageBatchIndex","u":"/docs/solidity-docs/MessageProcessor","h":"#currentmessagebatchindex","p":1842},{"i":1869,"t":"uint256 sbCommitment The commitment to the state and ballot roots","s":"sbCommitment","u":"/docs/solidity-docs/MessageProcessor","h":"#sbcommitment","p":1842},{"i":1871,"t":"contract Verifier verifier","s":"verifier","u":"/docs/solidity-docs/MessageProcessor","h":"#verifier","p":1842},{"i":1873,"t":"contract VkRegistry vkRegistry","s":"vkRegistry","u":"/docs/solidity-docs/MessageProcessor","h":"#vkregistry","p":1842},{"i":1875,"t":"constructor(contract Verifier _verifier, contract VkRegistry _vkRegistry) public payable Create a new instance Parameters​ Name Type Description _verifier contract Verifier The Verifier contract address _vkRegistry contract VkRegistry The VkRegistry contract address","s":"constructor","u":"/docs/solidity-docs/MessageProcessor","h":"#constructor","p":1842},{"i":1877,"t":"function processMessages(contract Poll _poll, uint256 _newSbCommitment, uint256[8] _proof) external Update the Poll's currentSbCommitment if the proof is valid. Parameters​ Name Type Description _poll contract Poll The poll to update _newSbCommitment uint256 The new state root and ballot root commitment after all messages are processed _proof uint256[8] The zk-SNARK proof","s":"processMessages","u":"/docs/solidity-docs/MessageProcessor","h":"#processmessages","p":1842},{"i":1879,"t":"function verifyProcessProof(contract Poll _poll, uint256 _currentMessageBatchIndex, uint256 _messageRoot, uint256 _currentSbCommitment, uint256 _newSbCommitment, uint256[8] _proof) internal view returns (bool isValid) Verify the proof for processMessage used to update the sbCommitment Parameters​ Name Type Description _poll contract Poll The Poll contract address _currentMessageBatchIndex uint256 The batch index of current message batch _messageRoot uint256 The message tree root _currentSbCommitment uint256 The current sbCommitment (state and ballot) _newSbCommitment uint256 The new sbCommitment after we update this message batch _proof uint256[8] The zk-SNARK proof Return Values​ Name Type Description isValid bool Whether the proof is valid","s":"verifyProcessProof","u":"/docs/solidity-docs/MessageProcessor","h":"#verifyprocessproof","p":1842},{"i":1881,"t":"function genProcessMessagesPublicInputHash(contract Poll _poll, uint256 _currentMessageBatchIndex, uint256 _messageRoot, uint256 _numSignUps, uint256 _currentSbCommitment, uint256 _newSbCommitment) public view returns (uint256 inputHash) Returns the SHA256 hash of the packed values (see genProcessMessagesPackedVals), the hash of the coordinator's public key, the message root, and the commitment to the current state root and ballot root. By passing the SHA256 hash of these values to the circuit as a single public input and the preimage as private inputs, we reduce its verification gas cost though the number of constraints will be higher and proving time will be longer. Parameters​ Name Type Description _poll contract Poll The Poll contract address _currentMessageBatchIndex uint256 The batch index of current message batch _messageRoot uint256 _numSignUps uint256 The number of users that signup _currentSbCommitment uint256 The current sbCommitment (state and ballot root) _newSbCommitment uint256 The new sbCommitment after we update this message batch Return Values​ Name Type Description inputHash uint256 Returns the SHA256 hash of the packed values","s":"genProcessMessagesPublicInputHash","u":"/docs/solidity-docs/MessageProcessor","h":"#genprocessmessagespublicinputhash","p":1842},{"i":1883,"t":"function genProcessMessagesPackedVals(contract Poll _poll, uint256 _currentMessageBatchIndex, uint256 _numSignUps) public view returns (uint256 result) One of the inputs to the ProcessMessages circuit is a 250-bit representation of four 50-bit values. This function generates this 250-bit value, which consists of the maximum number of vote options, the number of signups, the current message batch index, and the end index of the current batch. Parameters​ Name Type Description _poll contract Poll the poll contract _currentMessageBatchIndex uint256 batch index of current message batch _numSignUps uint256 number of users that signup Return Values​ Name Type Description result uint256 The packed value","s":"genProcessMessagesPackedVals","u":"/docs/solidity-docs/MessageProcessor","h":"#genprocessmessagespackedvals","p":1842},{"i":1885,"t":"function updateMessageProcessingData(uint256 _newSbCommitment, uint256 _currentMessageBatchIndex, bool _processingComplete) internal update message processing state variables Parameters​ Name Type Description _newSbCommitment uint256 sbCommitment to be updated _currentMessageBatchIndex uint256 currentMessageBatchIndex to be updated _processingComplete bool update flag that indicate processing is finished or not","s":"updateMessageProcessingData","u":"/docs/solidity-docs/MessageProcessor","h":"#updatemessageprocessingdata","p":1842},{"i":1887,"t":"A Poll contract allows voters to submit encrypted messages which can be either votes, key change messages or topup messages. Do not deploy this directly. Use PollFactory.deploy() which performs some checks on the Poll constructor arguments.","s":"Poll","u":"/docs/solidity-docs/Poll","h":"","p":1886},{"i":1889,"t":"bool isInit","s":"isInit","u":"/docs/solidity-docs/Poll","h":"#isinit","p":1886},{"i":1891,"t":"struct DomainObjs.PubKey coordinatorPubKey","s":"coordinatorPubKey","u":"/docs/solidity-docs/Poll","h":"#coordinatorpubkey","p":1886},{"i":1893,"t":"uint256 mergedStateRoot","s":"mergedStateRoot","u":"/docs/solidity-docs/Poll","h":"#mergedstateroot","p":1886},{"i":1895,"t":"uint256 coordinatorPubKeyHash","s":"coordinatorPubKeyHash","u":"/docs/solidity-docs/Poll","h":"#coordinatorpubkeyhash","p":1886},{"i":1897,"t":"uint256 deployTime","s":"deployTime","u":"/docs/solidity-docs/Poll","h":"#deploytime","p":1886},{"i":1899,"t":"uint256 duration","s":"duration","u":"/docs/solidity-docs/Poll","h":"#duration","p":1886},{"i":1901,"t":"bool stateAqMerged","s":"stateAqMerged","u":"/docs/solidity-docs/Poll","h":"#stateaqmerged","p":1886},{"i":1903,"t":"uint256 currentSbCommitment","s":"currentSbCommitment","u":"/docs/solidity-docs/Poll","h":"#currentsbcommitment","p":1886},{"i":1905,"t":"uint256 numMessages","s":"numMessages","u":"/docs/solidity-docs/Poll","h":"#nummessages","p":1886},{"i":1907,"t":"struct Params.MaxValues maxValues","s":"maxValues","u":"/docs/solidity-docs/Poll","h":"#maxvalues","p":1886},{"i":1909,"t":"struct Params.TreeDepths treeDepths","s":"treeDepths","u":"/docs/solidity-docs/Poll","h":"#treedepths","p":1886},{"i":1911,"t":"struct Params.BatchSizes batchSizes","s":"batchSizes","u":"/docs/solidity-docs/Poll","h":"#batchsizes","p":1886},{"i":1913,"t":"error VotingPeriodOver() custom errors","s":"VotingPeriodOver","u":"/docs/solidity-docs/Poll","h":"#votingperiodover","p":1886},{"i":1915,"t":"error VotingPeriodNotOver()","s":"VotingPeriodNotOver","u":"/docs/solidity-docs/Poll","h":"#votingperiodnotover","p":1886},{"i":1917,"t":"error PollAlreadyInit()","s":"PollAlreadyInit","u":"/docs/solidity-docs/Poll","h":"#pollalreadyinit","p":1886},{"i":1919,"t":"error TooManyMessages()","s":"TooManyMessages","u":"/docs/solidity-docs/Poll","h":"#toomanymessages","p":1886},{"i":1921,"t":"error MaciPubKeyLargerThanSnarkFieldSize()","s":"MaciPubKeyLargerThanSnarkFieldSize","u":"/docs/solidity-docs/Poll","h":"#macipubkeylargerthansnarkfieldsize","p":1886},{"i":1923,"t":"error StateAqAlreadyMerged()","s":"StateAqAlreadyMerged","u":"/docs/solidity-docs/Poll","h":"#stateaqalreadymerged","p":1886},{"i":1925,"t":"error StateAqSubtreesNeedMerge()","s":"StateAqSubtreesNeedMerge","u":"/docs/solidity-docs/Poll","h":"#stateaqsubtreesneedmerge","p":1886},{"i":1927,"t":"event PublishMessage(struct DomainObjs.Message _message, struct DomainObjs.PubKey _encPubKey)","s":"PublishMessage","u":"/docs/solidity-docs/Poll","h":"#publishmessage","p":1886},{"i":1929,"t":"event TopupMessage(struct DomainObjs.Message _message)","s":"TopupMessage","u":"/docs/solidity-docs/Poll","h":"#topupmessage","p":1886},{"i":1931,"t":"event MergeMaciStateAqSubRoots(uint256 _numSrQueueOps)","s":"MergeMaciStateAqSubRoots","u":"/docs/solidity-docs/Poll","h":"#mergemacistateaqsubroots","p":1886},{"i":1933,"t":"event MergeMaciStateAq(uint256 _stateRoot)","s":"MergeMaciStateAq","u":"/docs/solidity-docs/Poll","h":"#mergemacistateaq","p":1886},{"i":1935,"t":"event MergeMessageAqSubRoots(uint256 _numSrQueueOps)","s":"MergeMessageAqSubRoots","u":"/docs/solidity-docs/Poll","h":"#mergemessageaqsubroots","p":1886},{"i":1937,"t":"event MergeMessageAq(uint256 _messageRoot)","s":"MergeMessageAq","u":"/docs/solidity-docs/Poll","h":"#mergemessageaq","p":1886},{"i":1939,"t":"struct Params.ExtContracts extContracts","s":"extContracts","u":"/docs/solidity-docs/Poll","h":"#extcontracts","p":1886},{"i":1941,"t":"constructor(uint256 _duration, struct Params.MaxValues _maxValues, struct Params.TreeDepths _treeDepths, struct Params.BatchSizes _batchSizes, struct DomainObjs.PubKey _coordinatorPubKey, struct Params.ExtContracts _extContracts) public payable Each MACI instance can have multiple Polls. When a Poll is deployed, its voting period starts immediately. Parameters​ Name Type Description _duration uint256 The duration of the voting period, in seconds _maxValues struct Params.MaxValues The maximum number of signups and messages _treeDepths struct Params.TreeDepths The depths of the merkle trees _batchSizes struct Params.BatchSizes The batch sizes for processing _coordinatorPubKey struct DomainObjs.PubKey The coordinator's public key _extContracts struct Params.ExtContracts The external contracts","s":"constructor","u":"/docs/solidity-docs/Poll","h":"#constructor","p":1886},{"i":1943,"t":"modifier isAfterVotingDeadline() A modifier that causes the function to revert if the voting period is not over.","s":"isAfterVotingDeadline","u":"/docs/solidity-docs/Poll","h":"#isaftervotingdeadline","p":1886},{"i":1945,"t":"modifier isWithinVotingDeadline() A modifier that causes the function to revert if the voting period is over","s":"isWithinVotingDeadline","u":"/docs/solidity-docs/Poll","h":"#iswithinvotingdeadline","p":1886},{"i":1947,"t":"function init() public The initialization function. Should be called immediately after Poll creation and messageAq ownership transferred","s":"init","u":"/docs/solidity-docs/Poll","h":"#init","p":1886},{"i":1949,"t":"function topup(uint256 stateIndex, uint256 amount) public Allows to publish a Topup message Parameters​ Name Type Description stateIndex uint256 The index of user in the state queue amount uint256 The amount of credits to topup","s":"topup","u":"/docs/solidity-docs/Poll","h":"#topup","p":1886},{"i":1951,"t":"function publishMessage(struct DomainObjs.Message _message, struct DomainObjs.PubKey _encPubKey) public Allows anyone to publish a message (an encrypted command and signature). This function also enqueues the message. Parameters​ Name Type Description _message struct DomainObjs.Message The message to publish _encPubKey struct DomainObjs.PubKey An epheremal public key which can be combined with the coordinator's private key to generate an ECDH shared key with which to encrypt the message.","s":"publishMessage","u":"/docs/solidity-docs/Poll","h":"#publishmessage-1","p":1886},{"i":1953,"t":"function mergeMaciStateAqSubRoots(uint256 _numSrQueueOps, uint256 _pollId) public The first step of merging the MACI state AccQueue. This allows the ProcessMessages circuit to access the latest state tree and ballots via currentSbCommitment.","s":"mergeMaciStateAqSubRoots","u":"/docs/solidity-docs/Poll","h":"#mergemacistateaqsubroots-1","p":1886},{"i":1955,"t":"function mergeMaciStateAq(uint256 _pollId) public The second step of merging the MACI state AccQueue. This allows the ProcessMessages circuit to access the latest state tree and ballots via currentSbCommitment. Parameters​ Name Type Description _pollId uint256 The ID of the Poll","s":"mergeMaciStateAq","u":"/docs/solidity-docs/Poll","h":"#mergemacistateaq-1","p":1886},{"i":1957,"t":"function mergeMessageAqSubRoots(uint256 _numSrQueueOps) public The first step in merging the message AccQueue so that the ProcessMessages circuit can access the message root. Parameters​ Name Type Description _numSrQueueOps uint256 The number of subroot queue operations to perform","s":"mergeMessageAqSubRoots","u":"/docs/solidity-docs/Poll","h":"#mergemessageaqsubroots-1","p":1886},{"i":1959,"t":"function mergeMessageAq() public The second step in merging the message AccQueue so that the ProcessMessages circuit can access the message root.","s":"mergeMessageAq","u":"/docs/solidity-docs/Poll","h":"#mergemessageaq-1","p":1886},{"i":1961,"t":"function getDeployTimeAndDuration() public view returns (uint256 _deployTime, uint256 _duration) Returns the Poll's deploy time and duration Return Values​ Name Type Description _deployTime uint256 The deployment timestamp _duration uint256 The duration of the poll","s":"getDeployTimeAndDuration","u":"/docs/solidity-docs/Poll","h":"#getdeploytimeandduration","p":1886},{"i":1963,"t":"function numSignUpsAndMessages() public view returns (uint256 numSignups, uint256 numMsgs) The number of messages which have been processed and the number of signups Return Values​ Name Type Description numSignups uint256 The number of signups numMsgs uint256 The number of messages sent by voters","s":"numSignUpsAndMessages","u":"/docs/solidity-docs/Poll","h":"#numsignupsandmessages","p":1886},{"i":1965,"t":"A factory contract which deploys Poll contracts. It allows the MACI contract size to stay within the limit set by EIP-170.","s":"PollFactory","u":"/docs/solidity-docs/PollFactory","h":"","p":1964},{"i":1967,"t":"uint256 TREE_ARITY","s":"TREE_ARITY","u":"/docs/solidity-docs/PollFactory","h":"#tree_arity","p":1964},{"i":1969,"t":"error InvalidMaxValues()","s":"InvalidMaxValues","u":"/docs/solidity-docs/PollFactory","h":"#invalidmaxvalues","p":1964},{"i":1971,"t":"constructor() public payable The PollFactory constructor","s":"constructor","u":"/docs/solidity-docs/PollFactory","h":"#constructor","p":1964},{"i":1973,"t":"function deploy(uint256 _duration, struct Params.MaxValues _maxValues, struct Params.TreeDepths _treeDepths, struct Params.BatchSizes _batchSizes, struct DomainObjs.PubKey _coordinatorPubKey, contract IMACI _maci, contract TopupCredit _topupCredit, address _pollOwner) public returns (contract Poll poll) Deploy a new Poll contract and AccQueue contract for messages. Parameters​ Name Type Description _duration uint256 The duration of the poll _maxValues struct Params.MaxValues The max values for the poll _treeDepths struct Params.TreeDepths The depths of the merkle trees _batchSizes struct Params.BatchSizes The batch sizes for processing _coordinatorPubKey struct DomainObjs.PubKey The coordinator's public key _maci contract IMACI The MACI contract interface reference _topupCredit contract TopupCredit The TopupCredit contract _pollOwner address The owner of the poll Return Values​ Name Type Description poll contract Poll The deployed Poll contract","s":"deploy","u":"/docs/solidity-docs/PollFactory","h":"#deploy","p":1964},{"i":1975,"t":"This contract is an ERC721 token contract which can be used to allow users to sign up for a poll.","s":"SignUpToken","u":"/docs/solidity-docs/SignUpToken","h":"","p":1974},{"i":1977,"t":"constructor() public payable The constructor which calls the ERC721 constructor","s":"constructor","u":"/docs/solidity-docs/SignUpToken","h":"#constructor","p":1974},{"i":1979,"t":"function giveToken(address to, uint256 curTokenId) public Gives an ERC721 token to an address Parameters​ Name Type Description to address The address to give the token to curTokenId uint256 The token id to give","s":"giveToken","u":"/docs/solidity-docs/SignUpToken","h":"#givetoken","p":1974},{"i":1981,"t":"This contract is used to verify that the subsidy calculations are correct. It is also used to update the subsidy commitment if the proof is valid.","s":"Subsidy","u":"/docs/solidity-docs/Subsidy","h":"","p":1980},{"i":1983,"t":"uint256 rbi","s":"rbi","u":"/docs/solidity-docs/Subsidy","h":"#rbi","p":1980},{"i":1985,"t":"uint256 cbi","s":"cbi","u":"/docs/solidity-docs/Subsidy","h":"#cbi","p":1980},{"i":1987,"t":"uint256 sbCommitment","s":"sbCommitment","u":"/docs/solidity-docs/Subsidy","h":"#sbcommitment","p":1980},{"i":1989,"t":"uint256 subsidyCommitment","s":"subsidyCommitment","u":"/docs/solidity-docs/Subsidy","h":"#subsidycommitment","p":1980},{"i":1991,"t":"uint8 TREE_ARITY","s":"TREE_ARITY","u":"/docs/solidity-docs/Subsidy","h":"#tree_arity","p":1980},{"i":1993,"t":"error ProcessingNotComplete()","s":"ProcessingNotComplete","u":"/docs/solidity-docs/Subsidy","h":"#processingnotcomplete","p":1980},{"i":1995,"t":"error InvalidSubsidyProof()","s":"InvalidSubsidyProof","u":"/docs/solidity-docs/Subsidy","h":"#invalidsubsidyproof","p":1980},{"i":1997,"t":"error AllSubsidyCalculated()","s":"AllSubsidyCalculated","u":"/docs/solidity-docs/Subsidy","h":"#allsubsidycalculated","p":1980},{"i":1999,"t":"error VkNotSet()","s":"VkNotSet","u":"/docs/solidity-docs/Subsidy","h":"#vknotset","p":1980},{"i":2001,"t":"error NumSignUpsTooLarge()","s":"NumSignUpsTooLarge","u":"/docs/solidity-docs/Subsidy","h":"#numsignupstoolarge","p":1980},{"i":2003,"t":"error RbiTooLarge()","s":"RbiTooLarge","u":"/docs/solidity-docs/Subsidy","h":"#rbitoolarge","p":1980},{"i":2005,"t":"error CbiTooLarge()","s":"CbiTooLarge","u":"/docs/solidity-docs/Subsidy","h":"#cbitoolarge","p":1980},{"i":2007,"t":"contract Verifier verifier","s":"verifier","u":"/docs/solidity-docs/Subsidy","h":"#verifier","p":1980},{"i":2009,"t":"contract VkRegistry vkRegistry","s":"vkRegistry","u":"/docs/solidity-docs/Subsidy","h":"#vkregistry","p":1980},{"i":2011,"t":"constructor(contract Verifier _verifier, contract VkRegistry _vkRegistry) public payable Create a new Subsidy contract Parameters​ Name Type Description _verifier contract Verifier The Verifier contract _vkRegistry contract VkRegistry The VkRegistry contract","s":"constructor","u":"/docs/solidity-docs/Subsidy","h":"#constructor","p":1980},{"i":2013,"t":"function updateSbCommitment(contract MessageProcessor _mp) public Update the currentSbCommitment if the proof is valid. currentSbCommitment is the commitment to the state and ballot roots Parameters​ Name Type Description _mp contract MessageProcessor The MessageProcessor contract","s":"updateSbCommitment","u":"/docs/solidity-docs/Subsidy","h":"#updatesbcommitment","p":1980},{"i":2015,"t":"function genSubsidyPackedVals(uint256 _numSignUps) public view returns (uint256 result) Generate the packed values for the subsidy proof Parameters​ Name Type Description _numSignUps uint256 The number of signups Return Values​ Name Type Description result uint256 The packed values","s":"genSubsidyPackedVals","u":"/docs/solidity-docs/Subsidy","h":"#gensubsidypackedvals","p":1980},{"i":2017,"t":"function genSubsidyPublicInputHash(uint256 _numSignUps, uint256 _newSubsidyCommitment) public view returns (uint256 inputHash) Generate the public input hash for the subsidy proof Parameters​ Name Type Description _numSignUps uint256 The number of signups _newSubsidyCommitment uint256 The new subsidy commitment Return Values​ Name Type Description inputHash uint256 The public input hash","s":"genSubsidyPublicInputHash","u":"/docs/solidity-docs/Subsidy","h":"#gensubsidypublicinputhash","p":1980},{"i":2019,"t":"function updateSubsidy(contract Poll _poll, contract MessageProcessor _mp, uint256 _newSubsidyCommitment, uint256[8] _proof) external Update the subsidy commitment if the proof is valid Parameters​ Name Type Description _poll contract Poll The Poll contract _mp contract MessageProcessor The MessageProcessor contract _newSubsidyCommitment uint256 The new subsidy commitment _proof uint256[8] The proof","s":"updateSubsidy","u":"/docs/solidity-docs/Subsidy","h":"#updatesubsidy","p":1980},{"i":2021,"t":"function increaseSubsidyIndex(uint256 batchSize, uint256 numLeaves) internal Increase the subsidy batch index (rbi, cbi) to next, it will try to cbi++ if the whole batch can fit into numLeaves otherwise it will increase row index: rbi++. Each batch for subsidy calculation is 2 dimensional: batchSize*batchSize Parameters​ Name Type Description batchSize uint256 the size of 1 dimensional batch over the signup users numLeaves uint256 total number of leaves in stateTree, i.e. number of signup users","s":"increaseSubsidyIndex","u":"/docs/solidity-docs/Subsidy","h":"#increasesubsidyindex","p":1980},{"i":2023,"t":"function verifySubsidyProof(contract Poll _poll, uint256[8] _proof, uint256 _numSignUps, uint256 _newSubsidyCommitment) public view returns (bool isValid) Verify the subsidy proof using the Groth16 on chain verifier Parameters​ Name Type Description _poll contract Poll The Poll contract _proof uint256[8] The proof _numSignUps uint256 The number of signups _newSubsidyCommitment uint256 The new subsidy commitment Return Values​ Name Type Description isValid bool True if the proof is valid","s":"verifySubsidyProof","u":"/docs/solidity-docs/Subsidy","h":"#verifysubsidyproof","p":1980},{"i":2025,"t":"The Tally contract is used during votes tallying and by users to verify the tally results.","s":"Tally","u":"/docs/solidity-docs/Tally","h":"","p":2024},{"i":2027,"t":"error ProcessingNotComplete()","s":"ProcessingNotComplete","u":"/docs/solidity-docs/Tally","h":"#processingnotcomplete","p":2024},{"i":2029,"t":"error InvalidTallyVotesProof()","s":"InvalidTallyVotesProof","u":"/docs/solidity-docs/Tally","h":"#invalidtallyvotesproof","p":2024},{"i":2031,"t":"error AllBallotsTallied()","s":"AllBallotsTallied","u":"/docs/solidity-docs/Tally","h":"#allballotstallied","p":2024},{"i":2033,"t":"error NumSignUpsTooLarge()","s":"NumSignUpsTooLarge","u":"/docs/solidity-docs/Tally","h":"#numsignupstoolarge","p":2024},{"i":2035,"t":"error BatchStartIndexTooLarge()","s":"BatchStartIndexTooLarge","u":"/docs/solidity-docs/Tally","h":"#batchstartindextoolarge","p":2024},{"i":2037,"t":"error TallyBatchSizeTooLarge()","s":"TallyBatchSizeTooLarge","u":"/docs/solidity-docs/Tally","h":"#tallybatchsizetoolarge","p":2024},{"i":2039,"t":"uint256 tallyCommitment The commitment to the tally results. Its initial value is 0, but after the tally of each batch is proven on-chain via a zk-SNARK, it should be updated to: hash3( hashLeftRight(merkle root of current results, salt0) hashLeftRight(number of spent voice credits, salt1), hashLeftRight(merkle root of the no. of spent voice credits per vote option, salt2) ) Where each salt is unique and the merkle roots are of arrays of leaves TREE_ARITY ** voteOptionTreeDepth long.","s":"tallyCommitment","u":"/docs/solidity-docs/Tally","h":"#tallycommitment","p":2024},{"i":2041,"t":"uint256 tallyBatchNum","s":"tallyBatchNum","u":"/docs/solidity-docs/Tally","h":"#tallybatchnum","p":2024},{"i":2043,"t":"uint256 sbCommitment","s":"sbCommitment","u":"/docs/solidity-docs/Tally","h":"#sbcommitment","p":2024},{"i":2045,"t":"contract Verifier verifier","s":"verifier","u":"/docs/solidity-docs/Tally","h":"#verifier","p":2024},{"i":2047,"t":"contract VkRegistry vkRegistry","s":"vkRegistry","u":"/docs/solidity-docs/Tally","h":"#vkregistry","p":2024},{"i":2049,"t":"constructor(contract Verifier _verifier, contract VkRegistry _vkRegistry) public payable Create a new Tally contract Parameters​ Name Type Description _verifier contract Verifier The Verifier contract _vkRegistry contract VkRegistry The VkRegistry contract","s":"constructor","u":"/docs/solidity-docs/Tally","h":"#constructor","p":2024},{"i":2051,"t":"function genTallyVotesPackedVals(uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize) public pure returns (uint256 result) Pack the batch start index and number of signups into a 100-bit value. Parameters​ Name Type Description _numSignUps uint256 _batchStartIndex uint256 _tallyBatchSize uint256 Return Values​ Name Type Description result uint256 an uint256 representing the 3 inputs packed together","s":"genTallyVotesPackedVals","u":"/docs/solidity-docs/Tally","h":"#gentallyvotespackedvals","p":2024},{"i":2053,"t":"function genTallyVotesPublicInputHash(uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize, uint256 _newTallyCommitment) public view returns (uint256 inputHash) generate hash of public inputs for tally circuit Parameters​ Name Type Description _numSignUps uint256 _batchStartIndex uint256 _tallyBatchSize uint256 _newTallyCommitment uint256 Return Values​ Name Type Description inputHash uint256 hash of public inputs","s":"genTallyVotesPublicInputHash","u":"/docs/solidity-docs/Tally","h":"#gentallyvotespublicinputhash","p":2024},{"i":2055,"t":"function updateSbCommitment(contract MessageProcessor _mp) public Update the state and ballot root commitment Parameters​ Name Type Description _mp contract MessageProcessor the address of the MessageProcessor contract","s":"updateSbCommitment","u":"/docs/solidity-docs/Tally","h":"#updatesbcommitment","p":2024},{"i":2057,"t":"function tallyVotes(contract Poll _poll, contract MessageProcessor _mp, uint256 _newTallyCommitment, uint256[8] _proof) public Verify the result of a tally batch Parameters​ Name Type Description _poll contract Poll contract address of the poll proof to be verified _mp contract MessageProcessor the address of the MessageProcessor contract _newTallyCommitment uint256 the new tally commitment to be verified _proof uint256[8] the proof generated after tallying this batch","s":"tallyVotes","u":"/docs/solidity-docs/Tally","h":"#tallyvotes","p":2024},{"i":2059,"t":"function verifyTallyProof(contract Poll _poll, uint256[8] _proof, uint256 _numSignUps, uint256 _batchStartIndex, uint256 _tallyBatchSize, uint256 _newTallyCommitment) public view returns (bool isValid) Verify the tally proof using the verifying key Parameters​ Name Type Description _poll contract Poll contract address of the poll proof to be verified _proof uint256[8] the proof generated after processing all messages _numSignUps uint256 number of signups for a given poll _batchStartIndex uint256 the number of batches multiplied by the size of the batch _tallyBatchSize uint256 batch size for the tally _newTallyCommitment uint256 the tally commitment to be verified at a given batch index Return Values​ Name Type Description isValid bool whether the proof is valid","s":"verifyTallyProof","u":"/docs/solidity-docs/Tally","h":"#verifytallyproof","p":2024},{"i":2061,"t":"function computeMerkleRootFromPath(uint8 _depth, uint256 _index, uint256 _leaf, uint256[][] _pathElements) internal pure returns (uint256 current) Compute the merkle root from the path elements and a leaf Parameters​ Name Type Description _depth uint8 the depth of the merkle tree _index uint256 the index of the leaf _leaf uint256 the leaf _pathElements uint256[][] the path elements to reconstruct the merkle root Return Values​ Name Type Description current uint256 The merkle root","s":"computeMerkleRootFromPath","u":"/docs/solidity-docs/Tally","h":"#computemerklerootfrompath","p":2024},{"i":2063,"t":"function verifySpentVoiceCredits(uint256 _totalSpent, uint256 _totalSpentSalt, uint256 _resultCommitment, uint256 _perVOSpentVoiceCreditsHash) public view returns (bool isValid) Verify the number of spent voice credits from the tally.json Parameters​ Name Type Description _totalSpent uint256 spent field retrieved in the totalSpentVoiceCredits object _totalSpentSalt uint256 the corresponding salt in the totalSpentVoiceCredit object _resultCommitment uint256 hashLeftRight(merkle root of the results.tally, results.salt) in tally.json file _perVOSpentVoiceCreditsHash uint256 hashLeftRight(merkle root of the no spent voice credits per vote option, salt) Return Values​ Name Type Description isValid bool Whether the provided values are valid","s":"verifySpentVoiceCredits","u":"/docs/solidity-docs/Tally","h":"#verifyspentvoicecredits","p":2024},{"i":2065,"t":"function verifyPerVOSpentVoiceCredits(uint256 _voteOptionIndex, uint256 _spent, uint256[][] _spentProof, uint256 _spentSalt, uint8 _voteOptionTreeDepth, uint256 _spentVoiceCreditsHash, uint256 _resultCommitment) public view returns (bool isValid) Return Values​ Name Type Description isValid bool Whether the provided proof is valid","s":"verifyPerVOSpentVoiceCredits","u":"/docs/solidity-docs/Tally","h":"#verifypervospentvoicecredits","p":2024},{"i":2067,"t":"function verifyTallyResult(uint256 _voteOptionIndex, uint256 _tallyResult, uint256[][] _tallyResultProof, uint256 _tallyResultSalt, uint8 _voteOptionTreeDepth, uint256 _spentVoiceCreditsHash, uint256 _perVOSpentVoiceCreditsHash) public view returns (bool isValid) Verify the result generated from the tally.json Parameters​ Name Type Description _voteOptionIndex uint256 the index of the vote option to verify the correctness of the tally _tallyResult uint256 Flattened array of the tally _tallyResultProof uint256[][] Corresponding proof of the tally result _tallyResultSalt uint256 the respective salt in the results object in the tally.json _voteOptionTreeDepth uint8 depth of the vote option tree _spentVoiceCreditsHash uint256 hashLeftRight(number of spent voice credits, spent salt) _perVOSpentVoiceCreditsHash uint256 hashLeftRight(merkle root of the no spent voice credits per vote option, perVOSpentVoiceCredits salt) Return Values​ Name Type Description isValid bool Whether the provided proof is valid","s":"verifyTallyResult","u":"/docs/solidity-docs/Tally","h":"#verifytallyresult","p":2024},{"i":2069,"t":"A contract representing a token used to topup a MACI's voter credits","s":"TopupCredit","u":"/docs/solidity-docs/TopupCredit","h":"","p":2068},{"i":2071,"t":"uint8 DECIMALS","s":"DECIMALS","u":"/docs/solidity-docs/TopupCredit","h":"#decimals","p":2068},{"i":2073,"t":"uint256 MAXIMUM_AIRDROP_AMOUNT","s":"MAXIMUM_AIRDROP_AMOUNT","u":"/docs/solidity-docs/TopupCredit","h":"#maximum_airdrop_amount","p":2068},{"i":2075,"t":"error ExceedLimit() custom errors","s":"ExceedLimit","u":"/docs/solidity-docs/TopupCredit","h":"#exceedlimit","p":2068},{"i":2077,"t":"constructor() public payable create a new TopupCredit token","s":"constructor","u":"/docs/solidity-docs/TopupCredit","h":"#constructor","p":2068},{"i":2079,"t":"function airdropTo(address account, uint256 amount) public mint tokens to an account Parameters​ Name Type Description account address the account to mint tokens to amount uint256 the amount of tokens to mint","s":"airdropTo","u":"/docs/solidity-docs/TopupCredit","h":"#airdropto","p":2068},{"i":2081,"t":"function airdrop(uint256 amount) public mint tokens to the contract owner Parameters​ Name Type Description amount uint256 the amount of tokens to mint","s":"airdrop","u":"/docs/solidity-docs/TopupCredit","h":"#airdrop","p":2068},{"i":2083,"t":"This contract defines a Merkle tree where each leaf insertion only updates a subtree. To obtain the main tree root, the contract owner must merge the subtrees together. Merging subtrees requires at least 2 operations: mergeSubRoots(), and merge(). To get around the gas limit, the mergeSubRoots() can be performed in multiple transactions.","s":"AccQueue","u":"/docs/solidity-docs/trees/AccQueue","h":"","p":2082},{"i":2085,"t":"uint256 MAX_DEPTH","s":"MAX_DEPTH","u":"/docs/solidity-docs/trees/AccQueue","h":"#max_depth","p":2082},{"i":2087,"t":"struct Queue { uint256[4][33] levels; uint256[33] indices; }","s":"Queue","u":"/docs/solidity-docs/trees/AccQueue","h":"#queue","p":2082},{"i":2089,"t":"uint256 SUB_DEPTH","s":"SUB_DEPTH","u":"/docs/solidity-docs/trees/AccQueue","h":"#sub_depth","p":2082},{"i":2091,"t":"uint256 HASH_LENGTH","s":"HASH_LENGTH","u":"/docs/solidity-docs/trees/AccQueue","h":"#hash_length","p":2082},{"i":2093,"t":"uint256 SUB_TREE_CAPACITY","s":"SUB_TREE_CAPACITY","u":"/docs/solidity-docs/trees/AccQueue","h":"#sub_tree_capacity","p":2082},{"i":2095,"t":"bool isBinary","s":"isBinary","u":"/docs/solidity-docs/trees/AccQueue","h":"#isbinary","p":2082},{"i":2097,"t":"uint256 currentSubtreeIndex","s":"currentSubtreeIndex","u":"/docs/solidity-docs/trees/AccQueue","h":"#currentsubtreeindex","p":2082},{"i":2099,"t":"struct AccQueue.Queue leafQueue","s":"leafQueue","u":"/docs/solidity-docs/trees/AccQueue","h":"#leafqueue","p":2082},{"i":2101,"t":"struct AccQueue.Queue subRootQueue","s":"subRootQueue","u":"/docs/solidity-docs/trees/AccQueue","h":"#subrootqueue","p":2082},{"i":2103,"t":"mapping(uint256 => uint256) subRoots","s":"subRoots","u":"/docs/solidity-docs/trees/AccQueue","h":"#subroots","p":2082},{"i":2105,"t":"uint256[33] mainRoots","s":"mainRoots","u":"/docs/solidity-docs/trees/AccQueue","h":"#mainroots","p":2082},{"i":2107,"t":"bool subTreesMerged","s":"subTreesMerged","u":"/docs/solidity-docs/trees/AccQueue","h":"#subtreesmerged","p":2082},{"i":2109,"t":"bool treeMerged","s":"treeMerged","u":"/docs/solidity-docs/trees/AccQueue","h":"#treemerged","p":2082},{"i":2111,"t":"uint256 smallSRTroot","s":"smallSRTroot","u":"/docs/solidity-docs/trees/AccQueue","h":"#smallsrtroot","p":2082},{"i":2113,"t":"uint256 nextSubRootIndex","s":"nextSubRootIndex","u":"/docs/solidity-docs/trees/AccQueue","h":"#nextsubrootindex","p":2082},{"i":2115,"t":"uint256 numLeaves","s":"numLeaves","u":"/docs/solidity-docs/trees/AccQueue","h":"#numleaves","p":2082},{"i":2117,"t":"error SubDepthCannotBeZero() custom errors","s":"SubDepthCannotBeZero","u":"/docs/solidity-docs/trees/AccQueue","h":"#subdepthcannotbezero","p":2082},{"i":2119,"t":"error SubdepthTooLarge(uint256 _subDepth, uint256 max)","s":"SubdepthTooLarge","u":"/docs/solidity-docs/trees/AccQueue","h":"#subdepthtoolarge","p":2082},{"i":2121,"t":"error InvalidHashLength()","s":"InvalidHashLength","u":"/docs/solidity-docs/trees/AccQueue","h":"#invalidhashlength","p":2082},{"i":2123,"t":"error DepthCannotBeZero()","s":"DepthCannotBeZero","u":"/docs/solidity-docs/trees/AccQueue","h":"#depthcannotbezero","p":2082},{"i":2125,"t":"error SubTreesAlreadyMerged()","s":"SubTreesAlreadyMerged","u":"/docs/solidity-docs/trees/AccQueue","h":"#subtreesalreadymerged","p":2082},{"i":2127,"t":"error NothingToMerge()","s":"NothingToMerge","u":"/docs/solidity-docs/trees/AccQueue","h":"#nothingtomerge","p":2082},{"i":2129,"t":"error SubTreesNotMerged()","s":"SubTreesNotMerged","u":"/docs/solidity-docs/trees/AccQueue","h":"#subtreesnotmerged","p":2082},{"i":2131,"t":"error DepthTooLarge(uint256 _depth, uint256 max)","s":"DepthTooLarge","u":"/docs/solidity-docs/trees/AccQueue","h":"#depthtoolarge","p":2082},{"i":2133,"t":"error DepthTooSmall(uint256 _depth, uint256 min)","s":"DepthTooSmall","u":"/docs/solidity-docs/trees/AccQueue","h":"#depthtoosmall","p":2082},{"i":2135,"t":"error InvalidIndex(uint256 _index)","s":"InvalidIndex","u":"/docs/solidity-docs/trees/AccQueue","h":"#invalidindex","p":2082},{"i":2137,"t":"error InvalidLevel()","s":"InvalidLevel","u":"/docs/solidity-docs/trees/AccQueue","h":"#invalidlevel","p":2082},{"i":2139,"t":"constructor(uint256 _subDepth, uint256 _hashLength) internal payable Create a new AccQueue Parameters​ Name Type Description _subDepth uint256 The depth of each subtree. _hashLength uint256 The number of leaves per node (2 or 5).","s":"constructor","u":"/docs/solidity-docs/trees/AccQueue","h":"#constructor","p":2082},{"i":2141,"t":"function hashLevel(uint256 _level, uint256 _leaf) internal virtual returns (uint256 _hash) Hash the contents of the specified level and the specified leaf. This is a virtual function as the hash function which the overriding contract uses will be either hashLeftRight or hash5, which require different input array lengths. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description _hash uint256 The hash of the level and leaf.","s":"hashLevel","u":"/docs/solidity-docs/trees/AccQueue","h":"#hashlevel","p":2082},{"i":2143,"t":"function hashLevelLeaf(uint256 _level, uint256 _leaf) public view virtual returns (uint256 _hash) Hash the contents of the specified level and the specified leaf. This is a virtual function as the hash function which the overriding contract uses will be either hashLeftRight or hash5, which require different input array lengths. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description _hash uint256 The hash of the level and leaf.","s":"hashLevelLeaf","u":"/docs/solidity-docs/trees/AccQueue","h":"#hashlevelleaf","p":2082},{"i":2145,"t":"function getZero(uint256 _level) internal virtual returns (uint256 zero) Returns the zero leaf at a specified level. This is a virtual function as the hash function which the overriding contract uses will be either hashLeftRight or hash5, which will produce different zero values (e.g. hashLeftRight(0, 0) vs hash5([0, 0, 0, 0, 0]). Moreover, the zero value may be a nothing-up-my-sleeve value. Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf. Return Values​ Name Type Description zero uint256 The zero leaf at the specified level.","s":"getZero","u":"/docs/solidity-docs/trees/AccQueue","h":"#getzero","p":2082},{"i":2147,"t":"function enqueue(uint256 _leaf) public returns (uint256 leafIndex) Add a leaf to the queue for the current subtree. Parameters​ Name Type Description _leaf uint256 The leaf to add. Return Values​ Name Type Description leafIndex uint256 The index of the leaf in the queue.","s":"enqueue","u":"/docs/solidity-docs/trees/AccQueue","h":"#enqueue","p":2082},{"i":2149,"t":"function _enqueue(uint256 _leaf, uint256 _level) internal Updates the queue at a given level and hashes any subroots that need to be hashed. Parameters​ Name Type Description _leaf uint256 The leaf to add. _level uint256 The level at which to queue the leaf.","s":"_enqueue","u":"/docs/solidity-docs/trees/AccQueue","h":"#_enqueue","p":2082},{"i":2151,"t":"function fill() public Fill any empty leaves of the current subtree with zeros and store the resulting subroot.","s":"fill","u":"/docs/solidity-docs/trees/AccQueue","h":"#fill","p":2082},{"i":2153,"t":"function _fill(uint256 _level) internal virtual A function that queues zeros to the specified level, hashes, the level, and enqueues the hash to the next level. Parameters​ Name Type Description _level uint256 The level at which to queue zeros.","s":"_fill","u":"/docs/solidity-docs/trees/AccQueue","h":"#_fill","p":2082},{"i":2155,"t":"function insertSubTree(uint256 _subRoot) public Insert a subtree. Used for batch enqueues.","s":"insertSubTree","u":"/docs/solidity-docs/trees/AccQueue","h":"#insertsubtree","p":2082},{"i":2157,"t":"function calcMinHeight() public view returns (uint256 depth) Calculate the lowest possible height of a tree with all the subroots merged together. Return Values​ Name Type Description depth uint256 The lowest possible height of a tree with all the","s":"calcMinHeight","u":"/docs/solidity-docs/trees/AccQueue","h":"#calcminheight","p":2082},{"i":2159,"t":"function mergeSubRoots(uint256 _numSrQueueOps) public Merge all subtrees to form the shortest possible tree. This function can be called either once to merge all subtrees in a single transaction, or multiple times to do the same in multiple transactions. Parameters​ Name Type Description _numSrQueueOps uint256 The number of times this function will call queueSubRoot(), up to the maximum number of times necessary. If it is set to 0, it will call queueSubRoot() as many times as is necessary. Set this to a low number and call this function multiple times if there are many subroots to merge, or a single transaction could run out of gas.","s":"mergeSubRoots","u":"/docs/solidity-docs/trees/AccQueue","h":"#mergesubroots","p":2082},{"i":2161,"t":"function queueSubRoot(uint256 _leaf, uint256 _level, uint256 _maxDepth) internal Queues a subroot into the subroot tree. Parameters​ Name Type Description _leaf uint256 The value to queue. _level uint256 The level at which to queue _leaf. _maxDepth uint256 The depth of the tree.","s":"queueSubRoot","u":"/docs/solidity-docs/trees/AccQueue","h":"#queuesubroot","p":2082},{"i":2163,"t":"function merge(uint256 _depth) public returns (uint256 root) Merge all subtrees to form a main tree with a desired depth. Parameters​ Name Type Description _depth uint256 The depth of the main tree. It must fit all the leaves or this function will revert. Return Values​ Name Type Description root uint256 The root of the main tree.","s":"merge","u":"/docs/solidity-docs/trees/AccQueue","h":"#merge","p":2082},{"i":2165,"t":"function getSubRoot(uint256 _index) public view returns (uint256 subRoot) Returns the subroot at the specified index. Reverts if the index refers to a subtree which has not been filled yet. Parameters​ Name Type Description _index uint256 The subroot index. Return Values​ Name Type Description subRoot uint256 The subroot at the specified index.","s":"getSubRoot","u":"/docs/solidity-docs/trees/AccQueue","h":"#getsubroot","p":2082},{"i":2167,"t":"function getSmallSRTroot() public view returns (uint256 smallSubTreeRoot) Returns the subroot tree (SRT) root. Its value must first be computed using mergeSubRoots. Return Values​ Name Type Description smallSubTreeRoot uint256 The SRT root.","s":"getSmallSRTroot","u":"/docs/solidity-docs/trees/AccQueue","h":"#getsmallsrtroot","p":2082},{"i":2169,"t":"function getMainRoot(uint256 _depth) public view returns (uint256 mainRoot) Return the merged Merkle root of all the leaves at a desired depth. _merge() or merged(depth) must be called first. Parameters​ Name Type Description _depth uint256 The depth of the main tree. It must first be computed using mergeSubRoots() and merge(). Return Values​ Name Type Description mainRoot uint256 The root of the main tree.","s":"getMainRoot","u":"/docs/solidity-docs/trees/AccQueue","h":"#getmainroot","p":2082},{"i":2171,"t":"function getSrIndices() public view returns (uint256 next, uint256 current) Get the next subroot index and the current subtree index.","s":"getSrIndices","u":"/docs/solidity-docs/trees/AccQueue","h":"#getsrindices","p":2082},{"i":2173,"t":"This contract defines a Merkle tree where each leaf insertion only updates a subtree. To obtain the main tree root, the contract owner must merge the subtrees together. Merging subtrees requires at least 2 operations: mergeSubRoots(), and merge(). To get around the gas limit, the mergeSubRoots() can be performed in multiple transactions. This contract is for a binary tree (2 leaves per node)","s":"AccQueueBinary","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"","p":2172},{"i":2175,"t":"constructor(uint256 _subDepth) internal Create a new AccQueueBinary","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"#constructor","p":2172},{"i":2177,"t":"function hashLevel(uint256 _level, uint256 _leaf) internal returns (uint256 hashed) Hash the contents of the specified level and the specified leaf. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description hashed uint256 The hash of the level and leaf.","s":"hashLevel","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"#hashlevel","p":2172},{"i":2179,"t":"function hashLevelLeaf(uint256 _level, uint256 _leaf) public view returns (uint256 hashed) Hash the contents of the specified level and the specified leaf.","s":"hashLevelLeaf","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"#hashlevelleaf","p":2172},{"i":2181,"t":"function _fill(uint256 _level) internal An internal function which fills a subtree. Parameters​ Name Type Description _level uint256 The level at which to fill the subtree.","s":"_fill","u":"/docs/solidity-docs/trees/AccQueueBinary","h":"#_fill","p":2172},{"i":2183,"t":"This contract extends AccQueueBinary and MerkleBinary0 This contract is used for creating a Merkle tree with binary (2 leaves per node) structure","s":"AccQueueBinary0","u":"/docs/solidity-docs/trees/AccQueueBinary0","h":"","p":2182},{"i":2185,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueBinary0 contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueBinary0","h":"#constructor","p":2182},{"i":2187,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf Return Values​ Name Type Description zero uint256 The zero leaf at the specified level","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueBinary0","h":"#getzero","p":2182},{"i":2189,"t":"This contract extends AccQueueBinary and MerkleBinaryMaci This contract is used for creating a Merkle tree with binary (2 leaves per node) structure","s":"AccQueueBinaryMaci","u":"/docs/solidity-docs/trees/AccQueueBinaryMaci","h":"","p":2188},{"i":2191,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueBinaryMaci contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueBinaryMaci","h":"#constructor","p":2188},{"i":2193,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueBinaryMaci","h":"#getzero","p":2188},{"i":2195,"t":"This contract defines a Merkle tree where each leaf insertion only updates a subtree. To obtain the main tree root, the contract owner must merge the subtrees together. Merging subtrees requires at least 2 operations: mergeSubRoots(), and merge(). To get around the gas limit, the mergeSubRoots() can be performed in multiple transactions. This contract is for a quinary tree (5 leaves per node)","s":"AccQueueQuinary","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"","p":2194},{"i":2197,"t":"constructor(uint256 _subDepth) internal Create a new AccQueueQuinary instance","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"#constructor","p":2194},{"i":2199,"t":"function hashLevel(uint256 _level, uint256 _leaf) internal returns (uint256 hashed) Hash the contents of the specified level and the specified leaf. it also frees up storage slots to refund gas. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description hashed uint256 The hash of the level and leaf.","s":"hashLevel","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"#hashlevel","p":2194},{"i":2201,"t":"function hashLevelLeaf(uint256 _level, uint256 _leaf) public view returns (uint256 hashed) Hash the contents of the specified level and the specified leaf. Parameters​ Name Type Description _level uint256 The level to hash. _leaf uint256 The leaf include with the level. Return Values​ Name Type Description hashed uint256 The hash of the level and leaf.","s":"hashLevelLeaf","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"#hashlevelleaf","p":2194},{"i":2203,"t":"function _fill(uint256 _level) internal An internal function which fills a subtree Parameters​ Name Type Description _level uint256 The level at which to fill the subtree","s":"_fill","u":"/docs/solidity-docs/trees/AccQueueQuinary","h":"#_fill","p":2194},{"i":2205,"t":"This contract extends AccQueueQuinary and MerkleQuinary0 This contract is used for creating a Merkle tree with quinary (5 leaves per node) structure","s":"AccQueueQuinary0","u":"/docs/solidity-docs/trees/AccQueueQuinary0","h":"","p":2204},{"i":2207,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueQuinary0 contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueQuinary0","h":"#constructor","p":2204},{"i":2209,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf Return Values​ Name Type Description zero uint256 The zero leaf at the specified level","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueQuinary0","h":"#getzero","p":2204},{"i":2211,"t":"This contract extends AccQueueQuinary and MerkleQuinaryBlankSl This contract is used for creating a Merkle tree with quinary (5 leaves per node) structure","s":"AccQueueQuinaryBlankSl","u":"/docs/solidity-docs/trees/AccQueueQuinaryBlankSl","h":"","p":2210},{"i":2213,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueQuinaryBlankSl contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueQuinaryBlankSl","h":"#constructor","p":2210},{"i":2215,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf Return Values​ Name Type Description zero uint256 The zero leaf at the specified level","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueQuinaryBlankSl","h":"#getzero","p":2210},{"i":2217,"t":"This contract extends AccQueueQuinary and MerkleQuinaryMaci This contract is used for creating a Merkle tree with quinary (5 leaves per node) structure","s":"AccQueueQuinaryMaci","u":"/docs/solidity-docs/trees/AccQueueQuinaryMaci","h":"","p":2216},{"i":2219,"t":"constructor(uint256 _subDepth) public Constructor for creating AccQueueQuinaryMaci contract Parameters​ Name Type Description _subDepth uint256 The depth of each subtree","s":"constructor","u":"/docs/solidity-docs/trees/AccQueueQuinaryMaci","h":"#constructor","p":2216},{"i":2221,"t":"function getZero(uint256 _level) internal view returns (uint256 zero) Returns the zero leaf at a specified level Parameters​ Name Type Description _level uint256 The level at which to return the zero leaf Return Values​ Name Type Description zero uint256 The zero leaf at the specified level","s":"getZero","u":"/docs/solidity-docs/trees/AccQueueQuinaryMaci","h":"#getzero","p":2216},{"i":2224,"t":"uint256[5] emptyBallotRoots","s":"emptyBallotRoots","u":"/docs/solidity-docs/trees/EmptyBallotRoots","h":"#emptyballotroots-1","p":2222},{"i":2226,"t":"constructor() internal","s":"constructor","u":"/docs/solidity-docs/trees/EmptyBallotRoots","h":"#constructor","p":2222},{"i":2228,"t":"An utility contract that can be used to: hash a state leaf pad and hash a MACI message hash a MACI message and an encryption public key","s":"Utilities","u":"/docs/solidity-docs/utilities/","h":"","p":2227},{"i":2230,"t":"error InvalidMessage() custom errors","s":"InvalidMessage","u":"/docs/solidity-docs/utilities/","h":"#invalidmessage","p":2227},{"i":2232,"t":"function hashStateLeaf(struct DomainObjs.StateLeaf _stateLeaf) public pure returns (uint256 ciphertext) An utility function used to hash a state leaf Parameters​ Name Type Description _stateLeaf struct DomainObjs.StateLeaf the state leaf to be hashed Return Values​ Name Type Description ciphertext uint256 The hash of the state leaf","s":"hashStateLeaf","u":"/docs/solidity-docs/utilities/","h":"#hashstateleaf","p":2227},{"i":2234,"t":"function padAndHashMessage(uint256[2] dataToPad, uint256 msgType) public pure returns (struct DomainObjs.Message message, struct DomainObjs.PubKey padKey, uint256 msgHash) An utility function used to pad and hash a MACI message Parameters​ Name Type Description dataToPad uint256[2] the data to be padded msgType uint256 the type of the message Return Values​ Name Type Description message struct DomainObjs.Message The padded message padKey struct DomainObjs.PubKey The padding public key msgHash uint256 The hash of the padded message and encryption key","s":"padAndHashMessage","u":"/docs/solidity-docs/utilities/","h":"#padandhashmessage","p":2227},{"i":2236,"t":"function hashMessageAndEncPubKey(struct DomainObjs.Message _message, struct DomainObjs.PubKey _encPubKey) public pure returns (uint256 msgHash) An utility function used to hash a MACI message and an encryption public key Parameters​ Name Type Description _message struct DomainObjs.Message the message to be hashed _encPubKey struct DomainObjs.PubKey the encryption public key to be hashed Return Values​ Name Type Description msgHash uint256 The hash of the message and the encryption public key","s":"hashMessageAndEncPubKey","u":"/docs/solidity-docs/utilities/","h":"#hashmessageandencpubkey","p":2227},{"i":2238,"t":"A contract that holds common utilities which are to be used by multiple contracts namely Subsidy, Tally and MessageProcessor","s":"CommonUtilities","u":"/docs/solidity-docs/utilities/CommonUtilities","h":"","p":2237},{"i":2240,"t":"error VotingPeriodNotPassed()","s":"VotingPeriodNotPassed","u":"/docs/solidity-docs/utilities/CommonUtilities","h":"#votingperiodnotpassed","p":2237},{"i":2242,"t":"function _votingPeriodOver(contract Poll _poll) internal view common function for MessageProcessor, Tally and Subsidy Parameters​ Name Type Description _poll contract Poll the poll to be checked","s":"_votingPeriodOver","u":"/docs/solidity-docs/utilities/CommonUtilities","h":"#_votingperiodover","p":2237},{"i":2244,"t":"An utility contract that holds a number of domain objects and functions","s":"DomainObjs","u":"/docs/solidity-docs/utilities/DomainObjs","h":"","p":2243},{"i":2246,"t":"uint8 MESSAGE_DATA_LENGTH the length of a MACI message","s":"MESSAGE_DATA_LENGTH","u":"/docs/solidity-docs/utilities/DomainObjs","h":"#message_data_length","p":2243},{"i":2248,"t":"struct Message { uint256 msgType; uint256[10] data; }","s":"Message","u":"/docs/solidity-docs/utilities/DomainObjs","h":"#message","p":2243},{"i":2250,"t":"struct PubKey { uint256 x; uint256 y; }","s":"PubKey","u":"/docs/solidity-docs/utilities/DomainObjs","h":"#pubkey","p":2243},{"i":2252,"t":"struct StateLeaf { struct DomainObjs.PubKey pubKey; uint256 voiceCreditBalance; uint256 timestamp; }","s":"StateLeaf","u":"/docs/solidity-docs/utilities/DomainObjs","h":"#stateleaf","p":2243},{"i":2254,"t":"This contracts contains a number of structures which are to be passed as parameters to Poll contracts. This way we can reduce the number of parameters and avoid a stack too deep error during compilation.","s":"Params","u":"/docs/solidity-docs/utilities/Params","h":"","p":2253},{"i":2256,"t":"struct TreeDepths { uint8 intStateTreeDepth; uint8 messageTreeSubDepth; uint8 messageTreeDepth; uint8 voteOptionTreeDepth; }","s":"TreeDepths","u":"/docs/solidity-docs/utilities/Params","h":"#treedepths","p":2253},{"i":2258,"t":"struct BatchSizes { uint24 messageBatchSize; uint24 tallyBatchSize; uint24 subsidyBatchSize; }","s":"BatchSizes","u":"/docs/solidity-docs/utilities/Params","h":"#batchsizes","p":2253},{"i":2260,"t":"struct MaxValues { uint256 maxMessages; uint256 maxVoteOptions; }","s":"MaxValues","u":"/docs/solidity-docs/utilities/Params","h":"#maxvalues","p":2253},{"i":2262,"t":"struct ExtContracts { contract IMACI maci; contract AccQueue messageAq; contract TopupCredit topupCredit; }","s":"ExtContracts","u":"/docs/solidity-docs/utilities/Params","h":"#extcontracts","p":2253},{"i":2264,"t":"Stores verifying keys for the circuits. Each circuit has a signature which is its compile-time constants represented as a uint256.","s":"VkRegistry","u":"/docs/solidity-docs/VkRegistry","h":"","p":2263},{"i":2266,"t":"mapping(uint256 => struct SnarkCommon.VerifyingKey) processVks","s":"processVks","u":"/docs/solidity-docs/VkRegistry","h":"#processvks","p":2263},{"i":2268,"t":"mapping(uint256 => bool) processVkSet","s":"processVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#processvkset","p":2263},{"i":2270,"t":"mapping(uint256 => struct SnarkCommon.VerifyingKey) tallyVks","s":"tallyVks","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvks","p":2263},{"i":2272,"t":"mapping(uint256 => bool) tallyVkSet","s":"tallyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvkset","p":2263},{"i":2274,"t":"mapping(uint256 => struct SnarkCommon.VerifyingKey) subsidyVks","s":"subsidyVks","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvks","p":2263},{"i":2276,"t":"mapping(uint256 => bool) subsidyVkSet","s":"subsidyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvkset","p":2263},{"i":2278,"t":"event ProcessVkSet(uint256 _sig)","s":"ProcessVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#processvkset-1","p":2263},{"i":2280,"t":"event TallyVkSet(uint256 _sig)","s":"TallyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvkset-1","p":2263},{"i":2282,"t":"event SubsidyVkSet(uint256 _sig)","s":"SubsidyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvkset-1","p":2263},{"i":2284,"t":"error ProcessVkAlreadySet()","s":"ProcessVkAlreadySet","u":"/docs/solidity-docs/VkRegistry","h":"#processvkalreadyset","p":2263},{"i":2286,"t":"error TallyVkAlreadySet()","s":"TallyVkAlreadySet","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvkalreadyset","p":2263},{"i":2288,"t":"error SubsidyVkAlreadySet()","s":"SubsidyVkAlreadySet","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvkalreadyset","p":2263},{"i":2290,"t":"error ProcessVkNotSet()","s":"ProcessVkNotSet","u":"/docs/solidity-docs/VkRegistry","h":"#processvknotset","p":2263},{"i":2292,"t":"error TallyVkNotSet()","s":"TallyVkNotSet","u":"/docs/solidity-docs/VkRegistry","h":"#tallyvknotset","p":2263},{"i":2294,"t":"error SubsidyVkNotSet()","s":"SubsidyVkNotSet","u":"/docs/solidity-docs/VkRegistry","h":"#subsidyvknotset","p":2263},{"i":2296,"t":"constructor() public payable Create a new instance of the VkRegistry contract","s":"constructor","u":"/docs/solidity-docs/VkRegistry","h":"#constructor","p":2263},{"i":2298,"t":"function isProcessVkSet(uint256 _sig) public view returns (bool isSet) Check if the process verifying key is set Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"isProcessVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#isprocessvkset","p":2263},{"i":2300,"t":"function isTallyVkSet(uint256 _sig) public view returns (bool isSet) Check if the tally verifying key is set Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"isTallyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#istallyvkset","p":2263},{"i":2302,"t":"function isSubsidyVkSet(uint256 _sig) public view returns (bool isSet) Check if the subsidy verifying key is set Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"isSubsidyVkSet","u":"/docs/solidity-docs/VkRegistry","h":"#issubsidyvkset","p":2263},{"i":2304,"t":"function genProcessVkSig(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) public pure returns (uint256 sig) generate the signature for the process verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _messageTreeDepth uint256 The message tree depth _voteOptionTreeDepth uint256 The vote option tree depth _messageBatchSize uint256 The message batch size","s":"genProcessVkSig","u":"/docs/solidity-docs/VkRegistry","h":"#genprocessvksig","p":2263},{"i":2306,"t":"function genTallyVkSig(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public pure returns (uint256 sig) generate the signature for the tally verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description sig uint256 The signature","s":"genTallyVkSig","u":"/docs/solidity-docs/VkRegistry","h":"#gentallyvksig","p":2263},{"i":2308,"t":"function genSubsidyVkSig(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public pure returns (uint256 sig) generate the signature for the subsidy verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description sig uint256 The signature","s":"genSubsidyVkSig","u":"/docs/solidity-docs/VkRegistry","h":"#gensubsidyvksig","p":2263},{"i":2310,"t":"function setVerifyingKeys(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize, struct SnarkCommon.VerifyingKey _processVk, struct SnarkCommon.VerifyingKey _tallyVk) public Set the process and tally verifying keys for a certain combination of parameters Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _messageTreeDepth uint256 The message tree depth _voteOptionTreeDepth uint256 The vote option tree depth _messageBatchSize uint256 The message batch size _processVk struct SnarkCommon.VerifyingKey The process verifying key _tallyVk struct SnarkCommon.VerifyingKey The tally verifying key","s":"setVerifyingKeys","u":"/docs/solidity-docs/VkRegistry","h":"#setverifyingkeys","p":2263},{"i":2312,"t":"function setSubsidyKeys(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth, struct SnarkCommon.VerifyingKey _subsidyVk) public Set the process verifying key for a certain combination of parameters Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth _subsidyVk struct SnarkCommon.VerifyingKey The verifying key","s":"setSubsidyKeys","u":"/docs/solidity-docs/VkRegistry","h":"#setsubsidykeys","p":2263},{"i":2314,"t":"function hasProcessVk(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) public view returns (bool isSet) Check if the process verifying key is set Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _messageTreeDepth uint256 The message tree depth _voteOptionTreeDepth uint256 The vote option tree depth _messageBatchSize uint256 The message batch size Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"hasProcessVk","u":"/docs/solidity-docs/VkRegistry","h":"#hasprocessvk","p":2263},{"i":2316,"t":"function getProcessVkBySig(uint256 _sig) public view returns (struct SnarkCommon.VerifyingKey vk) Get the process verifying key by signature Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getProcessVkBySig","u":"/docs/solidity-docs/VkRegistry","h":"#getprocessvkbysig","p":2263},{"i":2318,"t":"function getProcessVk(uint256 _stateTreeDepth, uint256 _messageTreeDepth, uint256 _voteOptionTreeDepth, uint256 _messageBatchSize) public view returns (struct SnarkCommon.VerifyingKey vk) Get the process verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _messageTreeDepth uint256 The message tree depth _voteOptionTreeDepth uint256 The vote option tree depth _messageBatchSize uint256 The message batch size Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getProcessVk","u":"/docs/solidity-docs/VkRegistry","h":"#getprocessvk","p":2263},{"i":2320,"t":"function hasTallyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public view returns (bool isSet) Check if the tally verifying key is set Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"hasTallyVk","u":"/docs/solidity-docs/VkRegistry","h":"#hastallyvk","p":2263},{"i":2322,"t":"function getTallyVkBySig(uint256 _sig) public view returns (struct SnarkCommon.VerifyingKey vk) Get the tally verifying key by signature Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getTallyVkBySig","u":"/docs/solidity-docs/VkRegistry","h":"#gettallyvkbysig","p":2263},{"i":2324,"t":"function getTallyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public view returns (struct SnarkCommon.VerifyingKey vk) Get the tally verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getTallyVk","u":"/docs/solidity-docs/VkRegistry","h":"#gettallyvk","p":2263},{"i":2326,"t":"function hasSubsidyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public view returns (bool isSet) Check if the subsidy verifying key is set Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description isSet bool whether the verifying key is set","s":"hasSubsidyVk","u":"/docs/solidity-docs/VkRegistry","h":"#hassubsidyvk","p":2263},{"i":2328,"t":"function getSubsidyVkBySig(uint256 _sig) public view returns (struct SnarkCommon.VerifyingKey vk) Get the subsidy verifying key by signature Parameters​ Name Type Description _sig uint256 The signature Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getSubsidyVkBySig","u":"/docs/solidity-docs/VkRegistry","h":"#getsubsidyvkbysig","p":2263},{"i":2330,"t":"function getSubsidyVk(uint256 _stateTreeDepth, uint256 _intStateTreeDepth, uint256 _voteOptionTreeDepth) public view returns (struct SnarkCommon.VerifyingKey vk) Get the subsidy verifying key Parameters​ Name Type Description _stateTreeDepth uint256 The state tree depth _intStateTreeDepth uint256 The intermediate state tree depth _voteOptionTreeDepth uint256 The vote option tree depth Return Values​ Name Type Description vk struct SnarkCommon.VerifyingKey The verifying key","s":"getSubsidyVk","u":"/docs/solidity-docs/VkRegistry","h":"#getsubsidyvk","p":2263},{"i":2332,"t":"domainobjs/ts.VoteOptionTreeLeaf Notice An interface representing a MACI vote option leaf","s":"Interface: VoteOptionTreeLeaf","u":"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf","h":"","p":2331},{"i":2335,"t":"votes","s":"Properties","u":"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf","h":"#properties","p":2331},{"i":2338,"t":"• votes: bigint Defined in​ domainobjs/ts/types.ts:25","s":"votes","u":"/docs/typedoc/interfaces/domainobjs_ts.VoteOptionTreeLeaf","h":"#votes","p":2331},{"i":2342,"t":"DeployedContracts PollContracts TallyData","s":"Interfaces","u":"/docs/typedoc/modules/cli_ts","h":"#interfaces","p":2339},{"i":2344,"t":"airdrop checkVerifyingKeys deploy deployPoll deployVkRegistryContract fundWallet genKeyPair genMaciPubKey genProofs mergeMessages mergeSignups proveOnChain publish setVerifyingKeys signup timeTravel topup verify","s":"Functions","u":"/docs/typedoc/modules/cli_ts","h":"#functions","p":2339},{"i":2347,"t":"▸ airdrop(amount, contractAddress?, pollId?, maciAddress?, quiet?): Promise Utility that can be used to get topup credits aidropped to the coordinator Parameters​ Name Type Default value Description amount number undefined the amount of credits to airdrop contractAddress? string undefined the address of the ERC20 contract pollId? number undefined the id of the poll maciAddress? string undefined the address of the MACI contract quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/airdrop.ts:19","s":"airdrop","u":"/docs/typedoc/modules/cli_ts","h":"#airdrop","p":2339},{"i":2349,"t":"▸ checkVerifyingKeys(stateTreeDepth, intStateTreeDepth, messageTreeDepth, voteOptionTreeDepth, messageBatchDepth, processMessagesZkeyPath, tallyVotesZkeyPath, vkRegistry?, subsidyZkeyPath?, quiet?): Promise Command to confirm that the verifying keys in the contract match the local ones Parameters​ Name Type Default value Description stateTreeDepth number undefined the depth of the state tree intStateTreeDepth number undefined the depth of the state subtree messageTreeDepth number undefined the depth of the message tree voteOptionTreeDepth number undefined the depth of the vote option tree messageBatchDepth number undefined the depth of the message batch tree processMessagesZkeyPath string undefined the path to the process messages zkey tallyVotesZkeyPath string undefined the path to the tally votes zkey vkRegistry? string undefined the address of the VkRegistry contract subsidyZkeyPath? string undefined - quiet boolean true whether to log the output Returns​ Promise whether the verifying keys match or not Defined in​ cli/ts/commands/checkVerifyingKeys.ts:35","s":"checkVerifyingKeys","u":"/docs/typedoc/modules/cli_ts","h":"#checkverifyingkeys","p":2339},{"i":2351,"t":"▸ deploy(stateTreeDepth, initialVoiceCredits?, initialVoiceCreditsProxyAddress?, signupGatekeeperAddress?, quiet?): Promise Deploy MACI and related contracts Parameters​ Name Type Default value Description stateTreeDepth number undefined the depth of the state tree initialVoiceCredits? number undefined the initial voice credits to be minted initialVoiceCreditsProxyAddress? string undefined the address of the initialVoiceCreditsProxy contract signupGatekeeperAddress? string undefined the address of the signupGatekeeper contract quiet boolean true whether to log the output Returns​ Promise the addresses of the deployed contracts Defined in​ cli/ts/commands/deploy.ts:24","s":"deploy","u":"/docs/typedoc/modules/cli_ts","h":"#deploy","p":2339},{"i":2353,"t":"▸ deployPoll(pollDuration, maxMessages, maxVoteOptions, intStateTreeDepth, messageTreeSubDepth, messageTreeDepth, voteOptionTreeDepth, coordinatorPubkey, maciAddress?, vkRegistryAddress?, quiet?): Promise Deploy a new Poll for the set of MACI's contracts already deployed Parameters​ Name Type Default value Description pollDuration number undefined the duration of the poll in seconds maxMessages number undefined the maximum number of messages that can be submitted maxVoteOptions number undefined the maximum number of vote options intStateTreeDepth number undefined the depth of the intermediate state tree messageTreeSubDepth number undefined the depth of the message tree sublevels messageTreeDepth number undefined the depth of the message tree voteOptionTreeDepth number undefined the depth of the vote option tree coordinatorPubkey string undefined the coordinator's public key maciAddress? string undefined the MACI contract address vkRegistryAddress? string undefined the vkRegistry contract address quiet boolean true whether to log the output to the console Returns​ Promise the addresses of the deployed contracts Defined in​ cli/ts/commands/deployPoll.ts:34","s":"deployPoll","u":"/docs/typedoc/modules/cli_ts","h":"#deploypoll","p":2339},{"i":2355,"t":"▸ deployVkRegistryContract(quiet?): Promise Deploy the vkRegistry contract Parameters​ Name Type Default value Description quiet boolean true whether to print the contract address Returns​ Promise Defined in​ cli/ts/commands/deployVkRegistry.ts:14","s":"deployVkRegistryContract","u":"/docs/typedoc/modules/cli_ts","h":"#deployvkregistrycontract","p":2339},{"i":2357,"t":"▸ fundWallet(amount, address, quiet?): Promise Fund a new wallet with Ether Parameters​ Name Type Default value Description amount number undefined the amount of Ether to send address string undefined the address of the wallet to fund quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/fundWallet.ts:11","s":"fundWallet","u":"/docs/typedoc/modules/cli_ts","h":"#fundwallet","p":2339},{"i":2359,"t":"▸ genKeyPair(quiet?): Object Generate a new Maci Key Pair and print it to the screen Parameters​ Name Type Default value Description quiet boolean true whether to log the output Returns​ Object Name Type privateKey string publicKey string Defined in​ cli/ts/commands/genKeyPair.ts:11","s":"genKeyPair","u":"/docs/typedoc/modules/cli_ts","h":"#genkeypair","p":2339},{"i":2361,"t":"▸ genMaciPubKey(privkey, quiet?): string Generate a new Maci Public key from a private key Parameters​ Name Type Default value Description privkey string undefined - quiet boolean true whether to log the output Returns​ string the public key serialized Defined in​ cli/ts/commands/genPubKey.ts:13","s":"genMaciPubKey","u":"/docs/typedoc/modules/cli_ts","h":"#genmacipubkey","p":2339},{"i":2363,"t":"▸ genProofs(outputDir, tallyFile, tallyZkey, processZkey, pollId, subsidyFile?, subsidyZkey?, rapidsnark?, processWitgen?, tallyWitgen?, subsidyWitgen?, coordinatorPrivKey?, maciAddress?, transactionHash?, processWasm?, tallyWasm?, subsidyWasm?, useWasm?, stateFile?, startBlock?, blocksPerBatch?, endBlock?, quiet?): Promise Generate proofs for the message processing, tally and subsidy calculations Parameters​ Name Type Default value Description outputDir string undefined the directory to store the proofs tallyFile string undefined the file to store the tally proof tallyZkey string undefined the path to the tally zkey file processZkey string undefined the path to the process zkey file pollId number undefined the id of the poll subsidyFile? string undefined the file to store the subsidy proof subsidyZkey? string undefined the path to the subsidy zkey file rapidsnark? string undefined the path to the rapidsnark binary processWitgen? string undefined the path to the process witnessgen binary tallyWitgen? string undefined the path to the tally witnessgen binary subsidyWitgen? string undefined the path to the subsidy witnessgen binary coordinatorPrivKey? string undefined the coordinator's private key maciAddress? string undefined the address of the MACI contract transactionHash? string undefined the transaction hash of the first transaction processWasm? string undefined the path to the process wasm file tallyWasm? string undefined the path to the tally wasm file subsidyWasm? string undefined the path to the subsidy wasm file useWasm? boolean undefined whether to use wasm or rapidsnark stateFile? string undefined the file with the serialized maci state startBlock? number undefined the block number to start fetching logs from blocksPerBatch? number undefined the number of blocks to fetch logs from endBlock? number undefined the block number to stop fetching logs from quiet boolean true whether to log the output Returns​ Promise the tally data Defined in​ cli/ts/commands/genProofs.ts:63","s":"genProofs","u":"/docs/typedoc/modules/cli_ts","h":"#genproofs","p":2339},{"i":2365,"t":"▸ mergeMessages(pollId, maciContractAddress?, numQueueOps?, quiet?): Promise Merge the message queue on chain Parameters​ Name Type Default value Description pollId number undefined the id of the poll maciContractAddress? string undefined the address of the MACI contract numQueueOps? string undefined the number of queue operations to merge quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/mergeMessages.ts:24","s":"mergeMessages","u":"/docs/typedoc/modules/cli_ts","h":"#mergemessages","p":2339},{"i":2367,"t":"▸ mergeSignups(pollId, maciContractAddress?, numQueueOps?, quiet?): Promise Command to merge the signups of a MACI contract Parameters​ Name Type Default value Description pollId number undefined the id of the poll maciContractAddress? string undefined the address of the MACI contract numQueueOps? string undefined the number of queue operations to perform quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/mergeSignups.ts:24","s":"mergeSignups","u":"/docs/typedoc/modules/cli_ts","h":"#mergesignups","p":2339},{"i":2369,"t":"▸ proveOnChain(pollId, proofDir, maciAddress?, messageProcessorAddress?, tallyAddress?, subsidyAddress?, quiet?): Promise Command to prove the result of a poll on-chain Parameters​ Name Type Default value Description pollId string undefined the id of the poll proofDir string undefined the directory containing the proofs maciAddress? string undefined the address of the MACI contract messageProcessorAddress? string undefined the address of the MessageProcessor contract tallyAddress? string undefined the address of the Tally contract subsidyAddress? string undefined the address of the Subsidy contract quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/proveOnChain.ts:48","s":"proveOnChain","u":"/docs/typedoc/modules/cli_ts","h":"#proveonchain","p":2339},{"i":2371,"t":"▸ publish(pubkey, stateIndex, voteOptionIndex, nonce, pollId, newVoteWeight, maciContractAddress?, salt?, privateKey?, quiet?): Promise Publish a new message to a MACI Poll contract Parameters​ Name Type Default value Description pubkey string undefined the public key of the user stateIndex number undefined the index of the state leaf voteOptionIndex number undefined the index of the vote option nonce number undefined the nonce of the message pollId number undefined the id of the poll newVoteWeight number undefined the new vote weight maciContractAddress? string undefined the address of the MACI contract salt? string undefined the salt of the message privateKey? string undefined the private key of the user quiet boolean true whether to log the output Returns​ Promise the ephemeral private key used to encrypt the message Defined in​ cli/ts/commands/publish.ts:27","s":"publish","u":"/docs/typedoc/modules/cli_ts","h":"#publish","p":2339},{"i":2373,"t":"▸ setVerifyingKeys(stateTreeDepth, intStateTreeDepth, messageTreeDepth, voteOptionTreeDepth, messageBatchDepth, processMessagesZkeyPath, tallyVotesZkeyPath, vkRegistry?, subsidyZkeyPath?, quiet?): Promise Function that sets the verifying keys in the VkRegistry contract Parameters​ Name Type Default value Description stateTreeDepth number undefined the depth of the state tree intStateTreeDepth number undefined the depth of the state subtree messageTreeDepth number undefined the depth of the message tree voteOptionTreeDepth number undefined the depth of the vote option tree messageBatchDepth number undefined the depth of the message batch tree processMessagesZkeyPath string undefined the path to the process messages zkey tallyVotesZkeyPath string undefined the path to the tally votes zkey vkRegistry? string undefined the address of the vkRegistry contract subsidyZkeyPath? string undefined the path to the subsidy zkey quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/setVerifyingKeys.ts:28","s":"setVerifyingKeys","u":"/docs/typedoc/modules/cli_ts","h":"#setverifyingkeys","p":2339},{"i":2375,"t":"▸ signup(maciPubKey, maciAddress?, sgDataArg?, ivcpDataArg?, quiet?): Promise Signup a user to the MACI contract Parameters​ Name Type Default value Description maciPubKey string undefined the public key of the user maciAddress? string undefined the address of the MACI contract sgDataArg? string undefined the signup gateway data ivcpDataArg? string undefined the initial voice credit proxy data quiet boolean true whether to log the output Returns​ Promise the state index of the user Defined in​ cli/ts/commands/signup.ts:20","s":"signup","u":"/docs/typedoc/modules/cli_ts","h":"#signup","p":2339},{"i":2377,"t":"▸ timeTravel(seconds, quiet?): Promise Utility to travel in time when using a local blockchain Parameters​ Name Type Default value Description seconds number undefined the number of seconds to travel in time quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/timeTravel.ts:13","s":"timeTravel","u":"/docs/typedoc/modules/cli_ts","h":"#timetravel","p":2339},{"i":2379,"t":"▸ topup(amount, stateIndex, pollId, maciAddress?, quiet?): Promise Publish a topup message Parameters​ Name Type Default value Description amount number undefined the amount to topup stateIndex number undefined the state index of the user pollId number undefined the poll ID maciAddress? string undefined the address of the MACI contract quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/topup.ts:17","s":"topup","u":"/docs/typedoc/modules/cli_ts","h":"#topup","p":2339},{"i":2381,"t":"▸ verify(pollId, tallyFile?, tallyData?, maciAddress?, tallyAddress?, subsidyAddress?, subsidyFile?, quiet?): Promise Verify the results of a poll and optionally the subsidy results Parameters​ Name Type Default value Description pollId string undefined the id of the poll tallyFile? string undefined the path to the tally file tallyData? TallyData undefined - maciAddress? string undefined the address of the MACI contract tallyAddress? string undefined the address of the Tally contract subsidyAddress? string undefined the address of the Subsidy contract subsidyFile? string undefined the path to the subsidy file quiet boolean true whether to log the output Returns​ Promise Defined in​ cli/ts/commands/verify.ts:22","s":"verify","u":"/docs/typedoc/modules/cli_ts","h":"#verify","p":2339},{"i":2385,"t":"MaciState Poll","s":"Classes","u":"/docs/typedoc/modules/core_ts","h":"#classes","p":2382},{"i":2387,"t":"BatchSizes IJsonMaciState IProcessMessagesCircuitInputs ISubsidyCircuitInputs ITallyCircuitInputs MaxValues TreeDepths","s":"Interfaces","u":"/docs/typedoc/modules/core_ts","h":"#interfaces","p":2382},{"i":2389,"t":"CircuitInputs","s":"Type Aliases","u":"/docs/typedoc/modules/core_ts","h":"#type-aliases","p":2382},{"i":2391,"t":"STATE_TREE_ARITY","s":"Variables","u":"/docs/typedoc/modules/core_ts","h":"#variables","p":2382},{"i":2393,"t":"genProcessVkSig genSubsidyVkSig genTallyVkSig packProcessMessageSmallVals packSubsidySmallVals packTallyVotesSmallVals unpackProcessMessageSmallVals unpackTallyVotesSmallVals","s":"Functions","u":"/docs/typedoc/modules/core_ts","h":"#functions","p":2382},{"i":2396,"t":"Ƭ CircuitInputs: Record A circuit inputs for the circom circuit Defined in​ core/ts/utils/types.ts:22","s":"CircuitInputs","u":"/docs/typedoc/modules/core_ts","h":"#circuitinputs","p":2382},{"i":2399,"t":"• Const STATE_TREE_ARITY: 5 Defined in​ core/ts/utils/constants.ts:2","s":"STATE_TREE_ARITY","u":"/docs/typedoc/modules/core_ts","h":"#state_tree_arity","p":2382},{"i":2402,"t":"▸ genProcessVkSig(stateTreeDepth, messageTreeDepth, voteOptionTreeDepth, batchSize): bigint This function generates the signature of a ProcessMessage Verifying Key(VK). This can be used to check if a ProcessMessages' circuit VK is registered in a smart contract that holds several VKs. Parameters​ Name Type Description stateTreeDepth number The depth of the state tree. messageTreeDepth number The depth of the message tree. voteOptionTreeDepth number The depth of the vote option tree. batchSize number The size of the batch. Returns​ bigint Returns a signature for querying if a verifying key with the given parameters is already registered in the contract. Defined in​ core/ts/utils/utils.ts:14","s":"genProcessVkSig","u":"/docs/typedoc/modules/core_ts","h":"#genprocessvksig","p":2382},{"i":2404,"t":"▸ genSubsidyVkSig(_stateTreeDepth, _intStateTreeDepth, _voteOptionTreeDepth): bigint This function generates the signature of a Subsidy Verifying Key(VK). This can be used to check if a SubsidyCalculations' circuit VK is registered in a smart contract that holds several VKs. Parameters​ Name Type Description _stateTreeDepth number The depth of the state tree. _intStateTreeDepth number The depth of the intermediate state tree. _voteOptionTreeDepth number The depth of the vote option tree. Returns​ bigint Returns a signature for querying if a verifying key with the given parameters is already registered in the contract. Defined in​ core/ts/utils/utils.ts:51","s":"genSubsidyVkSig","u":"/docs/typedoc/modules/core_ts","h":"#gensubsidyvksig","p":2382},{"i":2406,"t":"▸ genTallyVkSig(_stateTreeDepth, _intStateTreeDepth, _voteOptionTreeDepth): bigint This function generates the signature of a Tally Verifying Key(VK). This can be used to check if a TallyVotes' circuit VK is registered in a smart contract that holds several VKs. Parameters​ Name Type Description _stateTreeDepth number The depth of the state tree. _intStateTreeDepth number The depth of the intermediate state tree. _voteOptionTreeDepth number The depth of the vote option tree. Returns​ bigint Returns a signature for querying if a verifying key with the given parameters is already registered in the contract. Defined in​ core/ts/utils/utils.ts:35","s":"genTallyVkSig","u":"/docs/typedoc/modules/core_ts","h":"#gentallyvksig","p":2382},{"i":2408,"t":"▸ packProcessMessageSmallVals(maxVoteOptions, numUsers, batchStartIndex, batchEndIndex): bigint This function packs it's parameters into a single bigint. Parameters​ Name Type Description maxVoteOptions bigint The maximum number of vote options. numUsers bigint The number of users. batchStartIndex number The start index of the batch. batchEndIndex number The end index of the batch. Returns​ bigint Returns a single bigint that contains the packed values. Defined in​ core/ts/utils/utils.ts:65","s":"packProcessMessageSmallVals","u":"/docs/typedoc/modules/core_ts","h":"#packprocessmessagesmallvals","p":2382},{"i":2410,"t":"▸ packSubsidySmallVals(row, col, numSignUps): bigint This function packs it's parameters into a single bigint. Parameters​ Name Type Description row number The row. col number The column. numSignUps number The number of signups. Returns​ bigint Returns a single bigint that contains the packed values. Defined in​ core/ts/utils/utils.ts:150","s":"packSubsidySmallVals","u":"/docs/typedoc/modules/core_ts","h":"#packsubsidysmallvals","p":2382},{"i":2412,"t":"▸ packTallyVotesSmallVals(batchStartIndex, batchSize, numSignUps): bigint This function packs it's parameters into a single bigint. Parameters​ Name Type Description batchStartIndex number The start index of the batch. batchSize number The size of the batch. numSignUps number The number of signups. Returns​ bigint Returns a single bigint that contains the packed values. Defined in​ core/ts/utils/utils.ts:119","s":"packTallyVotesSmallVals","u":"/docs/typedoc/modules/core_ts","h":"#packtallyvotessmallvals","p":2382},{"i":2414,"t":"▸ unpackProcessMessageSmallVals(packedVals): Object This function unpacks partial values for the ProcessMessages circuit from a single bigint. Parameters​ Name Type Description packedVals bigint The single bigint that contains the packed values. Returns​ Object Returns an object that contains the unpacked values. Name Type batchEndIndex bigint batchStartIndex bigint maxVoteOptions bigint numUsers bigint Defined in​ core/ts/utils/utils.ts:86","s":"unpackProcessMessageSmallVals","u":"/docs/typedoc/modules/core_ts","h":"#unpackprocessmessagesmallvals","p":2382},{"i":2416,"t":"▸ unpackTallyVotesSmallVals(packedVals): Object This function unpacks partial values for the TallyVotes circuit from a single bigint. Parameters​ Name Type Description packedVals bigint The single bigint that contains the packed values. Returns​ Object Returns an object that contains the unpacked values. Name Type batchStartIndex bigint numSignUps bigint Defined in​ core/ts/utils/utils.ts:131","s":"unpackTallyVotesSmallVals","u":"/docs/typedoc/modules/core_ts","h":"#unpacktallyvotessmallvals","p":2382},{"i":2420,"t":"AccQueue G1Point G2Point IncrementalQuinTree","s":"Classes","u":"/docs/typedoc/modules/crypto_ts","h":"#classes","p":2417},{"i":2422,"t":"Keypair PoseidonFuncs Queue Signature","s":"Interfaces","u":"/docs/typedoc/modules/crypto_ts","h":"#interfaces","p":2417},{"i":2424,"t":"Ciphertext EcdhSharedKey Leaf PathElements Plaintext Point PrivKey PubKey","s":"Type Aliases","u":"/docs/typedoc/modules/crypto_ts","h":"#type-aliases","p":2417},{"i":2426,"t":"NOTHING_UP_MY_SLEEVE SNARK_FIELD_SIZE","s":"Variables","u":"/docs/typedoc/modules/crypto_ts","h":"#variables","p":2417},{"i":2428,"t":"bigInt2Buffer calcDepthFromNumLeaves deepCopyBigIntArray formatPrivKeyForBabyJub genEcdhSharedKey genKeypair genPrivKey genPubKey genRandomBabyJubValue genRandomSalt genTreeCommitment genTreeProof hash13 hash2 hash3 hash4 hash5 hashLeftRight hashN hashOne packPubKey poseidonDecrypt poseidonEncrypt sha256Hash sign stringifyBigInts unpackPubKey unstringifyBigInts verifySignature","s":"Functions","u":"/docs/typedoc/modules/crypto_ts","h":"#functions","p":2417},{"i":2431,"t":"Ƭ Ciphertext: N[] Type parameters​ Name Type N bigint Defined in​ crypto/ts/types.ts:21","s":"Ciphertext","u":"/docs/typedoc/modules/crypto_ts","h":"#ciphertext","p":2417},{"i":2433,"t":"Ƭ EcdhSharedKey: [N, N] Type parameters​ Name Type N bigint Defined in​ crypto/ts/types.ts:12","s":"EcdhSharedKey","u":"/docs/typedoc/modules/crypto_ts","h":"#ecdhsharedkey","p":2417},{"i":2435,"t":"Ƭ Leaf: bigint Defined in​ crypto/ts/types.ts:61","s":"Leaf","u":"/docs/typedoc/modules/crypto_ts","h":"#leaf","p":2417},{"i":2437,"t":"Ƭ PathElements: bigint[][] Defined in​ crypto/ts/@types/optimisedmt.d.ts:3","s":"PathElements","u":"/docs/typedoc/modules/crypto_ts","h":"#pathelements","p":2417},{"i":2439,"t":"Ƭ Plaintext: N[] Type parameters​ Name Type N bigint Defined in​ crypto/ts/types.ts:18","s":"Plaintext","u":"/docs/typedoc/modules/crypto_ts","h":"#plaintext","p":2417},{"i":2441,"t":"Ƭ Point: [N, N] Type parameters​ Name Type N SnarkBigNumber Defined in​ crypto/ts/types.ts:15","s":"Point","u":"/docs/typedoc/modules/crypto_ts","h":"#point","p":2417},{"i":2443,"t":"Ƭ PrivKey: SnarkBigNumber Defined in​ crypto/ts/types.ts:6","s":"PrivKey","u":"/docs/typedoc/modules/crypto_ts","h":"#privkey","p":2417},{"i":2445,"t":"Ƭ PubKey: [N, N] Type parameters​ Name Type N bigint Defined in​ crypto/ts/types.ts:9","s":"PubKey","u":"/docs/typedoc/modules/crypto_ts","h":"#pubkey","p":2417},{"i":2448,"t":"• Const NOTHING_UP_MY_SLEEVE: bigint Defined in​ crypto/ts/constants.ts:10","s":"NOTHING_UP_MY_SLEEVE","u":"/docs/typedoc/modules/crypto_ts","h":"#nothing_up_my_sleeve","p":2417},{"i":2450,"t":"• Const SNARK_FIELD_SIZE: bigint = r Defined in​ crypto/ts/constants.ts:6","s":"SNARK_FIELD_SIZE","u":"/docs/typedoc/modules/crypto_ts","h":"#snark_field_size","p":2417},{"i":2453,"t":"▸ bigInt2Buffer(i): Buffer Convert a BigInt to a Buffer Parameters​ Name Type Description i bigint the bigint to convert Returns​ Buffer the buffer Defined in​ crypto/ts/bigIntUtils.ts:127","s":"bigInt2Buffer","u":"/docs/typedoc/modules/crypto_ts","h":"#bigint2buffer","p":2417},{"i":2455,"t":"▸ calcDepthFromNumLeaves(hashLength, numLeaves): number Calculate the depth of a tree given the number of leaves Parameters​ Name Type Description hashLength number the hashing function param length numLeaves number how many leaves Returns​ number the depth Defined in​ crypto/ts/utils.ts:11","s":"calcDepthFromNumLeaves","u":"/docs/typedoc/modules/crypto_ts","h":"#calcdepthfromnumleaves","p":2417},{"i":2457,"t":"▸ deepCopyBigIntArray(arr): bigint[] Create a copy of a bigint array Parameters​ Name Type Description arr bigint[] the array of bigints to copy Returns​ bigint[] a deep copy of the array Defined in​ crypto/ts/bigIntUtils.ts:110","s":"deepCopyBigIntArray","u":"/docs/typedoc/modules/crypto_ts","h":"#deepcopybigintarray","p":2417},{"i":2459,"t":"▸ formatPrivKeyForBabyJub(privKey): bigint An internal function which formats a random private key to be compatible with the BabyJub curve. This is the format which should be passed into the PubKey and other circuits. Parameters​ Name Type Description privKey SnarkBigNumber A private key generated using genPrivKey() Returns​ bigint A BabyJub-compatible private key. Defined in​ crypto/ts/keys.ts:29","s":"formatPrivKeyForBabyJub","u":"/docs/typedoc/modules/crypto_ts","h":"#formatprivkeyforbabyjub","p":2417},{"i":2461,"t":"▸ genEcdhSharedKey(privKey, pubKey): EcdhSharedKey Generates an Elliptic-Curve Diffie–Hellman (ECDH) shared key given a private key and a public key. Parameters​ Name Type Description privKey SnarkBigNumber A private key generated using genPrivKey() pubKey PubKey A public key generated using genPubKey() Returns​ EcdhSharedKey The ECDH shared key. Defined in​ crypto/ts/keys.ts:80","s":"genEcdhSharedKey","u":"/docs/typedoc/modules/crypto_ts","h":"#genecdhsharedkey","p":2417},{"i":2463,"t":"▸ genKeypair(): Keypair Generates a keypair. Returns​ Keypair a keypair Defined in​ crypto/ts/keys.ts:64","s":"genKeypair","u":"/docs/typedoc/modules/crypto_ts","h":"#genkeypair","p":2417},{"i":2465,"t":"▸ genPrivKey(): bigint Generate a private key Returns​ bigint A BabyJub-compatible private key. Defined in​ crypto/ts/keys.ts:14","s":"genPrivKey","u":"/docs/typedoc/modules/crypto_ts","h":"#genprivkey","p":2417},{"i":2467,"t":"▸ genPubKey(privKey): PubKey Parameters​ Name Type Description privKey SnarkBigNumber A private key generated using genPrivKey() Returns​ PubKey A public key associated with the private key Defined in​ crypto/ts/keys.ts:52","s":"genPubKey","u":"/docs/typedoc/modules/crypto_ts","h":"#genpubkey","p":2417},{"i":2469,"t":"▸ genRandomBabyJubValue(): bigint Returns a BabyJub-compatible random value. We create it by first generating a random value (initially 256 bits large) modulo the snark field size as described in EIP197. This results in a key size of roughly 253 bits and no more than 254 bits. To prevent modulo bias, we then use this efficient algorithm: http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/lib/libc/crypt/arc4random_uniform.c Returns​ bigint A BabyJub-compatible random value. Defined in​ crypto/ts/babyjub.ts:115","s":"genRandomBabyJubValue","u":"/docs/typedoc/modules/crypto_ts","h":"#genrandombabyjubvalue","p":2417},{"i":2471,"t":"▸ genRandomSalt(): bigint Generate a random value Returns​ bigint A BabyJub-compatible salt. Defined in​ crypto/ts/keys.ts:20","s":"genRandomSalt","u":"/docs/typedoc/modules/crypto_ts","h":"#genrandomsalt","p":2417},{"i":2473,"t":"▸ genTreeCommitment(leaves, salt, depth): bigint A helper function which hashes a list of results with a salt and returns the hash. Parameters​ Name Type Description leaves bigint[] A list of values salt bigint A random salt depth number The tree depth Returns​ bigint The hash of the leaves and the salt, with the salt last Defined in​ crypto/ts/utils.ts:31","s":"genTreeCommitment","u":"/docs/typedoc/modules/crypto_ts","h":"#gentreecommitment","p":2417},{"i":2475,"t":"▸ genTreeProof(index, leaves, depth): bigint[][] A helper function to generate the tree proof for the value at the given index in the leaves Parameters​ Name Type Description index number The index of the value to generate the proof for leaves bigint[] A list of values depth number The tree depth Returns​ bigint[][] The proof Defined in​ crypto/ts/utils.ts:48","s":"genTreeProof","u":"/docs/typedoc/modules/crypto_ts","h":"#gentreeproof","p":2417},{"i":2477,"t":"▸ hash13(elements): bigint A convenience function to use Poseidon to hash a Plaintext with no more than 13 elements Parameters​ Name Type Description elements Plaintext The elements to hash Returns​ bigint The hash of the elements Defined in​ crypto/ts/hashing.ts:130","s":"hash13","u":"/docs/typedoc/modules/crypto_ts","h":"#hash13","p":2417},{"i":2479,"t":"▸ hash2(elements): bigint Parameters​ Name Type elements Plaintext Returns​ bigint Defined in​ crypto/ts/hashing.ts:119","s":"hash2","u":"/docs/typedoc/modules/crypto_ts","h":"#hash2","p":2417},{"i":2481,"t":"▸ hash3(elements): bigint Parameters​ Name Type elements Plaintext Returns​ bigint Defined in​ crypto/ts/hashing.ts:120","s":"hash3","u":"/docs/typedoc/modules/crypto_ts","h":"#hash3","p":2417},{"i":2483,"t":"▸ hash4(elements): bigint Parameters​ Name Type elements Plaintext Returns​ bigint Defined in​ crypto/ts/hashing.ts:121","s":"hash4","u":"/docs/typedoc/modules/crypto_ts","h":"#hash4","p":2417},{"i":2485,"t":"▸ hash5(elements): bigint Parameters​ Name Type elements Plaintext Returns​ bigint Defined in​ crypto/ts/hashing.ts:122","s":"hash5","u":"/docs/typedoc/modules/crypto_ts","h":"#hash5","p":2417},{"i":2487,"t":"▸ hashLeftRight(left, right): bigint Hash two BigInts with the Poseidon hash function Parameters​ Name Type Description left bigint The left-hand element to hash right bigint The right-hand element to hash Returns​ bigint The hash of the two elements Defined in​ crypto/ts/hashing.ts:85","s":"hashLeftRight","u":"/docs/typedoc/modules/crypto_ts","h":"#hashleftright","p":2417},{"i":2489,"t":"▸ hashN(numElements, elements): bigint Hash up to N elements Parameters​ Name Type Description numElements number The number of elements to hash elements Plaintext The elements to hash Returns​ bigint The hash of the elements Defined in​ crypto/ts/hashing.ts:101","s":"hashN","u":"/docs/typedoc/modules/crypto_ts","h":"#hashn","p":2417},{"i":2491,"t":"▸ hashOne(preImage): bigint Hash a single BigInt with the Poseidon hash function Parameters​ Name Type Description preImage bigint The element to hash Returns​ bigint The hash of the element Defined in​ crypto/ts/hashing.ts:160","s":"hashOne","u":"/docs/typedoc/modules/crypto_ts","h":"#hashone","p":2417},{"i":2493,"t":"▸ packPubKey(pubKey): bigint Losslessly reduces the size of the representation of a public key Parameters​ Name Type Description pubKey PubKey The public key to pack Returns​ bigint A packed public key Defined in​ crypto/ts/keys.ts:36","s":"packPubKey","u":"/docs/typedoc/modules/crypto_ts","h":"#packpubkey","p":2417},{"i":2495,"t":"▸ poseidonDecrypt(ciphertext, key, nonce, length): PlainText Decrypt some ciphertext using poseidon encryption Parameters​ Name Type Description ciphertext CipherText the ciphertext to decrypt key EncryptionKey the key to decrypt with nonce bigint the nonce used to encrypt length number the length of the plaintext Returns​ PlainText the plaintext Defined in​ node_modules/.pnpm/@zk-kit+poseidon-cipher@0.1.1/node_modules/@zk-kit/poseidon-cipher/dist/types/poseidonCipher.d.ts:18","s":"poseidonDecrypt","u":"/docs/typedoc/modules/crypto_ts","h":"#poseidondecrypt","p":2417},{"i":2497,"t":"▸ poseidonEncrypt(msg, key, nonce): CipherText Encrypt some plaintext using poseidon encryption Parameters​ Name Type Description msg PlainText the message to encrypt key EncryptionKey the key to encrypt with nonce bigint the nonce to avoid replay attacks Returns​ CipherText the ciphertext Defined in​ node_modules/.pnpm/@zk-kit+poseidon-cipher@0.1.1/node_modules/@zk-kit/poseidon-cipher/dist/types/poseidonCipher.d.ts:9","s":"poseidonEncrypt","u":"/docs/typedoc/modules/crypto_ts","h":"#poseidonencrypt","p":2417},{"i":2499,"t":"▸ sha256Hash(input): bigint Hash an array of uint256 values the same way that the EVM does. Parameters​ Name Type Description input bigint[] the array of values to hash Returns​ bigint a EVM compatible sha256 hash Defined in​ crypto/ts/hashing.ts:15","s":"sha256Hash","u":"/docs/typedoc/modules/crypto_ts","h":"#sha256hash","p":2417},{"i":2501,"t":"▸ sign(privateKey, message): Signature Signs a message using the provided private key, employing Poseidon hashing and EdDSA with the Baby Jubjub elliptic curve. Parameters​ Name Type Description privateKey BigNumberish The private key used to sign the message. message BigNumberish The message to be signed. Returns​ Signature The signature object, containing properties relevant to EdDSA signatures, such as 'R8' and 'S' values. Defined in​ node_modules/.pnpm/@zk-kit+eddsa-poseidon@0.5.1/node_modules/@zk-kit/eddsa-poseidon/dist/types/eddsa-poseidon.d.ts:32","s":"sign","u":"/docs/typedoc/modules/crypto_ts","h":"#sign","p":2417},{"i":2503,"t":"▸ stringifyBigInts(input): StringifiedBigInts Given an input of bigint values, convert them to their string representations Parameters​ Name Type Description input BigIntVariants The input to convert Returns​ StringifiedBigInts The input with bigint values converted to string Defined in​ crypto/ts/bigIntUtils.ts:78","s":"stringifyBigInts","u":"/docs/typedoc/modules/crypto_ts","h":"#stringifybigints","p":2417},{"i":2505,"t":"▸ unpackPubKey(packed): PubKey Restores the original PubKey from its packed representation Parameters​ Name Type Description packed bigint The value to unpack Returns​ PubKey The unpacked public key Defined in​ crypto/ts/keys.ts:43","s":"unpackPubKey","u":"/docs/typedoc/modules/crypto_ts","h":"#unpackpubkey","p":2417},{"i":2507,"t":"▸ unstringifyBigInts(input): BigIntVariants Given an input containing string values, convert them to bigint Parameters​ Name Type Description input StringifiedBigInts The input to convert Returns​ BigIntVariants the input with string values converted to bigint Defined in​ crypto/ts/bigIntUtils.ts:9","s":"unstringifyBigInts","u":"/docs/typedoc/modules/crypto_ts","h":"#unstringifybigints","p":2417},{"i":2509,"t":"▸ verifySignature(message, signature, publicKey): boolean Verifies an EdDSA signature using the Baby Jubjub elliptic curve and Poseidon hash function. Parameters​ Name Type Description message BigNumberish The original message that was be signed. signature Signature The EdDSA signature to be verified. publicKey Point The public key associated with the private key used to sign the message. Returns​ boolean Returns true if the signature is valid and corresponds to the message and public key, false otherwise. Defined in​ node_modules/.pnpm/@zk-kit+eddsa-poseidon@0.5.1/node_modules/@zk-kit/eddsa-poseidon/dist/types/eddsa-poseidon.d.ts:40","s":"verifySignature","u":"/docs/typedoc/modules/crypto_ts","h":"#verifysignature","p":2417},{"i":2513,"t":"Ballot Keypair Message PCommand PrivKey PubKey StateLeaf TCommand VerifyingKey","s":"Classes","u":"/docs/typedoc/modules/domainobjs_ts","h":"#classes","p":2510},{"i":2515,"t":"ICommand IG1ContractParams IG2ContractParams IJsonBallot IJsonCommand IJsonKeyPair IJsonPCommand IJsonStateLeaf IJsonTCommand IMessageContractParams IStateLeaf IStateLeafContractParams IVkContractParams IVkObjectParams Proof VoteOptionTreeLeaf","s":"Interfaces","u":"/docs/typedoc/modules/domainobjs_ts","h":"#interfaces","p":2510},{"i":2517,"t":"IJsonPrivateKey IJsonPublicKey","s":"Type Aliases","u":"/docs/typedoc/modules/domainobjs_ts","h":"#type-aliases","p":2510},{"i":2519,"t":"SERIALIZED_PRIV_KEY_PREFIX SERIALIZED_PUB_KEY_PREFIX blankStateLeaf blankStateLeafHash","s":"Variables","u":"/docs/typedoc/modules/domainobjs_ts","h":"#variables","p":2510},{"i":2522,"t":"Ƭ IJsonPrivateKey: Pick Defined in​ domainobjs/ts/types.ts:33","s":"IJsonPrivateKey","u":"/docs/typedoc/modules/domainobjs_ts","h":"#ijsonprivatekey","p":2510},{"i":2524,"t":"Ƭ IJsonPublicKey: Pick Defined in​ domainobjs/ts/types.ts:35","s":"IJsonPublicKey","u":"/docs/typedoc/modules/domainobjs_ts","h":"#ijsonpublickey","p":2510},{"i":2527,"t":"• Const SERIALIZED_PRIV_KEY_PREFIX: \"macisk.\" Defined in​ domainobjs/ts/privateKey.ts:5","s":"SERIALIZED_PRIV_KEY_PREFIX","u":"/docs/typedoc/modules/domainobjs_ts","h":"#serialized_priv_key_prefix","p":2510},{"i":2529,"t":"• Const SERIALIZED_PUB_KEY_PREFIX: \"macipk.\" Defined in​ domainobjs/ts/publicKey.ts:7","s":"SERIALIZED_PUB_KEY_PREFIX","u":"/docs/typedoc/modules/domainobjs_ts","h":"#serialized_pub_key_prefix","p":2510},{"i":2531,"t":"• Const blankStateLeaf: StateLeaf Defined in​ domainobjs/ts/constants.ts:3","s":"blankStateLeaf","u":"/docs/typedoc/modules/domainobjs_ts","h":"#blankstateleaf","p":2510},{"i":2533,"t":"• Const blankStateLeafHash: bigint Defined in​ domainobjs/ts/constants.ts:4","s":"blankStateLeafHash","u":"/docs/typedoc/modules/domainobjs_ts","h":"#blankstateleafhash","p":2510},{"i":2535,"t":"This document outlines the approach to versioning and releasing the MACI project. The primary goal here is to set clear expectations and provide a consistent user experience for developers integrating MACI and its packages.","s":"MACI versioning and release process","u":"/docs/versioning","h":"","p":2534},{"i":2537,"t":"MACI code consists 3 core parts: Circom circuits, Solidity contracts and JS (TS) libraries, from which we release a total of 7 NPM packages. See the codebase overview for more details.","s":"MACI code","u":"/docs/versioning","h":"#maci-code","p":2534},{"i":2539,"t":"MACI follows the Semantic Versioning Specification (SemVer). All MACI packages are organized in our monorepo and follow a global release approach, meaning that all packages have the same version. Currently, MACI core team manually decides when to release and what the version should be. Packages are released automatically via CI when a new tag is created in GitHub. You can view our releases and tags in GitHub.","s":"MACI versioning","u":"/docs/versioning","h":"#maci-versioning","p":2534},{"i":2541,"t":"To release a new version of MACI, follow these steps: warning Version number '1.2.3' is used here as an example. You should replace the version number '1.2.3' with the version number you are planning to release Verify that tests have passed on GitHub Actions Clone maci: git clone https://github.com/privacy-scaling-explorations/maci Switch to the dev branch: git checkout dev Install required dependencies: pnpm install Run lerna version to update CHANGELOG and version numbers of sub-packages: pnpm exec lerna version --no-push --no-git-tag-version --conventional-commits 1.2.3 Commit changes: git commit --message \"chore(release): publish 1.2.3\" Push changes and create a pull request After the pull request has been merged: Retrieve merged commit Add a tag: git tag --sign v1.2.3 --message v1.2.3 Publish tag: git push v1.2.3 Once the tag is pushed, GitHub Actions will automatically publish the packages to npm.js and create a release on GitHub. The following packages will be published on NPM: @maci-circuits @maci-contracts @maci-cli @maci-core @maci-crypto @maci-domainobjs @maci-integrationtests","s":"MACI Release Process","u":"/docs/versioning","h":"#maci-release-process","p":2534}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,6.377,1,3.635,2,4.977,3,4.504,4,3.199,5,3.487,6,3.224,7,4.977,8,4.279,9,3.47,10,5.137,11,5.328,12,5.328,13,5.568,14,4.721,15,6.377,16,3.635,17,3.71,18,3.47,19,4.279,20,4.147,21,3.635]],["t/5",[22,6.115]],["t/7",[23,9.64]],["t/9",[9,4.889,24,6.368,25,6.134,26,6.134,27,4.847,28,4.767,29,3.315,30,5.342,31,5.76,32,6.246,33,8.987]],["t/12",[4,2.716,5,2.961,12,6.233,23,6.514,34,0.763,35,3.787,36,7.461,37,5.129,38,3.127,39,3.577,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,46,7.461]],["t/15",[23,8.833,34,1.035,37,4.673,45,1.29,47,10.117]],["t/18",[4,2.894,5,3.155,24,5.826,34,0.841,44,2.133,45,1.048,48,3.983,49,5.687,50,8.223]],["t/20",[4,2.337,5,2.547,25,5.809,34,0.871,44,2.181,45,1.085,49,4.591,51,3.85,52,3.373,53,4.081,54,8.512]],["t/22",[4,2.832,5,3.088,26,5.427,34,0.814,40,2.165,44,2.087,45,1.014,55,8.31,56,5.565,57,2.933,58,7.952]],["t/24",[4,2.959,5,3.225,27,6.38,34,0.871,37,4.979,38,3.568,44,1.722,45,1.085,59,8.512]],["t/26",[4,2.957,5,3.224,28,3.727,34,0.719,37,3.246,40,1.474,41,1.478,42,1.499,43,1.612,44,1.422,45,0.896,60,6.489,61,4.648,62,3.459,63,4.34,64,4.569,65,4.441,66,4.979,67,4.795,68,7.027]],["t/28",[4,2.296,5,2.503,19,5.612,20,5.439,29,4.327,34,0.856,44,1.692,45,1.066,48,3.458,69,4.401,70,3.524,71,8.365]],["t/30",[4,3.12,5,3.401,9,6.183,34,0.8,44,1.583,45,0.997,51,3.7,72,2.909,73,3.727,74,4.599,75,7.823]],["t/32",[9,5.078,30,5.549,34,0.955,44,1.888,45,1.19,73,4.447,76,9.537,77,9.335]],["t/34",[4,3.025,5,3.297,9,5.329,31,6.278,34,0.752,37,4.525,40,1.541,41,1.545,42,1.568,43,1.685,44,1.486,45,0.937,51,2.392,78,6.785,79,4.47,80,7.347]],["t/36",[31,4.856,34,0.775,37,5.496,39,3.633,40,1.59,41,1.593,42,1.617,43,1.738,44,1.533,45,0.966,73,4.762,76,6.331,81,5.266,82,6.441,83,7.578]],["t/38",[4,2.914,5,3.177,9,6.205,34,0.699,40,1.432,41,1.436,42,1.457,43,1.566,44,1.381,45,0.87,51,2.223,61,4.558,62,3.361,63,4.256,79,4.154,84,6.828,85,4.508,86,3.232,87,6.828]],["t/40",[1,3.683,2,5.044,3,3.273,5,3.335,6,3.509,7,5.044,8,4.336,9,3.516,10,5.205,12,5.399,13,5.643,18,3.516,19,4.336,20,5.837,21,5.116,88,6.463,89,3.547,90,5.399,91,5.399,92,4.866,93,5.399]],["t/43",[22,6.115]],["t/45",[94,9.64]],["t/47",[9,5.283,25,6.627,27,5.237,30,5.772,31,6.223,32,6.748,95,9.71]],["t/50",[5,2.931,12,6.138,34,0.752,35,3.749,40,1.541,41,1.545,42,1.568,43,1.685,44,1.486,45,0.937,48,2.384,72,2.732,73,3.5,89,5.376,92,4.278,94,6.415,96,7.347,97,5.316,98,7.347]],["t/53",[34,1.035,45,1.29,94,8.833,97,7.32,99,10.117]],["t/56",[5,3.155,25,5.612,34,0.841,44,2.133,45,1.048,51,3.432,52,4.178,53,5.055,92,4.604,100,8.223]],["t/58",[5,3.225,27,6.38,34,0.871,38,3.568,44,1.722,45,1.085,89,5.916,92,4.707,101,8.512]],["t/60",[5,3.262,9,6.488,34,0.887,44,1.753,45,1.104,51,3.548,92,4.76,102,8.665]],["t/62",[9,5.078,30,5.549,34,0.955,44,1.888,45,1.19,73,4.447,103,9.537,104,9.335]],["t/64",[5,3.323,9,4.059,31,6.342,34,0.763,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,51,2.429,78,6.89,79,4.539,89,5.431,92,4.849,105,7.461]],["t/66",[31,6.278,34,0.752,39,3.522,40,1.541,41,1.545,42,1.568,43,1.685,44,1.486,45,0.937,73,5.599,81,5.106,82,6.343,89,6.048,103,6.138,106,7.347]],["t/68",[5,3.224,9,5.861,34,0.719,40,1.474,41,1.478,42,1.499,43,1.612,44,1.422,45,0.896,51,2.287,61,4.648,62,3.459,63,3.208,79,4.275,86,4.5,92,4.705,107,7.027,108,7.027]],["t/70",[1,5.122,4,2.467,5,2.689,109,8.987,110,3.925,111,3.164,112,3.237,113,6.821,114,4.518,115,4.395,116,5.404]],["t/72",[117,10.197]],["t/75",[22,6.115]],["t/77",[37,4.877,118,6.208,119,7.206]],["t/79",[9,4.8,24,6.252,25,6.022,26,6.022,27,4.759,28,4.68,29,3.254,30,5.245,31,5.655,32,6.132,120,8.148,121,8.148]],["t/82",[4,1.642,5,1.79,34,0.612,35,3.254,37,3.928,38,2.508,39,2.868,40,1.255,41,1.258,42,1.277,43,1.372,44,1.21,45,0.763,48,2.758,110,2.613,111,2.106,114,3.008,115,2.925,116,3.597,118,5.815,119,5.803,122,5.983,123,5.529,124,3.851,125,5.983,126,3.928,127,2.814,128,5.983]],["t/85",[34,0.993,37,5.401,45,1.238,129,4.54,130,9.71,131,9.71]],["t/87",[34,1.035,45,1.29,48,3.282,118,5.948,132,10.117]],["t/89",[34,0.993,45,1.238,48,3.15,119,6.627,129,4.54,133,9.71,134,9.71]],["t/92",[24,5.826,34,0.841,44,2.133,45,1.048,48,3.983,49,5.687,110,4.604,111,3.712,135,8.223]],["t/94",[25,5.612,34,0.841,44,2.133,45,1.048,48,3.983,49,5.687,110,4.604,111,3.712,136,8.223]],["t/96",[26,5.518,34,0.827,44,2.11,45,1.031,57,2.965,73,3.851,110,4.555,111,3.672,137,9.632,138,8.139,139,8.085]],["t/98",[27,6.38,34,0.871,44,1.722,45,1.085,73,4.055,110,3.717,111,2.997,123,7.009,140,8.512,141,5.711,142,8.512]],["t/100",[28,5.196,34,0.752,40,1.541,41,1.545,42,1.568,43,1.685,44,1.486,45,0.937,61,4.79,62,3.617,63,3.354,66,5.206,69,3.866,79,4.47,110,3.209,111,3.449,123,4.778,143,7.347,144,3.748,145,7.347]],["t/102",[29,3.888,34,0.841,44,1.664,45,1.048,48,3.421,49,4.435,110,4.604,111,3.712,146,4.641,147,5.347,148,4.597,149,8.223]],["t/104",[1,5.64,4,2.048,5,2.233,9,6.041,34,0.763,44,1.509,45,0.951,51,3.615,110,3.258,111,2.627,114,3.751,115,3.648,116,4.486,118,4.386,147,4.851,150,7.461,151,7.461]],["t/106",[9,4.982,30,5.444,34,0.937,44,1.853,45,1.167,73,4.362,82,5.272,152,9.426,153,9.158]],["t/108",[9,5.384,31,6.342,34,0.763,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,51,2.429,110,4.849,111,3.909,123,6.435,154,7.461,155,7.461]],["t/110",[31,6.342,34,0.763,39,4.744,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,73,3.554,74,4.386,81,5.185,82,5.697,123,7.689,152,6.233,156,7.461]],["t/112",[34,0.871,44,1.722,45,1.085,72,3.165,110,4.707,111,3.795,120,7.861,123,7.009,157,7.799,158,8.512]],["t/114",[5,2.38,14,5.886,34,0.814,44,1.609,45,1.014,72,2.956,110,4.506,111,2.8,121,7.344,123,6.709,159,8.424,160,4.578,161,7.952]],["t/116",[1,5.647,162,9.909,163,4.661,164,5.89,165,6.648,166,7.733]],["t/118",[167,8.617]],["t/121",[22,6.115]],["t/123",[168,6.142,169,7.052,170,5.622,171,6.622]],["t/125",[27,5.573,28,5.481,30,6.142,32,7.181]],["t/128",[34,0.67,35,3.467,38,2.746,40,1.374,41,1.377,42,1.398,43,1.502,44,1.325,45,0.835,48,3.37,111,2.306,114,3.293,115,3.203,124,2.55,168,6.175,170,4.929,171,4.198,172,6.55,173,8.106,174,2.956,175,2.289,176,3.393,177,6.55]],["t/131",[34,1.035,45,1.29,48,3.282,168,6.014,178,10.117]],["t/133",[34,0.993,45,1.238,48,3.15,129,4.54,169,6.627,179,8.967,180,9.71]],["t/135",[34,1.035,45,1.29,48,3.282,170,5.504,181,10.117]],["t/137",[34,1.035,45,1.29,48,3.282,171,6.484,182,10.117]],["t/140",[27,4.024,34,0.763,38,3.127,40,1.565,41,1.569,42,2.112,44,1.509,45,0.951,129,3.488,141,5.006,173,8.665,183,6.89,184,7.578,185,5.662,186,5.286,187,6.89,188,7.461]],["t/142",[28,3.727,34,0.719,40,1.474,41,1.478,42,1.499,43,1.612,44,1.422,45,0.896,61,4.648,62,3.459,63,4.34,64,4.569,66,4.979,129,3.285,141,4.714,163,5.43,173,5.484,189,6.489,190,7.027,191,6.489,192,7.027]],["t/144",[9,4.8,30,5.245,34,0.903,44,1.785,45,1.125,73,4.203,82,5.079,129,4.125,193,8.879,194,8.148,195,8.823]],["t/146",[31,4.934,34,0.788,39,3.691,40,1.615,41,1.619,42,1.643,43,1.766,44,1.557,45,0.981,73,3.667,74,4.526,81,5.35,82,5.816,173,9.343,193,6.201,196,7.699]],["t/148",[1,5.425,2,7.428,3,4.82,90,7.953,197,9.519,198,4.623,199,4.534,200,6.745]],["t/151",[22,6.115]],["t/153",[201,7.895,202,7.895,203,7.895,204,7.895,205,7.488]],["t/155",[26,6.763,27,5.345,28,5.256,32,6.886,206,9.909,207,9.909]],["t/158",[18,6.161,34,0.605,35,3.226,40,1.24,41,1.243,42,1.261,43,1.355,44,1.196,45,0.753,72,2.197,200,6.961,201,6.577,202,7.667,203,7.667,204,7.667,205,7.272,208,5.909,209,6.098,210,7.108,211,5.909]],["t/161",[34,1.035,45,1.29,201,7.895,209,7.32,212,10.117]],["t/163",[34,1.035,45,1.29,202,7.895,210,7.32,213,10.117]],["t/165",[34,1.035,45,1.29,203,7.895,210,7.32,214,10.117]],["t/167",[34,1.035,45,1.29,204,7.895,210,7.32,215,10.117]],["t/169",[34,1.035,45,1.29,205,7.488,209,7.32,216,10.117]],["t/172",[26,5.809,34,0.871,44,2.181,45,1.085,56,4.591,57,2.42,73,5.134,74,5.005,217,9.411,218,5.809,219,8.512]],["t/174",[5,2.64,27,6.486,34,0.903,44,1.785,45,1.125,200,7.812,220,5.577,221,3.42,222,8.823]],["t/176",[5,3.248,28,5.092,34,0.73,40,1.496,41,1.499,42,1.522,43,1.636,44,1.443,45,0.909,61,4.694,62,3.51,63,4.383,64,4.637,200,5.052,221,4.207,223,7.13,224,4.784,225,7.13]],["t/178",[5,2.166,34,0.74,35,3.711,38,3.034,40,1.518,41,1.522,42,1.544,43,1.66,44,1.464,45,0.922,57,2.057,73,3.447,74,5.701,200,7.749,217,6.319,221,2.805,224,4.856,226,7.237,227,4.008,228,7.237]],["t/180",[31,5.014,34,0.8,39,3.75,40,1.641,41,1.645,42,1.669,43,1.794,44,1.583,45,0.997,51,2.547,74,4.599,81,5.437,82,5.877,200,8.536,229,7.823]],["t/182",[34,0.788,40,1.615,41,1.619,42,1.643,43,1.766,44,1.557,45,0.981,73,4.812,74,5.939,147,5.006,200,8.483,227,4.264,230,7.699,231,7.11,232,7.699]],["t/184",[233,11.041]],["t/187",[234,8.3,235,6.368,236,8.3,237,8.3,238,8.3,239,8.3,240,8.3,241,7.509,242,8.3,243,8.3,244,8.3]],["t/190",[34,1.035,45,1.29,51,3.293,234,9.343,245,10.117]],["t/192",[34,1.035,45,1.29,51,3.293,235,7.168,246,10.117]],["t/194",[34,1.035,45,1.29,51,3.293,236,9.343,247,10.117]],["t/196",[34,1.035,45,1.29,51,3.293,237,9.343,248,10.117]],["t/198",[34,1.035,45,1.29,51,3.293,238,9.343,249,10.117]],["t/200",[34,1.035,45,1.29,51,3.293,239,9.343,250,10.117]],["t/202",[34,1.035,45,1.29,51,3.293,240,9.343,251,10.117]],["t/204",[34,1.035,45,1.29,51,3.293,241,8.452,252,10.117]],["t/206",[34,1.035,45,1.29,51,3.293,242,9.343,253,10.117]],["t/208",[34,1.035,45,1.29,51,3.293,243,9.343,254,10.117]],["t/210",[34,1.035,45,1.29,51,3.293,244,9.343,255,10.117]],["t/212",[256,11.041]],["t/215",[175,3.611,257,7.181,258,5.052,259,4.208]],["t/218",[34,1.035,45,1.29,51,3.293,257,7.03,260,10.117]],["t/220",[34,1.035,45,1.29,51,3.293,175,3.535,261,10.117]],["t/222",[34,1.035,45,1.29,51,3.293,258,4.947,262,10.117]],["t/224",[34,1.035,45,1.29,51,3.293,259,4.12,263,10.117]],["t/226",[45,1.29,264,10.117,265,5.948,266,4.619,267,5.504]],["t/229",[268,8.014,269,8.822,270,8.822]],["t/232",[34,0.974,45,1.213,266,4.346,267,5.178,268,7.224,271,2.93,272,3.088,273,9.519]],["t/234",[34,0.974,45,1.213,258,4.654,266,4.346,267,5.178,269,7.953,271,2.93,274,9.519]],["t/236",[34,0.974,45,1.213,259,3.877,266,4.346,267,5.178,270,7.953,271,2.93,275,9.519]],["t/238",[227,5.603,259,4.12,265,5.948,276,10.117,277,5.824]],["t/241",[6,3.12,170,5.391,278,7.521,279,7.981,280,4.472,281,7.981]],["t/244",[6,3.681,34,0.993,45,1.238,51,3.161,282,4.716,283,9.71]],["t/246",[34,0.974,35,3.643,45,1.213,51,3.099,259,3.877,278,7.224,284,4.856,285,9.519]],["t/248",[34,0.605,41,1.243,42,1.798,43,1.355,45,0.753,51,3.198,73,2.815,114,5.385,115,5.237,160,4.852,259,3.433,279,4.76,284,4.3,286,5.879,287,10.711,288,7.59,289,3.553,290,5.909]],["t/250",[34,0.993,45,1.238,170,5.283,175,3.393,176,5.029,271,2.989,291,9.71]],["t/252",[34,0.74,41,1.522,42,2.069,43,1.66,45,0.922,51,3.56,73,3.447,160,5.582,175,2.529,259,3.949,280,5.498,284,4.947,289,4.351,292,7.237]],["t/254",[34,0.67,41,1.377,42,1.933,43,1.502,45,0.835,51,3.381,73,3.12,114,5.635,115,5.48,160,5.216,281,5.276,284,4.622,288,8.337,289,3.938,293,4.552,294,6.55]],["t/256",[52,4.633,53,4.655,265,5.709,295,9.71,296,6.223,297,5.59]],["t/259",[298,6.331,299,6.331,300,6.331,301,6.331,302,6.331,303,5.172,304,6.331,305,6.331,306,6.331,307,6.331,308,6.331,309,6.331,310,5.483,311,5.084,312,6.103,313,6.331,314,5.751,315,6.103,316,6.331,317,4.927,318,5.483]],["t/262",[34,1.035,45,1.29,51,3.293,298,8.452,319,10.117]],["t/264",[34,1.035,45,1.29,51,3.293,299,8.452,320,10.117]],["t/266",[34,1.035,45,1.29,51,3.293,300,8.452,321,10.117]],["t/268",[34,1.035,45,1.29,51,3.293,301,8.452,322,10.117]],["t/270",[34,1.035,45,1.29,51,3.293,302,8.452,323,10.117]],["t/272",[34,1.035,45,1.29,51,3.293,303,6.904,324,10.117]],["t/274",[34,1.035,45,1.29,51,3.293,304,8.452,325,10.117]],["t/276",[34,1.035,45,1.29,51,3.293,305,8.452,326,10.117]],["t/278",[34,1.035,45,1.29,51,3.293,306,8.452,327,10.117]],["t/280",[34,1.035,45,1.29,51,3.293,307,8.452,328,10.117]],["t/282",[34,1.035,45,1.29,51,3.293,308,8.452,329,10.117]],["t/284",[34,1.035,45,1.29,51,3.293,309,8.452,330,10.117]],["t/286",[34,1.035,45,1.29,51,3.293,310,7.32,331,10.117]],["t/288",[34,1.035,45,1.29,51,3.293,311,6.788,332,10.117]],["t/290",[34,1.035,45,1.29,51,3.293,312,8.148,333,10.117]],["t/292",[34,1.035,45,1.29,51,3.293,313,8.452,334,10.117]],["t/294",[34,1.035,45,1.29,51,3.293,314,7.678,335,10.117]],["t/296",[34,1.035,45,1.29,51,3.293,315,8.148,336,10.117]],["t/298",[34,1.035,45,1.29,51,3.293,316,8.452,337,10.117]],["t/300",[34,1.035,45,1.29,51,3.293,317,6.578,338,10.117]],["t/302",[34,1.035,45,1.29,51,3.293,318,7.32,339,10.117]],["t/304",[45,1.263,74,5.826,82,5.705,265,5.826,340,9.909,341,6.763]],["t/307",[175,3.463,342,8.279,343,6.443,344,8.279,345,7.521,346,6.263]],["t/310",[34,1.035,45,1.29,51,3.293,342,8.452,347,10.117]],["t/312",[34,1.035,45,1.29,271,3.114,343,6.578,348,10.117]],["t/314",[34,1.035,45,1.29,61,4.947,344,8.452,349,10.117]],["t/316",[34,1.035,45,1.29,175,3.535,350,8.833,351,10.117]],["t/318",[34,1.035,45,1.29,152,8.452,345,7.678,352,10.117]],["t/320",[34,1.035,45,1.29,271,3.114,346,6.394,353,10.117]],["t/322",[1,5.534,3,4.917,6,3.057,110,4.24,111,3.419,265,5.709,354,9.71]],["t/324",[123,7.18]],["t/327",[37,4.986,119,7.367]],["t/330",[34,1.035,37,5.535,45,1.29,355,10.117]],["t/332",[34,1.035,45,1.29,48,3.282,119,6.904,356,10.117]],["t/334",[357,11.041]],["t/337",[37,4.877,118,6.208,119,7.206]],["t/340",[34,1.035,37,4.673,45,1.29,55,8.148,358,10.117]],["t/342",[34,1.035,45,1.29,118,5.948,359,6.082,360,10.117]],["t/344",[34,1.035,45,1.29,119,6.904,359,6.082,361,10.117]],["t/346",[362,11.041]],["t/349",[201,7.895,202,7.895,203,7.895,204,7.895,205,7.488]],["t/352",[34,1.035,45,1.29,55,8.148,201,7.895,363,10.117]],["t/354",[34,1.035,45,1.29,202,7.895,364,8.452,365,10.117]],["t/356",[34,1.035,45,1.29,203,7.895,364,8.452,366,10.117]],["t/358",[34,1.035,45,1.29,204,7.895,364,8.452,367,10.117]],["t/360",[34,1.035,45,1.29,55,8.148,205,7.488,368,10.117]],["t/362",[369,11.041]],["t/365",[21,5.32,205,6.91,370,8.621,371,6.614,372,8.621,373,8.621,374,8.621,375,8.621,376,8.621]],["t/368",[34,1.035,45,1.29,205,7.488,359,6.082,377,10.117]],["t/370",[21,5.766,34,1.035,45,1.29,359,6.082,378,10.117]],["t/372",[34,1.035,45,1.29,359,6.082,370,9.343,379,10.117]],["t/374",[34,1.035,45,1.29,359,6.082,371,7.168,380,10.117]],["t/376",[34,1.035,45,1.29,359,6.082,372,9.343,381,10.117]],["t/378",[34,1.035,45,1.29,359,6.082,373,9.343,382,10.117]],["t/380",[34,1.035,45,1.29,359,6.082,374,9.343,383,10.117]],["t/382",[34,1.035,45,1.29,359,6.082,375,9.343,384,10.117]],["t/384",[34,1.035,45,1.29,359,6.082,376,9.343,385,10.117]],["t/386",[1,5.534,3,4.917,198,4.716,199,4.625,265,5.709,386,9.71,387,4.196]],["t/389",[388,6.918,389,7.367]],["t/392",[34,1.057,45,1.317,209,7.477,390,10.333]],["t/394",[34,1.035,45,1.29,210,7.32,388,6.484,391,10.117]],["t/396",[34,1.035,45,1.29,209,7.32,389,6.904,392,10.117]],["t/398",[52,4.633,53,4.655,258,4.748,265,5.709,296,6.223,393,9.71]],["t/401",[311,5.425,317,5.257,394,7.467,395,7.467,396,6.31,397,7.467,398,7.467,399,7.467,400,7.467,401,7.467,402,7.467,403,7.467,404,5.338,405,5.985,406,6.31,407,7.467,408,7.467]],["t/404",[34,1.035,45,1.29,51,3.293,394,9.343,409,10.117]],["t/406",[34,1.035,45,1.29,51,3.293,395,9.343,410,10.117]],["t/408",[34,1.035,45,1.29,51,3.293,396,7.895,411,10.117]],["t/410",[34,1.035,45,1.29,51,3.293,397,9.343,412,10.117]],["t/412",[34,1.035,45,1.29,51,3.293,398,9.343,413,10.117]],["t/414",[34,1.035,45,1.29,51,3.293,399,9.343,414,10.117]],["t/416",[34,1.035,45,1.29,51,3.293,400,9.343,415,10.117]],["t/418",[34,1.035,45,1.29,51,3.293,401,9.343,416,10.117]],["t/420",[34,1.035,45,1.29,51,3.293,311,6.788,417,10.117]],["t/422",[34,1.035,45,1.29,51,3.293,402,9.343,418,10.117]],["t/424",[34,1.035,45,1.29,51,3.293,403,9.343,419,10.117]],["t/426",[34,1.035,45,1.29,51,3.293,317,6.578,420,10.117]],["t/428",[34,1.035,45,1.29,51,3.293,404,6.679,421,10.117]],["t/430",[34,1.035,45,1.29,51,3.293,405,7.488,422,10.117]],["t/432",[34,1.035,45,1.29,51,3.293,406,7.895,423,10.117]],["t/434",[34,1.035,45,1.29,271,3.114,407,9.343,424,10.117]],["t/436",[34,1.035,45,1.29,271,3.114,408,9.343,425,10.117]],["t/438",[52,4.633,53,4.655,265,5.709,296,6.223,426,9.71,427,6.627]],["t/441",[278,5.843,311,5.165,317,5.006,396,6.008,404,5.083,405,5.699,406,6.008,428,6.432,429,3.691,430,6.432,431,6.432,432,6.432,433,6.432,434,6.432,435,6.432,436,6.201,437,6.432,438,6.432,439,6.432,440,2.515]],["t/444",[34,1.035,45,1.29,428,8.452,441,8.833,442,10.117]],["t/446",[34,1.035,45,1.29,51,3.293,396,7.895,443,10.117]],["t/448",[34,1.035,45,1.29,51,3.293,429,4.85,444,10.117]],["t/450",[34,1.035,45,1.29,51,3.293,430,8.452,445,10.117]],["t/452",[34,1.035,45,1.29,51,3.293,431,8.452,446,10.117]],["t/454",[34,1.035,45,1.29,51,3.293,432,8.452,447,10.117]],["t/456",[34,1.035,45,1.29,51,3.293,433,8.452,448,10.117]],["t/458",[34,1.035,45,1.29,51,3.293,434,8.452,449,10.117]],["t/460",[34,1.035,45,1.29,51,3.293,435,8.452,450,10.117]],["t/462",[34,1.035,45,1.29,51,3.293,436,8.148,451,10.117]],["t/464",[34,1.035,45,1.29,51,3.293,311,6.788,452,10.117]],["t/466",[34,1.035,45,1.29,51,3.293,437,8.452,453,10.117]],["t/468",[34,1.035,45,1.29,51,3.293,438,8.452,454,10.117]],["t/470",[34,1.035,45,1.29,51,3.293,439,8.452,455,10.117]],["t/472",[34,1.035,45,1.29,51,3.293,278,7.678,456,10.117]],["t/474",[34,1.035,45,1.29,51,3.293,317,6.578,457,10.117]],["t/476",[34,1.035,45,1.29,51,3.293,404,6.679,458,10.117]],["t/478",[34,1.035,45,1.29,51,3.293,405,7.488,459,10.117]],["t/480",[34,1.035,45,1.29,51,3.293,406,7.895,460,10.117]],["t/482",[34,1.035,45,1.29,51,3.293,440,3.304,461,10.117]],["t/484",[45,1.238,52,3.848,265,5.709,462,9.71,463,6.223,464,2.999,465,7.821]],["t/487",[466,8.424,467,7.649]],["t/490",[34,0.974,45,1.213,271,3.556,272,3.088,463,6.1,466,7.428,468,9.519]],["t/492",[34,0.955,45,1.19,271,3.514,440,3.049,463,5.982,467,6.614,469,3.972,470,9.335]],["t/494",[45,1.29,112,3.644,265,5.948,471,10.117,472,4.082]],["t/497",[473,7.322,474,7.477,475,8.064,476,6.364]],["t/500",[34,0.955,45,1.19,111,3.286,112,3.362,271,2.873,472,3.767,473,6.614,477,6.07,478,9.335]],["t/502",[34,0.974,45,1.213,112,3.429,271,2.93,272,3.088,472,3.841,474,6.887,479,9.519]],["t/504",[34,0.955,45,1.19,112,3.362,271,2.873,272,3.028,472,3.767,475,7.285,480,7.518,481,9.335]],["t/506",[34,0.955,45,1.19,112,3.362,271,2.873,440,3.049,469,3.972,472,3.767,476,5.749,482,9.335]],["t/508",[29,3.731,265,5.948,483,10.117,484,5.553,485,2.7]],["t/510",[5,2.906,34,1.196,48,3.793,53,4.655,271,2.989]],["t/513",[486,5.087,487,6.286,488,6.822,489,5.573]],["t/516",[34,1.154,40,1.615,41,1.619,42,2.156,44,1.557,45,0.981,48,4.033,53,5.406,289,4.629,486,3.79,490,7.699]],["t/518",[34,1.154,40,1.615,41,1.619,42,2.156,44,1.557,45,0.981,48,4.033,53,5.406,289,4.629,487,4.684,491,7.699]],["t/520",[34,1.154,40,1.615,41,1.619,42,2.156,44,1.557,45,0.981,48,4.033,53,5.406,289,4.629,488,5.083,492,7.699]],["t/522",[34,1.154,40,1.615,41,1.619,42,2.156,44,1.557,45,0.981,48,4.033,53,5.406,289,4.629,489,4.152,493,7.699]],["t/524",[494,10.559,495,10.559,496,5.795]],["t/527",[497,7.811,498,6.152]],["t/530",[34,1.035,45,1.29,271,3.114,497,7.32,499,10.117]],["t/532",[34,1.035,45,1.29,48,3.282,498,5.766,500,10.117]],["t/534",[4,2.777,5,3.585,92,4.418,501,10.117]],["t/537",[37,4.986,89,5.925]],["t/540",[34,1.035,45,1.29,89,5.553,97,7.32,502,10.117]],["t/542",[34,1.035,37,4.673,45,1.29,503,10.117,504,10.117]],["t/544",[505,11.041]],["t/546",[41,2.173,42,2.205,97,7.477,506,6.719]],["t/549",[79,6.567,507,9.425]],["t/552",[34,1.035,45,1.29,507,8.833,508,9.343,509,10.117]],["t/554",[34,1.035,45,1.29,79,6.155,506,6.578,510,10.117]],["t/556",[1,5.766,163,4.759,265,5.948,511,10.117,512,8.833]],["t/558",[173,8.424,513,8.193]],["t/561",[27,5.573,28,5.481,30,6.142,169,7.052]],["t/564",[34,1.035,45,1.29,48,3.282,169,6.904,514,10.117]],["t/566",[27,4.087,34,1.145,40,1.59,41,1.593,42,2.388,44,1.533,45,0.966,167,5.914,184,8.669,186,5.369,289,4.556,515,7.578]],["t/568",[28,3.674,34,1.094,40,1.975,41,1.98,42,2.448,44,1.401,45,0.883,61,5.229,163,3.258,167,5.405,184,7.298,186,4.908,289,4.164,516,9.414,517,6.926]],["t/570",[30,5.06,34,1.312,42,1.816,44,1.722,45,1.085,289,5.118,518,11.828,519,8.512]],["t/572",[520,11.041]],["t/575",[16,6.152,17,6.279]],["t/578",[16,5.766,34,1.035,45,1.29,359,6.082,521,10.117]],["t/580",[17,5.885,34,1.035,45,1.29,359,6.082,522,10.117]],["t/582",[523,11.041]],["t/585",[440,3.449,476,6.503,524,5.848]],["t/588",[34,1.035,45,1.29,359,6.082,524,5.603,525,10.117]],["t/590",[34,1.035,45,1.29,359,6.082,476,6.23,526,10.117]],["t/592",[34,1.035,45,1.29,359,6.082,440,3.304,527,10.117]],["t/594",[528,11.041]],["t/597",[16,6.152,17,6.279]],["t/600",[16,5.766,34,1.035,45,1.29,359,6.082,529,10.117]],["t/602",[17,5.885,34,1.035,45,1.29,359,6.082,530,10.117]],["t/604",[1,5.534,3,4.917,65,6.137,82,5.59,163,4.568,265,5.709,531,9.71]],["t/606",[34,1.08,532,8.822,533,8.504]],["t/609",[160,5.48,169,6.496,170,5.178,171,6.1,524,5.272,534,7.666,535,7.224,536,6.887]],["t/612",[34,0.993,45,1.238,51,3.161,169,6.627,537,7.37,538,8.967,539,8.478]],["t/614",[34,1.035,45,1.29,51,3.293,534,8.148,540,10.117]],["t/616",[34,1.035,45,1.29,51,3.293,535,7.678,541,10.117]],["t/618",[34,1.035,45,1.29,51,3.293,524,5.603,542,10.117]],["t/620",[34,1.035,45,1.29,51,3.293,170,5.504,543,10.117]],["t/622",[34,1.035,45,1.29,51,3.293,160,5.824,544,10.117]],["t/624",[34,1.035,45,1.29,51,3.293,171,6.484,545,10.117]],["t/626",[34,1.035,45,1.29,51,3.293,536,7.32,546,10.117]],["t/628",[547,11.041]],["t/631",[37,4.877,118,6.208,119,7.206]],["t/634",[34,1.035,37,4.673,45,1.29,51,3.293,548,10.117]],["t/636",[34,1.035,45,1.29,51,3.293,118,5.948,549,10.117]],["t/638",[34,1.035,45,1.29,51,3.293,119,6.904,550,10.117]],["t/640",[1,5.534,3,4.917,82,5.59,163,4.568,184,6.627,265,5.709,551,9.71]],["t/642",[34,1.08,193,8.504,532,8.822]],["t/645",[168,6.142,169,7.052,170,5.622,171,6.622]],["t/648",[34,1.035,45,1.29,51,3.293,168,6.014,552,10.117]],["t/650",[34,0.993,45,1.238,51,3.161,169,6.627,537,7.37,538,8.967,539,8.478]],["t/652",[34,1.035,45,1.29,51,3.293,170,5.504,553,10.117]],["t/654",[34,1.035,45,1.29,51,3.293,171,6.484,554,10.117]],["t/656",[555,11.041]],["t/659",[227,5.979,556,8.193]],["t/662",[34,1.035,45,1.29,227,5.603,359,6.082,557,10.117]],["t/664",[34,1.035,45,1.29,51,3.293,556,7.678,558,10.117]],["t/667",[4,0.892,6,2.127,124,2.071,198,1.577,199,1.547,280,1.466,388,2.081,440,3.775,469,4.158,559,2.535,560,2.999,561,2.465,562,2.35,563,3.198,564,2.301,565,1.953,566,1.458,567,2.974,568,2.208,569,2.836,570,2.301,571,2.179,572,2.616,573,2.616,574,2.999,575,2.535,576,4.888,577,4.688,578,2.404,579,2.999,580,2.257,581,2.081,582,2.081,583,2.836,584,2.836,585,4.214,586,2.616,587,2.999,588,4.645,589,1.799,590,2.404,591,2.257,592,2.616,593,3.777,594,5.651,595,3.63,596,2.616,597,2.836,598,0.966,599,2.713,600,2.999,601,1.5,602,2.836,603,2.616,604,2.465,605,1.953,606,2.465,607,4.913,608,2.053,609,2.465,610,1.695,611,2.404,612,2.999,613,2.465,614,2.616,615,2.999]],["t/669",[4,0.898,6,2.137,124,2.082,198,1.588,199,1.558,280,1.476,388,2.096,440,3.782,469,4.17,560,3.02,561,2.482,562,2.366,563,3.216,564,2.317,565,1.966,566,1.467,567,2.99,568,2.22,569,2.855,570,2.317,571,2.194,572,2.634,573,2.634,574,3.02,575,2.552,576,4.911,577,4.705,578,2.42,579,3.02,580,2.272,581,2.096,582,2.096,583,2.855,584,2.855,585,4.234,586,2.634,587,3.02,588,4.67,589,1.811,590,2.42,591,2.272,592,2.634,593,3.794,594,5.674,595,3.65,596,2.634,597,2.855,598,0.972,599,2.732,600,3.02,601,1.51,602,2.855,603,2.634,604,2.482,605,1.966,606,2.482,607,4.94,608,2.067,609,2.482,610,1.707,611,2.42,612,3.02,613,2.482,614,2.634,615,3.02]],["t/671",[4,0.681,5,1.27,6,2.541,34,0.674,38,1.04,64,1.613,70,3.119,72,1.578,86,1.174,92,1.083,124,0.966,198,3.199,199,3.137,220,1.568,259,1.01,440,2.971,559,3.312,561,1.883,562,1.795,563,2.552,564,1.758,571,1.664,577,1.35,580,1.724,585,1.547,593,1.387,606,1.883,608,4.163,616,3.706,617,2.481,618,1.693,619,3.426,620,1.568,621,2.291,622,1.883,623,3.706,624,2.166,625,4.087,626,2.481,627,1.795,628,2.073,629,2.481,630,2.481,631,1.724,632,3.419,633,2.481,634,2.291,635,1.883,636,2.481,637,2.291,638,2.166,639,2.481,640,2.291,641,1.638,642,1.936,643,2.022,644,5.138,645,2.481,646,2.166,647,2.481,648,2.481,649,2.166,650,1.568,651,1.936,652,2.291,653,2.481,654,2.481,655,2.166,656,1.883,657,1.936,658,2.481,659,1.197,660,2.481,661,2.291,662,3.546,663,2.481,664,3.008,665,1.664,666,1.664,667,1.836,668,1.998,669,1.998,670,1.998,671,1.795,672,1.414,673,1.998,674,2.897,675,1.936,676,1.998,677,1.59,678,3.516,679,1.998,680,1.638,681,1.724,682,1.998,683,1.638,684,1.998,685,1.936,686,1.998,687,1.428,688,1.475,689,1.638]],["t/674",[5,1.976,6,2.079,56,2.792,57,1.472,69,1.653,70,4.058,86,1.487,124,3.75,126,1.451,198,1.526,199,1.497,227,1.74,259,2.109,272,1.68,280,3.455,440,3.509,469,1.337,567,1.757,577,1.709,589,1.74,590,3.832,591,2.184,593,1.757,594,2.274,595,2.144,598,1.54,605,3.113,606,2.385,608,1.986,619,1.935,620,3.272,627,2.274,657,2.452,674,2.144,689,2.075,690,1.868,691,2.902,692,1.96,693,2.014,694,4.04,695,5.177,696,2.902,697,1.889,698,2.226,699,3.142,700,3.142,701,2.902,702,2.743,703,2.894,704,3.142,705,1.986,706,3.418,707,3.446,708,2.98,709,2.075,710,2.743,711,2.625,712,2.902,713,2.075,714,2.452,715,2.452,716,2.226,717,2.326,718,1.96,719,2.625,720,2.625,721,2.625,722,1.912]],["t/676",[4,2.798,5,3.146,6,1.163,7,0.888,13,0.993,18,1.149,34,0.556,35,1.131,38,1.239,43,0.261,56,1.594,57,0.84,62,0.56,63,0.519,67,0.776,70,1.829,86,1.399,124,2.745,126,2.273,127,3.467,163,3.317,164,2.195,168,0.676,198,1.026,199,1.006,259,1.203,272,2.732,282,0.552,387,0.492,388,1.894,440,3.366,469,2.313,486,1.818,559,0.888,566,0.51,576,0.823,580,0.79,585,1.843,586,0.916,593,0.636,594,4.27,595,1.441,597,0.993,598,0.879,601,0.525,605,0.684,606,1.602,610,0.594,611,0.842,613,0.863,616,0.993,618,0.776,619,1.3,628,0.95,631,0.79,632,0.916,659,1.019,672,2.475,678,1.335,685,0.888,687,1.215,690,0.676,697,1.269,705,1.335,706,1.951,707,1.542,709,1.394,711,0.95,714,0.888,715,0.888,716,2.094,717,1.563,720,0.95,722,0.692,723,0.776,724,0.916,725,0.806,726,1.652,727,2.884,728,1.137,729,2.111,730,0.95,731,0.751,732,0.993,733,0.655,734,0.806,735,1.102,736,1.137,737,0.993,738,2.469,739,4.679,740,0.842,741,1.95,742,2.094,743,0.993,744,3.085,745,1.05,746,1.137,747,1.137,748,0.842,749,0.842,750,0.63,751,2.729,752,0.79,753,1.701,754,1.137,755,0.888,756,0.993,757,0.662,758,5.838,759,2.018,760,0.684,761,3.692,762,0.993,763,0.572,764,0.863,765,1.394,766,0.863,767,0.888,768,1.137,769,0.993,770,0.863,771,0.636,772,1.05,773,0.719,774,0.842,775,1.137,776,1.764,777,1.137,778,0.806]],["t/678",[6,1.786,16,3.233,17,3.299,34,1.048,38,1.067,56,1.373,57,0.724,69,1.34,70,1.828,86,1.205,124,2.208,198,2.755,199,3.898,259,2.729,271,0.784,272,1.84,280,3.024,293,3.016,440,1.418,464,1.34,486,1.253,566,1.143,581,1.632,590,3.213,591,3.016,593,4.575,598,2.236,599,2.127,604,3.294,610,1.329,619,1.568,628,2.127,641,1.681,642,1.987,643,2.067,657,1.987,672,1.451,687,1.466,694,1.987,696,2.351,707,1.329,709,4.964,716,1.804,735,1.329,757,1.481,776,2.127,779,6.7,780,3.14,781,2.546,782,8.068,783,2.223,784,2.351,785,2.051,786,1.932,787,1.932,788,2.051,789,1.632,790,2.127,791,1.987,792,1.632,793,2.546,794,2.351,795,2.546,796,2.351,797,2.546,798,2.351,799,2.546,800,2.546,801,2.351,802,2.351,803,2.351,804,2.351,805,2.546,806,2.546,807,2.351,808,2.546,809,1.987,810,1.885,811,2.546,812,2.051,813,2.223,814,2.351,815,2.546]],["t/680",[3,1.667,4,0.904,5,0.985,6,2.733,34,0.337,56,3.678,57,3.016,70,1.387,72,1.224,85,2.174,124,3.379,126,2.485,127,2.53,164,1.957,175,3.033,259,2.777,272,2.555,280,2.428,440,2.228,487,2.003,488,2.174,567,1.84,568,3.269,581,2.11,593,1.84,598,2.028,601,3.15,605,1.979,625,1.667,655,2.874,657,2.569,662,2.75,690,1.957,693,2.11,703,1.84,712,3.04,722,2.003,735,1.718,762,2.874,774,2.437,816,3.292,817,3.292,818,4.967,819,2.288,820,1.761,821,4.332,822,2.569,823,2.499,824,2.874,825,2.499,826,2.499,827,2.874,828,1.643,829,1.935,830,2.874,831,1.621,832,3.292,833,3.272,834,3.497,835,2.437,836,1.979]],["t/682",[3,1.289,4,2.247,5,2.449,6,2.367,35,0.974,56,2.341,57,2.137,62,2.792,64,1.656,86,2.054,112,0.917,114,3.78,115,3.676,116,1.531,118,1.497,124,3.583,126,4.251,127,4.329,175,1.517,227,2.404,271,0.784,282,1.237,440,2.189,465,2.051,485,1.158,566,1.948,568,1.057,598,0.757,606,3.294,631,1.769,643,1.213,693,1.632,697,1.531,706,1.681,708,1.466,718,1.588,733,4.328,774,3.213,789,1.632,829,2.552,835,1.885,837,2.127,838,2.404,839,1.769,840,2.351,841,1.885,842,5.672,843,3.942,844,3.495,845,2.546,846,2.546,847,2.223,848,3.075,849,1.609,850,2.546,851,4.008,852,2.122,853,1.885,854,2.351,855,3.626,856,2.546,857,1.987,858,3.871,859,1.423,860,2.351,861,2.351,862,2.546,863,2.051,864,1.885,865,1.299]],["t/684",[5,3.194,6,1.605,56,2.75,57,2.152,70,3.189,112,1.837,124,2.947,163,2.398,175,2.645,227,2.824,272,3.463,440,2.473,598,2.251,643,2.429,672,2.906,703,2.85,706,3.366,707,4.713,708,4.358,718,3.18,726,2.85,733,2.935,765,3.366,774,3.774,789,3.268,831,2.51,835,3.774,838,2.824,848,5.364,851,4.709,865,2.601,866,2.878,867,5.099,868,3.543]],["t/686",[6,0.896,29,1.05,35,1.089,38,1.999,40,0.597,44,0.576,53,1.364,57,2.279,70,4.071,85,4.753,86,2.913,111,2.823,112,2.888,124,1.108,146,1.606,175,0.995,198,2.989,199,2.931,221,2.385,227,1.576,266,1.299,272,3.259,387,3.111,388,3.056,440,2.619,469,2.618,567,2.666,568,3.328,593,3.44,598,0.846,601,1.315,610,1.486,611,2.107,619,1.753,659,1.373,672,1.622,706,3.148,715,2.221,726,1.591,733,1.638,742,3.379,763,1.431,780,3.45,787,2.16,807,2.628,821,2.292,826,3.619,847,4.163,848,3.379,869,2.292,870,2.846,871,2.16,872,2.107,873,2.846,874,2.846,875,1.978,876,2.628,877,1.942,878,2.628,879,2.846,880,2.292,881,2.628,882,1.474,883,2.846,884,2.485]],["t/688",[29,1.322,38,1.503,44,0.725,57,2.054,70,3.045,85,2.367,86,4.294,111,1.262,112,1.291,124,2.244,175,1.253,198,2.799,199,2.746,221,2.234,259,3.694,272,2.943,280,4.094,297,2.064,387,3.578,427,4.933,440,2.963,485,2.209,568,3,593,3.222,595,2.447,605,3.465,608,3.643,619,3.55,687,3.318,694,2.798,706,2.367,726,2.004,733,2.064,741,3.311,742,2.54,760,2.156,786,2.721,810,2.654,848,4.084,859,2.004,885,3.748,886,3.585,887,3.311,888,3.311,889,3.311,890,3.311,891,3.585]],["t/690",[6,2.843,124,2.947,168,3.031,440,2.949,563,4.551,567,2.85,568,2.117,596,6.097,598,1.516,614,4.107,618,3.48,627,3.689,650,4.785,690,3.031,713,4.998,721,4.26,776,4.26,785,4.107,819,5.261,885,3.315,892,5.099,893,4.107,894,5.099,895,5.099,896,3.689,897,5.364,898,3.18,899,5.707,900,4.452,901,5.745,902,4.452,903,4.107,904,3.979,905,5.099,906,4.26,907,5.099,908,4.049]],["t/692",[6,2.645,34,0.463,124,1.762,282,2.198,440,1.478,561,3.435,562,3.275,563,4.16,564,3.207,565,2.721,571,3.036,620,4.374,622,5.252,659,3.339,671,3.275,757,2.632,822,5.4,825,3.435,834,2.943,898,2.823,899,2.86,909,3.435,910,3.951,911,2.9,912,4.526,913,2.9,914,3.532,915,3.951,916,3.951,917,3.275,918,2.943,919,4.179,920,3.951,921,4.179,922,3.036,923,3.951,924,2.579,925,3.207,926,2.661,927,3.645,928,3.435,929,4.526,930,2.228,931,4.179,932,4.903,933,3.951,934,3.951,935,3.145,936,3.781,937,3.645,938,4.526,939,4.526,940,3.951,941,4.526,942,3.781,943,4.179]],["t/694",[3,1.31,4,0.71,5,1.316,6,2.132,8,2.952,52,1.743,56,2.373,57,1.25,64,1.682,70,3.197,86,1.225,92,1.13,124,1.713,198,1.257,199,1.232,220,1.635,259,1.054,286,1.42,440,3.157,537,1.963,563,3.451,565,4.071,571,3.851,577,1.407,580,1.798,585,1.614,590,1.915,593,1.446,606,1.963,608,4.28,625,3.843,643,1.232,659,1.248,662,2.161,664,3.117,666,1.736,667,1.915,668,2.084,669,2.084,670,2.084,671,3.183,672,1.474,673,3.543,674,3.002,675,2.019,676,3.543,677,1.658,678,3.628,679,2.084,680,1.708,681,1.798,682,2.084,683,1.708,684,2.084,685,2.019,686,2.084,687,2.533,688,2.615,689,1.708,693,2.819,707,1.35,760,1.555,852,2.151,899,1.635,908,2.353,917,1.872,918,1.682,922,2.952,944,2.533,945,3.339,946,1.915,947,3.002,948,2.259,949,2.587,950,2.587,951,1.833,952,2.389,953,2.259,954,1.915,955,2.587,956,2.259,957,2.587,958,1.963,959,1.682,960,1.872,961,2.389,962,2.389,963,2.019,964,1.538,965,1.407,966,1.538,967,2.587,968,2.259]],["t/696",[4,1.23,6,1.836,8,4.607,35,1.012,41,0.556,126,1.221,371,1.873,562,1.913,563,1.589,565,1.589,591,1.837,605,1.589,608,1.671,622,2.006,623,2.308,624,2.308,627,1.913,632,2.129,635,2.006,651,2.063,666,1.774,732,2.308,735,2.339,770,3.401,771,4.296,826,2.006,829,1.554,849,2.832,866,1.492,897,4.132,898,1.649,899,2.832,911,2.872,913,1.694,922,1.774,924,1.507,935,1.837,940,2.308,944,1.522,945,2.006,960,1.913,968,2.308,969,2.441,970,2.441,971,2.308,972,2.441,973,2.129,974,1.837,975,4.481,976,2.644,977,4.481,978,5.832,979,2.644,980,2.644,981,2.441,982,2.441,983,2.441,984,2.441,985,2.441,986,2.441,987,4.481,988,2.006,989,2.644,990,2.441,991,2.644,992,2.644,993,2.209,994,2.063,995,1.837,996,1.694,997,2.129,998,3.609,999,3.242,1000,1.957,1001,2.644,1002,3.497,1003,2.006,1004,2.644,1005,2.441,1006,3.317,1007,3.497,1008,1.339,1009,1.478,1010,2.644,1011,2.644,1012,2.006,1013,1.369,1014,1.32,1015,1.649,1016,2.441,1017,2.644,1018,2.441,1019,2.441,1020,2.129,1021,2.441,1022,1.873,1023,2.441,1024,2.644,1025,2.441,1026,2.308,1027,2.644,1028,2.441,1029,2.441,1030,2.441,1031,1.804,1032,2.441,1033,2.441,1034,1.451,1035,2.308,1036,2.209,1037,2.308,1038,1.719,1039,2.644]],["t/698",[3,1.118,4,0.606,6,1.209,8,1.482,18,1.202,38,0.926,39,1.059,56,1.191,57,0.628,64,1.436,67,3.476,70,0.93,126,1.02,296,1.415,387,0.954,440,2.812,563,4.548,570,1.565,571,2.576,575,1.724,580,2.668,582,2.461,588,1.928,589,1.223,592,3.093,593,1.235,594,1.598,598,0.657,605,1.328,609,1.676,610,1.153,611,1.635,614,1.779,618,2.621,619,1.36,627,2.778,635,1.676,640,2.04,651,1.724,710,1.928,711,1.845,713,2.535,717,1.635,720,1.845,735,1.153,752,4.231,769,1.928,770,1.676,785,1.779,787,2.914,835,1.635,872,2.842,898,1.378,899,4.359,900,1.928,903,1.779,908,2.724,914,1.724,915,1.928,916,1.928,917,2.778,918,3.959,934,3.353,948,3.353,966,1.313,971,1.928,988,1.676,993,1.845,999,1.598,1002,1.724,1006,1.635,1040,2.209,1041,2.209,1042,1.779,1043,2.209,1044,1.928,1045,2.209,1046,2.209,1047,2.209,1048,2.209,1049,2.209,1050,3.84,1051,2.209,1052,2.209,1053,1.779,1054,2.209,1055,1.565,1056,2.209,1057,2.209,1058,2.209,1059,2.209,1060,2.209,1061,2.209,1062,2.209,1063,2.04,1064,2.209,1065,2.209,1066,1.928,1067,1.676,1068,5.094,1069,3.353,1070,1.928,1071,2.209,1072,2.04,1073,2.209,1074,2.209,1075,1.928,1076,2.209,1077,2.209,1078,2.209,1079,2.209,1080,2.209,1081,2.209,1082,2.04,1083,2.209,1084,2.04,1085,2.209,1086,2.04,1087,2.209,1088,2.04,1089,1.779,1090,1.676,1091,2.209,1092,2.209,1093,2.209,1094,2.04,1095,1.928,1096,1.507,1097,2.209,1098,1.565,1099,2.209,1100,2.209,1101,2.209]],["t/700",[6,2.209,8,1.524,35,1.505,39,2.495,52,0.9,56,1.225,57,1.118,70,2.192,72,0.844,112,0.818,124,2.416,126,1.049,127,1.068,129,1.062,175,1.375,198,1.103,199,1.082,259,0.925,282,1.103,387,0.981,440,1.7,469,0.966,496,1.246,497,1.643,565,2.365,566,2.335,578,1.681,598,1.17,605,2.365,620,1.435,622,1.723,643,1.082,649,1.983,659,1.096,665,1.524,666,1.524,674,1.55,683,1.499,688,1.35,692,1.416,705,1.435,735,1.185,765,1.499,771,1.269,812,1.829,826,1.723,828,1.964,833,1.382,848,1.609,852,1.11,858,1.55,865,1.158,880,1.829,893,1.829,897,1.609,898,2.454,908,1.214,911,1.455,913,1.455,920,3.434,922,4.707,924,2.966,953,1.983,963,1.772,966,1.35,972,2.097,988,2.985,993,1.897,1002,1.772,1007,1.772,1009,2.199,1016,2.097,1022,2.787,1033,2.097,1037,3.434,1053,3.168,1055,1.609,1089,1.829,1096,1.55,1102,2.271,1103,3.934,1104,2.097,1105,3.384,1106,1.435,1107,2.097,1108,2.097,1109,2.271,1110,2.271,1111,1.829,1112,3.168,1113,2.271,1114,1.524,1115,3.07,1116,1.983,1117,2.288,1118,2.271,1119,2.271,1120,1.897,1121,1.897,1122,2.271,1123,1.772,1124,1.897,1125,2.558,1126,1.829,1127,1.829,1128,1.35,1129,1.578,1130,2.271,1131,4.347,1132,2.271,1133,1.897,1134,1.643,1135,2.097,1136,2.097,1137,1.772,1138,2.097,1139,1.321,1140,1.609,1141,1.983,1142,1.681,1143,1.772,1144,2.097,1145,1.723,1146,1.897,1147,2.271,1148,2.271]],["t/702",[6,2.349,8,5.006,35,2.855,198,3.624,199,3.554,565,4.486,632,6.009,723,5.092,771,5.532,922,5.006,947,5.092,1089,6.009,1149,7.461,1150,6.89,1151,7.461,1152,6.89,1153,7.461,1154,7.461,1155,6.514,1156,7.461,1157,6.233]],["t/704",[6,2.062,114,3.293,115,3.203,440,3.393,469,2.787,566,2.94,577,3.564,595,4.47,598,1.948,771,3.662,820,3.503,928,4.972,930,3.225,937,5.276,964,3.894,965,3.564,973,5.276,1000,6.707,1008,3.317,1069,5.719,1158,6.049,1159,6.049,1160,9.061,1161,4.74,1162,6.55,1163,6.55,1164,6.55]],["t/706",[6,2.349,70,4.169,124,2.905,440,2.437,577,4.059,598,2.219,611,5.523,672,4.252,707,3.894,715,5.822,920,6.514,1008,3.778,1020,6.009,1165,7.461,1166,6.89,1167,8.267,1168,9.896,1169,7.461,1170,5.398]],["t/708",[6,1.982,52,2.494,53,3.018,57,1.789,70,2.652,72,2.34,124,2.451,175,2.2,259,2.564,265,3.701,387,2.72,564,4.46,566,2.825,575,4.912,598,1.872,735,3.285,771,3.519,819,4.374,831,3.099,833,3.829,838,3.486,988,4.777,1022,4.46,1096,4.296,1129,4.374,1146,5.259,1171,5.496,1172,4.554,1173,2.943,1174,5.07,1175,5.813,1176,6.294,1177,5.813,1178,6.294]],["t/710",[6,3.317,39,2.733,40,1.723,52,2.259,129,2.665,565,3.427,598,1.695,608,6.659,622,4.326,690,4.882,723,3.89,733,3.282,739,4.219,780,4.124,852,4.016,897,4.039,898,3.556,911,5.264,913,3.653,1000,4.219,1009,3.187,1146,4.762,1179,5.7,1180,5.7,1181,5.7,1182,7.799,1183,4.591,1184,5.264,1185,5.7]],["t/712",[440,2.4,563,4.417,573,5.918,585,4.583,620,4.644,708,4.23,713,4.851,743,6.415,745,6.785,771,4.107,860,6.785,885,4.778,899,4.644,915,6.415,917,5.316,918,4.778,922,4.93,964,4.367,1089,5.918,1186,7.347,1187,6.785,1188,6.785,1189,5.734]],["t/714",[6,2.826,35,3.435,38,2.709,561,4.905,562,4.676,563,3.886,564,4.579,620,5.674,621,5.968,705,4.085,735,3.373,749,4.784,763,4.513,776,5.399,814,5.968,838,3.579,913,4.142,960,4.676,963,5.044,964,3.842,1028,5.968,1031,4.411,1190,5.399,1191,4.784,1192,8.976,1193,5.399,1194,4.085]],["t/716",[4,1.614,5,1.759,6,2.644,34,0.273,38,1.12,43,1.037,64,1.738,70,3.768,86,1.265,92,1.167,124,1.041,126,1.235,220,1.689,259,1.842,440,3.31,559,2.086,563,3.535,565,2.719,567,1.494,568,1.11,571,3.034,580,1.857,585,1.667,593,2.528,608,4.889,625,4.252,631,1.857,635,2.029,644,2.468,659,1.29,664,3.205,665,1.793,666,1.793,667,3.348,668,2.153,669,2.153,670,2.153,671,1.934,672,1.523,673,2.153,674,3.087,675,2.086,676,2.153,677,1.713,678,3.716,679,2.153,680,1.765,681,1.857,682,2.153,683,1.765,684,2.153,685,2.086,686,2.153,687,1.539,688,1.589,689,1.765,690,1.589,703,1.494,722,1.626,735,1.395,750,1.48,770,2.029,820,1.429,836,1.607,838,1.48,852,1.307,897,1.894,898,2.821,899,1.689,908,1.429,918,1.738,927,2.153,954,3.348,964,1.589,988,2.029,998,2.153,999,1.934,1013,1.384,1155,2.334,1195,2.673,1196,2.673,1197,2.673,1198,2.153,1199,2.673,1200,1.626,1201,2.673,1202,2.468,1203,2.233,1204,2.029,1205,2.673,1206,2.334]],["t/718",[6,1.555,29,1.095,52,1.176,57,1.803,64,1.93,69,1.562,70,1.251,72,1.104,86,1.405,112,1.069,124,1.923,126,1.371,146,1.675,165,1.992,175,2.216,198,1.442,199,1.414,221,1.151,258,1.451,259,1.209,272,2.058,280,2.229,440,0.97,464,0.917,566,1.332,568,1.232,581,1.902,591,2.063,598,1.469,604,2.253,627,2.148,665,1.992,687,1.709,690,1.765,705,1.876,718,1.852,735,3.31,740,2.197,752,2.063,763,1.492,764,2.253,790,2.48,819,2.063,829,2.904,834,4.807,836,1.785,865,1.514,866,1.675,911,3.165,913,1.902,926,1.745,932,4.494,934,2.592,935,3.432,944,1.709,951,2.103,960,3.574,1034,1.629,1106,1.876,1142,2.197,1191,2.197,1202,2.741,1207,2.968,1208,2.741,1209,2.741,1210,2.968,1211,4.312,1212,4.126,1213,2.391,1214,2.48,1215,2.592,1216,2.968,1217,2.968,1218,2.48,1219,2.592,1220,2.968,1221,1.902,1222,2.592,1223,3.005,1224,2.968,1225,2.968,1226,2.741,1227,1.785,1228,1.806,1229,1.96,1230,2.391,1231,1.745,1232,2.48,1233,2.253,1234,2.253,1235,2.741,1236,2.741,1237,2.592,1238,2.741,1239,2.103,1240,2.968]],["t/720",[5,1.934,6,2.826,43,1.482,70,3.781,115,4.389,124,2.516,126,4.764,127,3.04,258,3.16,563,3.886,598,1.922,690,3.842,716,4.579,749,4.784,788,5.205,899,4.085,906,5.399,917,4.676,951,6.36,1171,5.643,1233,4.905,1241,5.968,1242,5.205,1243,6.463,1244,5.968,1245,5.968]],["t/722",[4,0.825,5,0.899,43,0.689,45,0.383,57,1.418,70,1.266,111,1.058,114,2.509,115,3.642,124,3.47,126,2.955,127,1.414,165,5.545,168,1.786,170,1.635,174,1.356,175,3.3,272,2.417,282,1.46,440,2.09,485,1.332,496,1.65,566,1.349,576,2.175,598,0.894,601,1.388,603,2.421,613,2.281,643,1.432,650,1.9,706,1.984,708,1.73,716,3.536,732,2.624,733,2.873,748,2.225,750,1.665,760,1.807,770,2.281,829,1.767,833,3.036,836,1.807,838,1.665,859,2.789,861,2.775,866,2.816,899,4.044,914,2.345,951,3.536,964,2.966,965,1.635,966,1.786,1008,1.522,1015,1.875,1031,2.051,1117,1.748,1135,5.909,1228,1.828,1229,1.984,1230,2.421,1246,3.005,1247,3.005,1248,2.775,1249,4.019,1250,1.984,1251,4.998,1252,2.511,1253,1.767,1254,2.345,1255,3.536,1256,3.005,1257,2.624,1258,3.005,1259,2.13]],["t/724",[4,1.014,35,1.414,40,0.775,52,1.464,69,3.107,72,2.195,129,1.727,258,3.606,371,2.618,440,1.929,469,2.513,563,4.434,565,2.222,584,3.226,585,2.305,601,1.707,605,2.222,635,4.481,650,2.335,651,2.884,666,3.962,690,2.196,713,2.44,725,4.184,735,3.082,750,2.046,757,2.149,790,6.161,791,2.884,830,3.226,834,2.403,835,2.735,836,2.222,898,2.305,899,4.661,903,2.976,911,2.368,917,2.673,918,2.403,964,3.51,965,3.212,994,2.884,1006,2.735,1008,1.871,1031,2.522,1063,3.412,1105,2.403,1117,2.149,1128,2.196,1212,3.087,1214,3.087,1242,2.976,1260,5.155,1261,3.226,1262,2.976,1263,3.087,1264,3.412,1265,3.695,1266,3.695,1267,3.412,1268,4.481,1269,3.226,1270,2.884,1271,3.695,1272,2.479,1273,5.453,1274,3.695]],["t/726",[5,1.217,6,2.473,39,3.055,56,2.194,57,1.156,69,3.352,70,3.744,111,1.432,124,3.058,126,1.879,127,1.914,166,4.973,272,1.32,282,1.976,387,1.758,567,2.274,577,2.213,625,3.227,691,3.757,703,2.274,706,2.686,714,3.175,715,3.175,716,2.883,718,2.538,731,2.686,750,2.253,760,2.446,763,2.045,825,3.088,841,3.011,908,2.176,926,2.392,944,2.342,945,3.088,964,2.418,1008,2.06,1233,7.769,1244,3.757,1245,5.884,1275,3.757,1276,3.552,1277,4.717,1278,4.068,1279,4.068,1280,7.854,1281,3.757,1282,4.068,1283,3.011,1284,4.068,1285,4.068,1286,3.011,1287,4.068,1288,3.088,1289,3.757,1290,3.399]],["t/728",[6,3.317,35,2.182,70,2.401,129,3.84,175,1.992,565,4.938,566,2.558,567,3.187,577,3.101,598,3.459,659,2.75,750,4.549,792,3.653,836,3.427,897,4.039,898,5.123,926,3.351,953,4.977,954,4.219,959,3.707,964,3.388,1015,3.556,1031,3.89,1290,4.762,1291,7.585,1292,5.264,1293,3.653,1294,4.977,1295,5.264]],["t/730",[6,3.202,124,2.451,598,1.872,659,3.037,735,3.285,749,6.523,834,4.093,849,3.978,911,4.034,913,6.517,926,3.701,990,5.813,1105,4.093,1123,4.912,1214,5.259,1235,5.813,1296,8.813,1297,6.294,1298,8.813,1299,6.294,1300,6.294,1301,5.813,1302,5.813,1303,4.659,1304,5.496,1305,5.07,1306,6.294]],["t/732",[6,2.091,671,4.805,693,4.256,714,5.182,723,4.532,771,3.712,792,4.256,834,5.947,909,5.04,910,5.798,911,4.256,936,5.548,964,3.947,1036,5.548,1189,5.182,1307,5.798,1308,5.548,1309,6.64,1310,5.348,1311,6.942,1312,5.182,1313,5.548,1314,6.64,1315,6.64,1316,6.64,1317,5.548,1318,5.798,1319,6.132]],["t/734",[6,3.249,258,3.888,559,6.206,561,6.035,562,5.754,563,4.781,564,5.635,622,6.035,651,6.206,823,6.035,932,5.635,960,5.754,1206,6.943,1242,6.405,1310,6.405,1320,7.952,1321,7.952]],["t/736",[35,3.643,620,7.302,757,5.537,823,7.224,926,5.596,1190,7.953,1322,8.311]],["t/738",[1,5.534,3,4.917,72,3.61,82,5.59,163,4.568,265,5.709,1323,9.71]],["t/740",[34,1.226,193,8.148,532,8.452,533,8.148]],["t/743",[169,7.535]],["t/746",[34,1.035,45,1.29,51,3.293,169,6.904,539,8.833]],["t/748",[1324,11.041]],["t/751",[37,4.986,89,5.925]],["t/754",[34,1.035,45,1.29,51,3.293,89,5.553,1325,10.117]],["t/756",[34,1.035,37,4.673,45,1.29,51,3.293,1326,10.117]],["t/758",[6,2.634,186,5.927,598,2.488,771,4.676,835,6.192,836,5.029,841,6.192,1015,5.218,1034,5.851,1260,7.304,1290,8.906,1327,5.152,1328,7.725]],["t/761",[6,2.46,56,2.176,57,1.799,63,1.842,69,2.123,70,2.667,163,1.898,164,3.763,221,1.564,258,1.973,259,2.578,271,1.949,272,1.309,280,2.857,440,2.552,577,4.25,598,1.2,659,1.947,690,3.763,731,2.664,748,2.986,749,2.986,760,2.426,771,2.255,789,2.586,831,3.116,872,2.986,875,2.804,914,3.148,918,2.623,1008,3.206,1012,3.062,1034,5.854,1088,3.726,1142,2.986,1143,4.94,1283,4.686,1293,4.057,1327,2.485,1329,3.522,1330,2.859,1331,3.062,1332,4.034,1333,5.098,1334,3.148,1335,5.331,1336,4.034,1337,3.249,1338,4.034,1339,4.034]],["t/763",[5,0.854,6,0.497,34,1.232,35,0.418,41,0.517,43,0.563,45,0.072,56,0.306,57,0.31,64,0.71,72,0.913,73,0.752,82,0.327,85,0.374,86,0.962,111,0.2,112,0.393,114,0.794,115,0.772,124,1.391,129,0.511,164,0.649,174,0.493,221,0.612,227,0.314,258,1.747,259,1.162,266,0.259,271,0.486,272,0.354,277,1.414,280,1.76,288,1.119,289,0.341,293,0.394,387,0.245,440,1.646,464,0.337,469,1.214,486,3.13,487,2.373,488,3.327,489,2.27,536,3.826,568,0.235,577,0.594,594,0.41,598,0.959,601,1.135,605,0.341,610,0.57,618,0.387,625,0.553,643,0.52,659,1.185,689,0.374,690,0.649,698,0.774,703,0.317,726,0.611,748,0.42,749,0.42,756,0.495,757,0.33,759,3.487,760,0.341,765,0.721,766,0.431,771,0.611,783,3.119,788,0.457,789,0.7,822,0.443,828,0.789,836,1.938,859,0.317,875,0.394,882,1.272,914,0.852,916,0.495,930,0.279,958,0.431,959,0.369,974,0.394,996,0.364,999,1.143,1008,0.287,1034,3.49,1042,0.457,1067,0.431,1090,0.431,1140,0.402,1142,1.505,1145,0.431,1155,0.495,1193,0.913,1231,0.333,1268,0.431,1293,0.364,1303,2.386,1331,0.431,1335,2.438,1340,0.524,1341,0.567,1342,0.495,1343,0.567,1344,0.387,1345,0.443,1346,2.457,1347,2.145,1348,2.457,1349,5.941,1350,2.457,1351,2.033,1352,0.9,1353,0.721,1354,0.567,1355,0.495,1356,0.524,1357,0.567,1358,5.287,1359,1.092,1360,0.567,1361,0.665,1362,0.567,1363,1.169,1364,2.323,1365,2.386,1366,0.759,1367,0.954,1368,1.092,1369,1.092,1370,2.033,1371,2.021,1372,1.58,1373,1.092,1374,0.954,1375,0.567,1376,0.443,1377,0.457,1378,0.443,1379,0.457,1380,0.567,1381,0.42,1382,0.394,1383,0.567]],["t/765",[6,0.918,34,0.298,39,1.397,40,1.533,52,2.896,56,1.572,57,2.077,72,1.084,111,1.026,124,1.894,146,1.645,221,1.886,227,2.694,259,1.187,271,1.497,272,0.946,297,1.678,440,1.589,485,1.67,486,2.395,598,2.903,608,1.842,641,4.133,681,2.026,687,1.678,733,1.678,735,1.521,757,1.695,759,1.354,760,1.752,771,2.719,820,1.559,822,2.275,831,1.435,836,1.752,838,1.614,871,2.212,875,2.026,908,1.559,951,2.065,958,3.692,959,3.163,974,3.38,1009,3.499,1012,2.212,1014,1.455,1034,5.897,1090,2.212,1106,3.075,1117,1.695,1123,2.275,1139,1.695,1182,2.158,1283,2.158,1329,2.545,1331,3.692,1335,4.272,1364,1.895,1376,2.275,1377,2.348,1378,2.275,1379,2.348,1384,2.435,1385,5.781,1386,2.545,1387,4.864,1388,2.692,1389,1.842,1390,2.915,1391,2.915,1392,2.692,1393,2.915,1394,2.915,1395,2.692]],["t/767",[6,1.219,111,1.363,124,1.508,221,2.949,227,2.145,259,1.577,271,1.192,272,1.256,277,3.529,297,2.229,427,2.643,440,2.002,485,2.03,568,2.544,598,2.572,605,2.328,641,5.711,703,2.165,726,2.165,757,2.253,760,2.328,771,4.835,791,3.022,820,2.071,828,1.933,880,3.119,908,2.071,958,2.939,959,3.986,974,2.691,1008,1.961,1012,2.939,1034,5.763,1090,2.939,1139,2.253,1234,2.939,1283,2.867,1329,3.381,1333,6.127,1334,3.022,1335,5.903,1337,3.119,1376,3.022,1377,3.119,1378,3.022,1385,3.576,1386,3.381,1396,3.873,1397,3.873,1398,7.025,1399,2.643,1400,3.873]],["t/769",[5,2.461,92,3.591,221,3.187,598,3.136,771,4.597,908,4.398,958,6.241,974,5.714,1034,4.513,1327,5.064,1335,5.612,1376,6.417,1377,6.623,1378,6.417,1401,7.179]],["t/771",[5,1.027,6,2.541,56,1.851,57,2.522,70,1.446,72,1.276,111,1.208,112,2.004,124,1.336,175,1.945,221,1.331,259,2.266,271,1.057,272,2.277,387,2.405,440,1.121,486,1.69,567,1.919,568,1.425,577,1.867,590,2.541,591,2.385,598,1.021,643,1.635,674,2.342,687,1.976,703,1.919,726,1.919,735,1.792,748,2.541,759,1.595,760,3.346,763,1.726,771,3.111,789,2.2,828,2.778,831,3.455,836,2.064,852,1.678,866,1.937,875,2.385,904,2.679,930,2.739,1009,1.919,1014,1.713,1034,3.852,1035,2.997,1140,2.432,1143,4.343,1170,4.026,1188,3.17,1241,3.17,1251,2.303,1293,2.2,1331,2.605,1333,4.482,1334,2.679,1335,3.798,1399,2.342,1402,3.17,1403,4.482,1404,3.17,1405,3.17,1406,2.064,1407,2.385,1408,2.605,1409,2.342,1410,2.997,1411,1.69,1412,3.432,1413,3.17,1414,3.432]],["t/775",[16,1.498,34,1.222,39,2.138,72,2.159,163,1.237,184,1.794,272,0.853,277,3.939,387,2.51,389,1.794,486,3.369,568,1.091,598,0.782,641,2.945,643,2.125,688,1.563,733,2.568,759,4.124,819,1.827,885,1.71,908,2.385,1117,1.529,1128,2.651,1129,1.827,1140,1.863,1293,1.685,1311,3.385,1349,2.002,1411,1.294,1415,1.6,1416,2.428,1417,2.296,1418,4.119,1419,2.296,1420,4.116,1421,1.484,1422,1.546,1423,3.385,1424,2.629,1425,2.197,1426,1.995,1427,1.827,1428,1.946,1429,2.197,1430,2.296,1431,4.533,1432,4.853,1433,2.296,1434,3.481,1435,2.296,1436,3.385,1437,2.296,1438,1.946,1439,2.197,1440,2.629,1441,4.46,1442,3.894,1443,4.46,1444,4.46,1445,4.46,1446,2.484,1447,4.46,1448,4.46,1449,2.629,1450,2.629,1451,2.629,1452,2.629,1453,2.629,1454,2.629,1455,2.629,1456,2.428,1457,2.629,1458,2.629,1459,2.428,1460,1.995,1461,1.736,1462,2.052,1463,1.736,1464,2.197]],["t/778",[52,1.599,57,1.799,163,1.898,566,1.811,585,2.516,598,1.2,601,1.864,610,3.304,641,2.664,643,1.922,659,1.947,694,3.148,726,2.255,735,2.106,881,3.726,898,2.516,1007,4.94,1009,6.496,1034,6.502,1090,5.929,1106,4.938,1145,3.062,1376,4.94,1377,5.098,1378,3.148,1379,3.249,1398,8.171,1420,2.859,1460,4.804,1461,5.158,1465,3.522,1466,3.522,1467,5.846,1468,2.753,1469,3.726,1470,7.214,1471,1.875,1472,3.522,1473,4.034,1474,4.034]],["t/780",[6,2.386,34,1.023,57,3.181,146,4.277,820,4.053,1009,6.914,1034,5.488,1420,5.369,1460,5.751,1461,6.601,1463,5.003,1475,7.578]],["t/782",[6,2.504,34,1.056,52,4.089,598,2.365,820,4.253,1009,6.403,1034,6.287,1376,6.206,1388,7.344,1420,5.635,1460,6.035,1461,5.25]],["t/784",[72,3.057,146,4.641,277,6.07,598,2.445,838,4.554,964,4.888,1034,5.787,1128,6.267,1191,6.087,1293,5.27,1399,5.612,1476,6.623,1477,7.594]],["t/786",[6,1.337,40,0.891,52,3.605,69,2.235,72,1.579,163,1.998,198,2.063,199,2.023,277,4.648,297,2.445,427,2.898,469,1.807,598,1.96,601,3.044,608,2.684,625,2.151,723,2.898,820,2.271,830,3.708,852,3.222,875,4.579,909,3.223,965,2.311,1009,3.683,1014,4.03,1034,2.331,1128,5.408,1182,3.144,1231,2.497,1293,2.722,1402,3.922,1403,6.502,1476,5.307,1478,3.708,1479,3.708,1480,3.922,1481,3.708,1482,3.314,1483,3.922,1484,3.708,1485,3.421,1486,3.073,1487,3.421,1488,3.708,1489,3.314,1490,5.142,1491,4.247,1492,4.247,1493,4.247,1494,4.247,1495,3.922,1496,4.247]],["t/788",[277,2.177,389,2.581,486,5.121,619,2.329,643,1.801,759,6.002,820,2.023,1009,2.114,1128,2.248,1129,2.628,1417,9.083,1418,6.916,1419,9.083,1420,2.68,1432,6.257,1461,2.497,1462,2.951,1463,2.497,1464,3.159,1497,3.782,1498,3.782,1499,7.489,1500,7.489,1501,7.489,1502,7.489,1503,7.489,1504,9.607]],["t/790",[72,2.817,387,3.275,598,2.973,659,3.656,723,5.172,760,4.556,773,4.79,864,5.609,885,4.927,1014,3.783,1120,6.331,1331,5.751,1429,6.331,1505,5.914,1506,5.266,1507,7.588,1508,5.609,1509,5.609,1510,7.578]],["t/792",[34,0.605,57,1.68,146,3.335,258,4.804,591,4.107,791,4.612,849,3.735,1009,7.048,1034,6.216,1293,3.787,1333,6.788,1384,7.042,1411,2.909,1460,6.397,1461,7.072,1511,5.909,1512,5.909,1513,8.428]],["t/794",[34,0.59,52,2.286,486,4.078,487,7.105,488,6.399,759,2.681,791,4.502,1009,4.631,1034,5.32,1067,6.287,1128,3.429,1303,7.175,1330,4.087,1364,3.751,1365,4.27,1366,4.009,1461,3.808,1463,3.808,1476,4.646,1490,4.502,1514,5.768,1515,5.327,1516,5.768,1517,5.327,1518,5.327,1519,4.502,1520,5.327]],["t/796",[5,0.65,29,0.182,40,0.794,43,0.869,52,0.195,72,1.301,110,0.949,111,1.772,112,2.7,259,0.885,266,3.422,267,0.975,272,2.615,277,0.284,280,0.223,286,2.762,440,2.23,464,1.169,469,1.611,472,3.252,486,1.414,487,6.891,488,1.673,489,0.515,566,3.617,568,2.5,598,1.04,697,1.307,726,0.276,759,1.887,828,1.89,1006,0.365,1067,2.181,1128,0.824,1200,1.322,1303,3.006,1352,0.281,1364,0.62,1365,5.888,1366,1.245,1371,0.982,1417,1.21,1419,0.833,1436,2.424,1463,0.326,1504,1.28,1517,0.455,1518,0.455,1519,0.385,1520,0.455,1521,0.493,1522,0.493,1523,0.493,1524,0.493,1525,0.455,1526,0.493,1527,0.493,1528,3.787,1529,2.533,1530,4.061,1531,0.493,1532,2.533,1533,2.873,1534,0.954,1535,0.954,1536,2.174,1537,0.493,1538,4.322,1539,2.174,1540,0.493,1541,0.493,1542,1.792,1543,0.493,1544,2.533,1545,0.493,1546,0.493,1547,0.493,1548,0.493,1549,1.386,1550,0.493,1551,0.493,1552,0.455,1553,1.386,1554,0.493,1555,1.386,1556,1.386,1557,0.493,1558,0.954,1559,0.493,1560,3.787,1561,0.455,1562,0.493,1563,0.493,1564,0.431,1565,0.493,1566,0.493,1567,0.493,1568,0.455,1569,0.493,1570,0.357,1571,0.493,1572,6.827,1573,0.954,1574,0.954,1575,0.954,1576,6.827,1577,0.954,1578,0.954,1579,0.954,1580,0.954,1581,0.954,1582,0.954,1583,0.954,1584,0.954,1585,0.954,1586,0.954,1587,0.954,1588,0.954,1589,0.954,1590,0.954,1591,0.954,1592,0.954,1593,0.954,1594,0.954,1595,0.954,1596,0.954,1597,0.954,1598,0.954,1599,0.954,1600,0.954,1601,0.954,1602,0.954,1603,0.493,1604,0.493,1605,0.493,1606,0.493,1607,0.493,1608,0.493,1609,0.493,1610,0.493,1611,0.493,1612,0.493,1613,0.493,1614,0.493,1615,0.493,1616,0.493,1617,0.493,1618,0.493,1619,0.493,1620,0.493,1621,0.493,1622,0.493,1623,0.493,1624,0.493,1625,0.493,1626,0.493,1627,0.493,1628,0.493,1629,0.493,1630,0.493,1631,0.493,1632,0.493,1633,0.493,1634,0.493,1635,0.493,1636,0.493,1637,0.493,1638,0.493,1639,0.493,1640,0.493,1641,0.493,1642,0.493,1643,0.493,1644,0.493,1645,0.493,1646,0.493,1647,0.493,1648,0.493,1649,0.493,1650,0.493,1651,0.493,1652,0.493,1653,0.493,1654,0.493,1655,0.493,1656,0.493,1657,0.493,1658,0.493,1659,0.493,1660,0.493,1661,0.493,1662,0.493,1663,0.493,1664,0.493,1665,0.493,1666,0.493,1667,0.493,1668,0.493,1669,0.493,1670,0.493,1671,0.493,1672,0.493,1673,0.493,1674,0.493,1675,0.493,1676,0.493,1677,0.493,1678,0.493,1679,0.493,1680,0.493,1681,0.493,1682,0.493,1683,0.493,1684,0.493,1685,0.493,1686,0.493,1687,0.493,1688,0.493,1689,0.493,1690,0.493,1691,0.493,1692,0.493,1693,0.493,1694,0.493,1695,0.493,1696,0.493,1697,0.493,1698,0.493,1699,0.493,1700,0.493,1701,0.493,1702,0.493,1703,0.493,1704,0.493,1705,0.493,1706,0.493,1707,0.493,1708,0.493,1709,0.493,1710,0.493,1711,0.493,1712,0.493,1713,0.493,1714,0.493,1715,0.493,1716,0.493,1717,0.493,1718,0.493,1719,0.493,1720,0.493,1721,0.493,1722,0.493,1723,0.493,1724,0.493,1725,0.493,1726,0.493,1727,0.493,1728,0.493,1729,0.493,1730,0.493,1731,0.493,1732,0.493,1733,0.493,1734,0.493,1735,0.493,1736,0.493,1737,0.493,1738,0.493,1739,0.493,1740,0.493,1741,0.493,1742,0.493,1743,0.493,1744,0.493,1745,0.493,1746,0.493]],["t/798",[5,0.603,6,0.89,40,0.227,43,0.248,52,2.262,56,1.087,57,0.573,69,0.569,70,1.191,72,1.952,124,0.421,126,0.5,168,0.643,198,0.525,199,0.515,221,1.839,277,2.04,297,3.287,387,2.467,427,3.896,464,0.334,486,5.095,487,3.957,566,0.485,567,1.126,592,0.871,598,2.038,608,5.335,650,0.684,683,0.714,723,0.738,735,0.564,750,0.599,757,0.629,759,0.936,771,0.605,778,0.766,780,0.782,819,0.752,852,0.529,864,0.8,866,0.61,878,1.86,901,0.821,911,2.271,913,0.693,918,1.31,927,5.239,928,0.821,947,0.738,960,0.782,964,1.198,965,0.588,974,1.4,1008,0.548,1014,0.54,1022,0.766,1067,4.937,1082,0.999,1105,0.703,1125,1.839,1128,3.121,1129,0.752,1142,0.8,1182,5.913,1191,2.093,1212,0.904,1231,0.636,1238,0.999,1239,2.511,1286,0.8,1290,0.904,1318,5.982,1322,0.944,1327,1.241,1330,2.004,1366,5.551,1395,6.327,1407,1.4,1484,0.944,1485,0.871,1490,2.207,1508,2.623,1747,1.529,1748,0.999,1749,1.081,1750,0.999,1751,1.081,1752,0.944,1753,1.081,1754,0.999,1755,1.86,1756,0.999,1757,1.081,1758,1.081,1759,1.081,1760,1.081,1761,0.999,1762,0.782,1763,2.015,1764,0.999,1765,0.999,1766,0.871,1767,6.505,1768,6.505,1769,6.505,1770,6.505,1771,4.177,1772,1.081,1773,2.015,1774,4.177,1775,1.081,1776,1.759,1777,2.015,1778,1.529,1779,3.543,1780,2.015,1781,3.543,1782,2.015,1783,2.015,1784,2.015,1785,2.015,1786,2.015,1787,0.904,1788,2.015,1789,0.844,1790,1.081,1791,1.081,1792,1.081,1793,1.081]],["t/802",[1794,10.333,1795,10.333,1796,10.333,1797,10.333]],["t/804",[6,3.253,57,2.937,74,6.075,1798,10.333]],["t/806",[1799,11.041]],["t/809",[22,6.115]],["t/811",[175,3.393,342,8.112,343,6.314,344,8.112,345,7.37,346,6.137,1254,7.578]],["t/813",[27,5.237,28,5.15,30,5.772,32,6.748,828,4.847,1800,8.967,1801,6.748]],["t/816",[34,0.775,35,3.826,40,1.59,41,1.593,42,1.617,43,1.738,44,1.533,45,0.966,73,3.61,111,2.668,112,2.73,271,2.333,341,7.636,346,4.79,472,3.058,737,6.616,1802,7.578,1803,7.578]],["t/819",[34,1.014,45,1.263,271,3.05,342,8.279,469,4.217,1804,9.909]],["t/821",[34,1.196,45,1.238,271,2.989,343,6.314,1349,4.358,1805,9.71]],["t/823",[34,1.014,45,1.263,61,4.845,344,8.279,469,4.217,1806,9.909]],["t/825",[34,1.283,45,1.238,175,4.086,1807,9.71]],["t/827",[34,1.283,45,1.238,123,6.314,345,7.37,1808,9.71]],["t/829",[34,1.035,45,1.29,1254,7.895,1809,7.168,1810,10.117]],["t/831",[34,1.035,45,1.29,271,3.114,346,6.394,1811,10.117]],["t/834",[27,5.449,34,0.788,35,2.946,38,3.227,39,3.691,44,1.557,45,0.981,73,4.812,129,3.599,141,5.165,341,8.17,954,5.699,1117,4.478,1812,7.699,1813,7.699]],["t/836",[34,0.903,44,1.785,45,1.125,129,4.125,175,3.083,831,4.344,1800,8.148,1814,6.79,1815,7.372,1816,8.823,1817,8.823]],["t/838",[6,1.54,34,0.501,35,1.872,40,1.54,41,1.029,42,1.044,43,1.122,44,0.99,45,0.624,48,1.587,70,2.061,112,1.762,118,2.876,129,2.287,174,2.208,175,3.078,266,2.233,267,2.662,268,5.571,271,3.013,272,1.587,318,3.54,440,1.598,463,3.135,464,1.511,469,2.082,472,1.974,568,2.031,601,2.26,831,3.613,859,2.735,1002,3.818,1251,3.282,1818,4.892,1819,5.816,1820,5.816,1821,5.912,1822,3.713,1823,4.639,1824,4.518,1825,4.892,1826,4.892]],["t/840",[28,4.761,34,0.661,40,1.356,41,1.359,42,1.379,43,1.482,44,1.307,45,0.824,61,4.389,62,3.182,64,4.202,66,4.579,69,3.4,73,5.308,129,3.022,341,7.991,689,4.267,882,3.347,1204,4.905,1827,5.968,1828,5.044,1829,6.463,1830,6.463]],["t/842",[4,2.111,5,2.301,34,0.533,37,3.552,40,1.093,41,1.095,42,1.111,43,1.195,44,1.054,45,0.664,48,2.495,111,1.834,112,1.876,114,3.866,115,3.76,116,4.624,118,5.935,124,3.93,126,4.223,127,4.301,129,2.435,174,2.351,271,2.367,829,4.521,859,2.912,1824,4.81,1831,4.81,1832,7.69,1833,5.209,1834,5.209]],["t/844",[3,3.962,9,4.256,30,4.65,34,0.8,44,1.583,45,0.997,73,5.738,82,5.877,129,3.658,341,6.967,1835,8.914,1836,7.823,1837,7.823]],["t/846",[3,3.317,34,0.67,35,3.467,38,2.746,39,3.14,40,1.374,41,1.377,42,1.398,43,1.502,44,1.325,45,0.835,73,5.797,81,4.552,82,6.452,341,8.03,954,4.849,1835,5.719,1838,6.55]],["t/848",[1,5.219,2,7.147,3,4.637,18,4.982,20,5.955,21,5.219,146,5.168,787,6.95,1839,9.158,1840,7.996]],["t/851",[22,6.115]],["t/853",[16,6.152,17,6.279]],["t/855",[26,7.367,28,5.726]],["t/858",[16,5.472,17,6.314,34,0.73,35,3.674,38,2.989,39,3.418,40,1.496,41,1.499,42,1.522,43,1.636,44,1.443,45,0.909,48,3.115,70,4.044,209,7.854,1841,7.13,1842,7.13]],["t/861",[16,5.766,34,1.035,45,1.29,48,3.282,1843,10.117]],["t/863",[17,5.885,34,1.035,45,1.29,48,3.282,1844,10.117]],["t/866",[16,4.252,17,4.34,18,5.384,26,5.092,34,0.763,41,1.569,42,1.592,44,2.002,45,0.951,51,3.221,57,2.813,73,5.289,138,7.722,582,4.781,1845,7.461]],["t/868",[18,5.384,28,5.249,34,0.763,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,61,4.839,62,3.673,63,4.518,66,5.286,69,3.925,209,5.398,1846,6.89,1847,6.89,1848,7.461]],["t/870",[1,4.125,110,3.161,112,2.607,129,3.384,148,4.046,286,3.972,486,3.563,489,3.903,496,3.972,601,3.343,763,3.638,820,3.871,930,3.563,1105,4.706,1139,5.64,1849,7.237,1850,5.237,1851,6.684,1852,6.319,1853,4.706,1854,4.947,1855,5.829]],["t/873",[22,6.115]],["t/875",[944,4.734,1856,7.179,1857,7.179,1858,6.623,1859,6.623,1860,7.179,1861,6.87,1862,7.594,1863,6.623,1864,6.623,1865,7.179,1866,7.594,1867,7.179,1868,4.435,1869,7.179,1870,6.417]],["t/877",[27,4.512,29,3.085,930,4.118,1853,5.439,1871,7.725,1872,8.365,1873,6.349,1874,8.365,1875,8.365,1876,8.365,1877,8.365,1878,7.725,1879,8.365,1880,6.053,1881,7.725]],["t/880",[34,0.644,35,3.373,38,2.639,39,3.018,40,1.32,41,1.324,42,1.343,43,1.444,44,1.273,45,0.802,48,2.042,144,4.496,271,3.13,286,3.455,464,1.944,472,2.54,1227,6.114,1352,3.587,1411,3.099,1854,3.211,1859,7.098,1865,5.496,1870,6.877,1882,6.294,1883,5.07,1884,6.294]],["t/883",[34,1.182,45,1.213,92,4.157,271,2.93,1856,8.311,1885,7.953,1886,9.519]],["t/885",[34,1.196,45,1.238,271,2.989,1349,4.358,1857,8.478,1887,9.71]],["t/887",[34,1.154,40,1.615,41,1.619,42,2.156,44,1.557,45,0.981,48,4.033,144,5.752,289,4.629,1858,6.201,1888,7.699]],["t/889",[34,1.035,45,1.29,271,3.114,1859,8.148,1889,10.117]],["t/891",[34,1.035,45,1.29,496,5.553,1860,8.833,1890,10.117]],["t/893",[34,1.283,45,1.238,48,3.15,1861,8.112,1891,9.71]],["t/895",[34,1.196,45,1.238,271,2.989,1349,4.358,1862,8.967,1892,9.71]],["t/897",[34,1.196,45,1.238,271,2.989,1349,4.358,1863,7.821,1893,9.71]],["t/899",[34,1.035,45,1.29,48,3.282,1864,8.148,1894,10.117]],["t/901",[34,1.035,45,1.29,271,3.114,1865,8.833,1895,10.117]],["t/903",[34,1.154,40,1.615,41,1.619,42,2.156,44,1.557,45,0.981,48,4.033,144,5.752,289,4.629,1866,7.11,1896,7.699]],["t/905",[34,1.035,45,1.29,496,5.553,1867,8.833,1897,10.117]],["t/907",[34,1.283,45,1.238,48,3.15,1868,5.237,1898,9.71]],["t/909",[34,1.196,45,1.238,61,4.748,689,6.411,1869,8.478,1899,9.71]],["t/911",[34,1.035,45,1.29,48,3.282,1870,7.895,1900,10.117]],["t/913",[34,1.283,45,1.238,48,3.15,944,5.59,1901,9.71]],["t/916",[34,0.788,44,1.557,45,0.981,112,3.639,271,3.11,472,4.077,650,6.385,865,5.154,1223,4.684,1871,7.11,1902,8.137,1903,7.158,1904,7.699]],["t/918",[1,4.851,27,6.38,34,0.871,44,1.722,45,1.085,73,5.134,141,7.232,1227,6.481,1905,8.512]],["t/920",[34,0.775,40,1.59,41,1.593,42,1.617,43,1.738,44,1.533,45,0.966,48,2.458,110,5.196,174,3.42,271,3.078,1008,3.837,1228,4.61,1853,4.927,1854,3.866,1906,6.616,1907,7.578]],["t/922",[34,0.719,40,1.474,41,1.478,42,1.499,43,1.612,44,1.422,45,0.896,48,2.28,92,3.069,110,4.151,271,2.163,485,1.875,498,6.14,613,5.333,1139,4.087,1228,4.275,1231,4.131,1814,5.854,1853,4.569,1854,3.585,1908,7.027,1909,7.027]],["t/924",[34,0.841,44,1.664,45,1.048,144,4.195,280,3.711,718,5.129,944,4.734,1003,6.241,1814,6.493,1854,4.195,1868,4.435,1873,8.002,1883,6.623,1910,8.223]],["t/926",[34,0.775,40,1.59,41,1.593,42,1.617,43,1.738,44,1.533,45,0.966,92,3.309,271,2.333,485,2.022,498,5.698,613,5.751,1139,4.408,1231,4.455,1814,6.157,1854,3.866,1873,5.751,1911,7.578,1912,7.578]],["t/928",[34,1.228,40,1.453,41,1.456,42,1.478,43,1.589,44,1.401,45,0.883,48,3.054,112,2.495,271,2.132,472,4.315,665,4.647,1471,4.375,1815,7.865,1913,6.926,1914,5.95,1915,6.926]],["t/930",[34,0.8,40,1.641,41,1.645,42,1.669,43,1.794,44,1.583,45,0.997,48,3.312,174,5.129,271,2.408,859,4.373,1868,6.13,1916,7.823,1917,7.823]],["t/932",[34,0.73,40,1.496,41,1.499,42,1.522,43,1.636,44,1.443,45,0.909,61,4.694,62,3.51,63,3.255,112,2.568,271,2.195,472,4.38,665,4.784,1174,7.732,1471,5.044,1854,3.638,1918,7.13,1919,7.13]],["t/934",[29,4.127,34,0.775,40,1.59,41,1.593,42,1.617,43,1.738,44,1.533,45,0.966,48,3.63,49,4.087,144,6.07,464,2.34,1920,7.578,1921,7.578]],["t/936",[34,0.763,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,48,2.42,496,4.095,598,2.219,896,5.398,1013,3.864,1228,4.539,1471,3.467,1814,6.094,1854,5.664,1868,4.024,1922,7.461,1923,7.461]],["t/938",[34,0.775,40,1.59,41,1.593,42,1.617,44,1.533,45,0.966,112,2.73,146,4.277,271,2.333,472,4.034,930,3.73,1009,4.236,1014,3.783,1253,4.455,1814,6.157,1868,4.087,1924,7.578,1925,7.578,1926,7.578]],["t/940",[34,0.73,40,1.496,41,1.499,42,1.522,44,1.443,45,0.909,69,3.752,112,2.568,271,2.195,472,3.874,598,2.855,885,4.637,930,3.51,1183,5.743,1253,4.192,1809,5.052,1814,5.913,1852,6.226,1868,3.846,1927,7.13,1928,4.391,1929,7.13]],["t/942",[34,1.066,40,1.168,41,1.171,42,1.188,43,1.277,44,1.127,45,0.71,112,2.909,271,2.486,464,1.72,472,2.247,486,4.678,487,4.913,489,3.004,496,3.057,650,3.52,773,3.52,865,2.841,930,2.742,1349,2.499,1352,3.174,1366,3.87,1814,4.974,1859,4.485,1868,5.125,1902,4.485,1903,3.946,1930,5.569,1931,4.029,1932,4.653,1933,5.569,1934,5.143,1935,5.569]],["t/944",[34,0.679,40,1.393,41,1.396,42,1.417,43,1.523,44,1.343,45,0.846,48,2.154,110,4.569,112,2.392,271,2.815,463,4.256,472,2.68,496,3.645,498,5.963,1228,4.04,1814,5.633,1854,3.388,1868,3.582,1936,6.64,1937,9.146,1938,6.64,1939,6.64]],["t/946",[1,4.686,2,6.417,3,4.164,18,4.473,20,5.347,21,6.009,787,6.241,995,5.714,1361,6.414,1392,7.594,1940,8.223,1941,5.129,1942,8.223,1943,8.223]],["t/949",[22,6.115]],["t/951",[16,6.152,17,6.279]],["t/953",[26,7.206,28,5.601,1944,10.559]],["t/956",[16,5.472,17,6.314,34,0.73,35,3.674,38,2.989,39,3.418,40,1.496,41,1.499,42,1.522,43,1.636,44,1.443,45,0.909,48,3.115,70,4.044,210,7.854,1945,7.13,1946,7.13]],["t/959",[16,5.766,34,1.035,45,1.29,48,3.282,1947,10.117]],["t/961",[17,5.885,34,1.035,45,1.29,48,3.282,1948,10.117]],["t/964",[16,4.252,17,4.34,18,5.384,26,5.092,34,0.763,41,1.569,42,1.592,44,2.002,45,0.951,51,3.221,57,2.813,73,5.289,138,7.722,582,4.781,1949,7.461]],["t/966",[16,6.14,17,4.087,18,3.823,34,0.973,40,1.474,41,1.478,42,2.463,43,1.612,44,1.422,45,0.896,48,2.28,62,3.459,63,3.208,70,4.005,1814,5.854,1950,7.027,1951,6.489,1952,7.027]],["t/968",[18,5.384,28,5.249,34,0.763,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,61,4.839,62,3.673,63,4.518,66,5.286,69,3.925,210,5.398,1846,6.89,1847,6.89,1953,7.461]],["t/970",[1954,11.041]],["t/973",[22,6.115]],["t/975",[9,4.473,28,4.361,472,3.318,944,4.734,1116,7.179,1411,4.048,1471,3.821,1858,6.623,1870,6.417,1955,7.594,1956,7.594,1957,6.623,1958,7.594,1959,7.594,1960,7.594,1961,7.594]],["t/977",[27,4.939,763,4.604,1228,5.571,1962,9.158,1963,9.158,1964,9.158,1965,9.158,1966,9.158,1967,9.158,1968,9.158]],["t/980",[34,0.982,35,2.729,40,1.496,41,1.499,42,1.522,44,1.443,45,0.909,48,3.521,144,3.638,271,2.955,472,2.877,1809,6.803,1870,7.492,1957,7.732,1969,7.13,1970,9.601,1971,7.13]],["t/983",[34,1.035,45,1.29,271,3.114,1116,8.833,1972,10.117]],["t/985",[34,1.035,45,1.29,271,3.114,472,4.082,1973,10.117]],["t/987",[28,4.083,34,1.154,40,1.615,41,1.619,42,2.156,44,1.557,45,0.981,61,5.514,289,4.629,1427,7.836,1809,7.158,1974,7.699]],["t/989",[34,1.035,45,1.29,92,4.418,1955,9.343,1975,10.117]],["t/991",[34,1.035,45,1.29,92,4.418,1956,9.343,1976,10.117]],["t/993",[34,1.154,40,1.615,41,1.619,42,2.156,44,1.557,45,0.981,48,4.033,144,5.752,289,4.629,1858,6.201,1977,7.699]],["t/995",[34,1.035,45,1.29,271,3.114,1957,8.148,1978,10.117]],["t/997",[34,1.035,45,1.29,271,3.114,1958,9.343,1979,10.117]],["t/999",[34,1.035,45,1.29,1411,4.98,1980,10.117,1981,10.117]],["t/1001",[34,1.035,45,1.29,271,3.114,1959,9.343,1982,10.117]],["t/1003",[34,1.035,45,1.29,48,3.282,1471,4.701,1983,10.117]],["t/1005",[9,4.631,34,1.312,42,1.816,44,1.722,45,1.085,51,3.85,289,5.118,1984,8.512]],["t/1007",[34,1.035,45,1.29,48,3.282,1870,7.895,1985,10.117]],["t/1009",[34,1.035,45,1.29,48,3.282,944,5.824,1986,10.117]],["t/1011",[34,1.145,40,1.59,41,1.593,42,2.133,44,1.533,45,0.966,51,3.255,79,6.807,289,4.556,1809,7.928,1960,6.998,1987,6.616,1988,7.578]],["t/1013",[34,1.198,40,1.356,41,1.359,42,1.915,44,1.307,45,0.824,48,3.615,61,5.043,144,4.579,289,3.886,387,4.457,1858,8.307,1961,5.968,1987,5.643,1989,7.837,1990,6.463]],["t/1016",[27,5.237,34,0.993,44,1.964,45,1.238,1809,8.284,1991,9.71]],["t/1018",[34,0.903,40,1.851,41,1.855,42,1.883,44,1.785,45,1.125,174,3.982,271,2.716,1989,9.626,1992,8.823,1993,8.823]],["t/1020",[34,0.856,40,1.755,41,1.759,42,1.785,44,1.692,45,1.066,271,3.281,1989,9.307,1994,8.365,1995,10.66,1996,8.365,1997,8.365]],["t/1022",[34,0.903,40,1.851,41,1.855,42,1.883,44,1.785,45,1.125,48,3.577,174,3.982,271,2.716,1998,8.823,1999,8.823]],["t/1024",[34,0.903,40,1.851,41,1.855,42,1.883,44,1.785,45,1.125,48,3.577,174,3.982,271,2.716,2000,8.823,2001,8.823]],["t/1026",[34,0.903,40,1.851,41,1.855,42,1.883,44,1.785,45,1.125,48,2.863,464,2.725,1814,6.79,2002,8.823,2003,8.823]],["t/1028",[34,0.856,40,1.755,41,1.759,42,1.785,44,1.692,45,1.066,48,2.714,174,3.775,271,2.575,464,3.292,1814,6.565,2004,8.365,2005,8.365]],["t/1030",[34,0.856,40,1.755,41,1.759,42,1.785,44,1.692,45,1.066,48,2.714,174,3.775,271,2.575,464,3.292,1814,6.565,2006,8.365,2007,8.365]],["t/1032",[34,0.814,40,1.668,41,1.672,42,1.697,44,1.609,45,1.014,174,3.589,271,3.867,472,4.164,1957,8.31,2008,7.952,2009,7.952]],["t/1034",[34,0.814,40,1.668,41,1.672,42,1.697,44,1.609,45,1.014,174,3.589,271,3.867,472,4.164,1957,8.31,2010,7.952,2011,7.952]],["t/1036",[57,2.937,74,6.075,175,3.611,2012,10.333]],["t/1038",[2013,11.041]],["t/1041",[22,6.115]],["t/1043",[163,2.923,170,3.38,258,3.038,272,2.016,279,5.004,281,5.004,310,4.496,318,4.496,345,4.716,346,3.927,405,4.599,429,2.979,1254,4.849,1819,4.102,1820,4.102,1821,5.004,2014,5.738,2015,5.738,2016,5.738,2017,4.04,2018,4.849,2019,4.849,2020,5.738,2021,5.738,2022,5.425,2023,5.738,2024,5.425,2025,5.738,2026,5.738,2027,4.849,2028,5.738,2029,5.738,2030,5.738,2031,5.738,2032,5.738]],["t/1045",[27,3.963,28,3.897,30,4.367,32,5.106,297,5.639,427,5.014,1478,6.415,2033,7.347,2034,6.785,2035,7.347,2036,7.347,2037,7.347,2038,6.785,2039,6.785,2040,6.785,2041,6.785,2042,6.785,2043,6.785,2044,6.138,2045,7.347,2046,6.785,2047,7.347]],["t/1048",[6,2.329,34,0.506,35,2.831,40,1.037,41,1.039,42,1.055,43,1.134,44,1,45,0.63,48,1.603,52,1.958,70,2.082,73,2.354,111,1.74,112,1.78,118,2.906,175,3.863,266,2.256,267,2.689,318,3.576,341,3.373,463,3.167,464,1.526,472,1.994,598,2.2,737,4.315,750,2.737,1251,3.316,1286,3.658,1819,5.852,1820,5.852,1821,5.957,1822,3.751,1823,4.675,2017,5.763,2022,6.458,2048,4.942,2049,4.942]],["t/1051",[34,1.196,45,1.238,271,2.989,2014,8.967,2050,6.627,2051,9.71]],["t/1053",[34,1.196,45,1.238,271,2.989,488,6.411,2015,8.967,2052,9.71]],["t/1055",[34,1.014,45,1.263,469,4.217,1809,7.021,2016,9.151,2053,9.909]],["t/1057",[34,1.283,45,1.238,429,5.605,2054,9.71]],["t/1059",[34,1.035,45,1.29,2017,7.791,2055,10.117]],["t/1061",[34,1.196,45,1.238,271,2.989,1349,4.358,2018,7.578,2056,9.71]],["t/1063",[34,1.283,45,1.238,163,4.568,167,7.578,2057,9.71]],["t/1065",[34,1.035,45,1.29,1821,8.148,1823,6.394,2058,10.117]],["t/1067",[34,1.014,45,1.263,271,3.05,469,4.217,2019,7.733,2059,9.909]],["t/1069",[34,1.035,45,1.29,429,4.85,2020,9.343,2060,10.117]],["t/1071",[34,1.014,45,1.263,48,3.215,469,4.217,2021,9.151,2061,9.909]],["t/1073",[34,1.283,37,4.485,45,1.238,310,7.026,2062,9.71]],["t/1075",[34,1.035,45,1.29,341,6.904,2022,8.833,2063,10.117]],["t/1077",[34,1.035,45,1.29,1819,7.911,2064,10.117]],["t/1079",[34,1.035,45,1.29,1809,7.168,2023,9.343,2065,10.117]],["t/1081",[34,1.283,45,1.238,272,3.793,2066,9.71]],["t/1083",[34,1.196,45,1.238,271,2.989,1349,4.358,2024,8.478,2067,9.71]],["t/1085",[34,1.196,45,1.238,271,2.989,1349,4.358,2025,8.967,2068,9.71]],["t/1087",[34,1.283,45,1.238,48,3.15,279,7.821,2069,9.71]],["t/1089",[34,1.035,45,1.29,48,3.282,318,7.32,2070,10.117]],["t/1091",[34,1.035,45,1.29,170,5.504,271,3.114,2071,10.117]],["t/1093",[34,1.306,45,1.167,48,2.971,271,2.819,2026,8.457,2072,7.147,2073,9.158]],["t/1095",[34,1.196,45,1.238,271,2.989,1349,4.358,2027,7.578,2074,9.71]],["t/1097",[34,1.306,45,1.167,48,2.971,271,2.819,2028,8.457,2072,7.147,2075,9.158]],["t/1099",[34,1.306,45,1.167,48,2.971,271,2.819,405,6.779,2072,7.147,2076,9.158]],["t/1101",[34,1.306,45,1.167,48,2.971,271,2.819,2029,8.457,2072,7.147,2077,9.158]],["t/1103",[34,1.196,45,1.238,61,4.748,689,6.411,2030,8.967,2078,9.71]],["t/1105",[34,1.035,45,1.29,123,6.578,345,7.678,2079,10.117]],["t/1107",[34,1.014,45,1.263,469,4.217,1254,7.733,1809,7.021,2080,9.909]],["t/1109",[34,1.035,45,1.29,271,3.114,346,6.394,2081,10.117]],["t/1111",[34,1.283,45,1.238,48,3.15,258,4.748,2082,9.71]],["t/1113",[34,1.306,45,1.167,48,2.971,271,2.819,2031,8.457,2072,7.147,2083,9.158]],["t/1115",[34,1.283,45,1.238,48,3.15,2032,8.967,2084,9.71]],["t/1117",[34,1.035,45,1.29,48,3.282,281,8.148,2085,10.117]],["t/1119",[34,1.035,45,1.29,1820,7.911,2086,10.117]],["t/1122",[14,5.054,34,0.699,40,1.432,41,1.436,42,1.457,43,1.566,44,1.886,45,0.87,48,3.025,429,5.724,1223,5.672,1928,4.205,2087,6.828,2088,9.323,2089,9.323,2090,6.828,2091,5.329,2092,5.499,2093,6.828]],["t/1124",[27,5.449,34,0.788,35,2.946,38,3.227,39,3.691,44,1.557,45,0.981,73,4.812,129,3.599,141,5.165,175,4.183,954,5.699,1117,4.478,2094,7.699,2095,7.699]],["t/1126",[27,4.847,34,0.919,39,4.309,44,1.818,45,1.146,111,3.164,341,6.134,1814,6.868,2034,8.3,2096,8.987]],["t/1128",[28,4.761,34,0.661,40,1.356,41,1.359,42,1.379,43,1.482,44,1.307,45,0.824,60,5.968,61,4.389,62,3.182,64,4.202,65,4.085,66,4.579,69,3.4,73,5.308,129,3.022,175,4.092,689,4.267,882,3.347,1204,4.905,2097,6.463,2098,6.463]],["t/1130",[29,3.172,34,0.481,40,0.986,41,0.989,42,1.003,43,1.078,44,1.441,45,0.599,48,2.79,72,1.748,114,4.324,115,4.205,160,5.523,271,2.193,284,2.399,286,4.72,288,6.094,429,2.254,440,2.809,469,3.659,485,1.255,598,1.398,742,3.332,865,3.634,1013,3.689,1223,2.86,1471,3.31,1928,2.896,2099,4.702,2100,6.579,2101,7.123,2102,6.579,2103,4.702]],["t/1132",[34,0.709,40,1.453,41,1.456,42,1.478,43,1.589,44,1.401,45,0.883,52,3.73,53,4.513,72,2.575,174,4.249,266,4.298,271,2.132,272,2.247,568,2.875,2104,6.926,2105,8.219,2106,9.337,2107,6.396,2108,6.926]],["t/1134",[29,3.372,34,0.533,40,1.093,41,1.095,42,1.111,43,1.195,44,1.556,45,0.664,48,2.966,72,1.936,114,4.596,115,4.47,160,5.812,271,2.367,284,2.657,288,6.478,293,6.354,429,2.497,485,1.39,598,1.549,742,3.691,1013,3.983,1223,3.169,1928,3.208,2100,7.102,2102,7.102,2109,5.209,2110,7.69,2111,5.209]],["t/1136",[34,0.583,44,1.948,45,0.727,49,3.074,61,4.016,62,2.806,129,2.665,174,3.707,258,2.787,266,4.81,267,4.468,429,3.937,497,4.124,568,2.366,603,4.591,689,3.763,882,2.952,1098,4.039,1191,6.08,1204,4.326,1223,3.468,1928,3.511,2018,4.448,2027,4.448,2038,5.264,2091,4.448,2092,4.591,2112,5.7,2113,4.039,2114,4.124,2115,5.7,2116,5.7]],["t/1138",[34,0.719,39,3.369,44,1.923,45,0.896,61,4.648,62,3.459,129,3.285,175,2.455,266,4.34,271,2.926,272,2.28,293,4.883,568,2.917,689,4.639,882,3.639,1204,5.333,1928,4.327,2039,6.489,2113,4.979,2117,6.489,2118,7.027,2119,7.027]],["t/1140",[34,0.841,44,1.664,45,1.048,61,5.155,62,4.048,63,4.813,129,3.844,429,5.055,2040,7.594,2120,10.543,2121,8.223,2122,8.223]],["t/1142",[34,0.919,44,1.818,45,1.146,174,4.056,258,4.395,570,6.368,1223,5.468,1814,6.868,2041,8.3,2123,8.987]],["t/1144",[34,0.652,44,1.799,45,0.813,51,3.793,74,3.749,147,4.147,174,5,258,4.349,266,4.06,739,7.58,1382,4.432,1928,3.928,2018,6.941,2027,6.941,2042,5.89,2091,4.977,2092,5.137,2124,5.328,2125,6.377]],["t/1146",[27,3.351,34,0.636,41,1.307,42,1.326,44,1.257,45,0.792,73,4.16,111,3.075,123,4.04,129,2.905,144,4.455,175,2.171,272,2.016,280,2.804,297,3.577,345,4.716,429,5.251,485,1.658,568,2.579,650,3.927,763,4.39,819,4.318,833,3.78,1034,3.41,2043,5.738,2126,6.213,2127,6.213,2128,6.213]],["t/1148",[4,1.751,5,2.661,34,0.652,37,2.946,40,1.338,41,1.341,42,1.361,43,1.463,44,1.29,45,0.813,52,2.527,92,2.785,198,3.098,199,3.038,271,1.963,272,3.594,310,6.435,568,3.692,598,1.897,625,3.23,707,3.329,730,5.328,1408,4.84,2129,6.377,2130,8.894,2131,6.377]],["t/1150",[34,0.438,35,1.64,40,0.899,41,0.901,42,0.914,43,0.983,44,0.867,45,0.546,52,1.698,53,2.054,69,2.254,110,1.871,111,2.336,124,1.668,129,2.003,144,2.186,170,2.331,174,2.994,175,2.318,176,2.219,271,2.042,272,3.393,429,2.054,485,2.166,488,2.829,568,4.104,605,2.576,674,2.924,713,2.829,763,2.154,833,2.607,849,2.708,858,2.924,925,3.036,965,2.331,1003,3.252,1364,2.786,1366,2.978,1408,3.252,1931,3.1,2107,3.957,2132,4.285,2133,6.127,2134,6.539,2135,4.285,2136,4.285,2137,4.285,2138,4.285,2139,4.285,2140,4.285,2141,4.285,2142,4.285]],["t/1152",[4,2.334,5,2.96,34,0.612,37,2.764,40,1.255,41,1.258,42,1.277,43,1.372,44,1.21,45,0.763,72,2.224,129,2.797,272,3.835,310,6.152,598,2.942,680,3.95,707,4.438,708,3.444,1228,5.173,1814,5.236,2143,5.525,2144,4.083,2145,5.983,2146,5.983]],["t/1154",[5,2.268,9,4.123,34,0.775,40,1.59,41,1.593,42,1.617,43,1.738,44,1.533,45,0.966,51,2.467,92,3.309,129,3.543,852,3.705,1221,4.856,1814,6.157,1823,4.79,2147,7.578,2148,7.578,2149,7.578,2150,7.578]],["t/1156",[34,0.576,40,1.182,41,1.185,42,1.202,43,1.292,44,1.648,45,0.718,49,5.159,146,3.18,174,3.676,258,2.755,266,2.572,271,2.507,429,5.864,726,4.553,849,5.148,1223,3.427,1928,3.47,1941,3.514,2091,6.356,2092,6.559,2151,5.634,2152,8.144,2153,5.634,2154,5.634,2155,5.634]],["t/1158",[3,3.721,34,0.752,44,1.982,45,0.937,49,3.963,52,2.911,53,3.522,129,3.435,258,4.79,266,3.354,286,4.033,1218,6.138,1223,5.959,1478,6.415,1928,4.525,2156,9.046,2157,5.316,2158,7.347,2159,7.347]],["t/1160",[34,0.8,44,1.583,45,0.997,52,4.045,53,3.75,129,3.658,259,4.158,280,3.531,427,6.967,429,3.75,763,3.933,1928,4.818,2160,9.428,2161,7.823,2162,7.823]],["t/1162",[9,4.473,30,4.888,34,0.841,44,1.664,45,1.048,73,5.544,82,6.07,129,3.844,175,2.873,350,9.206,2163,8.223,2164,8.223]],["t/1164",[34,0.709,40,1.453,41,1.456,42,1.478,43,1.589,44,1.401,45,0.883,114,4.733,115,4.603,116,5.66,124,2.696,126,4.348,129,3.238,272,3.469,951,6.67,1814,5.797,2165,6.926,2166,6.926,2167,6.926]],["t/1166",[2,5.182,31,5.862,34,0.679,35,2.541,39,4.385,40,1.393,41,1.396,42,1.417,43,1.523,44,1.343,45,0.846,73,4.357,81,4.615,82,6.023,175,3.939,341,7.694,350,5.798,750,3.678,2168,6.64]],["t/1168",[3,4.637,86,4.335,175,3.2,429,4.39,440,2.991,524,5.072,773,5.788,1015,5.712,1200,5.571,2169,9.158]],["t/1171",[22,6.115]],["t/1173",[440,3.449,476,6.503,524,5.848]],["t/1175",[24,6.614,25,6.371,27,5.035,28,4.951,29,3.443,30,5.549,32,6.487,2170,9.335,2171,9.335]],["t/1178",[34,0.661,35,3.435,38,2.709,39,3.098,40,1.356,41,1.359,42,1.379,43,1.482,44,1.307,45,0.824,112,2.328,175,2.258,271,2.763,429,4.944,440,2.932,469,3.82,472,2.608,858,4.411,865,3.297,1250,4.267,1330,4.579,2172,6.463,2173,5.674,2174,6.463,2175,6.463]],["t/1181",[34,1.035,45,1.29,48,3.282,524,5.603,2176,10.117]],["t/1183",[34,1.035,45,1.29,271,3.114,476,6.23,2177,10.117]],["t/1185",[34,1.283,45,1.238,48,3.15,440,3.172,2178,9.71]],["t/1188",[1,4.459,24,5.543,34,0.8,44,1.583,45,0.997,48,3.908,49,5.506,112,2.818,147,5.087,429,3.75,440,2.555,469,3.329,524,4.333,1471,3.635,2179,7.823]],["t/1190",[25,5.809,34,0.871,44,1.722,45,1.085,48,3.837,49,4.591,52,3.373,147,5.535,429,4.081,1382,5.916,2180,8.512,2181,8.512]],["t/1192",[27,5.879,34,0.887,38,3.632,44,1.753,45,1.104,141,5.814,185,6.576,429,5.999,2182,8.665]],["t/1194",[28,4.993,34,0.709,40,1.453,41,1.456,42,1.478,43,1.589,44,1.401,45,0.883,61,4.603,62,3.41,63,3.162,66,4.908,69,4.953,388,4.439,429,5.501,440,2.262,524,3.836,1117,5.476,2183,6.926,2184,6.926]],["t/1196",[29,4.435,34,0.903,44,1.785,45,1.125,48,3.577,72,3.28,429,5.285,2185,8.823]],["t/1198",[9,4.982,30,5.444,34,0.937,44,1.853,45,1.167,73,4.362,82,5.272,2186,9.85,2187,9.158]],["t/1200",[31,6.342,34,0.763,39,4.744,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,73,3.554,74,4.386,81,5.185,82,5.697,429,5.669,2186,6.514,2188,7.461]],["t/1202",[34,0.661,40,1.356,41,1.359,42,1.379,43,1.482,44,1.307,45,0.824,72,2.403,73,3.079,112,2.328,141,4.336,157,6.495,271,2.763,429,5.342,440,2.932,469,3.82,476,5.528,858,4.411,865,3.297,1250,4.267,1330,4.579,2189,6.463,2190,5.968,2191,6.463]],["t/1204",[34,0.67,40,1.374,41,1.377,42,1.398,43,1.502,44,1.325,45,0.835,72,2.435,112,2.359,141,4.395,159,6.297,271,2.789,429,5.373,440,2.96,469,3.855,476,5.58,858,4.47,865,3.342,1250,4.325,1330,4.641,2190,6.049,2192,6.55,2193,6.55]],["t/1206",[1,4.187,4,3.025,5,3.297,6,3.701,7,5.734,8,4.93,14,5.439,92,4.812,1823,7.429,2194,7.347,2195,5.918]],["t/1209",[22,6.115]],["t/1211",[37,4.986,89,5.925]],["t/1213",[27,5.456,28,5.366,30,6.014,32,7.03,2196,9.343]],["t/1216",[1,3.837,5,2.763,34,0.689,35,4.033,38,2.822,39,3.228,40,1.412,41,1.416,42,1.437,43,1.544,44,1.362,45,0.858,72,2.503,89,5.784,92,4.032,218,4.595,469,2.865,1823,6.661,2197,6.733,2198,5.879,2199,6.733]],["t/1219",[34,1.035,45,1.29,89,6.576,2200,10.117]],["t/1221",[34,1.035,37,5.535,45,1.29,2201,10.117]],["t/1224",[27,5.879,34,0.887,38,3.632,44,1.753,45,1.104,141,5.814,185,6.576,1823,7.91,2202,8.665]],["t/1226",[28,5.249,34,0.763,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,61,4.839,62,3.673,63,4.518,66,5.286,69,3.925,1823,7.474,2203,7.461,2204,7.461]],["t/1228",[9,4.982,30,5.444,34,0.937,44,1.853,45,1.167,73,4.362,82,5.272,2205,9.85,2206,9.158]],["t/1230",[31,5.182,34,0.827,39,5,40,1.696,41,1.7,42,1.725,44,1.636,45,1.031,81,5.619,82,4.654,1823,7.71,2205,7.059,2207,8.085]],["t/1232",[5,2.38,34,0.814,37,5.291,40,1.668,41,1.672,42,1.697,44,1.609,45,1.014,72,2.956,89,5.663,708,4.578,2208,7.344,2209,8.31,2210,7.952]],["t/1234",[1,5.766,163,4.759,707,5.281,727,5.366,2211,10.117]],["t/1237",[22,6.115]],["t/1239",[227,5.848,556,8.014,2212,9.751]],["t/1241",[24,6.745,25,6.496,26,6.496,27,5.134,28,5.049,29,3.51,30,5.658,32,6.615]],["t/1244",[34,0.73,35,3.674,38,2.989,39,3.418,40,1.496,41,1.499,42,2.049,43,1.636,44,1.443,45,0.909,48,3.115,227,6.012,272,3.932,556,5.412,2213,7.13,2214,7.13]],["t/1247",[34,1.035,45,1.29,48,3.282,227,5.603,2215,10.117]],["t/1249",[34,1.035,45,1.29,48,3.282,556,7.678,2216,10.117]],["t/1251",[34,1.182,45,1.213,271,2.93,1364,6.189,1987,8.311,2212,8.79,2217,9.519]],["t/1254",[24,6.032,34,0.871,44,2.181,45,1.085,48,4.034,49,5.814,272,3.497,2218,8.512]],["t/1256",[25,5.809,34,0.871,44,2.181,45,1.085,48,3.497,52,4.271,53,5.167,272,3.497,2219,8.512]],["t/1258",[26,5.809,34,0.871,44,2.181,45,1.085,57,3.064,138,8.412,272,3.497,2220,9.005,2221,8.512]],["t/1260",[27,6.486,34,0.903,38,3.699,44,1.785,45,1.125,272,4.086,2222,8.823]],["t/1262",[28,4.019,34,0.775,40,1.59,41,1.593,42,1.617,43,1.738,44,1.533,45,0.966,61,4.889,62,3.73,66,5.369,69,3.987,272,3.63,280,3.42,1138,6.998,1827,6.998,1828,5.914,2223,7.578]],["t/1264",[4,2.914,5,3.177,29,3.438,34,0.699,37,3.154,40,1.432,41,1.436,42,1.457,43,1.566,44,1.381,45,0.87,48,3.025,227,5.164,272,3.444,310,4.941,598,2.031,707,3.564,2224,6.828,2225,6.828]],["t/1266",[9,4.982,30,5.444,34,0.937,44,1.853,45,1.167,73,4.362,82,5.272,2220,9.426,2226,9.158]],["t/1268",[31,6.342,34,0.763,39,4.744,40,1.565,41,1.569,42,1.592,43,1.711,44,1.509,45,0.951,73,3.554,74,4.386,81,5.185,82,5.697,272,3.836,2220,6.233,2227,7.461]],["t/1270",[1,4.767,3,4.236,4,2.296,5,2.503,163,3.935,227,4.633,440,3.482,731,5.523,1200,5.089,1213,6.737,1361,5.089,2228,8.365,2229,8.365,2230,7.725]],["t/1272",[167,8.617]],["t/1275",[22,6.115]],["t/1277",[160,5.48,169,6.496,170,5.178,171,6.1,524,5.272,534,7.666,535,7.224,536,6.887]],["t/1279",[24,6.368,25,6.134,27,4.847,28,4.767,29,3.315,30,5.342,32,6.246,127,4.228,672,5.122,707,4.691,2231,7.847]],["t/1282",[4,1.357,5,1.479,34,0.506,35,3.765,37,2.283,38,2.072,40,1.037,41,1.039,42,1.055,43,1.134,44,1,45,0.63,48,3.587,111,1.74,124,3.451,160,5.102,170,4.024,171,3.167,174,3.338,175,1.727,176,2.56,272,2.399,440,2.416,469,2.103,513,6.727,524,4.909,534,5.957,535,5.613,536,5.352,1353,3.263,2232,4.942,2233,4.942]],["t/1285",[34,0.993,45,1.238,48,3.15,129,4.54,169,6.627,179,8.967,2234,9.71]],["t/1287",[34,1.035,37,4.673,45,1.29,534,8.148,2235,10.117]],["t/1289",[34,1.035,45,1.29,48,3.282,535,7.678,2236,10.117]],["t/1291",[34,1.035,45,1.29,48,3.282,524,5.603,2237,10.117]],["t/1293",[34,1.035,45,1.29,48,3.282,170,5.504,2238,10.117]],["t/1295",[34,1.035,45,1.29,48,3.282,160,5.824,2239,10.117]],["t/1297",[34,1.035,45,1.29,48,3.282,171,6.484,2240,10.117]],["t/1299",[34,1.035,45,1.29,48,3.282,536,7.32,2241,10.117]],["t/1302",[1,3.683,24,4.579,34,0.661,44,1.816,45,0.824,48,3.346,49,4.841,124,2.516,163,4.223,272,2.912,464,1.996,489,3.486,566,2.9,692,4.031,703,3.613,924,3.683,925,4.579,965,3.516,1269,5.643,1361,3.932,1389,4.085,2242,6.463,2243,4.905,2244,3.932,2245,6.463,2246,6.463]],["t/1304",[25,6.627,34,0.993,44,1.964,45,1.238,48,3.793,2247,9.71]],["t/1306",[27,4.024,34,0.763,38,3.127,40,1.565,41,1.569,42,2.112,44,1.509,45,0.951,129,3.488,141,5.006,183,6.89,184,7.578,185,5.662,186,5.286,187,6.89,513,8.427,2248,7.461]],["t/1308",[1,3.001,34,0.539,35,2.015,40,1.105,41,1.107,42,1.124,44,1.065,45,0.671,111,1.854,163,2.477,174,3.499,175,1.84,176,2.727,220,3.328,272,2.985,440,2.532,464,2.394,469,2.241,487,3.203,488,3.476,489,2.84,524,2.916,643,2.508,707,2.748,727,4.112,924,3.001,925,3.731,1067,3.996,1349,2.363,1353,3.476,1389,3.328,2050,3.593,2209,4.241,2243,3.996,2244,4.716,2249,5.265,2250,6.768,2251,4.597,2252,4.597,2253,4.597,2254,5.265]],["t/1310",[34,0.871,40,1.786,41,1.79,42,1.816,44,1.722,45,1.085,61,5.27,129,3.98,163,4.004,189,7.861,191,7.861,513,6.461,2255,8.512]],["t/1312",[29,3.581,34,0.993,44,1.964,45,1.238,48,3.793,2256,9.71]],["t/1314",[1,4.608,34,0.827,40,1.696,41,1.7,42,1.725,44,2.11,45,1.031,89,5.725,127,3.803,163,3.803,727,4.288,2251,9.106,2257,8.085,2258,8.085]],["t/1316",[9,4.8,30,5.245,34,0.903,44,1.785,45,1.125,73,4.203,82,5.079,129,4.125,194,8.148,533,8.879,2259,8.823]],["t/1318",[1,3.785,4,1.823,5,2.737,34,0.679,37,4.833,40,1.393,41,1.396,42,1.417,44,1.85,45,0.846,61,4.472,92,2.9,127,3.124,163,3.124,687,3.823,727,5.549,859,5.113,882,3.439,1408,5.04,2251,5.798,2260,6.64,2261,6.64]],["t/1320",[5,2.103,34,0.719,40,1.474,41,1.478,42,1.499,43,1.612,44,1.422,45,0.896,163,3.305,220,4.441,272,3.745,598,2.09,672,6.14,708,4.045,2209,5.659,2250,8.3,2262,7.027,2263,9.506,2264,7.027]],["t/1322",[31,5.182,34,0.827,39,5,40,1.696,41,1.7,42,1.725,44,1.636,45,1.031,81,5.619,82,4.654,513,8.763,533,6.512,2265,8.085,2266,8.085]],["t/1324",[6,2.778,35,4.602,620,5.577,635,6.697,731,5.825,749,6.531,763,4.436,898,5.503,1152,8.148,2267,8.823]],["t/1326",[4,0.844,5,0.16,6,3.025,8,0.693,34,0.876,38,0.809,43,0.237,53,0.495,67,0.705,70,0.984,72,0.384,92,0.234,124,0.583,129,0.902,175,0.361,199,0.492,221,0.207,280,0.466,293,1.04,371,0.379,387,0.446,440,1.114,465,0.431,485,0.143,486,0.508,487,0.628,488,0.353,498,1.1,561,0.784,562,0.387,563,1.16,564,1.367,565,1.404,566,0.24,567,0.577,568,0.621,569,0.467,570,0.732,571,0.693,572,0.431,575,0.806,577,1.672,580,0.372,582,0.343,583,0.467,585,0.334,593,0.299,598,0.914,603,0.431,604,0.406,605,0.322,618,0.365,620,0.946,628,0.863,632,0.431,634,0.494,638,1.307,641,0.988,646,1.307,650,0.338,656,0.406,657,0.418,659,0.498,671,1.69,690,0.318,692,0.334,693,0.343,694,0.418,697,0.322,698,0.379,710,0.467,713,0.353,715,0.418,716,0.379,733,0.308,735,0.781,740,0.396,750,1.294,757,0.601,759,0.48,763,0.752,770,0.406,771,0.577,772,0.494,780,0.387,783,0.467,787,0.406,790,0.863,792,1.237,819,1.623,823,2.062,825,0.406,829,2.006,831,0.263,833,0.326,834,0.348,838,0.296,840,0.494,849,0.338,858,0.365,864,0.396,866,0.845,888,0.494,897,0.732,898,2.128,899,2.156,902,0.467,904,0.418,906,0.863,909,0.784,910,1.685,911,2.39,913,0.343,914,0.418,917,1.965,919,0.494,921,0.494,922,3.076,923,1.685,924,0.589,926,0.607,935,0.372,943,1.782,947,2.945,948,2.039,956,1.307,960,0.387,963,0.418,964,0.318,968,1.307,973,0.431,988,1.773,993,4.044,994,1.168,995,0.372,998,3.004,999,4.006,1002,2.12,1005,0.494,1006,0.396,1009,1.306,1012,2.589,1014,0.267,1015,0.644,1022,0.732,1023,0.494,1025,2.157,1026,0.902,1031,1.854,1032,1.382,1037,2.039,1038,0.348,1053,0.832,1069,0.467,1075,0.467,1089,0.431,1094,0.954,1095,1.685,1104,0.494,1105,2.981,1106,2.156,1107,0.954,1108,1.382,1112,0.431,1115,0.806,1120,0.447,1139,0.601,1143,1.168,1144,0.494,1146,0.447,1166,0.494,1167,0.447,1171,1.307,1177,0.494,1187,0.494,1190,0.447,1191,2.011,1198,0.431,1206,1.685,1211,1.685,1214,0.863,1222,0.902,1231,0.607,1233,1.136,1251,0.359,1269,0.467,1283,0.396,1295,4.471,1302,0.494,1304,0.902,1307,0.467,1308,0.447,1311,0.784,1312,0.418,1313,0.447,1317,0.447,1318,1.307,1319,0.954,1330,0.732,1345,0.418,1363,0.764,1367,0.467,1378,0.418,1465,0.467,1469,0.494,1472,1.307,1519,0.418,1762,0.387,1764,0.954,1903,0.379,1931,1.396,1932,0.447,2050,0.365,2113,0.379,2195,0.431,2230,0.494,2268,3.074,2269,1.033,2270,0.494,2271,2.716,2272,0.535,2273,0.535,2274,0.902,2275,0.954,2276,0.535,2277,0.902,2278,1.307,2279,1.033,2280,0.467,2281,0.535,2282,0.535,2283,0.535,2284,0.535,2285,0.535,2286,1.496,2287,0.535,2288,0.535,2289,1.033,2290,1.93,2291,1.93,2292,0.467,2293,0.535,2294,0.494,2295,1.033,2296,1.93,2297,0.535,2298,0.535,2299,0.494,2300,0.535,2301,0.494,2302,0.954,2303,0.535,2304,1.033,2305,0.535,2306,0.535,2307,0.535,2308,0.535,2309,0.535,2310,1.307,2311,0.535,2312,0.535,2313,1.496,2314,1.496,2315,0.535,2316,0.535,2317,0.535,2318,4.315,2319,1.496,2320,1.033,2321,1.496,2322,1.93,2323,0.535,2324,0.535,2325,0.535,2326,0.535,2327,1.033,2328,0.244,2329,0.535,2330,0.535,2331,1.496,2332,0.535,2333,0.535,2334,0.535,2335,0.535,2336,0.535,2337,0.535,2338,0.535,2339,0.535,2340,0.535,2341,1.033,2342,0.535,2343,0.535,2344,0.396,2345,0.535,2346,1.496,2347,0.535,2348,0.535,2349,0.535,2350,1.93,2351,1.033,2352,1.033,2353,0.418,2354,0.954,2355,1.033,2356,1.033,2357,0.467,2358,0.535,2359,0.535,2360,0.418,2361,0.535,2362,0.535,2363,0.535,2364,0.535,2365,0.535,2366,1.496,2367,0.535,2368,0.535,2369,0.467,2370,1.033,2371,0.535,2372,0.396,2373,0.535,2374,0.535,2375,0.535,2376,0.535,2377,0.535,2378,0.535,2379,0.535,2380,0.494,2381,0.535,2382,0.494,2383,0.535,2384,0.535,2385,0.535,2386,0.535,2387,0.494,2388,0.535,2389,0.535,2390,0.535,2391,0.535,2392,0.494,2393,0.535,2394,0.535,2395,0.535,2396,1.382,2397,1.033,2398,0.535,2399,0.494,2400,0.535,2401,0.494,2402,0.467,2403,0.494,2404,0.535,2405,0.535,2406,0.535,2407,0.535,2408,0.535,2409,0.535,2410,0.406,2411,0.535,2412,0.535,2413,0.535,2414,0.535]],["t/1330",[932,8.185,933,10.086,936,9.651,2415,9.519,2416,9.519]],["t/1332",[6,2.88,52,2.631,56,3.582,57,1.888,198,3.225,199,3.163,271,2.044,604,5.04,643,3.163,748,4.915,774,4.915,785,5.348,813,5.798,834,4.318,836,3.992,911,4.256,922,4.455,927,5.348,932,7.413,933,5.798,1140,4.705,1208,6.132,1209,6.132,1211,5.798,1239,4.705,2417,5.04,2418,6.132]],["t/1334",[4,1.43,5,1.559,6,1.64,35,1.993,39,2.497,52,2.064,70,2.194,111,3.791,114,2.619,115,2.547,124,2.994,221,3.544,271,1.603,272,2.495,280,2.351,284,2.657,440,1.701,566,2.338,688,3.096,697,3.132,702,4.548,735,2.719,739,3.856,763,2.619,788,6.194,834,3.387,836,3.132,1008,2.638,1230,4.195,1471,2.42,2419,5.209,2420,4.548,2421,4.81,2422,4.81,2423,4.81,2424,5.209,2425,5.209,2426,5.209,2427,5.209,2428,4.548,2429,5.209]],["t/1336",[4,2.046,34,1.135,57,2.119,69,2.627,114,2.51,115,2.442,129,2.335,168,6.289,463,3.2,485,2.639,566,2.241,596,4.022,659,3.596,683,3.297,767,3.897,786,3.79,834,3.247,872,3.696,876,4.611,877,3.408,2344,3.696,2428,4.36,2430,4.993,2431,4.993,2432,4.172,2433,4.993,2434,4.993,2435,7.45,2436,4.611,2437,1.436,2438,7.453,2439,6.883,2440,4.993,2441,4.611,2442,4.993]],["t/1338",[18,3.47,52,3.524,53,3.057,70,2.687,86,3.019,267,3.47,280,2.878,284,3.253,598,1.897,713,4.211,792,4.087,834,5.783,944,3.671,969,5.89,1006,4.721,1015,3.978,1106,4.031,1219,5.568,1226,5.89,1230,5.137,1407,4.432,1467,5.89,1778,4.84,2344,4.721,2428,5.568,2443,6.377,2444,6.377,2445,5.89,2446,6.377,2447,6.377,2448,6.377]],["t/1340",[6,1.058,34,0.898,35,1.286,37,1.552,57,1.555,65,2.124,70,1.416,72,1.249,110,1.468,112,1.211,124,1.308,164,1.998,175,2.417,272,3.051,280,2.469,387,1.452,464,2.462,485,0.897,496,4.375,568,1.395,581,2.154,598,0.999,627,2.432,643,1.601,672,1.915,680,2.219,692,2.096,702,4.776,709,2.219,718,2.096,726,1.879,731,2.219,740,2.488,752,2.336,757,1.955,759,1.562,788,2.707,829,4.067,831,2.693,865,1.714,866,1.897,926,3.216,935,2.336,944,3.982,1015,2.096,1194,4.372,1228,2.045,1230,2.707,1232,2.808,1233,2.551,1349,1.508,1459,3.104,1853,3.557,2437,0.967,2449,2.432,2450,4.57,2451,3.361,2452,2.934,2453,4.57,2454,3.361,2455,2.623,2456,5.47,2457,2.808,2458,3.361,2459,3.361,2460,2.551,2461,3.361,2462,3.361,2463,3.361]],["t/1342",[4,0.835,6,0.958,34,0.972,35,1.93,37,1.406,57,1.433,62,1.498,65,3.187,72,1.131,111,1.071,170,1.656,175,2.256,485,1.723,598,0.905,610,1.588,665,2.042,677,1.95,705,1.924,721,2.543,733,1.752,750,1.686,752,2.115,757,1.77,763,1.53,764,2.31,789,1.95,827,2.657,831,1.498,834,4.197,841,2.253,875,2.115,926,1.789,932,2.156,935,2.115,936,2.543,956,2.657,964,1.809,1008,1.541,1038,1.979,1075,2.657,1098,2.156,1106,1.924,1190,2.543,1194,4.08,1212,4.212,1237,2.657,1259,2.156,1283,2.253,1310,2.451,1311,2.31,1331,2.31,1345,2.375,1406,1.83,1471,1.414,1801,3.504,1819,2.009,1820,2.009,2017,1.979,2418,2.81,2422,2.81,2437,1.45,2464,4.656,2465,2.81,2466,5.961,2467,3.043,2468,5.042,2469,3.043,2470,3.043,2471,2.375,2472,2.375,2473,3.648,2474,3.732,2475,3.732,2476,4.778,2477,2.81,2478,2.657,2479,2.81,2480,2.657,2481,2.81,2482,2.451,2483,2.81,2484,2.81,2485,2.657,2486,3.043,2487,3.043,2488,2.451,2489,2.543]],["t/1344",[6,2.276,35,1.835,52,1.9,69,2.523,198,2.329,271,1.476,598,2.15,763,2.411,773,3.031,792,3.073,809,5.642,820,2.564,825,3.639,826,3.639,834,5.659,839,3.332,866,2.706,898,2.991,911,5.578,913,3.073,926,4.251,928,5.487,930,2.361,935,5.025,937,3.862,964,2.85,965,2.609,1022,3.398,1036,4.006,1222,4.187,1236,4.428,1304,4.187,1311,3.639,1766,3.862,2274,4.187,2372,3.549,2490,4.795,2491,7.23,2492,7.23,2493,4.795,2494,3.549,2495,3.862,2496,4.795,2497,4.795,2498,4.795,2499,4.795]],["t/1346",[34,1.239,35,1.342,43,0.804,53,3.919,62,3.506,86,1.66,174,2.556,506,2.281,598,1.043,642,6.379,698,4.012,748,4.191,759,1.63,760,2.109,767,2.737,792,3.629,812,2.825,838,1.942,926,3.329,935,3.935,1161,5.914,1173,1.64,1218,2.93,1289,3.239,1363,2.596,1486,4.097,1951,3.239,2113,2.485,2244,2.134,2344,5.271,2500,3.239,2501,2.737,2502,3.507,2503,3.507,2504,3.062,2505,5.662,2506,3.239,2507,3.507,2508,3.507,2509,3.507,2510,3.507,2511,3.239,2512,3.507,2513,3.507,2514,3.239,2515,3.507,2516,5.662,2517,3.507,2518,5.229,2519,3.507,2520,3.507,2521,5.229,2522,3.507,2523,3.507,2524,3.507,2525,3.507,2526,3.507]],["t/1348",[34,1.237,35,1.669,43,1.001,53,4.424,127,2.052,174,3.705,271,2.527,506,2.836,598,1.297,642,3.404,759,3.126,767,3.404,792,4.311,834,5.339,866,2.462,926,2.565,935,4.675,1117,2.537,1161,6.677,1173,2.039,1486,3.156,1525,4.028,2244,4.092,2253,3.809,2344,4.979,2504,3.809,2511,4.028,2514,4.028,2518,4.028,2521,4.028,2527,3.809,2528,4.362,2529,4.362,2530,4.362,2531,4.362,2532,4.362,2533,4.362,2534,4.362,2535,4.362,2536,4.362,2537,4.362]],["t/1350",[34,1.3,43,1.058,62,2.27,148,2.578,293,3.205,498,2.628,598,1.372,601,2.13,722,2.806,742,3.268,755,3.599,759,3.262,763,2.319,810,3.414,926,4.127,935,3.205,995,5.906,1013,2.389,1015,2.877,1161,3.337,1167,3.853,1173,2.156,1231,2.711,1349,2.07,1486,3.337,2113,3.268,2253,4.027,2344,5.196,2445,4.259,2504,4.027,2506,4.259,2538,4.259,2539,4.612,2540,4.612,2541,3.337,2542,4.612,2543,4.612,2544,4.612,2545,4.612,2546,7.02,2547,4.612,2548,4.612,2549,4.612]],["t/1352",[111,2.338,166,5.182,568,2.757,619,4.09,657,5.182,735,3.466,760,3.992,771,3.712,836,3.992,947,4.532,996,4.256,997,5.348,999,4.805,1009,3.712,1034,5.02,1035,5.798,1070,5.798,1311,5.04,2402,9.135,2550,6.132,2551,8.741,2552,5.548,2553,5.798,2554,5.798,2555,5.348]],["t/1355",[38,3.227,284,3.927,601,3.556,820,4.117,831,3.79,928,5.843,930,3.79,959,6.569,1277,5.699,1310,6.201,1465,6.722,1490,6.008,1931,5.57,2527,6.722,2551,8.44,2556,6.432,2557,7.699,2558,5.843]],["t/1357",[38,3.447,166,6.417,586,6.623,697,4.944,763,4.134,771,4.597,926,4.834,1070,7.179,1263,6.87,1294,7.179,1335,5.612,1752,7.179,2527,7.179,2551,6.87,2553,7.179,2556,6.87]],["t/1359",[753,7.239,760,5.404,809,7.014,947,6.134,1009,5.024,1014,4.486,1036,7.509,1263,7.509,2559,8.987,2560,8.987,2561,6.821]],["t/1361",[72,3.165,620,6.813,703,4.759,965,4.631,2551,7.112,2556,7.112,2558,6.461,2562,7.432,2563,7.861,2564,8.512,2565,8.512,2566,7.861,2567,8.512]],["t/1363",[5,1.238,6,1.303,34,0.423,40,1.355,52,3.555,67,2.824,72,1.538,85,4.263,92,1.807,112,1.49,124,1.611,126,1.911,129,1.935,198,2.01,199,1.971,258,2.023,266,3.625,272,2.576,387,1.788,429,1.984,440,1.352,472,1.67,484,2.271,489,2.232,568,1.718,581,2.652,598,1.231,601,1.911,610,2.16,618,2.824,672,2.358,707,2.16,731,2.732,742,2.932,771,2.313,820,3.453,839,2.876,852,3.157,908,2.213,1014,2.066,1105,2.691,1142,3.063,1221,2.652,1231,2.433,1242,3.333,1363,3.063,1399,2.824,1409,4.407,1479,3.613,2280,3.613,2344,3.063,2421,3.821,2464,3.821,2568,3.821,2569,4.138,2570,4.138,2571,4.138,2572,4.138,2573,2.876,2574,3.821,2575,3.821,2576,3.821]],["t/1366",[6,2.481,18,2.928,42,1.149,56,2.903,57,1.53,62,2.65,70,3.926,72,2.001,85,6.153,124,2.096,198,3.827,199,3.753,221,3.612,259,2.192,266,2.457,272,1.746,387,4.027,440,1.758,566,2.416,568,3.27,591,3.741,593,4.404,598,1.601,604,4.085,709,3.554,724,4.335,869,4.335,944,3.099,945,4.085,1505,6.148,2577,6.879,2578,4.7]],["t/1368",[52,3.59,198,4.401,199,3.12,598,3.089,625,3.317,735,3.419,750,3.628,780,4.74,922,4.395,964,3.894,974,4.552,1007,5.112,1008,3.317,1031,4.47,1125,5.892,1157,5.473,1327,4.034,1404,6.049,1466,5.719,2579,6.049,2580,7.911,2581,9.061,2582,6.55,2583,6.55]],["t/1370",[6,2.589,72,3.057,198,3.994,199,3.917,221,3.187,387,3.553,566,3.69,593,5.894,598,2.445,918,6.856,1519,6.417,1747,8.002,2584,6.87]],["t/1372",[52,2.494,57,2.505,70,4.284,72,2.34,85,5.818,111,2.216,112,2.267,164,3.742,175,2.2,221,2.44,259,2.564,266,4.023,272,3.299,284,3.211,387,3.808,440,2.056,567,3.519,568,2.613,593,3.519,598,1.872,601,2.908,763,3.164,930,3.099,1000,4.659,1505,4.912,2585,6.294]],["t/1376",[3,0.405,4,0.416,5,1.385,29,1.39,34,0.696,35,0.58,39,0.383,40,0.318,43,0.348,49,0.817,52,2.256,53,1.317,57,0.614,62,0.393,70,0.911,72,1.021,74,0.891,79,1.315,85,1.427,92,1.2,110,0.944,111,2.478,112,2.691,118,0.47,124,0.311,129,0.374,144,1.674,148,1.208,159,1.053,160,1.582,163,1.017,174,0.361,175,0.755,220,0.958,221,0.587,257,0.555,266,1.925,272,2.764,280,0.361,286,0.438,296,2.702,297,0.46,298,1.266,299,2.295,300,0.667,301,0.667,302,0.667,303,3.159,304,1.806,305,0.667,306,0.667,307,0.667,308,0.667,309,0.667,310,0.578,311,1.843,312,1.741,313,1.266,314,2.49,315,3.396,316,1.806,317,2.133,318,1.096,343,0.985,346,0.505,387,0.934,388,0.512,389,0.545,429,2.729,440,1.377,464,1.013,467,1.532,469,1.169,472,1.521,476,0.492,484,0.438,485,0.213,486,1.064,487,0.486,489,1.482,566,1.472,567,0.447,568,1.14,581,0.512,593,2.357,595,0.545,598,1.49,601,2.771,605,0.911,610,0.417,619,1.331,625,0.405,643,1.03,659,0.385,662,0.667,664,0.566,672,1.232,674,0.545,680,0.527,687,0.872,688,0.475,690,0.475,693,0.512,697,1.3,705,0.958,707,0.791,708,0.872,709,1,717,0.591,719,0.667,722,2.565,744,0.667,750,0.442,759,0.704,760,0.48,763,0.402,765,1.814,766,0.606,789,1.385,828,0.756,829,0.47,838,0.442,865,1.402,868,0.555,869,0.643,871,2.86,908,0.81,909,0.606,924,0.455,925,0.566,930,0.746,946,1.122,995,0.555,1013,0.785,1014,0.756,1106,0.958,1134,1.096,1161,0.578,1174,1.221,1221,1.761,1229,0.527,1239,0.566,1251,1.45,1305,0.643,1335,0.545,1344,1.475,1349,0.97,1353,1,1361,0.922,1371,0.566,1407,0.555,1427,1.053,1428,1.6,1471,3.271,1489,0.623,1505,1.183,1515,0.738,1570,0.578,1778,0.606,1822,0.606,1854,0.773,1868,0.817,1928,0.492,2019,0.623,2050,1.875,2124,0.667,2144,1.034,2157,0.578,2244,2.816,2353,0.623,2360,0.623,2541,0.578,2552,0.667,2578,0.698,2586,1.183,2587,1.323,2588,0.738,2589,0.799,2590,0.799,2591,0.799,2592,2.399,2593,1.45,2594,0.667,2595,1.266,2596,0.799,2597,0.738,2598,0.667,2599,0.667,2600,0.545,2601,0.643,2602,0.606,2603,0.578,2604,0.667,2605,0.667,2606,0.667,2607,1.266,2608,0.643,2609,0.667,2610,0.667,2611,0.591,2612,0.738,2613,0.799,2614,0.606,2615,1.399,2616,0.643,2617,0.738,2618,0.738,2619,0.698,2620,0.698,2621,0.799,2622,0.738,2623,0.623,2624,2.144]],["t/1378",[3,1.022,28,1.071,29,2.109,34,0.29,39,0.52,40,0.423,43,0.463,52,1.123,53,1.702,57,0.805,70,1.495,74,1.187,85,0.716,86,0.513,92,0.473,110,1.55,111,1.672,112,1.894,114,2.388,115,2.323,124,0.786,126,0.501,127,0.51,144,1.03,148,1.584,157,0.784,159,3.301,160,2.043,174,0.911,220,0.685,259,2.498,266,2.169,271,0.621,272,0.655,278,2.15,280,0.489,284,2.423,286,2.886,288,3.366,293,1.403,296,2.275,311,2.382,317,2.721,343,2.308,396,3.265,404,3.136,405,1.494,406,1.575,428,0.906,429,3.122,430,0.906,431,0.906,432,0.906,433,0.906,434,0.906,435,0.906,436,2.282,437,0.906,438,0.906,439,0.906,440,2.76,464,2.217,469,2.61,472,1.143,473,0.768,485,0.289,486,0.534,489,1.089,497,0.784,566,1.272,568,0.45,593,1.984,598,1.244,601,1.933,625,1.435,643,1.35,659,0.523,664,0.768,678,0.685,687,0.624,709,2.344,717,0.802,722,2.16,759,0.504,792,0.695,810,0.802,828,0.541,852,0.53,865,2.135,871,1.532,885,0.705,904,0.846,908,1.08,924,0.618,925,0.768,1008,0.549,1013,2.167,1014,0.541,1161,1.461,1213,0.873,1228,0.659,1229,0.716,1234,1.532,1239,0.768,1305,0.873,1344,0.74,1349,1.878,1361,1.228,1371,0.768,1407,0.753,1471,2.208,2050,2.423,2113,1.43,2157,0.784,2244,3.478,2360,0.846,2369,0.946,2417,0.823,2541,0.784,2592,2.474,2593,1.901,2594,0.906,2598,0.906,2599,0.906,2600,0.74,2601,0.873,2602,0.823,2603,0.784,2604,0.906,2605,0.906,2606,0.906,2608,0.873,2609,0.906,2610,0.906,2611,0.802,2623,0.846,2624,2.77,2625,1.001,2626,1.001,2627,3.265,2628,0.906,2629,0.906,2630,0.906,2631,1.001,2632,1.084,2633,1.084,2634,1.084,2635,1.084,2636,1.001,2637,1.001,2638,1.084,2639,1.001,2640,1.001,2641,1.001,2642,0.946,2643,1.084,2644,1.001,2645,1.001,2646,1.001,2647,1.001,2648,1.084,2649,1.001,2650,1.084,2651,1.001,2652,1.001,2653,1.001,2654,0.906,2655,1.001]],["t/1380",[6,1.495,34,0.486,40,1.505,43,1.089,52,2.844,110,2.073,111,2.527,112,2.585,124,1.848,129,3.355,258,3.509,266,3.276,286,2.606,440,2.826,469,3.681,472,3.491,485,1.267,486,2.337,563,2.855,566,3.883,568,1.971,577,2.583,598,2.134,735,2.478,749,3.515,759,2.206,771,2.654,828,2.37,911,3.043,1008,2.404,1014,2.37,1021,4.385,1191,3.515,1237,4.145,1242,3.824,1349,2.131,2396,4.385,2410,3.604,2592,7.554,2656,3.705,2657,4.748]],["t/1382",[4,0.868,5,1.788,29,2.203,49,2.309,52,4.206,53,3.684,62,2.108,72,2.221,86,2.828,92,1.381,110,0.774,112,1.542,114,0.891,115,0.866,118,1.041,124,1.231,126,1.46,127,0.833,144,2.184,147,1.152,148,4.022,163,0.833,165,1.188,174,1.427,175,0.619,221,1.225,259,1.288,266,0.809,272,2.151,278,1.344,280,1.427,284,0.904,297,1.02,303,1.209,312,1.427,315,1.427,317,2.056,318,1.282,404,1.169,427,1.209,436,1.427,440,0.579,484,1.735,497,1.282,506,1.152,524,0.981,536,1.282,568,1.777,598,3.001,625,3.026,643,1.506,659,0.855,672,1.01,687,1.82,705,1.12,708,1.02,727,0.94,765,1.169,778,1.255,791,1.382,810,1.311,820,1.691,838,0.981,859,2.393,865,0.904,884,1.547,1105,1.152,1140,1.255,1142,1.311,1173,1.478,1174,1.427,1189,1.382,1223,1.078,1228,1.923,1231,1.041,1251,1.188,1262,1.427,1361,1.923,1409,7.134,1471,1.469,2144,1.209,2231,1.547,2344,1.311,2417,1.344,2449,1.282,2500,1.636,2538,1.636,2593,2.873,2595,1.48,2619,1.547,2658,3.161,2659,1.771,2660,1.771,2661,1.771,2662,1.771,2663,1.636,2664,1.771,2665,1.771,2666,1.771,2667,1.771,2668,1.771,2669,1.382,2670,1.771,2671,1.344,2672,1.636,2673,1.771,2674,1.771,2675,1.771,2676,1.771,2677,1.771]],["t/1385",[643,4.447,705,5.9,819,6.487,898,5.822,947,6.371,1125,6.07,1416,8.621,2561,7.085,2678,7.518]],["t/1387",[6,1.774,40,1.708,52,3.227,69,2.964,126,2.602,163,2.65,168,3.349,272,2.642,465,4.538,643,2.684,735,2.941,750,3.12,820,3.013,824,4.919,841,4.17,877,3.845,947,6.528,964,3.349,965,3.065,1009,3.149,1034,3.092,1125,5.296,1173,3.808,1371,3.992,1489,4.397,1508,6.028,1776,7.111,2679,8.144,2680,5.634,2681,5.634,2682,7.111,2683,4.919]],["t/1389",[34,0.328,40,1.104,52,3.07,67,2.187,72,1.191,112,1.895,126,1.48,163,1.508,168,1.905,267,2.862,271,1.62,272,1.707,277,4.926,280,1.446,389,3.591,472,1.293,486,1.578,489,1.728,568,1.33,581,3.372,598,0.953,608,2.026,610,1.673,627,2.319,683,2.116,735,2.746,818,2.96,838,1.775,852,1.567,864,2.372,866,2.97,875,2.227,901,2.432,965,1.743,1006,3.895,1009,3.742,1105,2.084,1124,2.677,1128,4.606,1129,4.652,1142,2.372,1182,2.372,1194,2.026,1231,1.884,1253,1.884,1273,4.859,1363,2.372,1461,4.419,1462,5.224,1463,3.474,1464,6.473,1476,2.581,1776,2.798,1778,2.432,1902,2.581,1903,2.271,1932,2.677,2382,2.96,2387,4.859,2574,2.96,2575,2.96,2576,2.96,2672,4.859,2684,2.96,2685,2.96,2686,3.205,2687,4.859,2688,3.205,2689,3.205,2690,3.205,2691,2.96,2692,3.205]],["t/1391",[72,3.47,86,4.419,198,4.534,220,5.9,387,4.034,838,5.17,1124,7.799,1125,6.07,1490,7.285]],["t/1393",[52,4.043,163,2.504,297,4.499,427,5.333,598,2.324,643,2.536,659,2.569,694,4.154,735,2.779,750,2.948,774,5.785,836,3.201,875,3.699,959,3.462,964,4.645,1009,6.562,1031,3.633,1034,6.951,1331,4.04,1403,4.288,1461,6.113,2693,5.323]],["t/1395",[5,2.248,6,2.365,8,5.039,34,0.516,72,1.876,92,2.203,129,2.359,163,3.533,265,2.966,277,2.905,282,2.451,565,3.034,566,2.264,598,1.501,610,2.634,659,2.435,667,3.735,706,3.331,831,2.484,838,2.794,897,3.575,899,3.189,908,2.698,947,3.443,951,3.575,965,4.086,1008,2.555,1009,5.016,1034,4.123,1086,4.659,1293,3.234,1352,2.876,1384,4.215,1399,3.443,1420,3.575,1461,3.331,1487,4.064,1489,3.937,2694,5.045,2695,5.045,2696,5.045,2697,5.045,2698,5.045,2699,5.045,2700,5.045]],["t/1397",[4,0.631,5,1.354,6,2.178,9,0.552,14,0.389,16,2.265,29,0.374,35,1.159,37,0.877,38,0.22,43,0.12,57,2.589,62,0.259,63,2.593,65,1.69,67,0.358,70,0.427,72,1.367,79,2.236,89,1.467,92,0.642,110,0.229,111,1.926,112,2.546,114,0.954,115,1.124,126,0.469,127,0.247,160,0.847,163,0.247,165,1.273,168,2.185,170,1.828,171,0.65,174,1.207,175,2.306,176,2.833,184,2.066,221,0.736,224,1.542,227,1.051,235,1.042,241,0.847,258,2.969,259,2.395,266,1.049,271,0.453,272,1.908,277,1.935,280,0.664,282,3.872,314,2.029,346,1.199,387,0.82,388,0.943,440,1.787,464,1.689,466,0.41,467,0.372,469,2.136,472,3.071,473,1.042,474,1.064,475,0.41,476,0.906,477,0.66,480,0.423,496,1.467,506,0.956,524,0.815,535,0.399,536,0.38,567,0.294,568,1.65,589,0.562,593,0.294,598,0.156,625,0.266,703,0.567,753,0.817,771,0.294,828,0.947,829,0.865,831,0.934,843,0.365,844,0.817,852,0.257,866,0.296,872,0.389,893,0.817,899,0.641,930,0.499,951,0.372,966,0.603,1034,0.288,1128,3.495,1133,0.439,1139,0.59,1173,0.688,1200,0.617,1344,3.733,1353,0.67,1384,0.439,1399,0.692,1406,0.61,1407,0.365,1420,0.719,1423,0.77,1425,1.229,1427,2.336,1428,0.389,1430,0.459,1433,0.459,1435,0.459,1437,0.459,1439,0.847,1506,2.336,1507,1.116,1508,2.488,1509,1.979,1801,0.365,1828,1.148,1850,0.734,1941,0.917,2432,0.847,2584,0.847,2701,1.851,2702,0.937,2703,1.585,2704,0.937,2705,0.937,2706,0.847,2707,5.47,2708,3.369,2709,4.776,2710,5.052,2711,0.485,2712,0.525,2713,1.752,2714,0.886,2715,0.886,2716,0.886,2717,1.014,2718,0.886,2719,0.459,2720,0.485,2721,0.525,2722,0.439,2723,0.751,2724,0.485,2725,1.528,2726,0.459,2727,0.459,2728,0.459,2729,0.41,2730,0.525,2731,1.185,2732,0.423,2733,0.847,2734,1.014,2735,1.014,2736,0.886,2737,0.423,2738,0.439,2739,0.485,2740,0.525,2741,0.525,2742,0.485,2743,0.525,2744,0.525,2745,0.485,2746,0.459,2747,0.937,2748,0.886,2749,0.886,2750,0.525,2751,1.014,2752,0.525,2753,1.014,2754,1.284,2755,0.525,2756,0.525,2757,0.525,2758,0.525,2759,0.485,2760,0.485,2761,0.525,2762,0.485,2763,0.485,2764,0.525,2765,0.485,2766,0.485,2767,0.439,2768,0.485,2769,0.439,2770,0.485,2771,0.525,2772,0.485,2773,0.423,2774,0.847,2775,0.485,2776,0.485,2777,0.485,2778,0.525]],["t/1399",[4,2.448,5,3.441,6,2.808,7,3.897,8,5.001,9,4.055,92,4.846,124,1.944,127,2.349,163,2.349,198,2.425,199,2.379,218,3.408,272,1.62,485,1.332,598,2.217,610,2.606,672,2.846,831,2.458,908,2.671,1066,4.36,1106,3.156,1139,2.904,1251,3.35,1293,3.2,1361,3.038,1382,3.47,1426,3.79,2779,5.657,2780,4.993,2781,4.022,2782,4.993,2783,4.993,2784,4.993,2785,3.897]],["t/1401",[6,2.091,34,0.936,39,3.183,57,2.6,163,3.124,610,4.774,693,4.256,740,4.915,750,3.678,831,4.503,833,4.04,872,4.915,1117,5.32,1173,3.105,1406,6.29,1411,3.269,1421,3.748,1422,3.904,2722,5.548,2786,6.132,2787,6.64,2788,4.455,2789,6.64]],["t/1403",[5,2.213,29,1.823,34,1.131,65,3.124,79,3.007,184,3.373,221,2.867,277,2.845,388,3.167,486,4.363,589,2.737,610,3.861,643,2.354,759,4.572,764,3.751,852,3.616,965,2.689,1128,2.938,1173,2.311,1364,3.214,1382,3.435,1411,2.433,1421,2.789,1422,2.906,1431,3.857,1434,3.857,1436,5.613,1828,3.857,2701,3.981,2729,3.857,2788,3.316,2790,4.942,2791,4.942,2792,4.942,2793,4.942,2794,4.942,2795,4.942,2796,4.942,2797,4.942,2798,4.942]],["t/1405",[6,2.634,34,1.091,38,3.507,79,5.089,610,5.564,831,4.118,1173,3.911,1364,5.439,1411,4.118,1421,4.721,1422,4.918,2788,5.612,2799,8.365]],["t/1407",[34,0.985,57,2.995,175,2.87,176,2.952,184,3.89,258,2.787,259,2.322,272,1.849,388,3.653,486,4.043,610,4.287,759,3.817,1173,2.665,1349,2.558,1371,5.82,1411,2.806,1421,3.217,1801,3.961,1828,4.448,2380,5.264,2701,4.591,2706,4.762,2726,4.977,2727,4.977,2774,4.762,2785,4.448,2788,3.824,2800,4.762,2801,5.7,2802,5.7,2803,5.7,2804,5.7]],["t/1409",[29,2.885,34,1.163,65,4.945,111,2.754,174,3.531,589,4.333,610,5.329,759,3.635,828,3.905,1173,3.658,1411,3.851,1421,4.415,2785,6.105,2788,5.249,2800,6.536,2805,7.823]],["t/1411",[5,1.51,29,1.861,34,1.181,65,3.189,70,2.126,79,3.07,92,2.203,506,3.281,589,2.794,610,5.188,703,2.821,759,3.49,866,2.848,893,4.064,1034,2.769,1173,3.512,1349,3.371,1365,3.735,1410,4.405,1411,3.698,1421,4.239,1422,4.416,1425,4.215,1427,3.506,1941,3.147,2584,4.215,2701,4.064,2731,4.064,2738,4.215,2785,3.937,2788,5.039,2806,5.045,2807,5.045,2808,3.735,2809,5.045,2810,6.275]],["t/1413",[29,2.978,34,1.132,111,3.345,589,4.473,598,2.402,610,4.215,688,4.801,759,3.753,820,2.978,924,4.603,930,4.678,1173,2.604,1349,2.499,1411,2.742,1421,3.143,1422,3.274,1427,3.87,1471,2.588,1854,2.841,1868,4.356,2737,4.485,2788,3.736,2811,5.569,2812,4.653,2813,5.143,2814,5.569,2815,5.143,2816,5.143]],["t/1415",[29,2.882,34,1.162,112,1.917,272,3.31,589,4.328,598,2.324,610,4.079,688,4.645,759,3.632,820,2.847,924,4.454,930,5.022,1173,2.489,1349,2.389,1411,2.621,1421,3.004,1422,3.13,1427,3.699,1471,2.474,1854,2.716,1868,4.215,2732,4.288,2788,3.572,2817,4.648,2818,5.323,2819,5.323,2820,4.288,2821,4.916,2822,5.323]],["t/1417",[6,1.774,34,1.185,56,3.039,57,1.601,72,3.028,89,3.092,111,3.367,175,1.969,176,2.918,266,2.572,286,3.092,610,4.251,974,3.915,996,3.611,1173,3.808,1248,5.203,1349,3.655,1399,3.845,1411,2.773,1415,3.427,1421,3.18,1422,3.312,1426,4.276,2050,3.845,2788,3.78,2823,5.203,2824,7.521,2825,4.076,2826,4.919,2827,5.634,2828,5.634]],["t/1419",[16,1.523,34,1.266,40,0.949,72,1.681,184,3.087,259,2.394,272,0.867,284,1.364,297,1.539,387,3.629,389,1.824,440,0.873,486,3.808,568,1.11,610,2.361,687,1.539,759,5.167,849,1.689,882,1.384,1020,3.643,1173,1.25,1349,2.638,1411,2.227,1415,1.626,1421,2.553,1422,2.659,1423,3.433,1425,3.779,1426,3.433,1427,3.143,1428,1.978,1429,2.233,1430,2.334,1431,5.397,1432,3.779,1433,2.334,1434,5.397,1435,3.949,1436,5.249,1437,3.949,1438,3.348,1439,3.779,1508,1.978,1509,1.978,1941,2.821,2731,2.153,2767,2.233,2769,2.233,2788,1.793,2825,1.934,2826,2.334,2829,2.673,2830,2.334,2831,3.949,2832,2.334,2833,3.643,2834,3.949,2835,2.673,2836,2.673]],["t/1421",[34,1.251,38,1.019,40,0.51,72,2.037,89,2.29,111,1.929,138,1.897,175,1.458,176,2.16,259,3.67,272,0.789,277,4.21,284,1.24,297,1.399,387,3.69,389,1.659,440,0.794,486,3.6,568,2.697,610,2.177,687,1.399,759,5.019,882,1.259,1020,3.36,1128,3.862,1173,2.562,1349,1.872,1399,2.847,1411,2.054,1421,2.354,1422,2.452,1423,3.166,1426,3.166,1429,2.031,1431,5.071,1432,3.485,1434,5.071,1436,4.931,1438,3.088,1507,1.845,1508,1.799,1509,1.799,1941,2.602,2731,1.958,2754,3.642,2767,2.031,2769,2.031,2788,1.631,2823,2.245,2824,3.852,2830,2.122,2831,3.642,2832,2.122,2833,3.36,2834,3.642,2837,2.431,2838,2.431]],["t/1423",[29,2.906,34,1.205,164,6.097,259,3.209,272,2.556,387,4.717,440,2.573,568,3.27,589,4.364,610,4.112,759,4.766,1173,2.517,1349,2.416,1411,2.65,1421,3.038,1422,3.165,1427,3.741,1439,4.497,2773,4.335,2788,3.611,2833,6.345,2839,5.383,2840,5.383]],["t/1425",[34,1.16,67,6.302,184,4.595,221,2.61,259,4.618,284,4.71,567,6.339,610,4.82,1173,3.148,1349,3.022,1411,3.315,1421,3.8,1422,3.958,1427,4.679,1438,4.984,2788,4.517,2841,6.733]],["t/1428",[5,1.686,70,2.373,164,3.349,221,2.184,259,2.295,280,2.543,388,6.13,440,3.902,568,2.339,576,4.076,585,3.514,605,3.387,611,4.17,697,4.897,742,3.992,744,6.804,766,4.276,1013,2.918,1335,3.845,1349,2.528,1485,8.953,2842,8.755,2843,7.521,2844,5.634,2845,5.203]],["t/1430",[4,2.959,5,3.721,70,3.586,92,4.707,1426,6.461,2785,6.643,2842,7.112,2846,7.432,2847,7.432]],["t/1432",[34,1.154,831,4.508,1173,4.282,1406,5.506,1411,4.508,1421,5.168,1422,5.384,2722,7.651,2848,9.158]],["t/1434",[5,2.147,29,1.751,34,1.219,111,2.527,112,3.473,221,2.782,259,1.934,266,2.168,272,1.54,314,5.447,440,2.344,469,2.02,472,4.178,486,4.259,568,1.971,589,2.63,759,4.481,764,3.604,852,3.509,1128,4.266,1173,2.22,1364,3.087,1411,2.337,1421,2.68,1422,2.791,1431,3.705,1434,3.705,1436,5.447,2713,4.385,2729,3.705,2849,4.748]],["t/1436",[6,2.778,34,1.128,38,3.699,79,5.368,831,4.344,1173,4.125,1364,5.737,1411,4.344,1421,4.98,1422,5.187,2850,8.823]],["t/1438",[34,1.005,57,3.045,175,2.945,176,3.061,184,4.033,258,2.889,259,2.407,272,1.917,388,3.787,486,4.149,759,3.917,1173,2.763,1349,2.652,1371,5.972,1411,2.909,1421,3.335,1801,4.107,1828,4.612,2701,4.76,2706,4.937,2726,5.16,2727,5.16,2774,4.937,2785,4.612,2800,4.937,2810,4.937,2851,5.909,2852,5.909,2853,5.909,2854,5.909]],["t/1440",[29,3.032,34,1.191,37,3.798,111,2.895,174,3.711,589,4.554,759,3.821,828,4.105,1173,3.844,1411,4.048,1421,4.641,2800,6.87,2847,7.179,2855,8.223]],["t/1442",[5,1.747,29,2.153,34,1.263,35,2.234,37,2.697,89,3.204,92,2.549,111,2.055,174,3.771,175,2.04,176,3.024,440,2.729,469,2.484,524,3.233,589,3.233,703,3.264,759,3.883,1173,2.729,1349,3.75,1353,3.854,1365,4.321,1411,2.874,1421,3.295,1422,3.432,2808,4.321,2846,5.097,2847,5.097,2856,5.838,2857,5.838]],["t/1444",[5,1.747,29,2.153,34,1.263,35,2.234,37,2.697,89,3.204,92,2.549,111,2.055,174,3.771,175,2.04,176,3.024,440,2.729,469,2.484,486,2.874,524,3.233,589,3.233,703,3.264,759,3.883,1173,2.729,1349,2.62,1353,3.854,1365,4.321,1411,2.874,1421,3.295,1422,3.432,2808,4.321,2846,5.097,2858,5.838,2859,5.838,2860,5.838]],["t/1446",[34,1.115,79,5.272,893,6.979,1173,4.051,1411,4.266,1421,4.89,1422,5.094,1941,5.405,2584,7.239,2738,7.239,2810,9.107]],["t/1448",[29,3.029,34,1.143,111,3.39,175,1.992,176,2.952,589,4.549,598,2.443,688,4.882,759,3.817,820,3.049,924,4.681,930,4.74,1173,2.665,1349,2.558,1411,2.806,1421,3.217,1422,3.351,1471,2.649,1854,2.908,1868,4.43,2737,4.591,2812,4.762,2813,5.264,2815,5.264,2816,5.264,2861,5.7,2862,5.7]],["t/1450",[29,2.929,34,1.171,112,1.961,175,1.902,176,2.819,272,3.345,589,4.399,598,2.362,688,4.722,759,3.691,820,2.911,924,4.527,930,5.076,1173,2.545,1349,2.443,1411,2.68,1421,3.072,1422,3.2,1471,2.53,1854,2.777,1868,4.284,2732,4.384,2817,4.753,2820,4.384,2821,5.027,2863,5.443,2864,5.443,2865,5.443]],["t/1452",[34,1.232,72,2.25,89,2.092,175,1.332,176,1.974,259,3.809,272,1.237,277,2.194,284,1.944,297,2.194,387,4.041,440,1.245,486,3.706,568,2.513,687,2.194,759,5.311,882,1.974,1020,4.875,1128,3.598,1173,2.83,1349,1.711,1411,1.876,1421,2.151,1422,2.241,1423,2.893,1426,2.893,1431,4.723,1434,4.723,1436,4.594,1438,2.821,1941,3.775,2731,3.07,2767,3.184,2769,3.184,2830,3.328,2831,5.285,2832,3.328,2833,4.875,2834,5.285,2866,3.812,2867,3.812]],["t/1454",[29,2.929,34,1.209,164,6.129,175,1.902,176,2.819,259,3.235,272,2.577,387,4.947,440,2.595,568,3.297,589,4.399,759,4.792,1173,2.545,1349,2.443,1411,2.68,1421,3.072,1422,3.2,2773,4.384,2776,5.027,2833,6.398,2868,5.443,2869,5.443]],["t/1456",[34,1.202,67,5.014,175,2.567,176,3.805,221,2.848,259,4.488,277,4.23,284,4.997,567,5.476,1173,3.435,1349,3.297,1411,3.617,1421,4.147,1422,4.32,1438,5.439,2870,7.347]],["t/1458",[6,2.463,52,3.1,56,4.219,57,2.902,198,3.8,199,3.727,440,2.555,567,4.373,598,2.327,722,4.759,734,5.543,792,5.014,809,6.105,820,4.184,833,4.759,835,5.791,1292,7.225,2871,7.823]],["t/1460",[4,0.712,5,0.425,6,1.899,22,0.787,29,1.145,34,1.183,35,0.992,37,0.657,38,0.596,39,0.682,45,0.181,52,0.563,57,2.505,62,1.528,65,0.899,110,0.326,111,0.716,114,1.303,115,1.518,116,0.449,118,1.196,119,1.388,123,0.486,124,1.56,126,1.651,127,1.22,146,0.802,170,0.773,171,0.479,175,1.54,176,0.387,199,0.356,221,0.551,227,0.414,259,0.304,266,0.649,267,0.773,271,0.955,272,0.242,277,0.43,282,0.988,343,0.924,440,0.244,463,0.911,464,0.231,484,1.116,485,1.609,486,0.368,489,0.403,566,1.163,570,0.529,595,0.51,598,1.192,605,0.449,618,0.51,625,0.378,641,0.493,643,0.677,659,0.686,661,0.69,677,4.035,683,0.939,687,0.43,693,0.911,697,0.855,698,0.529,705,0.899,716,0.529,718,0.887,722,0.865,733,1.787,735,0.39,739,1.052,755,1.11,759,0.347,760,0.449,764,0.567,766,0.567,773,0.899,780,0.541,792,0.479,825,0.567,828,2.386,829,0.439,831,2.353,836,0.449,837,0.624,838,0.414,839,0.988,843,1.802,844,0.602,848,1.007,852,1.747,853,1.919,857,1.587,863,0.602,866,0.802,869,0.602,872,0.553,877,0.51,882,0.387,896,1.029,898,0.466,906,0.624,937,0.602,946,0.553,951,0.529,964,0.444,965,0.773,966,0.444,994,0.583,995,0.519,996,0.479,1000,0.553,1008,0.72,1009,0.418,1014,2.2,1042,0.602,1105,0.486,1106,0.472,1117,0.435,1134,1.029,1170,0.541,1182,0.553,1194,2.532,1200,0.454,1227,0.449,1231,0.439,1250,0.493,1259,1.837,1272,1.365,1286,1.052,1288,1.079,1317,1.188,1322,1.776,1327,0.46,1349,0.638,1352,0.426,1356,0.69,1361,0.454,1364,0.924,1381,0.553,1406,2.409,1442,0.652,1468,1.388,1762,1.876,1801,0.988,1819,0.493,1820,0.493,1853,1.323,1883,0.602,2017,1.686,2113,0.529,2354,0.69,2435,0.624,2437,1.028,2453,1.699,2455,0.583,2471,3.729,2472,1.11,2473,1.029,2474,1.052,2475,1.052,2476,1.506,2477,2.394,2478,1.241,2480,0.652,2481,0.69,2482,2.088,2483,0.69,2484,0.69,2489,0.624,2501,0.583,2578,0.652,2683,0.652,2746,0.652,2872,0.69,2873,1.188,2874,1.313,2875,1.313,2876,1.313,2877,1.145,2878,0.747,2879,0.747,2880,0.69,2881,1.422,2882,0.747,2883,0.747,2884,0.69,2885,1.313,2886,0.479,2887,0.41,2888,0.583,2889,0.69,2890,0.69,2891,0.747,2892,1.079,2893,3.682,2894,1.776,2895,1.188,2896,0.747,2897,0.541,2898,0.747,2899,1.188,2900,0.747,2901,0.747,2902,2.034,2903,0.747,2904,0.747,2905,0.747,2906,0.747,2907,0.747,2908,0.747,2909,0.69,2910,0.553,2911,0.747,2912,0.747,2913,0.747,2914,0.69,2915,0.583,2916,0.747,2917,0.652,2918,1.699,2919,0.911,2920,1.241,2921,1.241,2922,0.747,2923,0.747,2924,1.313,2925,0.747,2926,0.567,2927,0.69,2928,0.747,2929,0.747,2930,0.69,2931,0.747,2932,0.747,2933,0.747,2934,0.747,2935,0.747,2936,0.747,2937,0.747,2938,1.422]],["t/1462",[4,1.235,5,1.347,6,0.46,29,0.98,34,1.065,35,0.559,38,0.612,40,0.944,52,0.579,57,1.82,62,2.215,63,0.667,69,1.923,70,0.615,72,0.988,73,1.266,86,0.691,111,0.514,112,1.317,113,1.109,124,0.569,165,0.98,168,1.579,170,0.795,171,0.936,175,2.046,176,0.757,218,2.495,271,1.385,272,2.716,284,0.745,286,2.006,297,0.841,303,1.813,429,0.7,440,1.912,463,0.936,480,1.176,484,0.802,485,2.31,566,1.193,570,1.035,598,0.434,605,1.598,625,1.346,643,1.741,677,1.703,703,0.817,705,1.68,707,0.762,708,0.841,718,1.657,722,1.617,726,0.817,733,3.966,734,1.035,755,1.14,759,1.235,765,0.964,766,1.109,773,0.923,786,1.109,809,1.14,820,0.781,838,0.809,848,2.59,852,0.714,865,0.745,882,0.757,925,1.035,930,2.882,944,0.841,966,0.868,1008,0.74,1014,1.326,1015,1.657,1139,1.546,1140,1.035,1194,0.923,1227,1.598,1231,0.859,1249,1.176,1259,1.035,1276,1.275,1286,3.331,1317,2.22,1327,0.9,1355,1.275,1363,1.081,1471,2.091,1762,1.057,1853,0.95,1854,0.745,1868,0.788,1883,1.176,2044,1.22,2144,0.997,2195,1.176,2435,2.22,2437,0.42,2455,2.074,2482,2.14,2725,1.176,2808,1.081,2812,1.22,2817,1.275,2820,1.176,2877,1.176,2909,1.349,2939,5.406,2940,1.349,2941,1.275,2942,1.813,2943,3.071,2944,2.454,2945,2.657,2946,2.657,2947,2.657,2948,1.461,2949,1.461,2950,1.461,2951,1.22,2952,1.349,2953,1.461,2954,2.454,2955,1.461,2956,1.349,2957,1.461,2958,1.461,2959,1.461,2960,1.461,2961,1.461,2962,1.461,2963,1.461,2964,1.461,2965,1.349,2966,1.349,2967,1.349,2968,1.349,2969,1.349,2970,1.349,2971,1.349,2972,1.349,2973,1.349,2974,1.349,2975,1.349,2976,2.14]],["t/1464",[6,2.383,35,3.593,37,1.775,56,2.072,57,2.669,69,2.021,175,3.491,282,2.958,485,2.298,566,2.733,598,2.25,643,1.83,677,5.519,726,2.148,831,5.153,852,2.978,875,2.67,946,2.844,1014,1.918,1015,2.396,1194,5.443,1227,2.31,1249,4.906,1259,2.722,1406,2.31,1801,2.67,1819,2.536,1820,2.536,2017,2.498,2134,3.094,2437,1.105,2455,2.998,2471,2.998,2473,2.78,2474,2.844,2475,2.844,2476,2.844,2873,3.21,2892,2.916,2893,3.21,2895,3.21,2977,3.842,2978,3.21,2979,2.916,2980,3.354,2981,4.753]],["t/1466",[6,2.589,40,1.725,52,3.258,57,2.337,70,3.464,198,3.994,199,3.917,221,3.187,387,3.553,598,2.445,831,4.048,1015,5.129,2917,7.179,2981,6.417,2982,7.594,2983,6.087]],["t/1468",[4,1.511,34,1.127,35,3.065,44,1.62,57,3.267,485,2.137,566,2.471,625,2.788,677,5.133,733,3.169,831,4.647,1042,4.434,1117,3.202,1227,4.815,1249,4.434,2435,4.6,2472,6.25,2893,4.6,2981,4.296,2984,5.084,2985,4.178,2986,5.505,2987,4.807,2988,3.901,2989,8.009,2990,5.505,2991,5.505]],["t/1470",[6,2.279,57,3.109,63,3.304,70,3.049,124,2.818,440,2.364,566,3.248,568,3.004,598,2.884,601,3.343,659,3.492,853,5.357,855,6.047,966,5.764,1042,5.829,1055,5.128,1272,4.856,1352,4.125,2910,5.357,2992,6.047]],["t/1472",[4,1.797,6,2.528,34,0.926,57,2.282,69,3.443,124,1.639,126,3.023,127,1.98,129,1.968,485,2.617,537,3.195,566,2.937,595,2.873,598,1.252,659,2.031,711,3.517,722,2.561,723,2.873,727,2.233,733,2.424,755,3.286,760,2.531,786,3.195,819,2.926,828,4.52,831,2.073,838,2.332,843,5.579,853,3.116,875,2.926,966,2.503,1014,2.102,1194,2.661,1272,4.391,1310,3.391,1327,2.593,1386,3.676,2910,3.116,2919,2.698,2979,3.195,2993,4.21,2994,4.21,2995,3.676,2996,5.714,2997,4.21,2998,4.637,2999,3.517,3000,3.391,3001,3.286]],["t/1474",[4,1.751,6,2.008,34,0.652,44,1.799,57,1.813,114,3.206,115,3.118,116,3.834,124,3.463,129,4.158,485,2.373,598,2.645,625,3.23,722,3.88,831,3.14,908,3.411,1194,4.031,2328,4.06,2437,1.834,2914,5.89,2919,4.087,2983,4.721,2998,4.519,3000,5.137,3001,4.977,3002,6.377,3003,5.568]],["t/1476",[29,4.21,40,1.958,57,2.653,271,2.873,484,5.124,690,5.549,1928,5.749,2985,7.085]],["t/1478",[3,3.23,5,3.487,52,4.617,57,1.813,198,3.098,199,3.038,221,2.472,258,3.118,297,3.671,427,4.352,601,2.946,690,3.791,727,3.383,839,4.432,852,3.118,866,3.599,1250,5.872,1406,3.834,1463,4.211,2437,1.834,2888,4.977,3004,5.89,3005,5.89,3006,5.89]],["t/1480",[34,1.181,57,2.296,268,4.227,269,4.653,270,4.653,466,4.346,467,3.946,473,3.946,474,4.029,475,4.346,476,3.43,598,1.656,718,3.474,839,3.87,880,4.485,1143,4.346,1229,3.677,1250,3.677,1446,2.382,1463,3.677,1819,3.677,1820,3.677,2017,3.621,2437,2.323,2781,4.485,2886,6.679,3007,4.933,3008,8.775,3009,5.569]],["t/1482",[3,1.612,22,1.763,40,1.098,56,1.717,57,2.606,69,2.753,110,2.91,112,3.302,144,3.399,218,2.173,266,1.453,286,2.872,464,0.983,472,2.112,485,1.396,486,1.567,489,1.717,496,1.747,566,3.463,582,3.354,589,1.763,598,0.947,601,1.471,618,2.173,625,1.612,650,2.012,677,3.354,698,2.256,722,1.937,734,2.256,763,1.601,771,1.78,809,2.484,820,2.799,829,1.872,833,1.937,865,2.67,877,2.173,924,1.814,930,3.799,963,2.484,1008,1.612,1014,1.589,1139,3.044,1227,1.914,1228,4.053,1231,1.872,1276,4.569,1286,3.874,1345,2.484,1411,2.576,1471,1.479,1482,2.484,1853,3.403,1854,4.35,1878,2.94,1880,3.786,1903,2.256,2449,2.304,2494,2.357,2556,2.66,2825,2.304,2873,2.66,2942,2.173,3010,3.184,3011,2.94,3012,2.564,3013,2.66]],["t/1484",[34,1.253,57,2.088,110,3.209,112,2.646,429,3.522,726,4.107,1471,3.414,2494,5.439,2682,6.415,2966,6.785,2967,6.785,2968,6.785,2969,6.785,2970,6.785,2971,6.785,2972,6.785,2973,6.785,2974,6.785,2975,6.785]],["t/1486",[52,2.371,70,2.52,72,2.224,85,3.95,86,2.832,164,3.556,198,4.13,199,4.05,221,2.319,259,3.463,266,2.731,272,3.209,387,3.674,440,2.777,568,4.106,577,3.255,598,1.779,601,2.764,705,3.781,757,3.48,794,5.525,825,4.541,869,4.818,995,4.158,1012,4.541,1121,4.998,1221,3.834,1327,3.684,1399,4.083]],["t/1488",[585,6.057,642,7.578,643,4.625,753,7.821,885,6.314,1189,7.578,3014,9.71]],["t/1490",[259,4.12,272,3.282,440,3.304,568,4.2,3015,10.117]],["t/1492",[72,3.539,175,3.326,259,3.877,284,4.856,387,4.113,568,4.795,1000,7.046]],["t/1495",[6,2.906,72,2.501,280,1.969,387,2.907,566,1.958,598,2.965,637,4.028,643,2.078,681,3.031,771,3.76,826,3.311,838,2.416,931,4.028,965,2.373,1009,3.76,1022,3.091,1034,4.506,1120,3.644,1124,5.62,1333,3.513,1411,4.908,1507,3.311,1508,3.229,2357,3.809,2678,3.513,3016,3.809,3017,4.362,3018,6.727,3019,6.727,3020,6.727,3021,6.727,3022,6.727,3023,5.873,3024,5.873,3025,6.727,3026,4.362,3027,6.727,3028,4.028,3029,4.362,3030,4.362,3031,4.362]],["t/1497",[34,1.277,146,2.654,185,5.406,599,3.928,763,2.364,773,2.972,947,4.861,965,2.558,1460,3.568,1461,5.678,1462,5.559,1470,6.579,1486,3.402,1506,3.267,1507,6.527,1766,5.737,1931,3.402,2403,6.579,2453,3.928,2561,3.568,2678,6.927,3032,4.342,3033,4.342,3034,4.342,3035,4.702,3036,4.342,3037,9.001,3038,4.702,3039,4.342,3040,4.702,3041,4.702,3042,4.702,3043,4.702]],["t/1499",[838,5.17,847,8.15,965,5.078,1125,6.07,1486,6.754,1506,6.487,1931,6.754,3044,9.335,3045,9.335]],["t/1501",[6,1.774,34,1.185,72,2.095,185,4.276,389,3.845,789,3.611,838,3.12,909,4.276,947,3.845,965,3.065,1009,3.149,1128,3.349,1129,3.915,1460,4.276,1461,5.377,1463,3.72,1509,4.17,1766,6.559,2561,4.276,2620,4.919,2678,6.559,2706,4.707,3023,4.919,3024,4.919,3032,5.203,3033,5.203,3034,5.203,3036,5.203,3037,4.919,3046,5.634,3047,5.634,3048,5.634,3049,5.203,3050,5.634,3051,5.634]],["t/1503",[731,6.163,1125,6.07,1344,6.371,1506,6.487,1787,7.799,3052,8.15,3053,9.335,3054,9.335,3055,9.335]],["t/1505",[6,1.556,40,1.037,52,4.174,69,2.6,72,1.837,163,2.325,198,2.4,199,2.354,258,2.417,277,5.102,469,2.103,601,3.416,608,5.602,625,2.503,723,3.373,735,2.58,750,2.737,820,2.643,824,4.315,836,2.971,852,3.616,964,2.938,965,2.689,1014,2.467,1128,5.268,1182,6.56,1231,2.906,1293,3.167,1479,4.315,1480,4.564,1481,4.315,1482,3.857,1483,4.564,1484,4.315,1485,3.981,1486,3.576,1487,3.981,1488,4.315,1490,3.857,3056,4.315,3057,4.942]],["t/1507",[34,0.413,40,1.328,52,1.599,72,3.289,146,2.277,277,5.093,389,6.038,605,2.426,643,1.922,723,2.753,731,2.664,753,3.249,759,1.875,771,2.255,773,4.001,789,2.586,822,3.148,838,2.234,852,1.973,866,2.277,1009,2.255,1014,2.014,1128,5.714,1129,5.429,1194,2.55,1253,2.372,1293,2.586,1342,3.522,1446,3.784,1461,5.158,1462,6.096,1463,4.179,1464,7.392,1476,3.249,1509,2.986,2687,3.726,2691,3.726,3024,3.522,3052,3.522,3058,4.034,3059,4.034,3060,3.726,3061,4.034,3062,4.034,3063,4.034,3064,4.034,3065,4.034,3066,6.33]],["t/1509",[6,3.072,39,2.799,371,4.137,563,3.51,565,3.51,571,3.917,598,2.902,756,5.097,757,3.396,763,2.935,823,4.431,834,3.796,897,4.137,899,3.69,908,3.122,913,3.741,917,4.224,964,3.47,965,3.176,999,6.046,1014,2.914,1140,4.137,1203,8.152,1301,5.391,1307,5.097,1308,4.877,1311,4.431,1472,5.097,2392,5.391,2410,4.431,3067,4.877,3068,5.097,3069,5.838]],["t/1511",[6,2.607,34,1.173,37,3.339,57,2.054,114,1.802,115,1.753,124,1.396,126,2.662,127,2.711,165,2.405,168,4.296,271,1.104,371,2.54,485,1.929,537,4.374,564,2.54,566,1.609,570,2.54,610,1.871,625,1.816,641,2.367,693,2.298,743,3.13,757,2.085,828,2.877,831,1.765,838,1.986,843,2.492,844,2.888,882,1.857,898,2.236,899,2.266,917,2.594,946,2.654,1002,2.798,1006,5.35,1015,2.236,1038,2.331,1044,3.13,1106,2.266,1194,2.266,1203,2.995,1260,3.13,1272,2.405,1291,3.311,2437,1.658,2479,5.323,2482,2.888,2919,2.298,2930,3.311,2985,2.721,3070,3.585,3071,5.764,3072,3.585,3073,3.585,3074,3.585,3075,3.585,3076,7.228,3077,3.585,3078,3.585]],["t/1513",[34,1.245,37,2.071,39,2.149,49,2.418,57,1.274,62,2.207,69,2.359,126,2.071,175,2.401,272,1.455,485,2.498,537,3.403,703,2.506,722,2.728,733,2.581,755,3.499,908,2.398,951,3.177,1014,2.238,1038,2.915,1044,5.998,1106,2.834,1117,3.996,1203,3.746,1337,3.611,1349,2.012,2017,4.467,2044,3.746,2114,4.971,2437,1.29,2460,5.214,2482,3.611,2886,2.873,2985,3.403,3079,4.484,3080,6.87,3081,5.533,3082,6.87,3083,4.484,3084,4.484,3085,4.484,3086,4.484,3087,4.484]],["t/1515",[4,1.107,5,1.591,6,2.635,8,3.568,34,0.647,56,1.26,57,0.664,64,1.519,70,3.526,86,1.106,92,2.322,124,0.91,198,1.135,199,1.113,220,1.477,259,0.952,387,1.742,440,3.023,537,1.773,562,1.691,563,3.804,564,1.656,565,1.405,570,1.656,571,4.245,577,1.271,580,3.696,585,1.458,590,1.73,593,1.306,598,0.695,601,1.079,608,3.999,625,3.616,631,1.624,635,1.773,643,1.113,651,1.824,659,1.128,664,2.857,665,1.568,666,1.568,667,1.73,668,1.882,669,1.882,670,1.882,671,3.848,672,1.332,673,3.247,674,2.752,675,3.147,676,3.247,677,1.498,678,3.361,679,1.882,680,1.543,681,1.624,682,1.882,683,1.543,684,1.882,685,3.147,686,1.882,687,2.321,688,3.161,689,1.543,693,2.584,707,1.22,725,1.656,760,1.405,769,2.04,770,1.773,897,1.656,899,1.477,918,1.519,944,1.345,945,1.773,947,1.595,960,2.917,961,2.158,962,2.158,963,1.824,965,1.271,970,2.158,971,2.04,995,1.624,1019,2.158,1200,1.422,1264,2.158,1313,1.952,1413,2.158,1761,2.158,2360,1.824,2420,2.04,2614,1.773,2872,2.158,2899,1.952,3088,1.952,3089,2.337,3090,2.337,3091,2.337,3092,2.158,3093,2.158,3094,2.337]],["t/1517",[6,3.282,35,2.131,371,3.946,598,1.656,619,3.43,623,4.862,624,4.862,625,2.82,631,3.87,739,4.122,771,3.113,864,4.122,911,3.569,913,3.569,922,3.736,981,5.143,982,5.143,983,5.143,984,5.143,985,5.143,986,5.143,997,4.485,998,4.485,1008,2.82,1029,5.143,1030,5.143,1031,5.512,1158,5.143,1159,5.143,1234,4.227,1328,5.143,3095,5.569,3096,5.143,3097,5.569,3098,5.569,3099,5.569,3100,5.569,3101,5.569,3102,5.569,3103,5.569]],["t/1519",[4,1.706,5,3.022,6,1.956,92,2.713,124,2.419,127,2.923,164,3.693,175,2.171,272,2.016,440,2.853,563,3.736,565,3.736,571,4.169,577,3.38,618,4.24,659,2.998,697,3.736,723,4.24,734,4.403,820,3.323,900,5.425,954,4.599,1018,5.738,1053,5.004,1170,4.496,1215,5.425,1281,5.738,1327,5.378,2372,4.599,3088,5.191,3104,5.738]],["t/1521",[5,2.338,6,1.676,52,2.109,70,2.243,164,3.164,175,1.86,198,2.586,199,2.536,266,3.568,272,3.525,567,2.976,568,4.511,593,2.976,598,1.583,601,2.459,638,6.823,687,3.065,690,3.164,697,4.699,765,6.736,771,4.369,838,2.948,998,4.288,1117,3.096,1234,4.04,1251,3.572,1381,3.94,2244,3.239,2410,4.04,2586,6.099,3105,5.323]],["t/1523",[5,3.036,42,0.684,86,4.05,92,1.4,126,2.43,127,3.149,164,5.467,272,2.984,440,2.795,524,1.775,568,3.216,576,2.319,577,1.743,581,2.054,585,1.999,594,5.606,610,2.746,619,1.974,643,1.527,697,4.658,713,2.116,716,2.271,742,3.728,752,2.227,758,6.182,759,1.489,765,4.419,773,2.026,774,2.372,852,1.567,903,2.581,926,1.884,965,1.743,1003,2.432,1008,1.623,1117,1.864,1193,2.677,1234,3.993,1263,2.677,1337,2.581,1363,2.372,1381,3.895,2586,4.106,2786,2.96,2842,6.473,2845,4.859,2899,2.677,3106,3.205,3107,3.205,3108,5.262,3109,3.205,3110,6.694,3111,3.205,3112,3.205,3113,3.205]],["t/1525",[5,1.163,34,1.254,35,3.029,38,0.508,62,1.102,69,0.637,119,1.528,124,0.872,126,1.034,127,1.468,146,2.571,163,0.57,164,1.855,170,0.659,175,1.592,268,0.92,272,1.67,280,1.01,341,2.129,440,2.755,487,2.364,489,2.457,513,2.368,524,1.728,568,0.929,581,0.776,605,1.346,610,0.632,618,0.827,619,0.746,625,0.614,641,0.8,697,2.739,706,0.8,714,0.946,721,1.012,727,0.643,742,2.211,759,2.117,767,0.946,789,0.776,796,1.119,798,1.119,801,1.119,802,4.753,803,1.119,804,2.881,828,0.605,831,1.102,839,1.556,852,1.526,864,0.897,898,2.423,926,1.316,959,1.456,1034,0.665,1140,0.859,1183,0.976,1193,1.012,1293,0.776,1335,2.129,1349,1.005,1353,1.478,1365,2.31,1371,0.859,1399,0.827,1819,0.8,1820,0.8,1821,0.976,1823,4.152,1941,0.756,2250,1.955,2353,0.946,2501,0.946,2723,1.657,2810,2.607,3114,7.932,3115,1.212,3116,1.212,3117,1.212,3118,3.12,3119,1.212,3120,2.239,3121,3.885,3122,2.239,3123,1.212,3124,3.12,3125,1.212,3126,3.12,3127,1.212,3128,1.212,3129,1.212,3130,1.212,3131,3.12,3132,1.212,3133,1.212,3134,1.212,3135,3.885,3136,2.239,3137,1.212,3138,3.12,3139,1.212,3140,1.212,3141,1.212,3142,2.239,3143,1.212,3144,3.12,3145,1.212,3146,1.212,3147,1.212,3148,1.212,3149,1.212,3150,1.212,3151,1.212,3152,1.212,3153,2.239,3154,1.212,3155,1.212,3156,1.212,3157,1.212,3158,1.212,3159,1.212,3160,1.212,3161,1.212,3162,1.212,3163,1.212,3164,1.212,3165,1.212,3166,1.212,3167,1.212,3168,1.212,3169,1.212,3170,1.212,3171,1.212,3172,1.212,3173,1.212,3174,1.212,3175,1.212,3176,1.212]],["t/1527",[6,2.386,52,3.003,56,4.087,57,2.154,129,3.543,371,5.369,440,2.475,567,4.236,671,5.483,690,4.504,839,5.266,918,4.927,958,5.751,1125,4.927,1239,5.369,1468,5.172,2555,6.103,2580,6.616,3028,6.998,3177,7.578,3178,7.578]],["t/1529",[6,3.41,52,4.704,70,2.552,85,5.663,198,2.942,199,2.886,259,2.467,272,1.965,387,2.618,440,1.979,567,3.386,568,2.515,620,3.829,688,3.601,735,3.162,760,3.642,833,3.685,944,3.487,945,4.598,959,3.939,974,4.21,1000,4.484,1013,3.137,1096,4.134,1125,3.939,1157,5.061,2466,5.594,2558,4.598]],["t/1531",[6,3.264,52,2.182,56,4.32,57,3.131,126,2.543,127,2.59,175,2.799,198,2.674,199,2.622,221,2.134,227,3.049,387,2.379,440,2.616,465,4.434,485,1.469,567,4.477,577,2.995,589,3.049,620,3.48,659,2.656,707,2.874,718,3.434,735,2.874,831,2.71,908,2.944,918,3.58,959,3.58,974,3.826,1096,3.757,1129,3.826,1157,4.6,1239,3.901,2558,4.178,3179,5.505]],["t/1533",[6,3.748,34,0.57,52,2.207,56,3.004,57,1.583,72,2.07,259,2.268,387,2.406,440,1.819,485,1.486,620,3.52,641,3.677,643,2.653,659,2.687,707,2.907,908,4.319,926,3.274,958,6.129,959,3.621,1022,3.946,1090,4.227,1096,3.801,1112,4.485,1129,3.87,1268,4.227,1283,4.122,1293,5.176,1379,4.485,1409,3.801,1468,5.512,2558,4.227,3180,5.569,3181,5.569,3182,5.143]],["t/1536",[6,2.997,559,7.428,598,2.831,659,4.593,774,7.046,820,5.091,1401,8.311,2299,8.79]],["t/1538",[6,2.463,19,5.249,20,5.087,21,4.459,65,4.945,72,2.909,598,2.327,1106,4.945,1361,6.211,1748,7.225,2541,5.661,2600,5.339,2926,5.938,3183,5.339,3184,7.823,3185,7.823,3186,7.823,3187,6.83]],["t/1540",[4,1.371,5,2.23,6,1.572,18,2.717,19,3.35,20,3.247,21,2.846,34,1.209,65,4.711,72,1.856,79,3.038,89,2.741,92,2.181,464,1.542,485,1.332,486,2.458,598,1.485,713,3.297,868,3.47,882,2.586,1015,3.115,1815,4.172,1885,4.172,2292,4.36,2541,3.613,2919,3.2,3188,4.993,3189,4.611,3190,4.611,3191,4.611,3192,3.897,3193,4.36,3194,4.993,3195,6.883,3196,4.36,3197,6.507,3198,9.132,3199,4.611,3200,4.36,3201,4.993]],["t/1542",[6,2.778,21,5.029,127,4.151,129,4.125,272,2.863,598,2.624,727,4.68,2669,6.886,3088,7.372,3192,6.886,3202,7.704,3203,8.148]],["t/1544",[4,1.663,6,1.907,29,2.234,34,0.878,52,2.4,53,4.112,148,3.386,198,2.942,220,3.829,484,4.708,485,1.616,565,3.642,598,2.551,627,4.383,692,3.778,759,2.815,1173,2.832,1286,4.484,1361,5.219,2410,4.598,2593,4.064,2600,4.134,3067,5.061,3187,5.289,3204,4.484,3205,5.594,3206,6.058,3207,5.594,3208,5.594,3209,5.289,3210,6.058,3211,6.058]],["t/1546",[5,1.666,6,1.753,18,3.03,19,3.736,20,3.621,21,3.174,129,2.604,272,1.807,484,3.057,485,2.155,506,5.251,524,3.084,598,1.656,659,2.687,672,3.174,707,4.215,708,3.206,735,2.907,757,3.239,765,3.677,822,4.346,836,3.348,1252,4.653,1349,2.499,2114,4.029,3204,4.122,3212,5.143,3213,5.143,3214,5.143,3215,5.569,3216,6.747,3217,7.458,3218,5.143,3219,5.569,3220,5.143,3221,4.653,3222,4.862,3223,3.736,3224,5.143]],["t/1548",[4,2.528,5,3.522,38,1.549,70,2.487,72,2.742,92,3.679,124,3.279,163,1.738,272,2.988,440,1.207,566,1.658,582,2.368,598,2.505,601,1.707,602,3.226,672,2.106,678,2.335,703,2.066,706,3.898,707,3.082,708,4.246,727,1.96,735,1.929,836,2.222,859,2.066,1117,2.149,1200,2.248,1221,3.784,1277,2.735,1823,2.335,2144,2.522,2252,3.226,2577,3.226,2808,6.235,3192,2.884,3225,5.155,3226,3.412,3227,5.155,3228,5.155,3229,6.439,3230,4.608,3231,2.735,3232,3.412]],["t/1550",[6,0.94,29,2.349,56,1.611,57,1.811,70,1.258,110,2.782,112,3.201,124,1.163,126,2.293,127,1.405,144,2.532,271,1.528,272,0.969,286,1.639,484,1.639,485,1.98,489,1.611,496,2.725,566,2.228,589,1.654,598,1.894,650,1.888,688,1.775,692,1.863,705,1.888,735,1.559,763,2.496,792,1.914,820,1.597,838,1.654,839,2.076,865,4.805,866,1.686,924,1.702,930,3.136,1013,4.265,1014,2.478,1139,2.888,1167,2.495,1183,2.406,1223,1.817,1227,1.796,1228,1.817,1231,1.756,1250,1.972,1253,1.756,1262,2.406,1288,2.267,1334,2.331,1411,1.47,1471,4.377,1506,2.076,1519,2.331,1850,2.161,1853,3.228,1854,3.25,1864,2.406,1868,2.677,1880,2.161,1902,2.406,1903,3.518,1906,2.608,2410,2.267,2449,2.161,2494,2.211,2985,2.267,3012,2.406,3233,2.495,3234,2.758,3235,2.758,3236,2.608,3237,2.987]],["t/1552",[3,0.722,4,1.865,5,3.001,9,1.414,10,2.094,11,1.192,14,1.925,16,1.482,17,1.512,18,3.432,19,1.744,20,1.691,21,3.595,34,0.367,40,1.077,41,0.3,43,0.327,45,0.655,52,0.565,65,0.901,70,2.164,86,0.675,92,1.929,93,1.192,110,1.135,111,1.555,114,0.717,115,1.271,116,0.857,124,1.012,126,0.659,127,0.671,148,0.797,160,0.821,163,1.685,174,2.318,175,0.909,176,0.739,198,0.693,199,0.679,221,1.713,267,0.776,272,1.869,284,0.728,387,0.616,440,1.443,464,1.364,469,1.106,512,1.245,524,0.79,566,0.64,576,1.032,577,0.776,578,1.056,581,0.914,598,1.066,601,0.659,609,1.082,625,0.722,631,0.991,643,1.238,672,2.042,678,1.643,680,0.942,690,0.848,697,2.154,706,0.942,707,0.744,708,0.821,722,0.868,752,0.991,778,1.011,868,0.991,880,1.149,908,1.391,994,1.113,1008,1.317,1013,1.347,1098,1.011,1137,2.029,1145,1.082,1170,1.881,1200,0.868,1261,1.245,1268,1.082,1288,1.973,1303,1.056,1327,0.878,1330,1.011,1353,0.942,1486,1.032,2050,4.636,2195,1.149,2243,1.082,2244,3.505,2372,1.056,2423,1.317,2452,2.27,2485,1.245,2489,2.172,2494,1.056,2561,1.082,2573,0.991,2600,1.774,2602,2.719,2614,1.082,2671,1.082,2897,1.032,2919,0.914,2926,1.082,2976,1.149,2983,1.056,3056,1.245,3183,1.774,3204,2.652,3216,2.172,3221,2.172,3223,0.957,3230,1.113,3238,1.317,3239,1.317,3240,2.27,3241,1.317,3242,3.128,3243,1.317,3244,1.317,3245,1.317,3246,1.245,3247,1.113,3248,1.245,3249,1.317,3250,2.094,3251,1.317,3252,1.317,3253,1.317,3254,1.317,3255,1.317,3256,1.317,3257,1.245,3258,1.317,3259,1.317,3260,1.192,3261,1.317,3262,1.245,3263,1.245,3264,1.317,3265,1.245,3266,1.245,3267,1.317,3268,2.401,3269,2.27,3270,1.317,3271,1.426,3272,1.192,3273,1.426,3274,2.401,3275,1.317,3276,1.317,3277,1.317,3278,1.426,3279,1.317,3280,1.317,3281,1.192]],["t/1554",[3,2.209,29,1.609,41,0.917,49,2.353,86,3.184,112,2.423,146,2.462,163,2.052,175,1.524,429,2.091,440,3.441,464,1.347,469,2.862,472,2.714,489,2.353,524,4.547,577,2.373,578,3.229,625,2.209,726,2.439,750,2.416,759,2.027,773,2.757,778,3.091,812,3.513,849,2.757,865,2.225,908,2.333,1008,2.209,1013,4.252,1015,2.721,1134,3.156,1200,2.654,1312,3.404,1349,1.958,1353,4.441,1471,2.027,2616,3.513,2654,3.644,2983,3.229,3247,3.404,3282,3.809,3283,4.028,3284,4.028,3285,4.028,3286,4.028,3287,4.028,3288,4.028,3289,6.212,3290,3.809,3291,3.809,3292,4.362,3293,4.028]],["t/1556",[3,1.15,4,1.703,5,1.557,16,2.242,17,2.288,18,2.831,21,2.242,29,2.289,34,0.635,41,0.478,45,0.289,51,1.28,70,1.657,72,0.844,92,0.992,110,2.71,111,2.185,114,1.978,115,1.923,116,2.365,118,2.313,126,1.817,127,1.068,147,1.477,157,2.846,175,0.794,280,1.775,289,1.365,296,1.455,440,0.742,464,2.167,485,0.606,573,1.829,598,1.17,625,1.15,643,1.874,678,1.435,709,1.499,724,1.829,725,1.609,733,1.307,757,1.321,759,1.055,789,1.455,841,1.681,852,1.11,859,1.269,866,1.282,868,2.734,908,2.104,926,1.335,1013,2.037,1014,1.134,1055,1.609,1096,1.55,1111,1.829,1121,1.897,1200,1.382,1270,1.772,1312,1.772,1349,2.335,1366,1.578,1382,1.578,1822,1.723,1928,1.399,1941,1.416,2157,1.643,2244,1.382,2495,1.829,2573,1.578,2603,1.643,2611,1.681,2779,1.723,2825,2.846,3183,1.55,3247,1.772,3250,3.168,3294,3.633,3295,2.271,3296,1.983,3297,1.983,3298,1.983,3299,2.097,3300,2.097,3301,2.097,3302,2.097,3303,2.097,3304,2.271,3305,2.097,3306,2.097,3307,2.097,3308,2.097,3309,2.097,3310,2.097,3311,2.097,3312,2.097,3313,2.097,3314,2.097,3315,2.271,3316,2.097,3317,2.097,3318,4.806,3319,4.806,3320,2.097,3321,2.097,3322,2.271,3323,2.097,3324,2.097,3325,2.097,3326,1.829,3327,1.983,3328,1.772,3329,2.097,3330,2.097,3331,2.097,3332,2.271,3333,1.829,3334,1.983,3335,2.097,3336,1.829,3337,1.897]],["t/1558",[6,2.543,27,3.004,38,2.334,280,2.513,371,3.946,622,6.129,625,2.82,718,3.474,757,3.239,780,6.875,836,3.348,841,5.978,854,5.143,864,4.122,911,3.569,913,3.569,932,5.722,937,4.485,940,4.862,988,4.227,1026,4.862,1031,7.551,1106,3.52,1184,5.143,1294,4.862,1327,3.43,1489,4.346,1756,5.143,3052,4.862,3338,5.569,3339,5.569,3340,5.569,3341,5.569,3342,5.569]],["t/1560",[6,1.838,29,2.153,41,1.228,52,3.311,90,4.877,277,6.132,284,4.262,643,2.781,707,3.047,750,3.233,785,4.702,813,5.097,927,4.702,928,6.341,932,5.92,1126,4.702,1213,4.702,1327,5.146,1468,3.984,2495,4.702,3257,5.097,3343,5.838,3344,5.838,3345,5.838,3346,5.838,3347,5.838,3348,5.391,3349,5.391,3350,8.355,3351,8.355]],["t/1562",[4,1.038,5,1.8,6,3.124,64,2.459,70,3.924,86,1.79,92,1.651,124,1.472,220,2.39,259,1.54,440,3.527,563,2.274,571,2.537,577,2.057,580,2.628,585,2.359,593,2.114,608,5.395,625,4.717,643,1.801,659,3.614,664,4.262,665,2.537,666,2.537,667,2.799,668,3.046,669,3.046,670,3.046,671,2.736,672,2.155,673,3.046,674,4.105,675,2.951,676,3.046,677,2.424,678,4.734,679,3.046,680,2.497,681,2.628,682,3.046,683,2.497,684,3.046,685,2.951,686,3.046,687,2.177,688,2.248,689,2.497,723,2.581,932,2.68,1096,2.581,1200,2.301,2623,2.951,3352,3.782,3353,6.015]],["t/1565",[4,1.393,5,2.694,6,0.692,18,2.08,19,3.405,20,3.3,21,2.558,28,0.63,29,1.655,34,0.921,45,0.28,65,1.939,72,2.413,74,0.698,86,0.562,89,0.652,92,3.155,127,0.559,129,1.028,147,1.429,159,0.825,221,0.46,272,0.995,280,0.992,388,0.761,464,0.679,485,0.317,486,0.585,487,0.723,581,0.761,598,1.335,643,1.461,708,0.684,713,0.784,725,0.842,727,3.443,759,0.552,839,0.825,852,0.581,859,1.229,868,2.657,882,0.615,908,2.4,926,0.698,942,1.836,1014,0.593,1015,0.741,1126,0.957,1137,0.927,1145,0.901,1218,1.836,1223,0.723,1361,2.73,1366,2.657,1382,4.217,1407,1.527,1468,0.811,1561,2.03,1564,1.037,1815,0.992,1885,1.836,1941,0.741,2144,0.811,2244,2.326,2292,1.037,2541,1.59,2573,0.825,2600,0.811,2603,2.219,2628,0.992,2669,0.927,2685,1.097,2919,3.252,2926,1.668,3016,1.037,3088,2.563,3096,1.097,3183,0.811,3187,1.037,3189,1.097,3190,1.097,3191,1.097,3192,2.394,3193,1.037,3195,2.03,3196,1.037,3197,1.919,3198,3.531,3199,1.097,3200,1.037,3202,1.037,3269,1.919,3272,2.563,3326,2.47,3328,2.984,3333,1.77,3334,2.678,3354,2.198,3355,1.188,3356,1.188,3357,1.188,3358,1.188,3359,2.833,3360,2.198,3361,1.188,3362,1.188,3363,1.188,3364,1.188,3365,2.833,3366,3.067,3367,2.198,3368,2.198,3369,2.03,3370,2.198,3371,2.198,3372,2.198,3373,2.198,3374,2.198,3375,2.198,3376,1.188,3377,3.067,3378,2.198,3379,1.188,3380,1.188,3381,3.824,3382,1.188,3383,4.144,3384,1.188,3385,5.598,3386,1.188,3387,1.188,3388,1.188,3389,1.097,3390,1.097,3391,1.188,3392,1.188,3393,2.03,3394,2.03,3395,1.097,3396,1.188,3397,1.188,3398,1.188,3399,2.198,3400,1.097,3401,3.067,3402,1.188,3403,1.188,3404,2.198,3405,2.198,3406,1.188,3407,1.188,3408,1.188,3409,1.188,3410,1.188,3411,1.037,3412,1.097,3413,1.188,3414,1.188,3415,1.188,3416,1.188,3417,1.188,3418,1.188,3419,1.188]],["t/1567",[4,0.992,17,2.101,29,1.332,34,0.593,45,0.739,52,1.431,53,2.78,67,2.465,79,2.197,129,3.887,148,2.019,198,1.754,199,1.721,220,2.283,221,1.4,464,1.115,484,1.983,485,0.964,486,1.778,487,3.528,488,3.828,489,3.127,598,2.708,625,1.829,643,1.721,659,1.743,666,2.423,692,2.253,750,2.001,757,2.101,924,2.059,1015,2.253,1031,2.465,1067,2.741,1126,2.909,1131,3.018,1173,1.689,1286,2.674,1361,2.197,1366,5.778,1407,2.51,1568,3.336,2301,3.336,2593,4.874,3204,4.292,3205,3.336,3207,3.336,3208,3.336,3209,3.154,3263,3.154,3333,2.909,3359,3.336,3420,3.612,3421,5.798,3422,3.336,3423,3.612,3424,3.612,3425,3.612,3426,3.612,3427,5.798,3428,5.798,3429,3.612,3430,3.612,3431,5.798,3432,3.612,3433,3.612,3434,3.336,3435,3.612]],["t/1569",[5,1.294,18,2.352,19,2.901,20,2.811,21,2.464,29,1.594,34,0.442,163,2.034,220,2.732,296,2.771,484,5.041,485,2.451,506,4.344,524,2.394,598,1.286,601,1.997,631,3.004,672,3.807,707,4.261,708,2.489,727,2.293,750,2.394,757,2.515,866,2.44,926,2.542,973,3.482,1007,3.374,1072,3.992,1125,2.811,1252,3.612,1349,1.94,1466,3.775,1928,2.662,2114,3.128,2586,3.374,3203,3.992,3204,3.2,3212,6.169,3213,6.169,3214,3.992,3216,5.581,3217,6.169,3218,3.992,3220,3.992,3221,3.612,3222,3.775,3223,2.901,3224,3.992,3231,3.2,3246,3.775,3436,3.775,3437,4.323,3438,4.323,3439,4.323,3440,4.323]],["t/1571",[4,2.383,5,3.471,18,1.791,21,1.876,70,2.266,72,2.927,92,3.439,124,3.379,163,2.53,272,1.745,280,1.486,296,2.11,440,1.075,582,2.11,598,2.028,601,1.521,678,2.081,703,1.84,706,2.174,707,2.808,708,3.926,709,2.174,722,2.003,727,1.746,765,2.174,789,2.11,859,1.84,960,2.382,1117,1.915,1200,2.003,1221,3.447,1277,2.437,1382,2.288,1552,3.04,1823,2.081,2144,3.671,2252,2.874,2577,2.874,2808,5.829,3183,2.247,3192,2.569,3225,6.875,3226,3.04,3227,4.696,3228,6.875,3229,5.954,3230,5.322,3231,2.437,3232,3.04,3328,2.569,3365,3.04,3441,2.651,3442,3.04,3443,3.292]],["t/1573",[21,0.774,29,1.568,34,0.139,43,0.311,45,0.173,52,0.538,56,0.732,57,0.977,70,1.047,110,2.67,111,0.875,112,2.531,124,1.339,126,1.148,127,0.639,144,3.584,174,1.122,227,0.752,265,0.798,271,1.058,272,0.441,286,2.334,464,1.062,472,1.003,484,0.745,485,1.135,486,0.669,489,0.732,496,1.887,498,1.96,566,1.116,582,0.87,589,0.752,598,1.265,601,1.148,643,1.184,650,0.858,659,0.655,667,1.005,688,0.807,692,0.847,703,0.759,705,0.858,714,1.06,718,1.551,733,0.782,750,0.752,759,0.631,763,1.25,773,1.571,778,0.962,787,1.887,792,0.87,820,1.839,826,1.887,827,2.171,833,1.513,838,0.752,865,3.782,866,0.766,868,0.944,877,0.927,924,1.96,925,0.962,930,2.44,942,3.553,997,1.094,1000,1.005,1013,2.886,1014,1.716,1105,0.883,1123,1.06,1134,0.983,1139,2,1223,0.826,1227,2.98,1228,0.826,1231,0.798,1253,0.798,1262,1.094,1288,1.031,1330,1.762,1334,1.06,1340,2.296,1345,1.06,1381,1.84,1411,1.224,1471,3.755,1506,0.944,1519,1.06,1778,1.031,1850,1.799,1852,1.186,1853,4.289,1854,3.96,1864,1.094,1868,2.674,1880,1.799,1902,1.094,1903,1.762,1906,1.186,2113,0.962,2449,1.799,2494,1.005,2642,1.186,2825,0.983,2942,0.927,2985,1.031,3012,1.094,3183,0.927,3200,1.186,3204,1.005,3222,2.171,3233,1.135,3234,2.296,3235,3.927,3236,3.002,3240,1.186,3242,1.186,3282,1.186,3441,1.094,3444,1.358,3445,1.031,3446,1.358,3447,2.486,3448,1.358,3449,1.358,3450,1.358,3451,1.358,3452,4.253,3453,1.358,3454,1.358,3455,1.358,3456,1.358,3457,3.438,3458,1.254,3459,1.358,3460,1.358,3461,1.358,3462,1.358,3463,2.486,3464,1.358,3465,1.358,3466,1.358,3467,1.358,3468,1.358,3469,1.358,3470,1.358,3471,1.358,3472,1.358,3473,1.358,3474,1.358,3475,1.358,3476,3.175,3477,1.358,3478,1.254,3479,2.486,3480,1.358,3481,1.254,3482,1.358,3483,1.186,3484,1.358]],["t/1576",[5,2.771,18,5.911,21,6.193,40,1.117,45,1.385,52,2.109,86,2.52,148,2.976,198,2.586,199,2.536,221,3.589,387,2.3,578,3.94,598,1.583,601,2.459,643,2.536,690,3.164,778,3.772,2195,4.288,2614,4.04,3238,4.916,3239,4.916,3240,6.823,3241,4.916,3242,8.084,3243,4.916,3244,4.916,3245,4.916,3246,4.648]],["t/1578",[3,2.884,5,2.694,6,1.112,7,2.757,10,5.764,18,1.922,19,2.37,20,2.297,21,2.013,51,1.15,72,1.313,92,3.125,93,2.952,147,2.297,272,1.146,464,1.091,485,0.943,568,1.467,582,2.264,598,1.051,610,1.844,643,1.683,672,2.013,707,1.844,708,2.034,725,2.503,871,2.681,1014,1.764,1096,2.411,1111,2.845,1139,2.055,1229,2.332,1313,2.952,1382,3.958,1401,3.085,2157,4.121,2280,3.085,2294,3.263,2452,3.085,2603,4.121,2611,5.297,2614,2.681,2781,2.845,2915,2.757,2926,2.681,3016,4.973,3230,5.585,3395,3.263,3436,3.085,3485,3.533,3486,3.263,3487,3.533,3488,3.533,3489,3.533,3490,8.314,3491,3.533,3492,3.533,3493,3.533,3494,3.533,3495,3.085,3496,3.263,3497,3.533,3498,3.533,3499,3.263,3500,3.263,3501,5.26,3502,3.533,3503,3.533,3504,3.263,3505,3.533,3506,3.533,3507,3.533]],["t/1580",[3,1.256,4,2.215,5,2.415,10,4.481,11,2.073,16,1.414,17,2.469,18,1.35,19,1.664,20,1.613,21,2.419,34,0.882,38,1.04,44,0.859,45,0.709,70,1.045,92,1.083,124,0.966,147,1.613,280,3.642,289,1.491,464,1.311,595,1.693,598,0.738,601,1.961,656,3.222,667,1.836,725,1.758,730,3.546,759,1.153,782,2.291,868,1.724,1013,1.285,1014,1.238,1098,1.758,1115,1.936,1137,3.312,1139,1.443,1140,1.758,1268,3.222,1275,5.138,1366,1.724,1885,2.073,1928,1.528,2157,1.795,2244,3.384,2277,3.706,2573,1.724,2586,1.936,2600,1.693,2603,1.795,2611,3.142,2671,1.883,2897,1.795,2919,3.565,2983,4.118,3183,1.693,3202,2.166,3204,3.142,3230,1.936,3250,3.419,3281,2.073,3326,4.481,3327,2.166,3328,1.936,3422,6.082,3483,2.166,3490,6.837,3499,2.291,3500,2.291,3501,2.291,3504,2.291,3508,2.291,3509,2.481,3510,2.481,3511,6.837,3512,4.245,3513,2.291,3514,2.481,3515,2.481,3516,2.481,3517,2.481,3518,2.481,3519,2.481,3520,2.481,3521,2.481,3522,2.481,3523,4.245,3524,2.481,3525,2.481,3526,2.481]],["t/1582",[4,2.72,5,3.541,92,4.327,680,6.542,1823,6.263]],["t/1584",[3,1.103,4,2.06,5,2.046,16,2.163,17,2.207,29,0.803,34,0.388,40,1.434,41,0.458,43,0.5,45,0.278,70,2.541,72,0.81,110,1.657,111,2.123,114,1.095,115,1.855,116,1.31,124,0.848,126,1.006,127,2.837,160,1.254,163,2.837,174,3.086,175,1.326,176,1.128,221,0.845,267,1.185,284,1.111,296,1.396,440,1.97,464,1.557,469,1.615,524,1.207,576,1.576,581,1.396,598,1.128,601,1.006,609,1.654,625,1.103,643,1.038,666,1.462,678,2.398,697,3.031,727,2.013,752,1.514,810,1.613,908,1.165,924,1.242,994,1.7,1008,1.922,1013,1.128,1134,1.576,1137,1.7,1145,1.654,1170,2.746,1200,1.325,1288,2.88,1330,1.544,1349,0.978,1353,1.438,1389,1.377,1486,1.576,1928,1.342,2050,5.122,2243,2.88,2244,1.325,2372,1.613,2485,1.902,2489,3.17,2561,1.654,2573,1.514,2600,1.487,2602,3.826,2669,1.7,2976,1.755,2983,1.613,3056,1.902,3247,1.7,3248,3.313,3249,2.012,3250,3.056,3251,2.012,3252,3.504,3253,3.504,3254,3.504,3255,2.012,3256,3.504,3257,1.902,3258,2.012,3259,2.012,3260,1.82,3261,2.012,3262,1.902,3265,1.902,3266,1.902,3272,1.82,3281,1.82,3383,2.012,3389,2.012,3393,2.012,3394,2.012,3411,1.902,3527,2.179,3528,2.012,3529,2.179,3530,2.179,3531,3.795,3532,2.179,3533,2.179,3534,2.179,3535,2.179,3536,2.179,3537,2.179]],["t/1586",[3,1.977,5,1.168,34,0.782,40,0.819,65,2.468,163,1.836,272,2.481,464,1.905,512,3.409,598,1.834,631,2.713,672,3.516,707,2.038,708,2.247,859,2.182,868,2.713,1013,2.022,1098,2.766,1137,4.814,1145,2.963,1261,3.409,1303,2.89,2050,5.219,2144,2.664,2243,2.963,2244,6.119,2494,2.89,2573,2.713,2600,4.21,2656,3.047,2671,2.963,2897,2.825,2919,2.502,3204,5.661,3216,5.154,3221,5.154,3223,2.619,3263,3.409,3264,3.605,3265,3.409,3266,3.409,3267,3.605,3268,5.697,3269,5.386,3270,3.605,3272,3.262,3274,5.697,3275,3.605,3276,3.605,3277,3.605,3279,3.605,3280,3.605,3281,3.262,3441,3.144,3538,3.904,3539,3.904,3540,3.904,3541,3.904]],["t/1588",[3,2.209,29,1.609,41,0.917,49,2.353,86,3.184,112,2.423,146,2.462,163,2.052,175,1.524,429,2.091,440,3.441,464,1.347,469,2.862,472,2.714,489,2.353,524,4.547,577,2.373,578,3.229,625,2.209,726,2.439,750,2.416,759,2.027,773,2.757,778,3.091,812,3.513,849,2.757,865,2.225,908,2.333,1008,2.209,1013,4.252,1015,2.721,1134,3.156,1200,2.654,1312,3.404,1349,1.958,1353,4.441,1471,2.027,2616,3.513,2654,3.644,2983,3.229,3247,3.404,3282,3.809,3283,4.028,3284,4.028,3285,4.028,3286,4.028,3287,4.028,3288,4.028,3289,6.212,3290,3.809,3291,3.809,3293,4.028,3542,4.362]],["t/1590",[3,1.145,4,1.698,5,1.552,16,2.233,17,2.279,18,2.821,21,2.233,29,2.281,34,0.633,41,0.475,45,0.288,51,1.275,70,1.65,72,0.84,92,0.987,110,2.701,111,2.178,114,1.97,115,1.916,116,2.355,118,2.303,126,1.81,127,1.063,147,1.47,157,2.835,175,0.79,280,1.768,289,1.359,296,1.449,440,0.738,464,2.16,485,0.603,573,1.82,598,1.165,625,1.145,643,1.866,678,1.429,709,1.492,724,1.82,725,1.602,733,1.301,757,1.315,759,1.05,789,1.449,841,1.673,852,1.105,859,1.264,866,1.276,868,2.723,908,2.095,926,1.329,1013,2.029,1014,1.128,1055,1.602,1096,1.543,1111,1.82,1121,1.888,1200,1.375,1270,1.764,1312,1.764,1349,2.327,1366,1.571,1382,1.571,1822,1.715,1928,1.392,1941,1.41,2157,1.635,2244,1.375,2495,1.82,2573,1.571,2603,1.635,2611,1.673,2629,1.888,2779,1.715,2825,2.835,3183,1.543,3247,1.764,3250,3.155,3294,3.618,3296,1.973,3297,1.973,3298,1.973,3299,2.087,3300,2.087,3301,2.087,3302,2.087,3303,2.087,3305,2.087,3306,2.087,3307,2.087,3308,2.087,3309,2.087,3310,2.087,3311,2.087,3312,2.087,3313,2.087,3314,2.087,3316,2.087,3317,2.087,3318,4.788,3319,4.788,3320,2.087,3321,2.087,3323,2.087,3324,2.087,3325,2.087,3326,1.82,3327,1.973,3328,1.764,3329,2.087,3330,2.087,3331,2.087,3333,1.82,3334,1.973,3335,2.087,3336,1.82,3337,1.888,3543,2.26,3544,2.26,3545,2.26,3546,2.26,3547,2.26]],["t/1593",[4,2.716,5,3.539,70,4.169,92,4.321,124,3.853,625,3.778,735,3.894,1200,4.539,1221,4.781,2808,7.325,3225,6.514,3227,6.514,3228,6.514,3229,6.514]],["t/1595",[4,0.615,5,1.163,6,1.224,29,1.433,35,1.97,63,1.774,70,2.169,86,1.839,126,1.795,127,1.828,146,1.264,164,1.331,166,3.033,175,1.358,272,1.67,296,1.435,387,0.968,429,1.074,440,3.187,469,2.191,487,1.362,563,2.336,571,2.607,576,2.812,580,1.556,589,2.152,594,1.62,595,1.528,596,1.804,598,0.666,609,1.7,613,1.7,614,1.804,643,1.067,659,1.875,672,1.276,674,1.528,675,1.748,678,3.254,688,1.331,697,2.336,717,1.658,724,1.804,725,2.754,771,1.252,784,2.068,829,1.316,885,1.456,908,2.753,918,2.527,946,1.658,952,2.068,1014,1.118,1055,1.587,1084,2.068,1095,1.955,1096,3.513,1105,1.456,1111,1.804,1170,1.62,1189,1.748,1215,1.955,1229,1.478,1251,1.502,1255,3.648,1268,1.7,1270,3.033,1272,2.607,1381,1.658,1509,1.658,1570,1.62,1814,2.393,1823,2.456,1931,1.62,2399,2.068,2420,1.955,2501,1.748,2630,1.871,2842,7.241,2843,5.676,2982,2.068,3067,1.871,3068,1.955,3092,2.068,3093,2.068,3104,2.068,3260,1.871,3412,2.068,3486,2.068,3508,2.068,3548,2.239,3549,2.239,3550,2.239,3551,2.239,3552,3.886,3553,2.239,3554,3.886,3555,2.068,3556,2.239,3557,2.239,3558,2.239,3559,2.239,3560,2.239,3561,2.239,3562,3.886,3563,2.239,3564,2.239,3565,2.239,3566,2.239,3567,2.239,3568,2.239,3569,2.239,3570,2.239]],["t/1597",[6,2.386,57,2.842,282,3.681,566,3.401,585,4.727,610,3.955,665,5.084,683,5.003,828,3.783,831,3.73,843,6.948,918,4.927,966,4.504,1112,6.103,1114,5.084,2910,5.609,2996,6.616,3571,7.578,3572,6.331]],["t/1599",[6,2.15,39,3.273,45,0.87,57,1.941,64,4.44,114,4.687,115,4.558,116,5.605,440,2.23,464,2.109,609,5.182,831,3.361,966,4.059,995,4.745,1053,5.499,1055,4.838,1105,4.44,1112,5.499,1932,5.705,2682,5.962,2996,5.962,3573,6.828,3574,6.828,3575,6.828,3576,6.828]],["t/1601",[5,1.884,6,1.982,52,3.492,69,3.312,72,3.276,86,2.979,111,2.216,112,2.267,221,2.44,259,2.564,272,2.042,387,2.72,440,2.056,601,4.697,608,3.978,652,5.813,687,5.073,688,5.238,760,3.784,764,4.777,1182,4.659,1189,4.912,1229,4.156,2703,5.259,2897,4.554,2981,4.912,3572,5.259,3577,6.294]],["t/1603",[4,0.898,5,0.978,6,1.03,29,1.973,51,1.064,110,4.465,111,3.045,112,3.683,118,1.922,126,2.471,127,1.538,157,3.87,163,1.538,174,2.414,175,2.74,199,1.558,267,1.779,272,1.735,286,2.936,429,2.564,440,1.068,464,1.652,472,2.158,489,1.764,601,3.135,643,1.558,664,2.317,678,2.067,708,1.882,718,2.04,722,1.989,725,2.317,752,2.272,759,1.519,835,2.42,944,1.882,1055,3.79,1106,4.957,1117,3.111,1228,1.989,1232,2.732,1233,2.482,1252,2.732,1267,3.02,1349,2.401,1352,3.048,1361,1.989,1364,2.126,1564,2.855,1822,2.482,2600,2.232,2616,4.308,2629,2.732,2630,2.732,2940,4.94,3260,2.732,3336,2.634,3337,2.732,3578,2.855,3579,3.27,3580,3.27,3581,3.27,3582,3.27,3583,3.02]],["t/1605",[4,0.348,5,0.971,6,0.736,28,0.673,29,2.633,35,1.543,38,0.532,40,0.266,52,0.503,53,0.608,57,1.146,70,2.665,72,0.472,74,0.746,86,0.601,110,1.02,111,2.513,112,1.698,124,1.569,126,1.079,127,0.597,129,1.092,144,1.192,146,0.716,160,0.73,163,0.597,164,1.389,168,0.754,174,1.819,175,0.443,198,1.135,199,1.113,221,1.828,259,2.908,266,2.671,267,1.271,271,0.391,272,2.533,284,3.227,296,0.813,303,1.594,317,0.825,387,2.038,429,1.556,440,1.54,464,1.002,472,1.903,477,0.825,485,0.866,496,2.212,567,0.709,568,2.963,578,0.939,581,0.813,582,0.813,589,0.703,593,1.306,598,1.581,601,0.586,619,0.781,625,0.643,643,0.604,646,1.108,650,0.802,655,1.108,656,0.963,687,0.73,692,0.791,703,1.815,705,0.802,707,0.662,708,0.73,722,0.772,726,0.709,733,0.73,748,0.939,762,1.108,763,1.174,765,0.838,767,0.99,828,1.166,829,0.746,833,0.772,838,0.703,843,0.882,848,2.3,849,0.802,865,2.056,877,0.866,884,1.108,887,1.172,901,1.773,908,0.679,918,0.825,922,0.851,924,1.85,930,2.88,997,1.022,1008,0.643,1013,1.681,1014,2.92,1066,1.108,1096,2.215,1117,1.359,1131,1.952,1136,1.172,1141,1.108,1150,1.172,1172,0.918,1253,0.746,1255,0.899,1345,2.533,1381,0.939,1389,0.802,1456,1.172,1463,0.838,1471,2.471,1485,1.881,1787,1.952,1850,0.918,1851,1.172,1853,1.519,1855,1.022,1868,1.751,1928,0.781,2044,1.06,2144,0.866,2277,1.108,2310,1.108,2501,0.99,2587,1.108,2593,0.851,2608,1.881,2623,0.99,2656,0.99,2703,1.06,2825,0.918,2897,1.69,3012,1.022,3060,1.172,3231,0.939,3441,1.881,3458,1.172,3476,1.172,3572,1.952,3584,1.269,3585,1.108,3586,1.269,3587,1.269,3588,1.269,3589,1.269,3590,1.269,3591,1.172,3592,1.269,3593,1.269,3594,1.269,3595,1.269,3596,1.269,3597,1.269,3598,1.269,3599,2.157,3600,1.269,3601,1.269,3602,1.269,3603,1.269]],["t/1607",[4,1.084,5,2.617,6,2.426,35,1.512,38,0.956,39,1.893,43,0.523,57,1.123,70,4.141,72,3.073,92,1.725,112,0.822,124,3,126,1.824,127,1.858,163,1.858,164,2.348,175,1.825,221,1.531,259,1.609,265,1.341,272,1.694,387,2.69,440,1.706,565,4.23,568,2.168,575,1.781,598,1.851,610,1.191,659,1.906,688,5.843,693,1.462,703,1.275,705,2.496,735,2.062,765,1.506,819,1.586,821,1.838,828,1.139,831,3.464,838,2.892,852,1.931,930,1.123,965,1.241,999,1.651,1009,3.48,1022,1.617,1034,2.866,1141,5.435,1183,3.181,1283,1.689,1293,3.347,1403,3.181,1406,2.375,1420,1.617,1423,1.732,1487,1.838,1801,1.586,2402,3.448,2719,1.992,2720,2.107,2722,1.906,2729,1.781,2732,1.838,2737,1.838,2773,1.838,3604,5.222,3605,2.282,3606,2.282,3607,3.95]],["t/1610",[28,1.86,35,1.342,37,1.62,38,1.47,57,2.024,70,1.477,111,3.158,112,1.263,114,1.763,115,1.715,126,1.62,127,1.65,144,1.789,175,2.856,282,1.703,485,0.936,565,3.404,582,3.629,681,3.935,688,4.859,708,2.019,930,2.788,965,1.908,1055,2.485,1127,2.825,1172,4.097,1194,6.063,1229,2.316,1255,2.485,1471,2.631,1819,2.316,1820,2.316,1831,3.239,1868,3.054,2437,1.009,2472,2.737,2473,2.538,2474,2.596,2475,2.596,2476,2.596,2703,2.93,2892,2.662,2893,2.93,2894,3.062,2897,6.49,2918,2.93,2919,3.629,2920,3.062,2921,3.062,2942,2.393,2943,6.121,2981,2.737,2983,2.596,3572,2.93,3585,3.062,3608,2.825,3609,3.507,3610,3.062,3611,3.062,3612,3.062,3613,3.062,3614,3.239]],["t/1612",[4,0.763,5,0.832,29,2.232,37,2.16,63,1.269,70,3.611,86,1.316,111,3.018,112,2.18,118,1.635,144,2.385,164,2.78,259,1.132,266,1.269,271,0.856,272,3.337,284,2.385,429,2.242,440,2.8,485,0.742,496,2.566,565,4.265,582,4.546,678,1.757,681,4.93,688,5.095,831,1.369,877,1.898,930,3.492,965,1.513,1008,1.408,1055,1.97,1172,5.133,1194,4.484,1229,1.836,1255,6.073,1471,2.173,1868,3.826,2143,2.568,2437,1.345,2460,3.549,2723,2.058,2812,2.323,2820,2.239,2897,2.012,2942,3.191,2943,3.191,2951,2.323,3081,3.766,3585,4.083,3608,2.239,3615,2.568,3616,2.568,3617,2.781,3618,2.781,3619,2.781,3620,2.428,3621,2.781,3622,2.781]],["t/1614",[35,2.409,37,2.908,38,2.639,57,1.789,70,3.712,175,2.2,272,2.042,282,3.057,485,1.68,965,3.424,1194,6.963,1406,3.784,1819,4.156,1820,4.156,2017,4.093,2134,5.07,2472,4.912,2473,4.554,2474,4.659,2475,4.659,2476,4.659,2892,4.777,2894,5.496,2897,4.554,2978,5.259,2979,4.777,2980,5.496,2987,5.496,3608,5.07,3623,6.294]],["t/1616",[5,2.375,40,1.547,57,0.6,63,2.695,70,0.89,72,2.194,86,3.986,112,0.761,113,2.803,200,2.617,221,3.077,259,3.003,272,1.597,440,1.607,464,1.14,472,0.852,485,0.564,565,4.772,568,3.06,598,1.098,601,0.976,659,2.848,681,6.398,727,4.883,965,1.149,1172,6.093,1194,2.334,1253,1.242,2173,5.017,2437,3.256,2729,1.648,2917,1.844,3209,3.224,3528,3.411,3608,1.701,3624,1.95,3625,4.182,3626,1.95,3627,1.95,3628,5.161,3629,4.754,3630,4.754,3631,3.693,3632,1.95,3633,4.102,3634,4.545,3635,1.95,3636,1.95,3637,2.112,3638,1.95,3639,1.95,3640,1.95,3641,1.95,3642,1.95,3643,1.95]],["t/1618",[4,0.587,5,0.64,29,1.834,34,0.219,35,1.903,49,2.015,63,1.706,70,2.094,72,1.389,86,2.82,111,2.097,175,0.748,199,1.019,259,3.026,267,1.164,272,1.933,284,3.79,317,3.873,387,2.574,429,2.383,440,2.208,464,1.535,485,0.571,568,2.064,598,0.636,681,5.555,688,2.221,859,2.088,965,1.164,1008,1.892,1172,2.703,1194,4.273,1255,2.647,1361,1.302,1374,1.869,1389,2.361,1471,0.995,1787,3.121,2243,1.624,2244,2.273,2437,3.396,2593,1.436,3583,1.976,3608,1.724,3634,7.382,3644,1.976,3645,2.14,3646,5.264,3647,4.004,3648,4.409,3649,4.409,3650,2.14,3651,4.004,3652,3.121,3653,3.262,3654,2.14,3655,4.892,3656,1.976,3657,2.14,3658,4.154,3659,4.154,3660,2.14,3661,4.154,3662,2.14,3663,2.14]],["t/1620",[5,1.132,6,1.894,34,0.387,52,3.691,70,1.593,72,3.173,82,2.177,163,1.779,198,1.837,199,1.801,221,1.466,277,2.177,387,2.599,464,1.168,566,2.699,568,2.497,591,2.628,592,3.046,593,2.114,598,2.227,709,2.497,719,5.025,922,4.036,932,2.68,964,2.248,965,2.057,974,4.18,1007,4.694,1014,1.888,1022,4.262,1034,3.301,1105,2.459,1114,2.537,1125,5.55,1127,3.046,1128,3.575,1129,4.18,1161,2.736,1175,3.492,1403,3.046,1463,2.497,1487,3.046,1505,2.951,1507,2.87,1509,2.799,1747,2.87,1762,2.736,1931,2.736,2302,3.492,2580,3.302,2684,3.492,2774,3.159,2985,2.87,3023,3.302,3049,3.492,3348,3.492,3664,3.782,3665,3.782,3666,3.782,3667,3.782,3668,3.782]],["t/1622",[3,0.274,4,0.647,5,1.669,28,0.554,29,1.011,34,0.571,35,0.4,39,0.5,40,0.219,43,0.239,45,0.069,49,0.563,52,1.087,53,0.934,57,0.779,62,1.694,70,0.637,72,0.388,74,0.614,79,0.92,85,0.689,86,1.469,92,0.851,110,2.7,111,2.42,112,2.157,114,0.272,115,0.265,118,0.614,124,1.799,126,0.698,127,0.711,129,0.253,144,1.203,146,1.1,148,0.845,157,1.094,159,0.725,160,1.122,163,2.818,164,0.322,174,1.553,175,0.528,218,1.032,220,0.66,221,1.063,266,1.252,271,0.321,272,2.33,280,0.244,286,0.573,296,1.988,298,0.872,299,1.629,300,0.452,301,0.452,302,0.452,303,2.349,304,1.263,305,0.452,306,0.452,307,0.452,308,0.452,309,0.452,310,0.392,311,1.308,312,1.218,313,0.872,314,1.79,315,2.499,316,1.263,317,1.533,318,0.755,343,0.679,346,0.66,387,0.451,388,0.347,389,0.369,429,3.137,440,1.673,463,0.669,464,1.343,467,1.071,469,1.32,472,1.106,476,0.643,484,0.573,485,0.52,486,1.161,487,0.92,488,0.357,489,1.479,524,1.718,566,0.243,568,0.979,581,0.347,593,1.533,594,1.984,595,0.369,598,1.294,601,2.135,610,0.282,611,0.773,619,0.931,625,0.274,643,0.72,649,0.473,650,0.66,659,0.261,664,0.383,672,1.111,674,0.712,680,0.357,697,2.069,705,0.66,707,0.545,708,0.601,709,1.287,713,0.998,716,0.383,717,0.401,719,0.452,722,1.887,727,0.287,739,0.401,740,0.401,744,2.592,750,0.3,752,1.051,759,0.703,760,0.628,763,1.186,765,2.048,789,1.249,792,0.669,821,0.436,828,0.27,837,1.263,852,1.153,865,1.203,866,0.589,868,0.725,871,3.085,903,0.436,908,1.261,924,0.308,925,0.383,946,0.773,1003,0.411,1013,0.783,1014,0.27,1106,0.342,1117,0.88,1133,0.872,1134,0.755,1161,0.755,1174,1.218,1219,0.473,1221,0.669,1223,0.329,1229,0.357,1232,0.452,1233,0.411,1239,0.383,1251,0.363,1262,0.436,1305,0.436,1334,0.422,1335,0.369,1344,1.33,1349,1.392,1353,1.287,1361,0.635,1363,0.401,1364,0.352,1371,0.383,1405,0.5,1407,0.376,1427,0.725,1428,1.119,1471,3.119,1489,0.422,1505,0.815,1754,0.964,1778,0.411,1801,1.051,1822,0.411,1854,0.533,1868,0.563,1903,0.383,1928,0.333,2019,0.422,2050,1.33,2113,0.383,2124,0.452,2144,0.712,2157,0.392,2244,2.094,2360,1.84,2488,0.436,2541,0.392,2552,0.872,2586,1.18,2587,0.911,2588,0.964,2593,1.015,2594,0.452,2595,0.872,2597,0.5,2598,0.452,2599,0.452,2600,0.712,2601,0.436,2602,0.411,2603,0.392,2604,0.452,2605,0.452,2606,0.452,2607,0.872,2608,0.436,2609,0.452,2610,0.452,2611,0.401,2612,0.5,2614,0.411,2615,0.964,2616,0.841,2617,0.5,2618,0.5,2619,0.473,2622,0.5,2623,0.422,2624,1.521,2628,0.872,2899,0.452,3230,0.815,3248,2.059,3262,0.473,3290,0.473,3291,0.473,3296,0.473,3297,0.473,3298,0.473,3333,0.436,3400,1.396,3411,0.473,3436,0.473,3441,0.436,3511,1.396,3669,0.541,3670,0.541,3671,0.541,3672,0.5,3673,0.541,3674,0.541,3675,0.541,3676,0.541,3677,0.541,3678,0.541,3679,0.541,3680,0.541,3681,0.541,3682,0.541,3683,0.541,3684,0.541,3685,0.541,3686,0.541,3687,0.541,3688,0.541,3689,0.541,3690,0.541,3691,0.541,3692,0.541,3693,0.541,3694,0.541,3695,1.044,3696,0.541,3697,0.541,3698,1.044,3699,0.541]],["t/1624",[3,0.781,28,1.166,29,1.73,34,0.225,39,0.39,40,0.323,43,0.354,52,1.106,53,1.338,57,0.793,70,1.611,72,0.303,74,0.907,85,1.018,86,0.385,92,0.355,110,0.96,111,1.346,112,1.69,114,3.05,115,2.967,124,0.317,126,0.376,127,0.383,144,0.787,148,1.229,157,0.589,159,2.657,160,1.607,174,0.696,218,0.555,220,0.975,259,2.8,266,1.952,267,0.443,271,0.475,272,0.905,278,1.668,280,0.696,284,2.181,286,3.33,288,3.596,293,2.657,296,1.789,311,1.873,317,2.166,343,1.815,346,0.514,387,1.439,396,2.178,404,2.524,405,1.141,406,1.203,428,0.68,429,3.296,430,0.68,431,0.68,432,0.68,433,0.68,434,0.68,435,0.68,436,1.77,437,0.68,438,0.68,439,0.68,440,2.898,464,2.045,469,2.925,472,0.887,473,1.557,476,0.501,477,0.529,485,0.411,486,0.759,487,1.698,488,1.018,489,2.53,497,0.589,567,0.455,568,0.64,593,1.56,598,1.271,601,2.508,605,0.489,619,0.95,625,1.413,643,1.586,659,0.393,664,0.577,678,0.514,687,1.265,709,1.843,717,1.141,720,0.68,722,1.698,726,0.455,739,1.141,759,1.987,773,0.514,789,0.988,792,0.521,810,1.141,821,0.655,837,0.68,852,0.398,858,0.555,865,1.699,871,1.17,885,1.003,896,0.589,904,0.635,908,1.175,924,0.464,925,0.577,945,0.618,1008,0.412,1013,2.214,1014,0.406,1117,0.473,1161,1.116,1213,0.655,1228,0.495,1229,0.537,1234,1.17,1239,0.577,1270,0.635,1303,0.602,1305,0.655,1344,0.555,1349,2.972,1361,0.938,1364,0.529,1365,1.141,1371,0.577,1407,0.565,1471,1.777,1801,0.565,2050,1.905,2113,1.093,2157,0.589,2244,2.854,2360,0.635,2369,0.71,2417,0.618,2541,0.589,2568,0.751,2593,1.474,2594,0.68,2598,0.68,2599,0.68,2600,0.555,2601,0.655,2602,0.618,2603,0.589,2604,0.68,2605,0.68,2606,0.68,2608,0.655,2609,0.68,2610,0.68,2611,0.602,2623,0.635,2624,2.599,2625,1.424,2626,0.751,2627,2.599,2628,0.68,2629,0.68,2630,0.68,2631,0.751,2636,0.751,2637,0.751,2639,0.751,2640,0.751,2641,0.751,2642,0.71,2644,0.751,2645,0.751,2646,0.751,2647,0.751,2649,0.751,2651,0.751,2652,0.751,2653,0.751,2654,0.68,2655,0.751,3672,0.751,3700,0.814,3701,0.814,3702,0.814,3703,0.814,3704,0.814,3705,0.814,3706,0.814,3707,0.814,3708,0.814,3709,0.814,3710,0.814,3711,0.814,3712,0.814]],["t/1626",[29,3.654,57,2.817,484,5.439,485,2.644,598,2.947,3713,8.652]],["t/1628",[4,1.774,29,3.804,40,1.356,41,1.888,42,1.915,43,2.059,44,1.816,49,5.563,53,4.944,280,4.051,464,1.996,484,3.547,485,2.395,489,3.486,2437,2.582,3713,5.643,3714,6.463,3715,3.8,3716,5.643]],["t/1630",[4,1.603,29,3.928,40,1.225,41,1.757,42,1.783,43,1.916,44,1.69,53,5.107,69,3.072,280,3.771,464,1.803,484,3.204,485,2.23,486,2.874,1098,4.137,2437,3.242,2573,4.057,3713,5.097,3715,3.432,3717,5.838,3718,8.355,3719,8.355]],["t/1632",[29,3.888,53,5.055,148,5.894,271,2.531,484,4.513,485,2.813,486,4.048,487,5.002,488,5.429,489,4.435,1367,7.179,2593,5.517]],["t/1634",[4,1.751,29,3.28,40,1.338,41,1.87,42,1.898,43,2.04,44,1.799,49,6.285,148,4.972,280,4.014,464,1.969,485,1.702,1013,3.303,2437,3.352,2593,5.967,3644,5.89,3715,3.749]],["t/1636",[4,1.706,29,3.221,40,1.303,41,1.836,42,1.864,43,2.003,44,1.767,49,5.446,69,5.313,148,5.645,280,3.941,464,1.919,484,4.793,485,1.658,1013,3.218,2437,3.151,2457,5.191,3715,3.653,3720,6.213]],["t/1638",[4,1.706,29,3.221,40,1.303,41,1.836,42,1.864,43,2.003,44,1.767,49,5.446,148,5.645,280,3.941,464,1.919,484,4.793,485,1.658,839,7.017,1013,3.218,2437,3.151,2956,5.738,3715,3.653,3721,6.213]],["t/1640",[4,1.706,29,3.221,40,1.303,41,1.836,42,1.864,43,2.003,44,1.767,49,5.446,148,5.645,280,3.941,464,1.919,484,4.793,485,1.658,1013,3.218,2437,3.151,3233,8.436,3715,3.653,3722,6.213,3723,6.213]],["t/1642",[4,1.706,29,3.221,40,1.303,41,1.836,42,1.864,43,2.003,44,1.767,49,5.446,148,5.645,280,3.941,464,1.919,484,4.793,485,1.658,1013,3.218,2437,3.151,2494,7.475,3715,3.653,3716,5.425,3724,6.213]],["t/1644",[4,1.583,29,3.907,40,1.21,41,1.742,42,1.768,43,1.9,44,1.676,69,4.358,146,3.255,148,5.922,280,3.739,464,1.781,484,4.547,485,1.539,1013,2.988,1098,5.87,1941,3.598,2437,3.359,2573,5.757,3715,3.391,3725,5.768]],["t/1646",[57,2.937,221,4.005,265,6.075,1747,7.842]],["t/1648",[4,2.337,44,1.722,198,4.135,199,4.055,221,3.3,387,3.678,485,2.271,2328,3.886,2437,2.449,2998,6.032,3007,4.029,3726,7.432,3727,5.62,3728,4.804]],["t/1650",[598,3.14,1034,5.795,3729,10.559]],["t/1652",[4,2.464,5,1.934,41,1.359,42,1.379,43,1.482,44,2.086,63,2.95,86,3.059,198,3.139,199,3.079,221,3.48,280,4.051,387,3.879,464,1.996,485,1.725,859,3.613,882,3.347,1034,3.547,2437,1.859,2552,5.399,3007,3.059,3715,3.8,3726,5.643,3727,4.267,3728,5.066]],["t/1654",[21,5.647,129,4.633,1139,5.764,1468,6.763,3183,6.763,3481,9.151]],["t/1656",[2437,3.105,3730,9.969]],["t/1658",[16,5.425,17,5.537,34,1.182,209,6.887,2437,3.323,3007,4.506]],["t/1660",[16,5.425,17,5.537,34,1.182,210,6.887,2457,9.651,3007,4.506]],["t/1662",[1114,6.933,1446,5.189,3731,10.333]],["t/1664",[1446,4.617,3732,10.795]],["t/1666",[1446,4.617,3733,10.795]],["t/1668",[44,1.722,65,6.813,485,2.271,944,4.9,1277,6.301,2887,4.672,3007,4.029,3715,5.005,3734,8.512,3735,8.412,3736,8.512,3737,8.512]],["t/1670",[18,4.256,44,2.065,69,4.116,485,2.088,810,5.791,1428,7.557,1840,6.83,2328,3.572,2887,4.294,3007,4.833,3735,8.869,3738,7.823,3739,7.823,3740,7.225]],["t/1672",[18,5.121,34,0.963,44,1.904,65,6.759,79,4.214,485,1.848,1191,5.127,1277,5.127,1428,6.968,1840,6.047,2328,3.162,2437,1.992,2887,3.801,2926,5.257,3007,3.278,3735,7.346,3741,6.926,3742,6.926,3743,6.926,3744,6.926]],["t/1674",[14,3.585,34,0.996,41,1.018,42,1.033,43,1.111,44,1.771,62,2.384,280,2.186,464,1.496,485,1.292,610,2.528,759,2.251,882,2.508,1013,2.508,2328,2.211,2887,2.658,3007,5.388,3728,4.111,3735,7.601,3740,6.727,3745,4.843,3746,4.843,3747,8.503,3748,4.843,3749,4.843,3750,4.843,3751,4.843,3752,4.843,3753,4.843,3754,4.843,3755,5.392,3756,4.843,3757,4.843,3758,4.843,3759,4.843,3760,4.843,3761,4.843]],["t/1676",[29,3.654,485,2.644,659,4.781,1013,5.132,1468,6.763,3762,7.981]],["t/1678",[4,2.665,44,1.964,53,4.655,485,2.591,2437,2.793,3715,5.709,3763,9.71]],["t/1680",[29,3.654,485,2.644,659,4.781,1013,5.132,1468,6.763,3762,7.981]],["t/1682",[4,2.665,44,1.964,53,4.655,485,2.591,2437,2.793,3715,5.709,3764,9.71]],["t/1684",[29,3.654,485,2.644,659,4.781,1013,5.132,1468,6.763,3762,7.981]],["t/1686",[4,2.665,44,1.964,53,4.655,485,2.591,2437,2.793,3715,5.709,3765,9.71]],["t/1688",[29,3.654,485,2.644,659,4.781,1013,5.132,1468,6.763,3762,7.981]],["t/1690",[4,2.665,44,1.964,53,4.655,485,2.591,2437,2.793,3715,5.709,3766,9.71]],["t/1692",[3,4.917,5,2.906,57,2.76,221,3.764,1250,6.411,1747,7.37,3007,4.596]],["t/1694",[34,1.044,200,5.543,201,6.105,202,6.105,203,6.105,204,6.105,205,5.791,3007,6.066,3735,7.967,3747,9.923]],["t/1696",[6,3.057,57,2.76,199,4.625,642,7.578,726,5.428,2353,7.578,2888,7.578]],["t/1698",[1361,6.286,2437,2.972,2924,9.542,2926,7.842]],["t/1700",[4,2.464,5,3.086,18,3.516,21,3.683,28,3.428,29,3.804,72,2.403,92,2.822,129,3.022,146,3.647,485,1.725,598,1.922,619,3.98,625,3.273,709,4.267,757,3.759,995,4.491,1126,5.205,1408,4.905,1752,5.643,2437,1.859,2890,5.968,3390,5.968,3762,7.23,3767,6.463,3768,6.463]],["t/1702",[2437,3.105,3769,10.795]],["t/1704",[6,3.185,29,3.731,2437,2.91,2450,8.452,3770,10.117]],["t/1706",[57,3.001,221,4.093,1747,8.014]],["t/1708",[34,1.128,387,3.813,388,5.655,389,6.022,3007,5.962,3735,8.604,3747,7.704]],["t/1710",[2437,3.105,3730,9.969]],["t/1712",[1114,6.933,1446,5.189,3771,10.333]],["t/1714",[1446,4.617,3772,10.795]],["t/1716",[4,2.783,5,2.071,40,0.949,41,1.455,42,1.477,43,1.587,44,1.4,52,1.793,53,5.124,63,2.066,86,2.142,198,2.198,199,2.156,221,3.647,224,4.642,387,3.63,464,1.398,485,1.846,625,2.292,750,2.507,833,2.753,859,2.53,926,2.661,965,2.462,1105,4.499,2274,3.951,2328,2.066,2437,1.99,3007,3.275,3648,3.35,3649,5.122,3726,3.951,3727,4.568,3728,3.905,3755,5.122,3773,4.526]],["t/1718",[18,5.504,485,2.7,2887,5.553,3715,5.948,3774,10.117]],["t/1720",[126,4.673,127,4.759,566,4.54,786,7.678,853,7.488]],["t/1722",[4,2.665,22,5.378,35,3.716,38,4.07,39,4.655,3775,6.515,3776,9.71]],["t/1724",[4,2.219,6,3.635,40,1.696,41,1.7,42,1.725,43,1.854,57,2.965,485,2.157,843,5.619,2979,7.916,3336,6.512,3777,7.059,3778,8.085]],["t/1726",[4,2.017,40,1.541,41,1.545,42,1.568,43,1.685,124,3.814,227,4.069,282,4.758,485,1.961,591,5.106,1115,5.734,1194,4.644,1272,4.93,2919,6.278,2999,6.138,3001,7.644,3591,6.785,3779,9.795]],["t/1728",[57,2.76,124,3.78,126,4.485,127,4.568,175,3.393,566,4.358,843,6.748]],["t/1730",[4,2.514,6,3.552,57,2.603,485,2.444,566,4.11,852,4.478,2979,6.95,2998,6.489,3777,7.996]],["t/1732",[4,2.08,40,1.59,41,1.593,42,1.617,43,1.738,124,3.892,227,4.197,282,4.856,485,2.022,1115,5.914,1272,5.084,2919,6.408,2998,5.369,2999,6.331,3000,8.053,3001,7.802]],["t/1734",[6,2.83,35,3.44,57,2.555,566,4.033,577,4.889,665,6.03,828,4.486,843,6.246,966,5.342,1014,4.486,2910,6.653]],["t/1736",[57,3.364,750,5.488,966,5.89,3780,10.929]],["t/1738",[6,3.984,57,3.364,750,5.488]],["t/1740",[34,0.937,63,4.181,113,6.95,126,4.23,127,4.308,598,2.724,3728,5.168,3781,6.489,3782,9.158,3783,8.457]],["t/1742",[1114,6.933,1446,5.189,3784,10.333]],["t/1744",[1446,4.617,3785,10.795]],["t/1746",[1446,4.617,3786,10.795]],["t/1748",[4,2.183,35,3.043,38,3.333,40,1.668,41,1.672,42,1.697,43,1.824,57,2.933,282,3.862,2995,6.943,3775,5.335,3780,10.578,3787,6.405,3788,10.318]],["t/1750",[4,2.017,6,3.701,39,3.522,40,1.541,41,1.545,42,1.568,43,1.685,57,2.784,265,4.32,485,1.961,566,3.297,698,5.206,718,4.583,828,3.668,966,4.367,2979,7.434,3513,6.785,3777,6.415]],["t/1752",[4,1.684,8,4.116,40,1.287,41,1.29,42,1.309,43,1.407,124,3.37,126,2.834,127,2.886,176,3.177,282,4.204,485,1.637,598,1.824,896,4.439,966,6.475,1200,3.732,1272,4.116,1442,5.356,2437,1.765,2919,5.547,2999,5.125,3000,6.971,3001,7.826,3578,7.557,3783,5.665,3789,5.665]],["t/1754",[57,3.362,114,4.28,115,4.162,116,5.118,566,3.82,577,4.631,829,5.005,852,4.162,857,6.643,995,5.916,1114,5.711,1327,5.242]],["t/1756",[4,1.642,35,2.29,40,1.255,41,1.788,42,1.814,43,1.95,44,2.001,114,3.008,115,2.925,116,5.112,227,3.314,282,4.13,464,1.848,485,1.596,577,4.626,829,3.517,1115,4.669,1327,3.684,1349,2.685,2328,2.731,2437,2.446,2919,5.449,2998,4.239,3000,6.848,3001,6.635,3003,5.223]],["t/1758",[57,2.603,114,4.604,115,4.478,116,5.506,566,4.11,577,4.982,829,5.384,852,4.478,1327,5.64,2888,7.147]],["t/1760",[44,2.047,116,7.204,2437,2.91,3790,9.343]],["t/1762",[4,2.257,35,3.147,38,3.447,40,1.725,41,1.729,42,1.755,43,1.886,44,1.664,116,4.944,2437,2.365,3775,5.517,3790,7.594,3791,5.826,3792,10.543,3793,8.223]],["t/1764",[4,2.08,35,2.9,41,1.593,42,1.617,43,1.738,44,2.264,116,6.011,464,2.34,485,2.022,577,4.123,1327,4.667,1349,3.401,2328,3.46,2437,2.876,2888,5.914,2919,4.856,3003,6.616]],["t/1767",[41,1.645,42,1.669,43,1.794,44,2.065,111,3.594,112,3.677,346,4.945,464,2.416,472,4.12,485,2.088,1038,5.087,1349,3.511,2328,3.572,2886,6.543]],["t/1769",[41,1.593,42,1.617,43,1.738,44,2.023,111,3.52,464,2.34,485,2.022,496,5.488,1038,4.927,1349,3.401,1471,4.646,1850,7.234,2328,3.46,2437,2.876,3612,6.616]],["t/1771",[40,1.496,41,1.499,42,1.522,43,1.636,111,2.51,175,2.492,271,2.195,480,5.743,485,1.903,496,5.269,930,3.51,1038,4.637,1139,4.148,1471,3.314,1850,5.159,2372,5.278,2437,3.122,2942,6.552,2943,6.552,3610,6.226]],["t/1773",[35,2.507,40,1.374,41,1.905,42,1.933,43,2.078,44,1.833,111,3.19,175,2.289,464,2.023,485,1.748,496,4.973,930,4.46,1038,4.259,1349,2.94,1471,3.044,1850,6.556,2372,4.849,2437,2.988,2943,6.183,3611,5.719]],["t/1775",[41,1.7,42,1.725,43,1.854,44,2.11,271,3.211,343,5.257,464,2.497,485,2.157,828,5.206,1038,5.257,1349,3.628,2328,3.691,2437,3]],["t/1777",[41,1.593,42,1.617,43,1.738,44,2.023,57,2.842,111,3.52,464,2.34,485,2.022,496,5.488,1038,4.927,1227,6.011,1349,3.401,1850,7.234,2328,3.46,2877,6.103]],["t/1779",[35,3.643,57,2.706,124,3.706,126,4.397,127,4.478,175,3.326,566,4.272,831,4.686]],["t/1781",[34,1.012,40,1.565,52,2.956,67,5.092,111,2.627,112,2.687,124,2.905,472,3.011,489,4.024,650,4.716,858,5.092,901,5.662,908,3.99,935,5.185,1125,4.851,1277,5.523,1364,4.851,2310,6.514,2886,4.781,3794,7.461,3795,7.461]],["t/1783",[111,2.997,112,3.882,277,4.9,429,4.081,472,4.349,618,5.809,697,6.481,1477,7.861,2885,7.861,2886,5.455,2889,7.861]],["t/1785",[2886,6.918,3796,9.019]],["t/1787",[29,3.654,110,4.327,111,3.489,157,7.17,2437,2.85,3797,9.909]],["t/1789",[175,3.463,176,5.132,601,4.577,1134,7.17,2437,2.85,2478,8.652]],["t/1791",[34,0.937,57,3.207,113,6.95,175,4.46,176,4.743,3781,6.489]],["t/1793",[271,3.181,343,6.719,828,5.158,2437,2.972]],["t/1795",[34,0.937,111,3.224,113,6.95,118,5.384,144,4.672,271,2.819,2437,2.634,2825,6.626,3781,6.489,3798,9.158]],["t/1797",[57,3.001,1259,8.706]],["t/1799",[57,3.001,2471,9.588]],["t/1801",[3,4.236,4,2.296,5,2.503,57,2.378,111,2.945,113,6.349,114,4.205,115,4.09,116,5.029,601,3.864,1200,5.089,1227,6.409,1268,6.349,2877,6.737]],["t/1803",[57,3.134,63,4.028,124,3.435,126,4.076,127,4.151,282,4.286,440,2.882,853,8.901,855,7.372]],["t/1805",[57,3.134,114,4.436,115,4.314,116,5.305,124,3.435,286,4.843,464,2.725,659,4.257,829,5.187,857,8.604]],["t/1807",[57,2.555,828,4.486,831,5.49,849,5.681,946,6.653,1255,6.368,1270,7.014,2437,2.585,2488,7.239,2880,8.3]],["t/1809",[996,5.869,2437,3.245,3007,4.335,3799,9.158,3800,9.158,3801,6.25,3802,9.158,3803,9.158,3804,9.158]],["t/1811",[282,4.623,996,6.1,2918,7.953,2943,6.496,3007,4.506,3613,8.311,3801,6.496,3805,9.519]],["t/1813",[57,2.653,175,3.262,485,2.491,566,4.189,683,7.537,733,5.374,2943,6.371,3806,9.335]],["t/1815",[1114,6.788,1446,5.124,3807,10.117,3808,10.117]],["t/1817",[1446,4.617,3809,10.795]],["t/1819",[1446,4.617,3810,10.795]],["t/1821",[1446,4.617,3811,9.969]],["t/1823",[170,5.744,1446,4.516,3812,10.559]],["t/1825",[170,5.744,1446,4.516,3813,10.559]],["t/1827",[4,1.461,6,1.676,35,2.037,38,2.232,39,2.552,40,1.117,41,1.119,42,1.136,43,1.221,57,3.6,111,1.874,112,1.917,472,2.148,853,6.854,857,7.226,1259,5.537,2471,7.226,2874,7.217,2875,7.217,2876,7.217,2886,5.008,2895,6.529,3628,5.082,3775,3.572,3787,4.288]],["t/1829",[41,1.645,42,1.669,43,1.794,44,2.065,111,3.594,112,3.677,346,4.945,464,2.416,472,4.12,485,2.088,1038,5.087,1349,3.511,2328,3.572,2886,6.543]],["t/1831",[4,1.749,5,1.217,39,1.95,40,0.853,41,0.855,42,0.868,43,0.933,110,1.777,111,2.243,114,2.045,115,1.989,124,3.058,126,4.458,127,4.54,176,2.107,218,5.36,227,3.529,464,1.256,485,2.096,566,2.86,713,2.686,843,2.827,855,3.399,857,3.175,858,2.776,889,3.757,966,2.418,1014,2.031,1200,2.475,1227,2.446,1272,2.73,1481,3.552,1755,3.757,1853,2.645,2918,5.323,2919,5.696,2920,5.563,2921,5.563,2927,3.757,2939,3.757,2995,3.552,3007,1.926,3013,3.399,3578,3.552,3789,3.757,3801,4.349,3814,4.068,3815,4.068,3816,4.068,3817,4.068,3818,4.068]],["t/1833",[4,1.955,5,1.407,35,2.726,40,0.986,41,1.498,42,1.52,43,1.634,44,1.441,57,2.025,112,1.694,175,3.005,271,1.447,272,1.525,282,4.177,440,1.536,463,3.013,464,1.452,469,2.001,472,1.897,485,1.255,740,3.48,831,2.315,865,2.399,1003,3.568,1221,3.013,2437,1.352,2473,5.154,2474,5.273,2475,5.273,2476,5.273,3007,5.135,3613,4.105,3801,4.861,3819,5.951,3820,5.951,3821,7.123]],["t/1835",[4,1.957,40,1.496,41,1.499,42,1.522,43,1.636,57,2.027,111,2.51,175,3.355,176,3.693,271,2.195,485,1.903,566,3.2,930,3.51,1139,4.148,1868,3.846,2278,6.226,2437,3.122,2942,6.552,2943,6.552,3610,6.226]],["t/1837",[4,1.774,40,1.356,41,1.888,42,1.915,43,2.059,44,1.816,57,1.837,111,2.275,175,3.137,176,3.347,464,1.996,485,1.725,566,2.9,865,3.297,930,3.182,1223,3.932,1471,5.178,2278,5.643,2437,2.967,2943,6.126,3611,5.643]],["t/1839",[4,2.08,41,1.593,42,1.617,43,1.738,44,2.264,57,2.154,464,2.34,485,2.022,820,4.053,865,3.866,1471,5.529,2328,3.46,2437,2.876,2877,6.103,3612,6.616]],["t/1841",[4,1.798,40,1.374,41,1.905,42,1.933,43,2.078,44,1.833,57,2.953,73,3.12,175,4.359,464,2.023,485,1.748,836,3.938,863,5.276,2328,2.99,2372,4.849,2437,1.884,2943,6.183,3614,6.049]],["t/1843",[57,2.154,124,2.95,257,5.266,258,3.705,259,3.086,266,3.46,267,4.123,272,3.63,404,5.003,568,4.645,598,2.973,703,4.236,828,3.783,901,5.751,1381,5.609,3822,6.998]],["t/1845",[1114,6.933,1446,5.189,3823,10.333]],["t/1847",[1446,4.617,3824,10.795]],["t/1849",[1446,4.617,3825,10.795]],["t/1851",[1446,4.617,3826,10.795]],["t/1853",[1446,4.617,3827,9.969]],["t/1855",[1446,4.617,3828,10.795]],["t/1857",[1446,4.617,3829,9.425]],["t/1859",[1446,4.617,3830,10.795]],["t/1861",[1446,4.617,3831,10.795]],["t/1863",[63,4.524,272,3.215,1098,7.021,2117,9.151,3728,5.592,3832,9.909]],["t/1865",[266,4.619,271,3.114,568,4.2,2024,8.833,2437,2.91]],["t/1867",[34,0.841,70,3.464,174,3.711,266,3.754,268,6.241,272,3.421,297,4.734,1008,4.164,1009,4.597,1170,5.95,2019,9.083,2353,6.417,2437,2.365]],["t/1869",[111,3.489,284,5.055,404,6.542,429,4.75,1471,4.605,2437,2.85]],["t/1871",[57,3.001,221,4.763]],["t/1873",[57,3.001,1406,7.387]],["t/1875",[4,1.901,35,2.651,38,2.903,39,3.32,40,1.453,41,1.456,42,1.478,43,1.589,57,3.411,221,4.145,282,4.572,1406,6.43,2892,7.145,3775,4.647,3787,5.578,3833,8.219]],["t/1877",[35,2.29,40,1.255,41,1.258,42,1.277,43,1.372,57,1.701,86,2.832,111,2.106,175,3.456,198,2.906,199,2.85,272,1.941,284,3.052,303,4.083,387,3.674,429,2.868,485,1.596,568,2.483,763,4.275,1038,3.89,1471,3.951,2437,2.446,2976,4.818,3646,6.025,3647,6.848,3648,6.294,3649,6.294,3834,5.983]],["t/1879",[35,1.57,40,0.861,41,1.349,42,1.369,43,1.471,44,1.298,57,1.823,63,1.873,86,1.942,111,1.444,112,1.478,174,1.852,175,2.76,198,1.993,199,1.954,221,1.59,266,3.605,272,2.562,282,1.993,297,2.362,387,3.413,404,5.214,429,1.967,464,1.267,485,1.095,598,1.22,763,3.225,1008,3.248,1471,1.907,2328,1.873,2437,3.195,2887,2.252,3646,4.545,3647,5.166,3648,4.748,3649,4.748,3651,5.166,3652,5.359,3653,5.6,3728,3.62,3755,4.748,3835,4.103]],["t/1881",[4,1.821,5,0.946,29,2.835,35,1.21,40,0.663,41,1.095,42,1.111,43,1.194,44,1.555,52,1.253,53,2.495,57,1.479,92,1.381,111,1.832,124,1.231,174,1.427,175,2.318,218,2.158,266,3.028,271,1.602,272,2.152,282,1.536,284,1.613,311,3.492,404,3.436,429,2.495,464,2.374,485,0.844,593,1.768,619,1.948,666,2.122,692,1.973,763,1.59,828,1.579,866,1.785,924,1.803,1008,3.359,1131,2.642,1221,2.027,1342,2.761,1389,3.29,1407,2.198,1471,3.572,1750,2.921,1778,2.4,2328,1.444,2437,3.241,2593,4.45,2624,2.468,3646,3.688,3647,4.192,3651,4.192,3652,4.349,3653,4.544,3655,3.766,3656,2.921,3836,3.163,3837,3.163]],["t/1883",[4,1.136,40,0.868,41,1.358,42,1.378,43,1.481,44,1.306,52,1.64,53,1.984,57,1.835,72,1.538,74,2.433,124,1.611,174,3.584,175,2.775,266,4.095,271,2.444,272,2.095,280,2.914,297,2.382,440,1.352,463,2.652,464,2.77,469,1.761,485,1.723,625,2.095,828,3.223,1008,4.021,1251,2.776,1389,2.615,2050,2.824,2243,4.901,2244,4.831,2328,1.889,2437,2.965,2555,3.333,3233,3.457,3646,4.575,3651,5.201,3655,4.672,3838,4.138]],["t/1885",[40,1.356,41,1.359,42,1.379,43,1.482,111,2.275,272,2.097,404,4.267,485,1.725,497,4.676,568,3.726,730,5.399,763,5.602,1488,5.643,2019,5.044,2437,2.967,2887,3.547,3647,7.23,3651,7.23,3728,5.066,3822,5.968,3839,6.463,3840,8.976]],["t/1887",[5,2.233,22,4.132,57,2.121,62,3.673,164,4.435,165,5.006,175,3.458,272,3.602,440,2.437,566,3.348,577,4.059,598,2.219,697,4.486,707,3.894,831,3.673,1231,4.386,1495,6.89,2480,6.514,2873,6.233]],["t/1889",[3728,6.092,3841,10.795]],["t/1891",[2728,9.219,3007,4.998,3801,7.206]],["t/1893",[2437,3.105,2954,9.969]],["t/1895",[2437,3.105,2595,9.019]],["t/1897",[2437,3.105,3842,10.795]],["t/1899",[2437,3.105,2723,7.99]],["t/1901",[2952,9.969,3728,6.092]],["t/1903",[303,7.367,2437,3.105]],["t/1905",[2437,3.105,3843,10.795]],["t/1907",[1819,6.971,3007,4.998,3819,8.822]],["t/1909",[1820,6.971,3007,4.998,3820,8.822]],["t/1911",[2017,6.866,3007,4.998,3844,9.219]],["t/1913",[1114,6.933,1446,5.189,3845,10.333]],["t/1915",[1446,4.617,3846,10.795]],["t/1917",[1446,4.617,3847,10.795]],["t/1919",[1446,4.617,3848,10.795]],["t/1921",[1446,4.617,3811,9.969]],["t/1923",[1446,4.617,3849,10.795]],["t/1925",[1446,4.617,3850,10.795]],["t/1927",[996,6.223,2460,7.37,3007,4.596,3081,7.821,3801,6.627,3851,8.967,3852,7.821]],["t/1929",[996,6.622,2460,7.842,3852,8.322,3853,10.333]],["t/1931",[996,6.767,2941,9.219,2942,7.206]],["t/1933",[996,6.767,2951,8.822,3854,10.559]],["t/1935",[996,6.767,2942,7.206,3620,9.219]],["t/1937",[996,6.767,3652,8.822,3855,10.559]],["t/1939",[3007,4.998,3856,9.751,3857,9.751]],["t/1941",[4,1.821,5,1.282,6,1.349,39,2.054,40,0.899,41,0.901,42,0.914,43,0.983,57,1.218,112,1.543,175,2.318,266,1.956,267,2.331,271,1.319,272,1.39,440,2.167,463,2.746,472,1.729,568,1.779,601,1.979,828,2.139,831,2.109,833,2.607,849,2.708,865,2.186,1038,2.786,1221,2.746,1255,4.701,1941,2.673,2134,5.343,2437,1.232,2473,4.8,2474,4.911,2475,4.911,2476,4.911,2488,3.451,2723,3.172,3007,5.595,3775,2.875,3791,3.036,3801,4.528,3819,5.543,3820,5.543,3844,5.793,3856,6.127,3858,6.634]],["t/1943",[440,3.049,485,2.491,656,7.085,683,7.537,1255,6.614,2554,8.15,2915,7.285,2944,8.621]],["t/1945",[440,3.049,485,2.491,656,7.085,683,7.537,1255,6.614,2554,8.15,2915,7.285,3859,9.335]],["t/1947",[4,2.422,175,3.083,485,2.942,733,5.079,829,5.187,1249,7.106,2453,7.372,2455,6.886,2488,7.106,2766,8.148,2981,6.886]],["t/1949",[4,1.957,40,1.496,41,1.499,42,1.522,43,1.636,111,2.51,115,3.487,124,2.776,165,6.441,168,6.452,171,6.153,174,3.218,272,2.313,485,1.903,496,3.914,566,3.2,703,3.986,2437,3.122,3860,7.13]],["t/1951",[4,2.236,5,2.862,40,1.182,41,1.185,42,1.202,43,1.292,72,2.095,92,2.46,163,2.65,272,3.4,485,2.173,566,2.528,703,4.553,707,4.251,708,3.243,727,2.988,786,4.276,1221,3.611,1853,3.663,1855,4.538,2144,3.845,2460,6.181,3007,4.527,3081,6.559,3801,5.558,3851,5.203,3852,6.559,3861,5.634]],["t/1953",[4,2.048,6,2.349,52,2.956,111,3.484,112,2.687,146,4.211,297,4.295,303,5.092,429,3.577,485,1.991,566,3.348,693,4.781,885,4.851,930,3.673,1123,5.822,1227,4.486,1762,5.398,2437,2.146,2941,6.514,2942,5.092,2943,5.092]],["t/1955",[4,1.874,6,2.15,40,1.432,41,1.436,42,1.457,43,1.566,52,2.706,111,3.282,112,2.459,175,2.386,176,3.536,297,3.931,303,4.66,429,3.273,485,1.822,566,3.064,693,4.376,885,4.44,930,3.361,1123,5.329,1227,4.105,1762,4.941,1941,4.259,2437,1.964,2943,6.362,2951,5.705]],["t/1957",[4,1.957,40,1.496,41,1.499,42,1.522,43,1.636,52,2.825,146,4.024,271,2.195,272,3.115,297,4.105,485,1.903,496,3.914,885,4.637,930,3.51,1139,4.148,1227,4.287,1231,4.192,1471,3.314,1762,5.159,1868,3.846,2437,2.051,2942,6.552,3620,6.226]],["t/1959",[4,2.379,52,3.434,272,3.536,297,4.988,485,2.312,885,5.634,930,4.266,1227,5.21,1471,4.027,1762,6.27,1941,5.405,2820,6.979]],["t/1961",[4,1.901,41,1.456,42,1.478,43,1.589,44,2.163,118,4.072,175,2.42,464,2.139,485,1.848,831,4.634,866,3.909,2328,3.162,2437,3.3,2473,6.811,2723,6.968,2976,5.578,3615,6.396,3862,9.414]],["t/1963",[4,1.848,41,1.416,42,1.437,43,1.544,44,1.868,271,3.491,272,2.996,343,6.004,464,2.079,485,1.797,568,2.795,577,3.663,828,4.609,890,6.218,2328,3.074,2437,3.262,3616,6.218,3863,9.234]],["t/1965",[6,2.634,57,3.335,175,2.923,267,4.551,566,3.754,831,4.118,852,4.09,877,5.709,1106,5.287,2472,6.528,3483,7.304,3864,8.365,3865,8.365]],["t/1967",[2437,3.105,3796,9.019]],["t/1969",[1446,4.617,3866,10.795]],["t/1971",[4,2.777,22,6.636,2471,7.895,3775,6.788]],["t/1973",[4,1.564,5,1.057,6,1.112,35,1.352,40,0.741,41,1.198,42,1.215,43,1.306,44,1.152,57,3.244,112,1.273,175,3.8,265,2.077,266,1.613,267,1.922,272,1.146,282,2.766,464,1.759,472,1.426,485,0.943,568,1.467,677,2.264,750,1.957,831,2.804,865,1.802,1221,2.264,1227,2.124,1259,5.071,2134,4.587,2437,1.016,2473,4.121,2474,4.216,2475,4.216,2476,4.216,2723,2.615,2725,2.845,2895,4.759,2978,4.759,2979,4.323,2980,4.973,2987,3.085,3007,4.985,3801,3.887,3819,4.759,3820,4.759,3844,4.973]],["t/1975",[57,3.207,124,3.565,126,4.23,127,4.308,175,3.2,566,4.11,598,2.724,966,5.444,2910,6.779]],["t/1977",[4,2.665,22,6.948,733,5.59,2910,7.187,3775,6.515]],["t/1979",[4,2.048,40,1.565,41,1.569,42,1.592,43,1.711,176,3.864,282,5.393,485,1.991,586,8.943,966,6.6,2437,2.846,2910,5.523,3867,7.461,3868,9.896]],["t/1981",[57,2.508,86,4.177,221,3.42,258,5.391,284,4.501,387,3.813,598,3.279,687,5.079,763,4.436,1223,5.368]],["t/1983",[2027,8.424,2437,3.105]],["t/1985",[2018,8.424,2437,3.105]],["t/1987",[404,7.127,2437,3.105]],["t/1989",[2437,3.105,3869,10.795]],["t/1991",[2886,6.918,3796,9.019]],["t/1993",[1446,4.617,3870,9.969]],["t/1995",[1446,4.617,3871,10.795]],["t/1997",[1446,4.617,3872,10.795]],["t/1999",[1446,4.617,3827,9.969]],["t/2001",[1446,4.617,3829,9.425]],["t/2003",[1446,4.617,3873,10.795]],["t/2005",[1446,4.617,3874,10.795]],["t/2007",[57,3.001,221,4.763]],["t/2009",[57,3.001,1406,7.387]],["t/2011",[4,1.929,35,2.689,38,2.946,40,1.474,41,1.478,42,1.499,43,1.612,57,3.533,221,4.176,258,3.436,1406,6.477,2892,7.215,3775,4.714,3787,5.659,3833,8.3]],["t/2013",[4,2.017,40,1.541,41,1.545,42,1.568,43,1.685,57,2.784,86,3.478,111,2.587,257,7.658,284,3.748,303,6.685,387,3.175,429,3.522,485,1.961,763,3.694,1471,3.414,3875,6.785,3876,8.184]],["t/2015",[4,1.823,40,1.393,41,1.923,42,1.952,43,2.098,44,1.85,72,2.469,258,3.247,271,2.044,280,4.128,387,2.87,464,3.231,485,1.772,828,3.315,1389,5.781,2328,3.032,2437,3.009,3655,6.618,3877,6.64]],["t/2017",[4,2.697,29,3.108,35,2.262,40,1.24,41,1.772,42,1.798,43,1.933,44,1.705,53,4.041,72,2.197,258,4.121,271,1.819,284,3.015,311,5.655,387,2.554,464,1.825,485,1.577,828,2.95,2328,2.698,2437,3.257,3655,6.098,3878,5.909,3879,7.359]],["t/2019",[35,2.262,40,1.24,41,1.243,42,1.261,43,1.355,57,3.219,86,2.797,175,3.433,257,6.827,258,4.121,284,4.3,387,3.642,485,1.577,763,2.971,1038,3.843,2437,2.424,3646,5.972,3648,6.239,3649,6.239,3876,7.042,3879,7.359,3880,5.909]],["t/2021",[40,1.047,41,1.05,42,1.066,43,1.145,124,2.902,144,2.547,174,3.364,258,3.644,266,4.515,267,2.717,271,2.294,293,3.47,485,1.332,486,2.458,570,5.281,601,2.307,656,3.79,759,2.32,766,3.79,773,3.156,828,3.72,1204,3.79,1223,3.038,1254,3.897,1277,3.696,1355,4.36,1863,7.182,1903,3.538,2017,4.846,2018,5.816,2027,5.816,2091,3.897,2437,2.565,2887,2.741,3881,4.993,3882,7.453,3883,4.993]],["t/2023",[4,1.385,35,1.931,40,1.058,41,1.579,42,1.603,43,1.723,44,1.52,57,2.135,86,2.388,175,3.135,221,2.912,258,3.673,271,1.553,284,2.574,387,3.877,464,1.558,485,1.346,567,2.821,598,1.501,828,2.519,882,2.613,1747,3.829,2328,2.303,2437,2.859,3646,5.322,3648,5.56,3649,5.56,3655,5.435,3728,4.239,3755,5.56,3879,6.558,3884,5.045]],["t/2025",[57,2.603,124,3.565,221,3.55,259,4.98,280,4.133,440,2.991,598,2.724,1229,6.046]],["t/2027",[1446,4.617,3870,9.969]],["t/2029",[1446,4.617,3885,10.795]],["t/2031",[1446,4.617,3886,10.795]],["t/2033",[1446,4.617,3829,9.425]],["t/2035",[1446,4.617,3887,10.795]],["t/2037",[1446,4.617,3888,10.795]],["t/2039",[34,0.793,49,2.84,114,3.897,115,3.79,144,2.686,160,3.031,198,2.557,199,2.508,259,3.157,266,2.404,280,3.499,284,2.686,286,2.89,288,5.493,440,1.72,464,1.626,469,2.241,476,3.243,567,2.943,601,3.581,693,3.374,740,3.898,763,2.647,829,3.096,865,2.686,1008,2.666,1349,2.363,1471,4.276,2437,1.515,2614,3.996,3067,4.399,3599,4.863,3796,4.399,3889,4.863,3890,6.768,3891,5.265,3892,4.863,3893,5.265,3894,5.265]],["t/2041",[2437,3.105,3895,10.795]],["t/2043",[404,7.127,2437,3.105]],["t/2045",[57,3.001,221,4.763]],["t/2047",[57,3.001,1406,7.387]],["t/2049",[4,1.929,35,2.689,38,2.946,40,1.474,41,1.478,42,1.499,43,1.612,57,3.533,221,4.176,259,2.862,1406,6.477,2892,7.215,3775,4.714,3787,5.659,3833,8.3]],["t/2051",[3,2.82,4,1.529,40,1.168,41,1.698,42,1.723,43,1.852,44,1.634,53,2.67,174,2.513,266,2.542,271,1.714,280,3.645,464,2.494,485,1.486,487,3.388,734,3.946,828,2.78,849,3.52,1374,4.862,1389,5.105,2244,3.388,2437,3.507,3655,5.844,3658,6.747,3659,6.747,3715,3.274,3896,5.569]],["t/2053",[4,2.643,29,3.029,40,1.196,41,1.727,42,1.753,43,1.884,44,1.662,52,2.259,53,3.937,72,2.119,259,2.322,311,5.511,464,1.76,485,1.521,2328,2.602,2437,3.595,3655,5.943,3658,6.862,3659,6.862,3661,6.862,3897,5.7]],["t/2055",[4,2.113,40,1.615,41,1.619,42,1.643,43,1.766,57,2.872,111,2.71,257,7.836,282,3.739,284,3.927,429,3.691,485,2.054,763,3.87,1471,3.578,3875,7.11,3876,8.44]],["t/2057",[4,1.494,35,2.083,40,1.142,41,1.145,42,1.162,43,1.249,57,3.117,72,2.024,175,3.277,221,3.636,257,6.518,259,3.82,266,3.626,280,2.457,282,3.858,284,2.777,387,3.433,485,1.453,2437,2.285,3646,5.628,3648,5.88,3649,5.88,3661,6.636,3876,6.636,3898,5.443]],["t/2059",[4,1.089,5,1.187,40,0.832,41,1.314,42,1.333,43,1.433,44,1.264,57,1.776,63,1.812,72,1.475,86,1.878,174,1.791,175,3.064,221,3.399,259,3.148,266,4.003,267,3.399,271,1.923,272,1.287,282,1.927,284,2.024,387,3.789,464,1.225,485,1.059,568,1.647,598,1.18,828,1.981,859,3.493,2328,1.812,2437,3.159,3328,3.097,3646,4.427,3648,4.625,3649,4.625,3655,4.521,3658,5.22,3659,5.22,3661,5.22,3728,3.526,3755,4.625,3899,3.968]],["t/2061",[40,1.07,41,1.592,42,1.615,43,1.736,44,1.531,110,3.943,112,1.837,148,4.232,174,2.301,464,1.575,472,2.057,485,1.361,865,5.097,1008,3.833,1013,2.641,1344,5.166,1471,4.196,2437,3.421,2886,3.268,2887,2.799,3715,2.998,3900,5.099,3901,6.097,3902,6.609,3903,5.364,3904,7.57,3905,5.099]],["t/2063",[4,1.208,40,0.923,41,1.424,42,1.445,43,1.554,44,1.37,63,2.01,73,3.227,86,2.084,114,3.406,115,3.312,160,3.9,221,1.706,271,1.355,277,2.534,281,5.456,286,2.416,288,5.851,440,1.438,464,2.092,469,1.873,485,1.175,659,2.124,680,2.906,863,3.545,1361,2.678,1438,5.014,1471,3.148,2328,2.01,2437,3.168,3728,3.823,3755,5.014,3890,5.914,3906,4.402,3907,6.774,3908,6.774,3909,6.256,3910,6.256,3911,4.402,3912,4.402]],["t/2065",[4,1.798,41,1.377,42,1.398,43,1.502,44,1.833,63,2.99,86,3.101,387,2.831,464,2.023,485,1.748,659,3.161,2173,4.14,2328,2.99,2437,3.384,2886,4.198,3728,5.114,3755,6.707,3909,6.049,3913,6.55,3914,6.049,3915,6.55,3916,6.55,3917,6.55,3918,6.049]],["t/2067",[4,0.992,40,0.758,41,1.219,42,1.237,43,1.33,44,1.173,49,1.948,63,1.649,72,1.343,73,1.721,86,1.71,112,1.301,114,2.915,115,2.835,160,4.182,174,1.63,221,2.248,259,2.958,279,2.909,280,3.278,286,1.983,288,5.147,387,2.506,440,2.373,464,1.115,469,3.091,472,1.458,485,0.964,659,1.743,680,2.385,687,2.079,1438,4.292,1471,1.679,2124,3.018,2173,3.665,2328,1.649,2437,3.304,2886,3.716,3728,3.272,3755,4.292,3890,3.154,3892,3.336,3910,5.355,3914,5.355,3918,5.355,3919,3.612,3920,5.798,3921,5.798,3922,5.798,3923,3.612]],["t/2069",[3,4.82,57,2.706,115,4.654,165,6.386,577,5.178,598,2.831,966,5.658,1327,5.862]],["t/2071",[2886,6.918,3496,9.969]],["t/2073",[2437,3.105,2439,9.969]],["t/2075",[1114,6.933,1446,5.189,3924,10.333]],["t/2077",[4,2.665,22,5.378,35,3.716,38,4.07,966,5.772,1259,6.88,3775,6.515]],["t/2079",[4,2.017,40,1.541,41,1.545,42,1.568,43,1.685,168,6.55,282,3.569,485,1.961,872,8.7,966,6.55,2436,6.785,2437,2.818,2992,9.206]],["t/2081",[4,2.219,40,1.696,41,1.7,42,1.725,43,1.854,57,2.298,168,6.863,485,2.157,677,5.182,966,6.2,2437,2.326,2441,7.467,2992,8.714]],["t/2083",[45,0.824,57,2.552,110,2.822,112,3.233,486,3.182,589,3.579,601,2.985,677,4.142,734,4.579,763,3.249,820,3.456,833,3.932,865,3.297,877,4.411,924,3.683,930,5.077,1014,3.226,1139,3.759,1198,5.205,1228,3.932,1231,3.8,1471,3.003,1482,5.044,1854,5.261,1880,6.495]],["t/2085",[1856,9.425,2437,3.105]],["t/2087",[34,1.182,496,5.224,497,6.887,498,5.425,3007,4.506,3925,9.519,3926,8.79]],["t/2089",[2437,3.105,3927,10.795]],["t/2091",[2437,3.105,3928,10.795]],["t/2093",[2437,3.105,3929,10.795]],["t/2095",[3728,6.092,3930,10.795]],["t/2097",[1857,9.425,2437,3.105]],["t/2099",[1860,9.219,3007,4.998,3931,9.751]],["t/2101",[1867,9.219,3007,4.998,3931,9.751]],["t/2103",[34,1.057,1868,5.573,2437,2.972,3781,7.322]],["t/2105",[1861,9.019,3926,9.969]],["t/2107",[1869,9.425,3728,6.092]],["t/2109",[3728,6.092,3932,10.795]],["t/2111",[1864,8.694,2437,3.105]],["t/2113",[2437,3.105,3933,10.795]],["t/2115",[1863,8.694,2437,3.105]],["t/2117",[1114,6.933,1446,5.189,3934,10.333]],["t/2119",[1446,4.327,2437,2.91,2725,8.148,2988,7.168,3935,10.117]],["t/2121",[1446,4.617,3936,10.795]],["t/2123",[1446,4.617,3937,10.795]],["t/2125",[1446,4.617,3938,10.795]],["t/2127",[1446,4.617,3939,10.795]],["t/2129",[1446,4.617,3940,10.795]],["t/2131",[1446,4.327,2437,2.91,2725,8.148,3901,8.148,3941,10.117]],["t/2133",[1446,4.327,2437,2.91,3197,8.833,3901,8.148,3942,10.117]],["t/2135",[1446,4.516,3902,9.219,3943,10.559]],["t/2137",[1446,4.617,3944,10.795]],["t/2139",[35,2.689,38,2.946,40,1.474,41,1.478,42,1.499,43,1.612,144,3.585,271,2.163,286,3.857,472,2.835,486,3.459,489,3.79,601,3.246,1227,4.225,1411,3.459,1854,3.585,2437,3.099,2887,3.857,2988,6.736,3011,8.779,3775,4.714,3791,4.979]],["t/2141",[29,3.666,40,1.058,41,1.579,42,1.603,43,1.723,44,1.52,49,2.721,53,2.419,57,1.434,110,3.918,464,1.558,485,2.394,498,5.665,598,1.501,690,2.999,731,3.331,738,4.215,1014,2.519,1253,4.416,1570,3.651,2114,3.651,2437,3.057,2887,2.769,2998,5.322,3903,5.322,3945,4.405,3946,4.747,3947,6.936,3948,4.215,3949,4.215]],["t/2143",[4,1.371,29,3.647,40,1.047,41,1.567,42,1.59,43,1.71,44,1.508,49,2.693,53,2.394,57,1.419,110,3.894,464,1.542,485,2.38,498,5.636,598,1.485,690,2.968,731,3.297,738,4.172,1014,2.493,1253,4.382,1570,3.613,2114,3.613,2328,2.28,2437,3.043,2998,5.281,3903,5.281,3946,4.711,3947,6.883,3948,4.172,3949,4.172,3950,4.36]],["t/2145",[29,1.685,40,0.958,41,1.466,42,1.487,43,1.599,44,1.913,57,1.299,110,3.69,126,2.11,220,2.888,464,2.919,485,2.255,498,4.816,598,1.359,690,2.716,738,3.817,944,6.423,1253,4.097,1349,4.568,1931,3.305,2357,3.989,2437,2.43,2887,2.507,2998,4.938,3336,3.679,3337,3.817,3555,4.219,3946,4.405,3948,3.817,3949,3.817,3951,3.565,3952,4.568,3953,4.568]],["t/2147",[4,1.823,40,1.393,41,1.923,42,1.952,43,2.098,44,1.85,110,4.569,174,2.997,464,2.051,485,1.772,496,5.02,698,6.481,1008,3.363,1854,3.388,2437,3.009,3903,6.481,3954,6.64,3955,9.146]],["t/2149",[29,3.472,40,1.453,41,1.456,42,1.478,43,1.589,110,4.111,485,1.848,496,5.167,498,5.365,698,4.908,763,3.482,838,3.836,859,3.872,1868,3.736,2437,3.076,2887,3.801,3903,6.67,3946,5.95,3956,6.926]],["t/2151",[4,2.422,144,4.501,280,3.982,485,2.354,718,5.503,944,5.079,1008,4.468,1854,4.501,1868,4.759,1873,8.367,1883,7.106]],["t/2153",[29,3.541,40,1.496,41,1.499,42,1.522,43,1.636,485,2.562,496,5.269,498,6.618,773,4.507,944,5.527,1253,4.192,1853,4.637,2437,2.051,2887,3.914,2998,5.052,3946,6.068,3957,6.226]],["t/2155",[4,2.562,266,4.262,485,2.491,598,2.776,1228,5.679,1853,6.07,1854,4.762,3958,9.335,3959,9.335]],["t/2157",[4,1.929,41,1.478,42,1.499,43,1.612,44,1.923,112,3.424,464,2.17,472,3.836,485,1.875,650,6.009,734,4.979,930,3.459,1223,4.275,1868,3.79,2328,3.208,2437,2.734,3236,8.3,3369,8.779,3960,7.027]],["t/2159",[4,1.291,40,0.986,41,0.989,42,1.003,43,1.078,112,1.694,126,2.172,271,2.647,463,3.013,485,2.56,582,3.013,589,4.763,650,2.972,692,4.443,733,5.523,792,3.013,833,5.232,848,3.332,852,3.483,858,4.861,866,5.818,924,2.68,930,4.234,1009,2.628,1117,2.735,1288,5.406,1349,2.11,1854,3.634,1868,2.536,1881,6.579,2437,1.352,2465,4.342,2942,4.861,3012,3.787,3478,4.342]],["t/2161",[40,1.412,41,1.416,42,1.437,43,1.544,112,3.326,464,2.079,472,2.717,485,1.797,496,5.784,498,3.837,1868,4.98,2437,3.418,2887,3.696,3903,7.467,3946,5.836,3961,6.733,3962,9.234]],["t/2163",[4,1.663,40,1.271,41,1.804,42,1.83,43,1.968,44,1.735,112,3.587,144,3.09,464,1.871,472,3.461,485,2.289,582,3.882,820,5.326,930,2.982,1471,4.628,1854,3.09,1903,4.292,2437,2.865,2915,4.727,3013,5.061,3901,6.909,3963,6.058]],["t/2165",[4,1.706,40,1.303,41,1.836,42,1.864,43,2.003,44,2.043,174,4.944,464,1.919,485,1.658,750,3.441,1253,5.134,1854,3.17,1868,6.225,1873,4.716,2328,2.837,2437,2.905,2915,4.849,3902,7.625,3964,6.213]],["t/2167",[4,1.929,41,1.478,42,1.499,43,1.612,44,2.18,112,2.531,146,3.966,464,2.936,485,1.875,598,2.09,1013,3.639,1471,4.418,1868,3.79,1880,5.084,1934,8.779,2328,3.208,2437,2.734,3965,7.027,3966,9.506]],["t/2169",[4,1.547,40,1.182,41,1.713,42,1.738,43,1.868,44,1.935,112,2.933,144,2.874,146,4.596,464,1.74,472,3.286,485,1.503,598,1.675,733,3.243,820,4.356,865,2.874,930,4.009,1013,2.918,1471,3.785,1861,6.804,1880,4.076,2328,2.572,2437,2.751,3013,4.707,3901,6.559,3967,5.634,3968,5.634,3969,5.634]],["t/2171",[4,2.296,44,1.692,174,4.811,485,2.232,773,6.738,1008,5.398,1854,4.267,1868,4.512,2328,3.819,2437,3.066,3970,8.365]],["t/2173",[45,0.753,57,2.793,110,2.581,112,3.539,144,3.015,286,3.243,486,4.149,589,3.273,601,2.73,677,3.787,734,4.187,763,2.971,820,3.16,833,3.595,865,3.015,877,4.033,924,3.368,930,4.836,1014,2.95,1139,3.437,1198,4.76,1228,3.595,1231,3.474,1411,2.909,1471,2.746,1482,4.612,1506,4.107,1854,5.012,1880,6.098]],["t/2175",[35,3.792,38,4.154,2887,5.439,2988,7.021,3791,7.021,3971,8.652]],["t/2177",[29,4.196,40,1.255,41,1.788,42,1.814,43,1.95,44,1.72,110,4.319,464,1.848,485,1.596,498,6.138,731,3.95,1253,4.999,1570,4.329,2437,3.273,2887,3.284,3903,6.025,3945,5.223,3946,5.374]],["t/2179",[4,2.257,29,3.888,44,1.664,110,3.591,485,2.194,498,4.686,1253,6.199,1570,5.95,2328,3.754,2437,3.033,3903,5.826,3946,5.197,3950,7.179]],["t/2181",[40,1.696,41,1.7,42,1.725,43,1.854,485,2.783,498,4.608,1854,5.321,1873,7.916,2437,2.326,2887,5.725,3946,6.592,3957,7.059]],["t/2183",[38,3.507,57,3.03,112,3.013,144,4.267,186,5.927,286,4.591,486,4.118,598,2.488,865,4.267,1411,4.118,1506,5.813,3445,6.349,3971,7.304,3972,8.365]],["t/2185",[4,2.257,22,4.554,38,3.447,40,1.725,41,1.729,42,1.755,43,1.886,57,2.337,472,3.318,601,3.798,1854,4.195,2437,2.365,2988,7.471,3791,5.826,3973,8.223]],["t/2187",[40,1.32,41,1.853,42,1.881,43,2.021,44,2.229,110,4.441,464,1.944,485,1.68,498,5.795,944,6.676,1253,5.181,2328,2.874,2437,2.925,2887,3.455,3946,5.57,3951,4.912]],["t/2189",[38,3.507,57,3.03,112,3.013,144,4.267,186,5.927,286,4.591,486,4.118,598,2.488,865,4.267,1411,4.118,1506,5.813,3445,6.349,3971,7.304,3974,8.365]],["t/2191",[4,2.257,22,4.554,38,3.447,40,1.725,41,1.729,42,1.755,43,1.886,57,2.337,472,3.318,601,3.798,1854,4.195,2437,2.365,2988,7.471,3791,5.826,3975,8.223]],["t/2193",[40,1.541,41,1.545,42,1.568,43,1.685,44,2.229,110,4.278,485,1.961,498,5.583,944,6.343,1253,4.32,2328,3.354,2437,2.818,2887,4.033,3946,6.191,3951,5.734]],["t/2195",[45,0.753,57,2.793,110,2.581,112,3.539,144,3.015,286,3.243,486,2.909,489,3.187,589,3.273,601,2.73,677,3.787,734,4.187,763,2.971,820,3.16,833,3.595,865,3.015,877,4.033,924,3.368,930,4.836,1014,2.95,1139,3.437,1198,4.76,1228,3.595,1231,3.474,1411,2.909,1471,2.746,1482,4.612,1854,5.012,1880,6.098,2449,4.276]],["t/2197",[35,3.716,38,4.07,39,4.655,2887,5.329,2988,6.88,3791,6.88,3976,8.112]],["t/2199",[29,4.081,40,1.168,41,1.698,42,1.723,43,1.852,44,1.634,110,4.15,126,2.572,464,1.72,485,1.486,498,5.94,731,3.677,924,3.174,1253,4.748,1308,4.653,1570,4.029,2437,3.183,2887,3.057,3903,5.722,3945,4.862,3946,5.105,3977,5.569,3978,5.569,3979,5.569]],["t/2201",[4,1.622,29,4.176,40,1.24,41,1.772,42,1.798,43,1.933,44,1.705,110,4.29,464,1.825,485,1.577,498,6.104,731,3.902,1253,4.955,1570,4.276,2328,2.698,2437,3.257,3903,5.972,3946,5.327,3950,5.16]],["t/2203",[40,1.696,41,1.7,42,1.725,43,1.854,485,2.783,498,4.608,1854,5.321,1873,7.916,2437,2.326,2887,5.725,3946,6.592,3957,7.059]],["t/2205",[38,3.507,57,3.03,112,3.013,144,4.267,186,5.927,286,4.591,489,4.512,598,2.488,865,4.267,1411,4.118,2449,6.053,3445,6.349,3976,6.989,3980,8.365]],["t/2207",[4,2.257,22,4.554,38,3.447,40,1.725,41,1.729,42,1.755,43,1.886,57,2.337,472,3.318,601,3.798,1854,4.195,2437,2.365,2988,7.471,3791,5.826,3981,8.223]],["t/2209",[40,1.32,41,1.853,42,1.881,43,2.021,44,2.229,110,4.441,464,1.944,485,1.68,498,5.795,944,6.676,1253,5.181,2328,2.874,2437,2.925,2887,3.455,3946,5.57,3951,4.912]],["t/2211",[38,3.507,57,3.03,112,3.013,144,4.267,186,5.927,286,4.591,489,4.512,598,2.488,865,4.267,1411,4.118,2449,6.053,3445,6.349,3976,6.989,3982,8.365]],["t/2213",[4,2.257,22,4.554,38,3.447,40,1.725,41,1.729,42,1.755,43,1.886,57,2.337,472,3.318,601,3.798,1854,4.195,2437,2.365,2884,7.594,2988,7.471,3791,5.826]],["t/2215",[40,1.32,41,1.853,42,1.881,43,2.021,44,2.229,110,4.441,464,1.944,485,1.68,498,5.795,944,6.676,1253,5.181,2328,2.874,2437,2.925,2887,3.455,3946,5.57,3951,4.912]],["t/2217",[38,3.507,57,3.03,112,3.013,144,4.267,186,5.927,286,4.591,489,4.512,598,2.488,865,4.267,1411,4.118,2449,6.053,3445,6.349,3976,6.989,3983,8.365]],["t/2219",[4,2.257,22,4.554,38,3.447,40,1.725,41,1.729,42,1.755,43,1.886,57,2.337,472,3.318,601,3.798,1854,4.195,2437,2.365,2984,7.594,2988,7.471,3791,5.826]],["t/2221",[40,1.32,41,1.853,42,1.881,43,2.021,44,2.229,110,4.441,464,1.944,485,1.68,498,5.795,944,6.676,1253,5.181,2328,2.874,2437,2.925,2887,3.455,3946,5.57,3951,4.912]],["t/2224",[2965,9.969,3716,9.425]],["t/2226",[22,5.979,2887,5.925]],["t/2228",[4,2.257,5,2.461,6,3.32,29,4.292,57,2.337,110,3.591,111,2.895,272,3.421,598,2.445,707,4.292,1409,5.612,3495,7.179]],["t/2230",[1114,6.933,1446,5.189,3984,10.333]],["t/2232",[4,1.706,29,3.724,40,1.303,41,1.836,42,1.864,43,2.003,44,1.767,110,4.41,111,3.555,464,1.919,485,2.33,598,1.848,1409,4.24,2437,2.512,3007,2.941,3231,6.464,3715,3.653,3985,6.213,3986,8.733,3987,8.733]],["t/2234",[4,1.985,5,2.164,6,1.51,29,2.666,40,1.006,41,1.52,42,1.857,43,1.658,44,1.463,227,2.656,272,3.546,464,1.481,485,1.929,556,5.487,598,1.426,707,2.503,1409,3.272,2437,2.787,2457,4.006,3007,4.587,3495,9.079,3715,2.819,3801,4.934,3852,5.823,3988,4.795,3989,7.23,3990,7.23,3991,6.677]],["t/2236",[4,2.786,5,2.753,6,1.658,29,3.743,40,1.105,41,1.63,42,1.654,43,1.778,44,1.568,272,2.985,464,1.626,485,2.069,598,1.566,707,4.802,1409,3.593,2437,2.23,2460,5.884,3007,4.355,3081,6.244,3715,3.096,3801,5.29,3852,6.244,3991,7.159,3992,5.265]],["t/2238",[41,1.89,57,3.17,257,6.246,258,4.395,259,3.66,572,7.239,598,2.673,833,5.468,1250,5.934,1409,6.134]],["t/2240",[1446,4.617,3993,10.795]],["t/2242",[40,1.615,41,1.619,42,1.643,43,1.766,57,2.188,62,3.79,175,3.94,257,5.35,258,3.764,259,3.135,485,2.696,572,6.201,2328,3.515,2887,4.225,3646,7.158,3994,7.699]],["t/2244",[57,2.76,73,4.625,271,2.989,485,2.591,1250,6.411,1409,6.627,2579,8.967]],["t/2246",[6,3.185,272,3.282,2114,7.32,2886,6.484,3995,10.117]],["t/2248",[34,1.182,227,5.272,272,3.088,556,7.224,2437,2.738,3007,4.506,3996,9.519]],["t/2250",[16,5.425,17,5.537,34,1.182,37,4.397,2437,3.323,3007,4.506]],["t/2252",[34,1.141,37,4.152,118,5.284,119,6.134,123,5.844,2437,3.208,3007,5.279,3801,6.134]],["t/2254",[40,2.165,57,2.933,141,5.335,175,2.779,218,5.427,271,3.176,585,4.96,666,5.335,726,4.445,1143,6.206,1229,5.25,1446,3.401,1463,5.25,2781,6.405,3445,6.035]],["t/2256",[34,1.128,473,6.252,474,6.384,475,6.886,476,5.434,1820,5.825,2886,8.072,3007,4.177]],["t/2258",[34,1.154,268,6.95,269,7.651,270,7.651,2017,5.955,3007,4.335,3008,11.292]],["t/2260",[34,1.182,466,7.428,467,6.745,1819,6.285,2437,3.323,3007,4.506]],["t/2262",[6,2.728,34,1.115,57,3.39,1227,5.21,1259,7.724,2455,6.762,2978,7.239,3007,4.102,3857,8.002]],["t/2264",[3,4.468,5,2.64,52,4.369,221,3.42,601,4.076,718,5.503,727,4.68,866,4.98,1463,5.825,2437,2.538,2888,6.886]],["t/2266",[34,1.035,3004,9.343,3007,4.789,3727,6.679,3781,7.168]],["t/2268",[34,1.057,3728,5.832,3781,7.322,3997,10.333]],["t/2270",[34,1.035,3005,9.343,3007,4.789,3727,6.679,3781,7.168]],["t/2272",[34,1.057,3728,5.832,3781,7.322,3998,10.333]],["t/2274",[34,1.035,3006,9.343,3007,4.789,3727,6.679,3781,7.168]],["t/2276",[34,1.057,3728,5.832,3781,7.322,3999,10.333]],["t/2278",[996,6.767,3625,7.482,4000,10.559]],["t/2280",[996,6.767,3625,7.482,4001,10.559]],["t/2282",[996,6.767,3625,7.482,4002,10.559]],["t/2284",[1446,4.617,4003,10.795]],["t/2286",[1446,4.617,4004,10.795]],["t/2288",[1446,4.617,4005,10.795]],["t/2290",[1446,4.617,4006,10.795]],["t/2292",[1446,4.617,4007,10.795]],["t/2294",[1446,4.617,4008,10.795]],["t/2296",[4,2.613,22,5.272,35,3.643,38,3.99,39,4.563,57,2.706,1406,5.723,3775,6.386]],["t/2298",[4,1.798,5,2.711,40,1.374,41,1.905,42,1.933,43,2.078,44,1.833,62,3.225,63,2.99,221,3.512,464,2.023,485,1.748,568,2.719,727,3.474,852,4.43,2328,2.99,2437,1.884,3624,6.049,3625,6.42,3728,5.114,4009,7.071]],["t/2300",[4,1.798,5,2.711,40,1.374,41,1.905,42,1.933,43,2.078,44,1.833,62,3.225,63,2.99,221,3.512,259,2.668,464,2.023,485,1.748,727,3.474,852,4.43,2328,2.99,2437,1.884,3625,6.42,3626,6.049,3728,5.114,4009,7.071]],["t/2302",[4,1.798,5,2.711,40,1.374,41,1.905,42,1.933,43,2.078,44,1.833,62,3.225,63,2.99,221,3.512,258,3.203,464,2.023,485,1.748,727,3.474,852,4.43,2328,2.99,2437,1.884,3625,6.42,3728,5.114,4009,7.071,4010,6.55]],["t/2304",[4,1.529,5,1.666,40,1.168,41,1.171,42,1.188,43,1.277,44,1.127,72,2.07,111,1.961,112,3.423,221,2.159,266,2.542,267,3.03,272,2.62,440,1.819,469,2.37,472,3.834,485,1.486,568,2.312,727,2.954,2173,5.105,2437,3.507,3627,5.143,3628,5.251,3629,6.505,3630,6.505,3715,3.274,4011,4.862]],["t/2306",[4,1.494,5,1.629,40,1.142,41,1.67,42,1.695,43,1.822,44,1.607,72,2.024,111,2.797,112,3.378,221,2.11,259,2.217,440,1.778,464,1.681,469,2.316,472,3.785,477,3.54,485,1.453,727,4.213,2173,5.021,2437,3.4,3628,5.165,3632,5.027,3633,5.52,3715,3.2,4011,6.935]],["t/2308",[4,1.494,5,1.629,40,1.142,41,1.67,42,1.695,43,1.822,44,1.607,72,2.024,111,2.797,112,3.378,221,2.11,258,2.662,440,1.778,464,1.681,469,2.316,472,3.785,477,3.54,485,1.453,727,4.213,2173,5.021,2437,3.4,3628,5.165,3633,5.52,3715,3.2,4011,6.935,4012,5.443]],["t/2310",[4,1.187,5,2.443,40,1.401,41,0.909,42,0.923,43,0.992,111,2.352,112,3.308,221,3.165,259,2.721,266,1.974,267,2.352,272,2.167,440,1.412,469,1.84,472,3.706,477,2.811,485,1.154,568,2.773,665,2.901,852,2.114,1855,3.482,2173,4.222,2437,3.336,3007,4.347,3628,4.344,3629,5.38,3630,5.38,3633,4.642,3635,6.169,3636,6.169,3727,6.064,4013,4.323]],["t/2312",[4,1.529,5,2.417,40,1.694,41,1.171,42,1.188,43,1.277,111,2.843,112,3.423,221,3.131,440,1.819,469,2.37,472,3.834,477,3.621,485,1.486,568,2.312,665,3.736,852,2.723,1855,4.485,2173,5.105,2437,3.183,3007,3.823,3628,5.251,3633,5.612,3727,5.332,4014,5.569,4015,8.076]],["t/2314",[4,1.357,5,2.213,40,1.037,41,1.555,42,1.578,43,1.696,44,1.496,62,2.433,63,2.256,111,1.74,112,3.192,221,2.867,266,2.256,267,2.689,272,2.399,440,1.614,464,1.526,469,2.103,472,3.576,485,1.319,568,2.052,852,3.616,2173,4.675,2328,2.256,2437,3.297,3628,4.809,3629,5.957,3630,5.957,3638,4.564,3728,4.174,4009,5.772]],["t/2316",[4,1.823,5,2.737,40,1.393,41,1.923,42,1.952,43,2.098,44,1.85,221,3.545,224,6.137,464,2.051,485,1.772,568,2.757,727,4.851,2328,3.032,2437,1.91,3007,4.329,3625,6.481,3639,6.132,3727,6.039]],["t/2318",[4,1.385,5,2.248,40,1.058,41,1.579,42,1.603,43,1.723,44,1.52,111,1.776,112,3.232,221,2.912,224,5.039,266,2.303,267,2.745,272,2.437,440,1.648,464,1.558,469,2.147,472,3.621,485,1.346,568,2.094,2173,4.747,2328,2.303,2437,3.319,3007,3.555,3628,4.884,3629,6.05,3630,6.05,3640,4.659,3727,4.959]],["t/2320",[4,1.445,5,2.32,40,1.105,41,1.63,42,1.654,43,1.778,44,1.568,62,2.592,63,2.404,111,2.729,112,3.314,221,3.005,259,2.145,440,1.72,464,1.626,469,2.241,472,3.713,477,3.424,485,1.405,852,3.79,2173,4.9,2328,2.404,2437,3.112,3628,5.041,3633,5.387,3641,4.863,3728,4.375,4009,6.05]],["t/2322",[4,1.823,5,2.737,40,1.393,41,1.923,42,1.952,43,2.098,44,1.85,221,3.545,224,6.137,259,2.705,464,2.051,485,1.772,727,4.851,2328,3.032,2437,1.91,3007,4.329,3625,6.481,3642,6.132,3727,6.039]],["t/2324",[4,1.478,5,2.358,40,1.129,41,1.657,42,1.681,43,1.807,44,1.594,111,2.774,112,3.357,221,3.054,224,5.286,259,2.192,440,1.758,464,1.662,469,2.29,472,3.76,477,3.5,485,1.436,2173,4.98,2328,2.457,2437,3.14,3007,3.729,3628,5.123,3633,5.475,3643,4.971,3727,5.202]],["t/2326",[4,1.445,5,2.32,40,1.105,41,1.63,42,1.654,43,1.778,44,1.568,62,2.592,63,2.404,111,2.729,112,3.314,221,3.005,258,2.575,440,1.72,464,1.626,469,2.241,472,3.713,477,3.424,485,1.405,852,3.79,2173,4.9,2328,2.404,2437,3.112,3628,5.041,3633,5.387,3728,4.375,4009,6.05,4016,5.265]],["t/2328",[4,1.823,5,2.737,40,1.393,41,1.923,42,1.952,43,2.098,44,1.85,221,3.545,224,6.137,258,3.247,464,2.051,485,1.772,727,4.851,2328,3.032,2437,1.91,3007,4.329,3625,6.481,3727,6.039,4017,6.64]],["t/2330",[4,1.478,5,2.358,40,1.129,41,1.657,42,1.681,43,1.807,44,1.594,111,2.774,112,3.357,221,3.054,224,5.286,258,2.632,440,1.758,464,1.662,469,2.29,472,3.76,477,3.5,485,1.436,2173,4.98,2328,2.457,2437,3.14,3007,3.729,3628,5.123,3633,5.475,3727,5.202,4018,5.383]],["t/2332",[1,5.425,3,4.82,6,2.997,110,4.157,265,5.596,440,3.109,469,4.05,4019,9.519]],["t/2335",[440,3.607]],["t/2338",[34,1.035,45,1.29,48,3.282,440,3.304,4020,10.117]],["t/2342",[4021,10.559,4022,10.559,4023,9.751]],["t/2344",[165,5.335,221,3.083,703,4.445,828,3.969,831,3.915,1423,6.035,1801,5.526,2432,6.644,2711,7.344,2719,6.943,2729,6.206,2732,6.405,2737,6.405,2738,6.644,2745,7.344,2773,6.405,4024,7.952,4025,6.943]],["t/2347",[6,1.605,34,0.522,40,1.07,41,1.072,42,1.088,43,1.169,44,1.032,45,0.65,51,2.464,57,2.152,61,2.493,63,2.328,70,2.148,115,3.701,165,3.421,168,4.5,170,4.118,175,1.782,176,2.641,235,5.364,271,2.33,282,3.677,464,1.575,598,1.516,882,2.641,1173,2.384,1352,2.906,1409,3.48,1415,3.102,1914,6.315,2432,4.26,2708,4.662,4026,5.099,4027,7.57,4028,5.477,4029,5.099,4030,5.099,4031,5.099]],["t/2349",[5,1.694,34,0.359,40,0.736,41,0.738,42,0.748,43,0.804,44,0.71,45,0.447,51,2.661,57,1.61,61,1.715,63,2.585,67,3.864,111,1.994,112,2.944,163,1.65,221,2.195,259,1.428,266,1.601,271,2.761,272,2.31,282,1.703,346,2.217,440,1.85,464,1.083,469,1.492,472,3.619,473,4.012,474,4.097,476,3.487,568,1.456,625,1.776,882,1.816,1128,3.366,1173,1.64,1344,3.864,1352,1.999,1399,2.393,1406,4.281,1415,2.134,1854,1.789,1914,6.856,2501,2.737,2708,3.487,2714,4.944,2715,4.944,2716,4.944,2718,4.944,4032,3.507,4033,5.662,4034,3.507]],["t/2351",[6,1.556,34,0.506,40,1.037,41,1.039,42,1.055,43,1.134,44,1,45,0.63,51,2.408,57,2.797,61,2.417,63,2.256,111,1.74,112,1.78,114,2.485,115,2.417,241,6.179,271,2.277,282,4.305,346,3.124,464,1.526,472,1.994,829,2.906,831,3.641,853,3.658,882,2.56,1173,2.311,1352,2.817,1415,3.007,1914,6.219,2353,3.857,2704,6.83,2705,6.83,2708,4.555,2992,4.129,4035,4.942,4036,7.396,4037,4.942,4038,4.942]],["t/2353",[4,0.892,5,0.972,6,1.023,34,0.332,35,1.243,40,0.681,41,0.683,42,0.693,43,0.745,44,0.657,45,0.414,51,2.199,57,2.22,61,1.588,63,1.483,111,1.143,112,2.813,164,1.931,175,1.859,235,3.769,271,3.25,272,2.192,282,3.281,440,1.738,463,3.409,464,1.003,466,4.151,467,3.769,469,2.264,472,3.152,473,3.769,474,3.849,475,4.151,476,3.276,477,2.112,831,3.326,852,1.588,882,1.682,896,2.35,1173,1.518,1221,2.081,1327,2,1352,1.851,1406,1.953,1415,1.976,1914,6.866,1941,2.026,2702,4.913,2708,3.276,2710,2.999,2723,2.404,2724,2.999,2728,4.645,4039,3.248,4040,5.32,4041,3.248,4042,3.248]],["t/2355",[34,0.752,40,1.541,41,1.545,42,1.568,43,1.685,44,1.486,45,0.937,57,2.784,61,3.593,63,3.354,282,3.569,464,2.269,831,3.617,882,3.805,1352,4.187,1406,4.417,2708,4.525,2709,6.415,4043,7.347,4044,8.552,4045,7.347]],["t/2357",[34,0.62,35,2.318,40,1.271,41,1.274,42,1.293,43,1.389,44,1.226,45,0.772,51,1.972,61,2.962,63,2.766,168,5.099,271,1.865,282,4.837,464,1.871,706,3.999,882,3.137,899,5.422,1173,2.832,1352,3.452,1415,3.685,1914,5.422,2708,5.283,2746,7.489,2747,7.922,4028,6.207,4046,6.058,4047,6.058]],["t/2359",[5,1.934,6,2.035,14,4.784,34,0.661,35,2.473,40,1.356,41,1.888,42,1.915,43,1.482,44,1.307,45,0.824,51,2.922,61,3.16,63,2.95,72,2.403,73,4.276,91,5.399,464,1.996,882,3.347,1173,3.022,1352,3.683,1415,3.932,2708,3.98,2709,5.643,4048,6.463,4049,6.463,4050,5.968,4051,6.463]],["t/2361",[4,2.441,5,3.064,6,2.008,9,3.47,34,0.652,35,2.441,40,1.338,41,1.341,42,1.361,43,1.463,44,1.29,45,0.813,51,3.334,61,3.118,63,2.912,72,2.371,89,3.5,92,2.785,464,1.969,882,3.303,1173,2.982,1352,3.635,1415,3.88,1914,4.031,2708,5.477,4052,6.377,4053,6.377]],["t/2363",[5,0.596,6,1.104,9,1.083,29,0.734,34,0.204,40,0.417,41,0.419,42,0.425,43,0.456,44,0.403,45,0.254,51,3.477,57,0.566,61,1.714,63,1.6,72,0.74,92,0.869,111,0.701,146,1.123,170,1.907,175,0.695,176,1.031,227,1.102,235,2.484,258,3.156,259,2.899,271,2.366,272,0.646,277,4.948,282,0.967,387,2.446,464,0.615,568,2.35,589,1.942,598,0.592,701,1.838,718,2.93,849,1.258,882,1.031,1128,2.792,1173,0.93,1221,1.275,1223,1.211,1344,6.12,1352,1.134,1415,3.444,1420,1.41,1506,3.934,1507,4.296,1508,4.19,1914,7.197,2708,2.159,2748,3.061,2749,3.061,2754,4.102,2759,3.237,2760,3.237,2762,3.237,2763,1.838,2765,3.237,2768,3.237,2770,3.237,2772,3.237,2825,3.399,2826,4.102,4054,1.99,4055,3.505,4056,3.505,4057,3.505,4058,3.505,4059,3.505,4060,3.505,4061,3.505,4062,3.505,4063,3.505,4064,3.505,4065,1.99]],["t/2365",[6,1.753,34,0.57,40,1.168,41,1.171,42,1.188,43,1.277,44,1.127,45,0.71,51,2.629,57,1.583,61,2.723,63,2.542,170,3.03,175,1.946,176,2.884,271,2.486,272,1.807,282,2.705,464,1.72,496,4.433,567,3.113,882,2.884,930,3.976,1139,3.239,1173,2.604,1352,3.174,1415,3.388,1914,6.006,2708,4.974,2733,6.747,2736,7.051,4028,5.844,4066,5.569,4067,5.569]],["t/2367",[6,2.522,34,0.563,40,1.155,41,1.158,42,1.175,43,1.263,44,1.114,45,0.702,51,2.607,57,2.277,61,2.692,63,2.513,163,2.59,170,2.995,175,1.924,176,2.851,271,2.465,282,2.674,464,1.7,496,3.022,828,2.748,882,2.851,930,2.71,1139,3.202,1173,2.574,1231,3.237,1352,3.138,1415,3.349,1914,5.967,2708,4.932,2733,6.691,2736,6.993,4028,5.795,4068,5.505,4069,5.505]],["t/2369",[6,1.412,34,0.459,40,0.941,41,0.943,42,0.957,43,1.028,44,0.907,45,0.571,51,3.467,57,2.661,61,2.192,63,2.047,163,2.109,170,2.439,175,2.401,176,2.322,235,4.868,257,3.116,258,2.192,259,1.826,280,2.024,282,4.547,387,1.937,464,1.385,567,2.506,593,2.506,726,2.506,882,2.322,1173,2.096,1352,2.555,1415,2.728,1420,3.177,1914,6.731,2708,4.231,2775,6.345,2777,6.345,4028,4.971,4070,4.484,4071,6.345,4072,6.345,4073,4.484]],["t/2371",[4,0.992,5,2.174,6,1.826,34,0.37,35,2.219,37,1.669,40,0.758,41,0.76,42,0.771,43,0.829,44,0.731,45,0.46,51,2.707,57,1.648,61,1.766,63,1.649,91,4.844,92,2.532,110,1.577,111,1.272,124,2.257,160,4.182,170,3.155,171,3.716,174,2.617,175,2.026,176,1.871,271,2.803,272,2.698,282,1.754,440,1.894,464,1.115,469,1.537,524,4.023,535,4.401,536,4.195,598,1.074,703,2.019,707,1.885,882,1.871,1173,1.689,1352,2.059,1353,2.385,1415,2.197,1914,6.925,2708,3.571,2733,4.844,2808,2.674,4044,5.063,4074,3.612,4075,3.612]],["t/2373",[5,1.073,34,0.367,40,0.752,41,0.754,42,0.765,43,0.822,44,0.725,45,0.457,51,2.695,57,1.638,61,1.753,63,1.637,111,2.029,112,2.982,221,1.39,258,1.753,259,1.46,266,1.637,271,2.792,272,2.345,282,1.741,346,2.266,440,1.883,464,1.107,469,1.526,472,3.66,473,4.084,474,4.17,476,3.55,485,0.957,568,1.488,852,1.753,882,1.857,1128,4.296,1173,1.676,1344,4.933,1352,2.043,1406,4.978,1415,2.181,1854,1.829,1914,6.908,2708,3.55,2714,5.032,2715,5.032,2716,5.032,2718,5.032,4028,4.17,4076,3.585,4077,3.585]],["t/2375",[4,1.343,5,1.464,6,2.311,34,0.501,40,1.026,41,1.029,42,1.044,43,1.122,44,0.99,45,0.624,51,3.187,57,2.086,61,2.392,63,2.233,111,1.722,114,2.46,115,2.392,124,3.43,174,2.208,227,4.065,235,5.201,282,2.376,464,1.511,828,3.664,829,2.876,844,3.94,882,2.534,1173,2.287,1352,2.788,1415,2.976,1914,6.187,2708,4.52,2739,4.518,2742,4.518,4044,6.409,4078,4.892,4079,7.34,4080,7.34,4081,4.892]],["t/2377",[34,0.652,40,1.338,41,1.341,42,1.361,43,1.463,44,1.29,45,0.813,61,3.118,63,2.912,271,2.738,464,1.969,590,4.721,598,1.897,866,5.019,882,3.303,1173,2.982,1352,3.635,1399,4.352,1409,4.352,1410,7.765,1415,3.88,1914,4.031,1941,5.547,2708,5.477,4028,6.435,4082,6.377,4083,6.377]],["t/2379",[6,1.676,34,0.545,40,1.117,41,1.119,42,1.136,43,1.221,44,1.077,45,0.679,51,1.733,57,1.513,61,2.603,63,2.43,111,1.874,124,2.073,165,5.243,168,4.645,170,4.252,171,5.008,174,2.403,175,1.86,176,2.757,235,5.537,271,2.85,272,1.727,282,2.586,464,1.644,703,2.976,882,2.757,1173,2.489,1352,3.034,1415,3.239,1914,6.448,2708,4.813,4028,5.654,4084,5.323,4085,5.323]],["t/2381",[6,1.349,34,0.438,40,0.899,41,0.901,42,0.914,43,0.983,44,0.867,45,0.546,51,3.404,57,2.308,61,2.095,63,1.956,170,2.331,175,2.318,176,2.219,221,1.661,235,4.701,258,3.97,259,2.702,277,3.819,280,2.994,282,3.943,464,1.323,469,1.823,882,2.219,1173,2.003,1344,4.528,1352,2.442,1415,2.607,1914,6.893,2708,4.086,2748,5.793,2749,5.793,4023,7.497,4028,4.8,4071,6.127,4072,6.127,4086,4.285,4087,4.285]],["t/2385",[175,3.772,341,7.367]],["t/2387",[1819,6.411,1820,6.411,1835,8.478,2017,6.314,2133,8.967,2156,8.967,2160,8.967]],["t/2389",[2105,9.64]],["t/2391",[4088,10.197]],["t/2393",[4089,9.519,4090,9.519,4091,9.519,4092,9.519,4093,9.519,4094,9.519,4095,9.519,4096,9.519]],["t/2396",[34,1.305,45,0.981,48,3.884,51,3.289,52,4.003,53,3.691,1125,5.006,2072,6.008,2105,6.722,4097,7.699]],["t/2399",[34,1.014,45,1.263,489,5.345,3114,7.335,4088,9.151,4098,9.909]],["t/2402",[5,1.393,34,0.476,40,1.483,41,0.979,42,0.994,43,1.068,44,1.431,45,0.594,48,2.294,52,1.845,56,2.511,57,2.01,62,2.292,72,1.731,111,1.639,112,3.079,221,2.741,224,4.744,266,2.126,267,2.533,271,2.939,272,1.511,297,4.071,346,2.943,440,1.521,469,1.981,472,3.45,474,5.117,476,4.355,485,1.243,598,1.385,727,3.751,859,2.603,896,3.369,1172,3.369,1250,3.074,1272,4.744,2017,4.598,2417,3.534,4099,4.656,4100,4.066,4101,4.656]],["t/2404",[5,1.449,34,0.495,40,1.528,41,1.018,42,1.033,43,1.111,44,1.474,45,0.617,48,2.363,52,1.919,56,2.612,57,2.071,62,2.384,72,1.801,111,2.565,112,3.154,221,2.824,224,4.887,258,2.368,271,2.695,440,1.582,469,2.061,472,3.533,477,3.149,485,1.292,598,1.44,727,3.864,859,2.707,896,3.504,1172,3.504,1250,3.198,1272,4.887,2046,4.473,2173,4.604,2417,3.676,3628,3.149,3633,5.062,4100,4.229,4102,4.843,4103,4.843]],["t/2406",[5,1.449,34,0.495,40,1.528,41,1.018,42,1.033,43,1.111,44,1.474,45,0.617,48,2.363,52,1.919,56,2.612,57,2.071,62,2.384,72,1.801,111,2.565,112,3.154,221,2.824,224,4.887,259,1.973,271,2.695,427,3.305,440,1.582,469,2.061,472,3.533,477,3.149,485,1.292,598,1.44,727,3.864,859,2.707,896,3.504,1172,3.504,1250,3.198,1272,4.887,2173,4.604,2417,3.676,3628,3.149,3633,5.062,4100,4.229,4104,4.843,4105,4.843]],["t/2408",[34,0.557,40,1.666,41,1.145,42,1.162,43,1.249,44,1.607,45,0.694,48,3.714,124,2.119,174,3.585,266,3.626,271,3.174,440,1.778,463,3.489,464,1.681,467,3.857,469,2.316,485,1.453,692,4.955,726,3.043,849,3.441,1251,3.652,1347,6.935,1389,5.021,2607,6.636,2627,6.199,2656,4.248,4106,5.443,4107,5.443]],["t/2410",[34,0.636,40,1.832,41,1.307,42,1.326,43,1.425,44,1.767,45,0.792,48,3.554,271,3.372,343,5.679,464,1.919,485,1.658,692,5.447,726,3.473,828,3.102,1389,5.52,2091,6.815,2092,5.004,2656,4.849,4108,6.213,4109,8.733,4110,6.213]],["t/2412",[34,0.612,40,1.784,41,1.258,42,1.277,43,1.372,44,1.72,45,0.763,48,3.494,174,2.7,266,3.882,267,3.255,271,3.316,343,5.529,464,1.848,485,1.596,692,5.303,726,3.344,828,2.986,849,3.781,1389,5.374,2017,5.529,2627,4.669,2656,4.669,4111,5.983,4112,5.983]],["t/2414",[34,0.59,40,1.21,41,1.742,42,1.768,43,1.323,44,1.676,45,0.735,48,3.903,52,2.286,73,4.617,297,3.321,317,3.751,464,2.993,467,4.087,485,1.539,692,5.167,726,4.631,1347,5.036,1389,3.646,2106,5.036,2607,4.819,2627,4.502,2671,6.287,4113,5.768,4114,5.768]],["t/2416",[34,0.62,40,1.271,41,1.804,42,1.83,43,1.389,44,1.735,45,0.772,48,3.709,52,2.4,73,4.744,317,3.939,343,3.939,427,4.134,464,3.075,485,1.616,692,5.35,726,4.795,1389,3.829,2106,5.289,2627,4.727,2671,6.51,4115,6.058,4116,6.058]],["t/2420",[209,7.477,210,7.477,1227,6.213,1809,7.322]],["t/2422",[496,5.671,727,5.481,1823,6.531,4117,10.333]],["t/2424",[18,5.178,37,4.397,89,5.224,110,4.157,441,8.311,2209,7.666,3223,6.386,3231,7.046]],["t/2426",[2450,9.019,4118,9.969]],["t/2428",[127,3.167,2196,6.218,2231,5.879,3889,6.218,3948,5.625,3949,5.625,4025,5.879,4119,6.733,4120,6.733,4121,6.733,4122,6.733,4123,5.423,4124,6.218,4125,6.218,4126,6.218,4127,6.733,4128,6.733,4129,6.733,4130,6.733,4131,6.733,4132,6.733,4133,6.733,4134,6.733,4135,6.733,4136,6.733,4137,6.733,4138,6.733,4139,6.733,4140,6.733]],["t/2431",[34,0.919,40,1.885,41,1.89,42,2.38,45,1.146,48,2.916,506,7.251,4141,8.987,4142,8.987]],["t/2433",[34,0.903,40,1.851,41,1.855,42,2.353,45,1.125,48,2.863,506,7.819,4143,8.823,4144,8.823]],["t/2435",[34,1.035,45,1.29,48,3.282,110,4.418,4145,10.117]],["t/2437",[34,1.035,45,1.29,48,3.282,441,8.833,4146,10.117]],["t/2439",[34,0.919,40,1.885,41,1.89,42,2.38,45,1.146,48,2.916,506,7.251,4147,8.987,4148,8.987]],["t/2441",[34,0.903,40,1.851,41,1.855,42,2.353,45,1.125,97,6.384,506,7.819,508,8.148,4149,8.823]],["t/2443",[34,1.035,45,1.29,89,5.553,97,7.32,4150,10.117]],["t/2445",[34,0.903,40,1.851,41,1.855,42,2.353,45,1.125,48,2.863,506,7.819,4151,8.823,4152,8.823]],["t/2448",[34,1.014,45,1.263,48,3.215,2450,8.279,3114,7.335,4153,9.909]],["t/2450",[34,1.182,45,1.213,48,3.088,1428,7.046,3114,7.046,4118,8.79,4154,9.519]],["t/2453",[34,0.814,40,1.668,41,1.672,42,1.697,43,1.824,44,1.609,45,1.014,48,3.716,147,6.709,3326,9.763,4155,7.952,4156,7.952]],["t/2455",[29,2.483,34,0.689,40,1.412,41,1.416,42,1.437,43,1.544,44,1.362,45,0.858,112,2.425,138,5.254,144,4.71,271,3.657,472,3.726,485,1.797,858,4.595,859,3.764,1223,4.096,1859,5.423,1863,7.437,2114,4.872,4157,6.733,4158,6.733]],["t/2457",[27,5.943,34,0.752,38,3.08,40,1.541,41,1.545,42,1.568,43,1.685,44,1.486,45,0.937,48,3.972,49,5.943,141,4.93,4159,7.347,4160,7.347,4161,7.347]],["t/2459",[5,3.022,21,3.541,34,0.636,37,2.87,40,1.303,41,1.307,42,1.326,43,1.425,44,1.257,45,0.792,48,2.833,52,2.462,72,2.31,89,3.41,92,4.41,97,4.496,159,4.318,218,4.24,485,1.658,598,1.848,1382,6.069,1789,6.815,2779,6.628,2887,3.41,4123,5.004,4162,6.213,4163,6.213]],["t/2461",[4,2.274,5,3.495,21,3.287,34,0.59,37,4.477,40,1.21,41,1.213,42,1.231,43,1.323,44,1.167,45,0.735,72,3.604,89,3.166,92,3.618,97,4.174,598,2.464,708,4.769,859,3.225,2144,5.653,2208,5.327,2209,6.672,3183,3.937,3442,5.327,4123,4.646,4124,5.327,4164,5.768]],["t/2463",[34,0.937,44,1.853,45,1.167,72,3.405,1823,8.067,4025,7.996,4165,9.158]],["t/2465",[5,3.225,34,0.871,44,1.722,45,1.085,48,3.497,72,3.165,92,4.707,1789,6.643,2779,6.461,4123,6.856,4166,8.512]],["t/2467",[4,2.017,5,3.297,34,0.752,37,4.525,40,1.541,41,1.545,42,1.568,43,1.685,44,1.486,45,0.937,72,2.732,89,4.033,92,4.278,97,5.316,598,2.185,1408,5.576,4123,5.918,4167,7.347,4168,7.347]],["t/2469",[5,1.593,34,0.545,38,2.232,44,1.581,45,0.679,48,2.535,72,1.979,146,3.004,159,6.435,199,2.536,267,4.252,280,2.403,296,3.412,464,2.859,598,1.583,713,3.515,735,2.779,829,3.13,901,4.04,1361,3.239,1789,6.099,2244,5.633,2410,4.04,2541,5.654,2601,4.288,2602,4.04,2779,5.931,3192,4.154,3193,4.648,3196,4.648,4125,4.916,4169,5.323,4170,5.323,4171,5.323,4172,5.323,4173,5.323]],["t/2471",[34,0.887,44,1.753,45,1.104,48,3.536,72,3.221,159,6.022,160,4.988,464,2.676,1789,6.762,2779,6.576,4126,8.002,4174,8.665]],["t/2473",[29,3.648,34,0.612,40,1.255,41,1.258,42,1.277,43,1.372,44,1.72,45,0.763,48,3.494,112,2.155,144,4.337,159,4.158,160,6.806,271,1.842,280,2.7,464,1.848,472,3.991,485,1.596,778,6.025,1003,4.541,1127,4.818,4175,5.983,4176,5.983]],["t/2475",[34,0.62,40,1.271,41,1.274,42,1.293,43,1.389,44,1.226,45,0.772,48,3.231,72,3.189,112,3.09,144,5.081,174,4.495,271,2.641,387,4.304,464,3.075,472,4.019,485,1.616,778,4.292,859,3.386,1127,4.879,4177,6.058,4178,6.058]],["t/2477",[29,3.973,34,0.719,40,1.474,41,1.478,42,1.499,43,1.612,44,1.422,45,0.896,48,3.084,148,6.453,484,3.857,485,1.875,598,2.09,735,3.668,1765,6.489,2663,6.489,3223,6.378,4179,7.027,4180,7.027]],["t/2479",[34,0.903,40,1.851,41,1.855,42,1.883,44,1.785,45,1.125,48,3.577,148,4.932,3223,5.92,4181,8.823,4182,8.823]],["t/2481",[34,0.903,40,1.851,41,1.855,42,1.883,44,1.785,45,1.125,48,3.577,148,4.932,3223,5.92,4183,8.823,4184,8.823]],["t/2483",[34,0.903,40,1.851,41,1.855,42,1.883,44,1.785,45,1.125,48,3.577,148,4.932,3223,5.92,4185,8.823,4186,8.823]],["t/2485",[34,0.903,40,1.851,41,1.855,42,1.883,44,1.785,45,1.125,48,3.577,148,4.932,3223,5.92,4187,8.823,4188,8.823]],["t/2487",[29,4.297,34,0.652,40,1.338,41,1.341,42,1.361,43,1.463,44,1.29,45,0.813,48,3.78,69,4.679,148,5.725,484,3.5,485,1.702,1098,6.302,1337,7.163,2573,7.117,4189,6.377,4190,6.377]],["t/2489",[29,4.232,34,0.709,40,1.453,41,1.456,42,1.478,43,1.589,44,1.401,45,0.883,48,3.054,126,3.199,148,6.919,271,2.898,506,4.504,3223,4.647,4191,6.926,4192,6.926,4193,6.926]],["t/2491",[29,4.335,34,0.752,40,1.541,41,1.545,42,1.568,43,1.685,44,1.486,45,0.937,48,3.813,148,5.476,484,4.033,485,1.961,692,4.583,2624,5.734,4194,7.347,4195,7.347]],["t/2493",[4,2.98,5,3.248,34,0.73,37,4.435,40,1.496,41,1.499,42,1.522,43,1.636,44,1.443,45,0.909,48,3.115,74,4.192,267,3.879,666,4.784,1389,6.068,4196,7.13,4197,7.13,4198,7.13]],["t/2495",[5,2.9,34,0.59,40,1.21,41,1.213,42,1.231,43,1.323,44,1.167,45,0.735,48,1.871,271,1.776,484,3.166,524,5.368,598,2.464,672,5.524,707,4.324,2114,7.013,3223,5.558,3231,7.175,4199,5.768,4200,7.65,4201,5.327,4202,5.327,4203,4.819,4204,5.327,4205,5.327,4206,5.327,4207,5.768]],["t/2497",[5,2.98,34,0.62,40,1.271,41,1.274,42,1.293,43,1.389,44,1.226,45,0.772,48,1.965,272,1.965,314,4.598,484,3.325,524,5.516,598,1.802,707,5.654,752,4.21,2781,4.879,3223,4.064,3231,4.484,4200,5.594,4201,7.922,4202,5.594,4203,5.061,4204,5.594,4205,5.594,4206,5.594,4208,6.058,4209,6.058,4210,6.058]],["t/2499",[29,3.944,34,0.709,40,1.453,41,1.456,42,1.478,43,1.589,44,1.401,45,0.883,48,3.469,49,5.077,53,3.32,464,2.907,585,4.32,1117,4.029,1789,5.405,2437,1.992,2593,4.647,3434,8.693,4211,6.926,4212,6.926]],["t/2501",[5,2.248,19,3.385,20,3.281,21,2.876,29,1.861,34,0.516,40,1.058,41,1.061,42,1.077,43,1.157,44,1.021,45,0.643,73,2.403,79,3.07,91,4.215,92,3.28,127,4.221,272,3.448,359,4.516,464,1.558,484,2.769,507,4.405,598,2.234,659,2.435,726,2.821,727,3.984,908,2.698,954,3.735,2495,4.064,2669,5.862,3183,3.443,4203,4.215,4213,5.045,4214,7.511,4215,5.045,4216,4.659,4217,4.659,4218,4.659,4219,4.659,4220,5.045]],["t/2503",[34,0.709,40,1.453,41,1.456,42,1.478,43,1.589,44,1.401,45,0.883,48,3.054,51,3.064,53,5.501,74,4.072,147,6.954,464,2.907,859,3.872,4221,6.926,4222,8.693,4223,6.396,4224,6.926]],["t/2505",[4,2.017,5,2.199,34,0.752,37,5.09,40,1.541,41,1.545,42,1.568,43,1.685,44,1.486,45,0.937,48,2.384,74,4.32,464,2.269,631,5.106,1389,6.191,2671,7.434,4225,7.347,4226,7.347,4227,7.347]],["t/2507",[34,0.709,40,1.453,41,1.456,42,1.478,43,1.589,44,1.401,45,0.883,48,3.054,51,3.064,53,5.501,147,6.954,464,2.907,726,3.872,859,3.872,4222,6.396,4223,8.693,4228,6.926,4229,6.926]],["t/2509",[4,1.97,5,2.589,18,2.583,19,3.186,20,3.087,21,2.706,29,1.751,34,0.486,40,0.996,41,0.998,42,1.013,43,1.089,44,1.452,45,0.605,61,3.509,86,2.247,92,2.073,127,3.376,221,2.782,272,3.128,359,2.855,484,2.606,485,1.267,598,2.134,631,3.3,680,3.135,689,3.135,727,5.776,882,2.459,1204,3.604,1408,3.604,2669,5.6,3183,3.24,4050,6.627,4203,3.967,4216,4.385,4217,4.385,4218,4.385,4219,4.385,4230,4.748,4231,4.748]],["t/2513",[37,4.312,89,5.124,123,6.07,173,7.285,200,6.614,272,3.028,429,4.475,513,7.085,1823,5.9]],["t/2515",[55,6.623,117,7.594,137,7.594,152,6.87,167,6.417,193,6.623,217,7.179,231,7.594,364,6.87,387,3.553,532,6.87,533,6.623,2186,7.179,2205,7.179,2220,6.87,4232,8.223]],["t/2517",[76,9.019,103,9.019]],["t/2519",[4233,9.542,4234,9.542,4235,9.542,4236,9.542]],["t/2522",[34,1.014,45,1.263,89,5.439,103,8.279,4237,9.151,4238,9.909]],["t/2524",[34,1.014,37,4.577,45,1.263,76,8.279,4237,9.151,4239,9.909]],["t/2527",[34,1.014,45,1.263,93,8.279,3114,7.335,4233,9.151,4240,9.909]],["t/2529",[11,8.279,34,1.014,45,1.263,3114,7.335,4234,9.151,4241,9.909]],["t/2531",[34,1.014,45,1.263,123,6.443,3114,7.335,4235,9.151,4242,9.909]],["t/2533",[34,1.014,45,1.263,48,3.215,3114,7.335,4236,9.151,4243,9.909]],["t/2535",[6,3.148,124,2.95,620,4.79,659,3.656,757,4.408,852,3.705,898,4.727,913,4.856,922,5.084,923,6.616,942,6.331,959,4.927,999,5.483,1012,5.751,1031,5.172,1257,6.616,1335,5.172,2270,6.998,2401,6.998,2555,6.103]],["t/2537",[6,2.313,52,2.911,57,2.088,90,6.138,293,5.106,487,4.47,616,6.415,619,4.525,620,4.644,641,4.851,735,3.835,836,4.417,904,5.734,926,4.32,959,4.778,973,5.918,1125,4.778,1239,5.206,1303,5.439,1468,5.014,2555,5.918,2558,5.576,3349,6.785]],["t/2539",[6,3.093,35,2.262,38,2.477,620,6.77,641,3.902,643,4.015,693,3.787,780,4.276,823,6.397,902,5.16,911,3.787,913,6.296,959,6.388,1008,2.993,1117,3.437,1257,5.16,2198,5.16,2328,2.698,2550,5.457,2562,7.359,2683,5.16,3068,5.16,4244,5.909,4245,5.909,4246,5.909,4247,5.909,4248,5.909]],["t/2541",[6,3.17,35,1.096,38,2.009,52,1.134,57,0.814,127,1.347,166,3.74,185,3.637,218,1.954,221,1.11,271,2.225,272,1.555,284,3.687,480,2.306,598,0.851,610,1.494,620,3.906,641,1.89,643,2.283,697,2.881,698,2.029,703,4.04,751,2.644,757,1.665,763,1.439,823,4.69,848,2.029,863,2.306,885,1.862,909,2.173,913,6.208,928,2.173,930,2.359,959,4.018,1009,1.6,1014,1.429,1034,1.571,1090,2.173,1133,2.392,1170,3.467,1293,1.835,1379,2.306,1461,3.164,1462,2.234,1766,3.859,2198,2.5,2275,2.644,2553,4.184,2558,2.173,2561,2.173,2562,7.023,2563,6.674,2566,2.644,2620,2.5,2678,3.859,3037,7.596,3039,2.644,3182,2.644,4249,2.863,4250,7.226,4251,2.863,4252,4.792,4253,2.863,4254,2.863,4255,6.18,4256,2.863]]],"invertedIndex":[["",{"_index":34,"t":{"12":{"position":[[0,1]]},"15":{"position":[[0,1]]},"18":{"position":[[0,1]]},"20":{"position":[[0,1]]},"22":{"position":[[0,1]]},"24":{"position":[[0,1]]},"26":{"position":[[0,1]]},"28":{"position":[[0,1]]},"30":{"position":[[0,1]]},"32":{"position":[[0,1]]},"34":{"position":[[0,1]]},"36":{"position":[[0,1]]},"38":{"position":[[0,1]]},"50":{"position":[[0,1]]},"53":{"position":[[0,1]]},"56":{"position":[[0,1]]},"58":{"position":[[0,1]]},"60":{"position":[[0,1]]},"62":{"position":[[0,1]]},"64":{"position":[[0,1]]},"66":{"position":[[0,1]]},"68":{"position":[[0,1]]},"82":{"position":[[0,1]]},"85":{"position":[[0,1]]},"87":{"position":[[0,1]]},"89":{"position":[[0,1]]},"92":{"position":[[0,1]]},"94":{"position":[[0,1]]},"96":{"position":[[0,1]]},"98":{"position":[[0,1]]},"100":{"position":[[0,1]]},"102":{"position":[[0,1]]},"104":{"position":[[0,1]]},"106":{"position":[[0,1]]},"108":{"position":[[0,1]]},"110":{"position":[[0,1]]},"112":{"position":[[0,1]]},"114":{"position":[[0,1]]},"128":{"position":[[0,1]]},"131":{"position":[[0,1]]},"133":{"position":[[0,1]]},"135":{"position":[[0,1]]},"137":{"position":[[0,1]]},"140":{"position":[[0,1]]},"142":{"position":[[0,1]]},"144":{"position":[[0,1]]},"146":{"position":[[0,1]]},"158":{"position":[[0,1]]},"161":{"position":[[0,1]]},"163":{"position":[[0,1]]},"165":{"position":[[0,1]]},"167":{"position":[[0,1]]},"169":{"position":[[0,1]]},"172":{"position":[[0,1]]},"174":{"position":[[0,1]]},"176":{"position":[[0,1]]},"178":{"position":[[0,1]]},"180":{"position":[[0,1]]},"182":{"position":[[0,1]]},"190":{"position":[[0,1]]},"192":{"position":[[0,1]]},"194":{"position":[[0,1]]},"196":{"position":[[0,1]]},"198":{"position":[[0,1]]},"200":{"position":[[0,1]]},"202":{"position":[[0,1]]},"204":{"position":[[0,1]]},"206":{"position":[[0,1]]},"208":{"position":[[0,1]]},"210":{"position":[[0,1]]},"218":{"position":[[0,1]]},"220":{"position":[[0,1]]},"222":{"position":[[0,1]]},"224":{"position":[[0,1]]},"232":{"position":[[0,1]]},"234":{"position":[[0,1]]},"236":{"position":[[0,1]]},"244":{"position":[[0,1]]},"246":{"position":[[0,1]]},"248":{"position":[[0,1]]},"250":{"position":[[0,1]]},"252":{"position":[[0,1]]},"254":{"position":[[0,1]]},"262":{"position":[[0,1]]},"264":{"position":[[0,1]]},"266":{"position":[[0,1]]},"268":{"position":[[0,1]]},"270":{"position":[[0,1]]},"272":{"position":[[0,1]]},"274":{"position":[[0,1]]},"276":{"position":[[0,1]]},"278":{"position":[[0,1]]},"280":{"position":[[0,1]]},"282":{"position":[[0,1]]},"284":{"position":[[0,1]]},"286":{"position":[[0,1]]},"288":{"position":[[0,1]]},"290":{"position":[[0,1]]},"292":{"position":[[0,1]]},"294":{"position":[[0,1]]},"296":{"position":[[0,1]]},"298":{"position":[[0,1]]},"300":{"position":[[0,1]]},"302":{"position":[[0,1]]},"310":{"position":[[0,1]]},"312":{"position":[[0,1]]},"314":{"position":[[0,1]]},"316":{"position":[[0,1]]},"318":{"position":[[0,1]]},"320":{"position":[[0,1]]},"330":{"position":[[0,1]]},"332":{"position":[[0,1]]},"340":{"position":[[0,1]]},"342":{"position":[[0,1]]},"344":{"position":[[0,1]]},"352":{"position":[[0,1]]},"354":{"position":[[0,1]]},"356":{"position":[[0,1]]},"358":{"position":[[0,1]]},"360":{"position":[[0,1]]},"368":{"position":[[0,1]]},"370":{"position":[[0,1]]},"372":{"position":[[0,1]]},"374":{"position":[[0,1]]},"376":{"position":[[0,1]]},"378":{"position":[[0,1]]},"380":{"position":[[0,1]]},"382":{"position":[[0,1]]},"384":{"position":[[0,1]]},"392":{"position":[[0,1]]},"394":{"position":[[0,1]]},"396":{"position":[[0,1]]},"404":{"position":[[0,1]]},"406":{"position":[[0,1]]},"408":{"position":[[0,1]]},"410":{"position":[[0,1]]},"412":{"position":[[0,1]]},"414":{"position":[[0,1]]},"416":{"position":[[0,1]]},"418":{"position":[[0,1]]},"420":{"position":[[0,1]]},"422":{"position":[[0,1]]},"424":{"position":[[0,1]]},"426":{"position":[[0,1]]},"428":{"position":[[0,1]]},"430":{"position":[[0,1]]},"432":{"position":[[0,1]]},"434":{"position":[[0,1]]},"436":{"position":[[0,1]]},"444":{"position":[[0,1]]},"446":{"position":[[0,1]]},"448":{"position":[[0,1]]},"450":{"position":[[0,1]]},"452":{"position":[[0,1]]},"454":{"position":[[0,1]]},"456":{"position":[[0,1]]},"458":{"position":[[0,1]]},"460":{"position":[[0,1]]},"462":{"position":[[0,1]]},"464":{"position":[[0,1]]},"466":{"position":[[0,1]]},"468":{"position":[[0,1]]},"470":{"position":[[0,1]]},"472":{"position":[[0,1]]},"474":{"position":[[0,1]]},"476":{"position":[[0,1]]},"478":{"position":[[0,1]]},"480":{"position":[[0,1]]},"482":{"position":[[0,1]]},"490":{"position":[[0,1]]},"492":{"position":[[0,1]]},"500":{"position":[[0,1]]},"502":{"position":[[0,1]]},"504":{"position":[[0,1]]},"506":{"position":[[0,1]]},"510":{"position":[[0,1],[36,2]]},"516":{"position":[[0,1],[24,2],[52,1]]},"518":{"position":[[0,1],[24,2],[52,1]]},"520":{"position":[[0,1],[24,2],[52,1]]},"522":{"position":[[0,1],[24,2],[52,1]]},"530":{"position":[[0,1]]},"532":{"position":[[0,1]]},"540":{"position":[[0,1]]},"542":{"position":[[0,1]]},"552":{"position":[[0,1]]},"554":{"position":[[0,1]]},"564":{"position":[[0,1]]},"566":{"position":[[0,1],[14,2],[37,1]]},"568":{"position":[[0,1],[26,2],[55,1]]},"570":{"position":[[0,1],[10,2],[13,2],[42,1],[44,3]]},"578":{"position":[[0,1]]},"580":{"position":[[0,1]]},"588":{"position":[[0,1]]},"590":{"position":[[0,1]]},"592":{"position":[[0,1]]},"600":{"position":[[0,1]]},"602":{"position":[[0,1]]},"606":{"position":[[13,1]]},"612":{"position":[[0,1]]},"614":{"position":[[0,1]]},"616":{"position":[[0,1]]},"618":{"position":[[0,1]]},"620":{"position":[[0,1]]},"622":{"position":[[0,1]]},"624":{"position":[[0,1]]},"626":{"position":[[0,1]]},"634":{"position":[[0,1]]},"636":{"position":[[0,1]]},"638":{"position":[[0,1]]},"642":{"position":[[13,1]]},"648":{"position":[[0,1]]},"650":{"position":[[0,1]]},"652":{"position":[[0,1]]},"654":{"position":[[0,1]]},"662":{"position":[[0,1]]},"664":{"position":[[0,1]]},"671":{"position":[[493,1],[524,1],[590,1],[623,1]]},"676":{"position":[[356,1],[437,1],[1550,1],[2140,1],[2441,1],[2830,1],[3155,1]]},"678":{"position":[[183,1],[187,1],[675,1],[704,1],[733,1],[744,1],[766,1],[788,1],[810,1],[812,1],[814,1]]},"680":{"position":[[176,1]]},"692":{"position":[[12,1]]},"716":{"position":[[744,1]]},"740":{"position":[[13,1],[29,1]]},"746":{"position":[[0,1]]},"754":{"position":[[0,1]]},"756":{"position":[[0,1]]},"763":{"position":[[194,1],[546,1],[743,1],[755,1],[1221,1],[1330,1],[1337,1],[1344,1],[1399,1],[1401,2],[1409,1],[1416,1],[1471,1],[1473,2],[1481,1],[1488,1],[1543,1],[1545,2],[1553,1],[1560,1],[1615,1],[1617,1],[1619,2],[1870,1],[1989,1],[1991,1],[2467,1],[2479,1],[2866,1],[2891,1],[2893,3],[3202,1],[3356,1],[3363,1],[3370,1],[3410,1],[3412,2],[3420,1],[3427,1],[3467,1],[3469,2],[3477,1],[3484,1],[3524,1],[3526,2],[3534,1],[3541,1],[3581,1],[3583,2],[3591,1],[3598,1],[3638,1],[3640,2],[3648,1],[3655,1],[3695,1],[3697,2],[3705,1],[3712,1],[3752,1],[3754,2],[3762,1],[3769,1],[3809,1],[3811,2],[3819,1],[3826,1],[3867,1],[3869,2],[3877,1],[3884,1],[3924,1],[3926,1],[3928,2],[4153,1],[4186,1],[4190,1],[4205,1],[4255,1],[4344,2],[4349,1],[4353,2],[4358,1],[4362,2],[4367,1],[4371,2],[4376,1],[4380,2],[4385,1],[4389,2],[4394,1],[4398,2],[4403,1],[4407,2],[4412,1],[4417,2],[4422,1],[4426,2],[4431,1],[4436,1],[4441,1],[4445,1],[4449,1],[4453,1],[4457,1],[4462,1],[4467,1],[4473,1],[4477,1],[4527,1],[4532,1],[4547,1],[4600,1]]},"765":{"position":[[531,3]]},"775":{"position":[[211,1],[292,1],[294,1],[371,1],[373,1],[380,1],[382,1],[413,1],[415,1],[459,1],[461,1],[498,1],[500,1],[551,1],[553,1],[597,1],[599,1],[615,1],[617,1],[639,1]]},"780":{"position":[[79,2],[82,1]]},"782":{"position":[[70,2],[73,1]]},"792":{"position":[[135,1]]},"794":{"position":[[87,2]]},"816":{"position":[[0,1]]},"819":{"position":[[0,1]]},"821":{"position":[[0,1],[21,1]]},"823":{"position":[[0,1]]},"825":{"position":[[0,1],[16,1],[18,2]]},"827":{"position":[[0,1],[27,1],[29,2]]},"829":{"position":[[0,1]]},"831":{"position":[[0,1]]},"834":{"position":[[0,1]]},"836":{"position":[[0,1]]},"838":{"position":[[0,1]]},"840":{"position":[[0,1]]},"842":{"position":[[0,1]]},"844":{"position":[[0,1]]},"846":{"position":[[0,1]]},"858":{"position":[[0,1]]},"861":{"position":[[0,1]]},"863":{"position":[[0,1]]},"866":{"position":[[0,1]]},"868":{"position":[[0,1]]},"880":{"position":[[0,1]]},"883":{"position":[[0,1],[28,1]]},"885":{"position":[[0,1],[30,1]]},"887":{"position":[[0,1],[31,2],[59,1]]},"889":{"position":[[0,1]]},"891":{"position":[[0,1]]},"893":{"position":[[0,1],[22,1],[24,2]]},"895":{"position":[[0,1],[29,1]]},"897":{"position":[[0,1],[20,1]]},"899":{"position":[[0,1]]},"901":{"position":[[0,1]]},"903":{"position":[[0,1],[34,2],[62,1]]},"905":{"position":[[0,1]]},"907":{"position":[[0,1],[21,1],[23,2]]},"909":{"position":[[0,1],[26,1]]},"911":{"position":[[0,1]]},"913":{"position":[[0,1],[18,1],[20,2]]},"916":{"position":[[0,1]]},"918":{"position":[[0,1]]},"920":{"position":[[0,1]]},"922":{"position":[[0,1]]},"924":{"position":[[0,1]]},"926":{"position":[[0,1]]},"928":{"position":[[0,1],[28,1],[35,1],[164,1],[171,1]]},"930":{"position":[[0,1]]},"932":{"position":[[0,1]]},"934":{"position":[[0,1]]},"936":{"position":[[0,1]]},"938":{"position":[[0,1]]},"940":{"position":[[0,1]]},"942":{"position":[[0,1],[157,2],[191,2],[196,1]]},"944":{"position":[[0,1]]},"956":{"position":[[0,1]]},"959":{"position":[[0,1]]},"961":{"position":[[0,1]]},"964":{"position":[[0,1]]},"966":{"position":[[0,1],[143,1]]},"968":{"position":[[0,1]]},"980":{"position":[[0,1],[193,2]]},"983":{"position":[[0,1]]},"985":{"position":[[0,1]]},"987":{"position":[[0,1],[35,2],[64,1]]},"989":{"position":[[0,1]]},"991":{"position":[[0,1]]},"993":{"position":[[0,1],[31,2],[59,1]]},"995":{"position":[[0,1]]},"997":{"position":[[0,1]]},"999":{"position":[[0,1]]},"1001":{"position":[[0,1]]},"1003":{"position":[[0,1]]},"1005":{"position":[[0,1],[13,2],[16,2],[44,1],[46,3]]},"1007":{"position":[[0,1]]},"1009":{"position":[[0,1]]},"1011":{"position":[[0,1],[34,2],[75,1]]},"1013":{"position":[[0,1],[77,2],[88,2],[117,1],[214,2]]},"1016":{"position":[[0,1]]},"1018":{"position":[[0,1]]},"1020":{"position":[[0,1]]},"1022":{"position":[[0,1]]},"1024":{"position":[[0,1]]},"1026":{"position":[[0,1]]},"1028":{"position":[[0,1]]},"1030":{"position":[[0,1]]},"1032":{"position":[[0,1]]},"1034":{"position":[[0,1]]},"1048":{"position":[[0,1]]},"1051":{"position":[[0,1],[13,1]]},"1053":{"position":[[0,1],[13,1]]},"1055":{"position":[[0,1]]},"1057":{"position":[[0,1],[20,1],[22,2]]},"1059":{"position":[[0,1]]},"1061":{"position":[[0,1],[14,1]]},"1063":{"position":[[0,1],[23,1],[25,2]]},"1065":{"position":[[0,1]]},"1067":{"position":[[0,1]]},"1069":{"position":[[0,1]]},"1071":{"position":[[0,1]]},"1073":{"position":[[0,1],[23,1],[25,2]]},"1075":{"position":[[0,1]]},"1077":{"position":[[0,1]]},"1079":{"position":[[0,1]]},"1081":{"position":[[0,1],[22,1],[24,2]]},"1083":{"position":[[0,1],[30,1]]},"1085":{"position":[[0,1],[28,1]]},"1087":{"position":[[0,1],[35,1],[37,2]]},"1089":{"position":[[0,1]]},"1091":{"position":[[0,1]]},"1093":{"position":[[0,1],[49,1],[67,1],[69,2]]},"1095":{"position":[[0,1],[14,1]]},"1097":{"position":[[0,1],[33,1],[51,1],[53,2]]},"1099":{"position":[[0,1],[25,1],[43,1],[45,2]]},"1101":{"position":[[0,1],[47,1],[65,1],[67,2]]},"1103":{"position":[[0,1],[23,1]]},"1105":{"position":[[0,1]]},"1107":{"position":[[0,1]]},"1109":{"position":[[0,1]]},"1111":{"position":[[0,1],[20,1],[22,2]]},"1113":{"position":[[0,1],[30,1],[48,1],[50,2]]},"1115":{"position":[[0,1],[24,1],[26,2]]},"1117":{"position":[[0,1]]},"1119":{"position":[[0,1]]},"1122":{"position":[[0,1]]},"1124":{"position":[[0,1]]},"1126":{"position":[[0,1]]},"1128":{"position":[[0,1]]},"1130":{"position":[[0,1]]},"1132":{"position":[[0,1]]},"1134":{"position":[[0,1]]},"1136":{"position":[[0,1]]},"1138":{"position":[[0,1]]},"1140":{"position":[[0,1]]},"1142":{"position":[[0,1]]},"1144":{"position":[[0,1]]},"1146":{"position":[[0,1]]},"1148":{"position":[[0,1]]},"1150":{"position":[[0,1]]},"1152":{"position":[[0,1]]},"1154":{"position":[[0,1]]},"1156":{"position":[[0,1]]},"1158":{"position":[[0,1]]},"1160":{"position":[[0,1]]},"1162":{"position":[[0,1]]},"1164":{"position":[[0,1]]},"1166":{"position":[[0,1]]},"1178":{"position":[[0,1]]},"1181":{"position":[[0,1]]},"1183":{"position":[[0,1]]},"1185":{"position":[[0,1],[18,1],[20,2]]},"1188":{"position":[[0,1]]},"1190":{"position":[[0,1]]},"1192":{"position":[[0,1]]},"1194":{"position":[[0,1]]},"1196":{"position":[[0,1]]},"1198":{"position":[[0,1]]},"1200":{"position":[[0,1]]},"1202":{"position":[[0,1]]},"1204":{"position":[[0,1]]},"1216":{"position":[[0,1]]},"1219":{"position":[[0,1]]},"1221":{"position":[[0,1]]},"1224":{"position":[[0,1]]},"1226":{"position":[[0,1]]},"1228":{"position":[[0,1]]},"1230":{"position":[[0,1]]},"1232":{"position":[[0,1]]},"1244":{"position":[[0,1]]},"1247":{"position":[[0,1]]},"1249":{"position":[[0,1]]},"1251":{"position":[[0,1],[29,1]]},"1254":{"position":[[0,1]]},"1256":{"position":[[0,1]]},"1258":{"position":[[0,1]]},"1260":{"position":[[0,1]]},"1262":{"position":[[0,1]]},"1264":{"position":[[0,1]]},"1266":{"position":[[0,1]]},"1268":{"position":[[0,1]]},"1282":{"position":[[0,1]]},"1285":{"position":[[0,1]]},"1287":{"position":[[0,1]]},"1289":{"position":[[0,1]]},"1291":{"position":[[0,1]]},"1293":{"position":[[0,1]]},"1295":{"position":[[0,1]]},"1297":{"position":[[0,1]]},"1299":{"position":[[0,1]]},"1302":{"position":[[0,1]]},"1304":{"position":[[0,1]]},"1306":{"position":[[0,1]]},"1308":{"position":[[0,1]]},"1310":{"position":[[0,1]]},"1312":{"position":[[0,1]]},"1314":{"position":[[0,1]]},"1316":{"position":[[0,1]]},"1318":{"position":[[0,1]]},"1320":{"position":[[0,1]]},"1322":{"position":[[0,1]]},"1326":{"position":[[70,1],[263,1],[589,1],[732,1],[967,1],[1019,1],[1091,1],[1693,1],[1768,1],[1902,1],[2106,3],[2159,3],[2284,1],[2473,3],[2553,3],[2613,1],[3030,1],[3353,1],[3438,1],[3483,1],[3588,1],[3656,1],[3728,1],[3757,1],[3832,1],[4159,1],[4315,1],[4376,1],[4509,1],[4785,1],[5040,1],[5283,1],[5419,1],[5947,1],[6057,1],[6423,1],[7532,1]]},"1336":{"position":[[366,1],[383,1],[434,1],[486,1],[503,1],[588,1]]},"1340":{"position":[[685,1],[817,2],[899,1],[930,1],[1009,1]]},"1342":{"position":[[577,1],[596,1],[613,1],[643,1],[772,2],[789,1],[851,1]]},"1346":{"position":[[222,2],[243,1],[272,1],[397,2],[470,2],[541,1],[552,2],[615,1],[638,3],[664,1],[687,3],[712,1],[736,3],[767,3],[785,1]]},"1348":{"position":[[212,2],[255,2],[311,1],[365,1],[393,3],[413,3],[431,3],[440,1],[511,1],[554,3],[582,3]]},"1350":{"position":[[91,1],[270,1],[277,1],[292,1],[294,2],[357,1],[389,3],[414,3],[435,3],[442,2],[482,3],[493,1],[501,2],[508,1]]},"1363":{"position":[[777,1]]},"1376":{"position":[[139,1],[1117,1],[4665,1],[4667,1],[4671,3],[4675,1],[4677,1],[4683,1],[4685,1],[4687,1],[4689,1],[5376,2],[5382,1],[5421,2],[5427,1]]},"1378":{"position":[[12,1],[4193,1],[4198,2]]},"1380":{"position":[[332,1]]},"1389":{"position":[[411,1]]},"1395":{"position":[[474,1]]},"1401":{"position":[[241,1],[299,3]]},"1403":{"position":[[358,1],[400,1],[428,1],[478,1],[521,1],[658,3]]},"1405":{"position":[[56,1],[110,3]]},"1407":{"position":[[56,1],[91,1],[169,1]]},"1409":{"position":[[56,1],[87,1],[269,3]]},"1411":{"position":[[56,1],[89,1],[166,1],[244,1],[475,3],[575,1],[635,3]]},"1413":{"position":[[56,1],[144,1],[237,3],[295,3],[470,3]]},"1415":{"position":[[56,1],[147,1],[151,3],[296,3],[386,3],[523,3]]},"1417":{"position":[[118,1],[157,1],[171,1],[198,1],[281,1],[393,3]]},"1419":{"position":[[79,1],[160,1],[237,1],[244,1],[260,1],[272,1],[303,1],[347,1],[384,1],[435,1],[479,1],[538,1],[573,1],[650,1],[657,1],[673,1],[685,1],[736,1],[780,1],[848,1],[930,1],[1059,1],[1170,1],[1174,3]]},"1421":{"position":[[163,1],[198,1],[281,1],[295,1],[336,1],[397,1],[449,1],[510,1],[563,1],[589,1],[608,1],[692,1],[727,1],[810,1],[824,1],[886,1],[939,1],[965,1],[984,1],[1015,1],[1083,1],[1165,1],[1254,1],[1365,1],[1369,3]]},"1423":{"position":[[56,1],[94,1],[101,1],[282,1],[286,3],[399,1],[492,3]]},"1425":{"position":[[56,1],[88,1],[95,1],[222,3]]},"1432":{"position":[[41,1],[91,3]]},"1434":{"position":[[41,1],[83,1],[107,1],[134,1],[155,1],[184,1],[206,1],[277,1],[463,3]]},"1436":{"position":[[41,1],[87,3]]},"1438":{"position":[[41,1],[76,1],[154,1]]},"1440":{"position":[[41,1],[72,1],[252,3]]},"1442":{"position":[[41,1],[74,1],[157,1],[240,1],[258,1],[282,1],[304,1],[316,1]]},"1444":{"position":[[41,1],[74,1],[157,1],[240,1],[258,1],[282,1],[304,1],[316,1]]},"1446":{"position":[[41,1],[93,3]]},"1448":{"position":[[41,1],[128,1],[221,3],[279,3],[454,3]]},"1450":{"position":[[41,1],[131,1],[135,3],[280,3],[370,3],[507,3]]},"1452":{"position":[[41,1],[76,1],[159,1],[173,1],[235,1],[288,1],[314,1],[333,1],[401,1],[483,1],[564,1],[675,1],[679,3]]},"1454":{"position":[[41,1],[79,1],[93,1],[275,1],[279,3],[392,1],[485,3]]},"1456":{"position":[[41,1],[73,1],[87,1],[217,3]]},"1460":{"position":[[389,1],[391,1],[393,2],[430,1],[533,1],[566,1],[611,1],[655,1],[674,2],[751,2],[800,2],[803,1],[991,1],[1737,1],[1756,1],[1826,1],[1845,1],[1877,1],[1910,1],[1926,2],[1998,2],[2097,2],[2157,2],[2160,2],[2274,2],[2371,2],[2443,2],[2446,2],[2533,2],[2586,2],[2632,1],[3764,2],[4414,1],[4433,1],[4435,2],[4473,2],[4512,1],[4590,2],[4612,1],[4633,2],[4646,1],[4734,2],[4737,2],[4786,2],[4856,2],[4989,2],[5056,1],[5140,2],[5161,1],[5180,2],[5237,1],[5304,2],[5326,1],[5421,1],[5899,1],[5918,1],[5935,1],[5949,2],[6017,1],[6022,1],[6123,2],[6126,1],[6128,2],[6208,1],[6393,2],[6403,1],[6532,2],[6549,1],[6611,1]]},"1462":{"position":[[1343,1],[1345,2],[1502,1],[1569,1],[1618,1],[1972,1],[1974,2],[2041,2],[2123,1],[2221,2],[2240,1],[2283,2],[2338,1],[2363,1],[2425,1],[2459,1],[2512,1],[3088,1],[3197,1],[3306,1],[3416,1],[3526,1]]},"1468":{"position":[[318,1],[391,1],[405,1],[485,1],[487,1]]},"1472":{"position":[[522,1],[576,2],[647,2],[650,1]]},"1474":{"position":[[322,2]]},"1480":{"position":[[52,1],[157,1],[177,1],[252,1],[271,1],[318,1]]},"1484":{"position":[[98,1],[207,1],[316,1],[426,1],[536,1]]},"1497":{"position":[[187,2],[190,1],[206,2],[209,1],[278,2],[281,1],[302,2],[305,1],[328,2],[331,1],[367,2],[370,1]]},"1501":{"position":[[67,2],[70,1],[80,2],[83,1],[92,2],[95,1]]},"1507":{"position":[[696,19]]},"1511":{"position":[[445,1],[456,1],[488,1],[497,1],[518,2],[632,1],[673,2],[838,1],[877,2],[991,2],[1046,1]]},"1513":{"position":[[338,1],[349,1],[351,2],[427,2],[516,2],[537,1],[570,1],[577,1],[595,1],[643,1],[669,1]]},"1515":{"position":[[617,1],[652,1],[945,1],[980,1]]},"1525":{"position":[[344,1],[380,1],[417,1],[448,2],[504,1],[517,2],[573,1],[586,2],[644,1],[657,2],[696,1],[709,2],[771,1],[822,1],[826,1],[831,1],[846,1],[850,1],[855,1],[1045,1],[1080,2],[1107,1],[1196,1],[1223,1],[1312,1],[1323,2],[1347,1],[1410,1],[1418,1],[1492,2],[1547,1],[1589,1],[1717,2],[1737,1],[1795,1],[1829,1],[1921,1],[2032,1],[2160,2],[2180,1],[2238,1],[2272,1],[2364,1],[2524,1],[2565,1],[2697,2],[2716,1],[2772,1],[2805,1],[2895,1],[3108,1],[3260,1],[3368,1],[3470,1],[3514,1],[3568,1]]},"1533":{"position":[[238,1]]},"1540":{"position":[[194,1],[198,2],[209,1],[224,1],[248,1],[292,2],[314,1],[321,1]]},"1544":{"position":[[175,1],[199,4]]},"1552":{"position":[[2177,1],[2330,1],[2590,1]]},"1556":{"position":[[631,1],[1146,1],[1398,1],[1594,1]]},"1565":{"position":[[284,1],[1009,1],[1013,2],[1024,1],[1039,1],[1063,1],[1107,2],[1129,1],[1136,1],[1482,1],[2270,1],[2295,1],[2774,1],[3214,1],[3328,1],[3343,1],[3573,1],[3793,1]]},"1567":{"position":[[166,1],[199,4]]},"1569":{"position":[[645,1]]},"1573":{"position":[[2154,1]]},"1580":{"position":[[478,3],[563,4],[1039,4],[1291,1],[1297,1],[1301,1],[1355,1]]},"1584":{"position":[[1392,1],[1595,1]]},"1586":{"position":[[163,1],[258,1],[532,1]]},"1590":{"position":[[640,1],[1171,1],[1423,1],[1619,1]]},"1618":{"position":[[1388,1]]},"1620":{"position":[[748,1]]},"1622":{"position":[[207,1],[4312,1],[4314,1],[4318,3],[4322,1],[4324,1],[4330,1],[4332,1],[4334,1],[4336,1],[4961,2],[4967,1],[5006,3],[5013,1],[5801,1],[5844,1]]},"1624":{"position":[[1173,2],[5459,1],[5464,2]]},"1658":{"position":[[15,1],[39,1]]},"1660":{"position":[[15,1],[45,1]]},"1672":{"position":[[164,2],[196,2]]},"1674":{"position":[[378,1],[380,4],[385,1],[403,2]]},"1694":{"position":[[20,1],[174,1]]},"1708":{"position":[[13,1],[93,1]]},"1740":{"position":[[16,2]]},"1781":{"position":[[151,2],[157,1]]},"1791":{"position":[[16,2]]},"1795":{"position":[[16,2]]},"1867":{"position":[[196,1]]},"2039":{"position":[[376,1],[460,2]]},"2087":{"position":[[13,1],[59,1]]},"2103":{"position":[[16,2]]},"2248":{"position":[[15,1],[52,1]]},"2250":{"position":[[14,1],[38,1]]},"2252":{"position":[[17,1],[99,1]]},"2256":{"position":[[18,1],[123,1]]},"2258":{"position":[[18,1],[93,1]]},"2260":{"position":[[17,1],[64,1]]},"2262":{"position":[[20,1],[106,1]]},"2266":{"position":[[16,2]]},"2268":{"position":[[16,2]]},"2270":{"position":[[16,2]]},"2272":{"position":[[16,2]]},"2274":{"position":[[16,2]]},"2276":{"position":[[16,2]]},"2338":{"position":[[0,1]]},"2347":{"position":[[0,1]]},"2349":{"position":[[0,1]]},"2351":{"position":[[0,1]]},"2353":{"position":[[0,1]]},"2355":{"position":[[0,1]]},"2357":{"position":[[0,1]]},"2359":{"position":[[0,1]]},"2361":{"position":[[0,1]]},"2363":{"position":[[0,1]]},"2365":{"position":[[0,1]]},"2367":{"position":[[0,1]]},"2369":{"position":[[0,1]]},"2371":{"position":[[0,1]]},"2373":{"position":[[0,1]]},"2375":{"position":[[0,1]]},"2377":{"position":[[0,1]]},"2379":{"position":[[0,1]]},"2381":{"position":[[0,1]]},"2396":{"position":[[0,1],[39,1],[48,1],[59,1],[72,1],[83,1]]},"2399":{"position":[[0,1]]},"2402":{"position":[[0,1]]},"2404":{"position":[[0,1]]},"2406":{"position":[[0,1]]},"2408":{"position":[[0,1]]},"2410":{"position":[[0,1]]},"2412":{"position":[[0,1]]},"2414":{"position":[[0,1]]},"2416":{"position":[[0,1]]},"2431":{"position":[[0,1]]},"2433":{"position":[[0,1]]},"2435":{"position":[[0,1]]},"2437":{"position":[[0,1]]},"2439":{"position":[[0,1]]},"2441":{"position":[[0,1]]},"2443":{"position":[[0,1]]},"2445":{"position":[[0,1]]},"2448":{"position":[[0,1]]},"2450":{"position":[[0,1],[33,1]]},"2453":{"position":[[0,1]]},"2455":{"position":[[0,1]]},"2457":{"position":[[0,1]]},"2459":{"position":[[0,1]]},"2461":{"position":[[0,1]]},"2463":{"position":[[0,1]]},"2465":{"position":[[0,1]]},"2467":{"position":[[0,1]]},"2469":{"position":[[0,1]]},"2471":{"position":[[0,1]]},"2473":{"position":[[0,1]]},"2475":{"position":[[0,1]]},"2477":{"position":[[0,1]]},"2479":{"position":[[0,1]]},"2481":{"position":[[0,1]]},"2483":{"position":[[0,1]]},"2485":{"position":[[0,1]]},"2487":{"position":[[0,1]]},"2489":{"position":[[0,1]]},"2491":{"position":[[0,1]]},"2493":{"position":[[0,1]]},"2495":{"position":[[0,1]]},"2497":{"position":[[0,1]]},"2499":{"position":[[0,1]]},"2501":{"position":[[0,1]]},"2503":{"position":[[0,1]]},"2505":{"position":[[0,1]]},"2507":{"position":[[0,1]]},"2509":{"position":[[0,1]]},"2522":{"position":[[0,1]]},"2524":{"position":[[0,1]]},"2527":{"position":[[0,1]]},"2529":{"position":[[0,1]]},"2531":{"position":[[0,1]]},"2533":{"position":[[0,1]]}}}],["0",{"_index":1349,"t":{"763":{"position":[[329,2],[332,2],[335,2],[338,2],[341,2],[344,2],[347,2],[350,2],[353,2],[356,2],[359,2],[362,2],[365,2],[368,2],[371,2],[374,2],[377,2],[380,2],[383,2],[386,2],[389,2],[392,2],[395,2],[398,3],[436,2],[439,2],[442,2],[445,2],[448,2],[451,2],[454,2],[457,2],[460,2],[463,2],[466,2],[469,2],[472,2],[475,2],[478,2],[481,2],[484,2],[487,2],[490,2],[493,2],[496,2],[499,2],[502,2],[505,3],[757,1],[837,2],[844,1],[1332,4],[1339,4],[1365,2],[1411,4],[1437,2],[1483,4],[1509,2],[1555,4],[1581,2],[1643,2],[1646,2],[1649,2],[1652,2],[1655,2],[1658,2],[1661,2],[1664,2],[1667,2],[1670,2],[1673,2],[1676,2],[1679,2],[1682,2],[1685,2],[1688,2],[1691,2],[1694,2],[1697,2],[1700,2],[1703,2],[1706,2],[1709,2],[1712,3],[1749,2],[1752,2],[1755,2],[1758,2],[1761,2],[1764,2],[1767,2],[1770,2],[1773,2],[1776,2],[1779,2],[1782,2],[1785,2],[1788,2],[1791,2],[1794,2],[1797,2],[1800,2],[1803,2],[1806,2],[1809,2],[1812,2],[1815,2],[1818,3],[1917,2],[1920,2],[1923,2],[1926,2],[1929,2],[1932,2],[1935,2],[1938,2],[1941,2],[1944,2],[1947,2],[1950,2],[1953,2],[1956,2],[1959,2],[1962,2],[1965,2],[1968,2],[1971,2],[1974,2],[1977,2],[1980,2],[1983,2],[1986,2],[2481,1],[3358,4],[3365,4],[3391,2],[3422,4],[3448,2],[3479,4],[3536,4],[3593,4],[3619,2],[3650,4],[3707,4],[3764,4],[3821,4],[3879,4],[3953,2],[3956,2],[3969,2],[3981,2],[3984,2],[3987,2],[3990,2],[3993,2],[3996,2],[3999,2],[4002,3],[4041,2],[4044,2],[4059,2],[4072,2],[4075,2],[4078,2],[4081,2],[4084,2],[4087,2],[4090,2],[4093,2],[4096,2],[4099,2],[4102,2],[4105,2],[4108,2],[4111,3],[4196,2],[4199,2],[4218,2],[4230,2],[4233,2],[4236,2],[4239,2],[4242,2],[4245,2],[4248,2],[4251,2],[4262,2],[4265,2],[4278,2],[4290,2],[4293,2],[4296,2],[4299,2],[4302,2],[4305,2],[4308,2],[4311,2],[4538,2],[4541,2],[4559,2],[4572,2],[4575,2],[4578,2],[4581,2],[4584,2],[4587,2],[4590,2],[4593,2],[4596,2],[4608,2],[4611,2],[4623,2],[4636,2],[4639,2],[4642,2],[4645,2],[4648,2],[4651,2],[4654,2],[4657,2],[4660,2],[4663,2],[4666,2],[4669,2],[4672,2],[4675,2],[4678,2]]},"775":{"position":[[378,1],[641,1]]},"821":{"position":[[23,1]]},"885":{"position":[[32,1]]},"895":{"position":[[31,1]]},"897":{"position":[[22,1]]},"942":{"position":[[299,1]]},"1061":{"position":[[16,1]]},"1083":{"position":[[32,1]]},"1085":{"position":[[30,1]]},"1095":{"position":[[16,1]]},"1308":{"position":[[312,2]]},"1340":{"position":[[932,2]]},"1350":{"position":[[272,2]]},"1376":{"position":[[1141,1],[3393,1],[3595,2]]},"1378":{"position":[[36,1],[1887,1],[1901,1],[1915,1],[2338,2]]},"1380":{"position":[[356,1]]},"1407":{"position":[[239,1]]},"1411":{"position":[[254,1],[269,1]]},"1413":{"position":[[97,1]]},"1415":{"position":[[98,1]]},"1417":{"position":[[169,1],[344,1]]},"1419":{"position":[[242,1],[655,1],[994,1]]},"1421":{"position":[[293,1],[822,1]]},"1423":{"position":[[99,1]]},"1425":{"position":[[93,1]]},"1428":{"position":[[282,1]]},"1438":{"position":[[218,1]]},"1442":{"position":[[280,1],[328,1]]},"1444":{"position":[[328,1]]},"1448":{"position":[[89,1]]},"1450":{"position":[[90,1]]},"1452":{"position":[[171,1]]},"1454":{"position":[[91,1]]},"1456":{"position":[[85,1]]},"1460":{"position":[[754,2],[6019,2]]},"1513":{"position":[[572,2]]},"1525":{"position":[[475,1],[820,1]]},"1546":{"position":[[487,1]]},"1554":{"position":[[380,1]]},"1556":{"position":[[1624,2],[1792,2],[2070,2]]},"1569":{"position":[[519,1]]},"1584":{"position":[[1193,1]]},"1588":{"position":[[380,1]]},"1590":{"position":[[1658,2],[1826,2],[2112,2]]},"1603":{"position":[[290,1],[547,1]]},"1622":{"position":[[3031,1],[3233,2],[6911,1],[6980,1],[7037,1],[7091,1],[7241,1]]},"1624":{"position":[[439,3],[443,2],[446,2],[449,2],[452,2],[455,3],[459,2],[462,2],[465,2],[468,2],[3028,1],[3042,1],[3056,1],[3479,2]]},"1756":{"position":[[293,3]]},"1764":{"position":[[162,3]]},"1767":{"position":[[125,3]]},"1769":{"position":[[139,3]]},"1773":{"position":[[207,3]]},"1775":{"position":[[117,3]]},"1777":{"position":[[130,3]]},"1829":{"position":[[125,3]]},"2039":{"position":[[82,2]]},"2145":{"position":[[303,2],[319,2],[322,2],[325,2],[328,4]]},"2159":{"position":[[433,2]]}}}],["0...(d+1)0...(d+1)0...(d+1",{"_index":3459,"t":{"1573":{"position":[[2000,28]]}}}],["0.01",{"_index":1078,"t":{"698":{"position":[[1219,4]]}}}],["0.x",{"_index":1296,"t":{"730":{"position":[[13,3],[288,4]]}}}],["0021858f",{"_index":1734,"t":{"796":{"position":[[7940,8]]}}}],["03a49e35",{"_index":1610,"t":{"796":{"position":[[6555,8]]}}}],["04bf7d6d",{"_index":1628,"t":{"796":{"position":[[6747,8]]}}}],["06ed3b9f",{"_index":1697,"t":{"796":{"position":[[7504,8]]}}}],["07ca0d33",{"_index":1643,"t":{"796":{"position":[[6919,8]]}}}],["0806097a",{"_index":1706,"t":{"796":{"position":[[7621,8]]}}}],["095159c8",{"_index":1740,"t":{"796":{"position":[[7994,8]]}}}],["0])slb​=poseidon4​([ab0​,ab1​,0,0",{"_index":3317,"t":{"1556":{"position":[[1627,35]]},"1590":{"position":[[1661,35]]}}}],["0d9229e6",{"_index":1650,"t":{"796":{"position":[[6982,8]]}}}],["0ddefacc",{"_index":1656,"t":{"796":{"position":[[7066,8]]}}}],["0e78dde8c813b95f4585b0613927e9c4269de500",{"_index":3347,"t":{"1560":{"position":[[195,40]]}}}],["0slv​+(bltvcmiv​​​​)2−(cmw​)2≥0",{"_index":3679,"t":{"1622":{"position":[[5889,31]]}}}],["0th",{"_index":2628,"t":{"1378":{"position":[[2138,3]]},"1565":{"position":[[1667,3]]},"1622":{"position":[[7156,3],[7174,3]]},"1624":{"position":[[3279,3]]}}}],["0x",{"_index":3507,"t":{"1578":{"position":[[1192,2]]}}}],["0x06c1939f6cbb68d42333f140cae815cc36d341b0",{"_index":2853,"t":{"1438":{"position":[[377,42]]}}}],["0x1f18ec08fd14db90a0d1d02d1ed27c0bfd3bc138701e812c4c3382572fc4d151",{"_index":2822,"t":{"1415":{"position":[[456,66]]}}}],["0x25f60a9b5a24d11b87c41d8a4f681e3fd895b3bdf78ea86755b9800005662ce6",{"_index":2862,"t":{"1448":{"position":[[387,66]]}}}],["0x2c3adf2852788662148038511ad80962aaf631d7",{"_index":2851,"t":{"1438":{"position":[[239,42]]}}}],["0x3e82ae3ad04215d4f357455ab5a610eba082796d2abc698aad91b046d16b9350",{"_index":2869,"t":{"1454":{"position":[[418,66]]}}}],["0x3f21bc64076e7c9ed8695d053dccbe6d8d5e6f43",{"_index":2803,"t":{"1407":{"position":[[398,42]]}}}],["0x472f0fd515c7cd2a02c430189e4ee92a6843bd6b19807484ce454cb7dab0e931",{"_index":2865,"t":{"1450":{"position":[[440,66]]}}}],["0x4c7c9f65187fcf6e243804b75555bda48cbae4c317bb312f1b9f95ac4b7697b1",{"_index":2805,"t":{"1409":{"position":[[202,66]]}}}],["0x60936cfb0b25c8618d3cb8d0f5497106d5f6e3776f3212932975442d874eddbd",{"_index":2856,"t":{"1442":{"position":[[360,66]]}}}],["0x691687ab6fb504919859901f297cdb7d8c4d736756d2d4edf345d721bb82365b",{"_index":2840,"t":{"1423":{"position":[[425,66]]}}}],["0x6b5a4751307f6751e265c194244552a9995b6b3d",{"_index":2789,"t":{"1401":{"position":[[327,42]]}}}],["0x6b5b2959ba5161497d5499a0f9d9c69f773cd5f9b82f80a79253797b066863e3",{"_index":2798,"t":{"1403":{"position":[[591,66]]}}}],["0x73f74b13d276cd311ce5421a145debc71e97e48abc8be2f9a0a548b26f7920f9",{"_index":2859,"t":{"1444":{"position":[[360,66]]}}}],["0x7607cfe2fa0d62f725537e55d83c693cc3c76ef2",{"_index":2848,"t":{"1432":{"position":[[119,42]]}}}],["0x7ab4c2d23686049432d19bb64c8ee4e8776fff134d971dcf27e1f513b4fdb97f",{"_index":2855,"t":{"1440":{"position":[[185,66]]}}}],["0x89962fa216d39fccaac11e1e462340d80ab6cf4d",{"_index":2829,"t":{"1419":{"position":[[117,42]]}}}],["0x9c3280af80de2436f9a886e4cd94218e01fe35ea3d3e671aad97b5aa5d6108",{"_index":2868,"t":{"1454":{"position":[[192,66]]}}}],["0xa2ab91c821bf7fa73fedcf19a5371a0f0866ae0747d22f82f1685afca0e5db49",{"_index":2807,"t":{"1411":{"position":[[309,66]]}}}],["0xa8acf67d6520ceaf5eef8acbf4cda7f5c2657122e2a72a092b9f4503282d70b9",{"_index":2839,"t":{"1423":{"position":[[199,66]]}}}],["0xac0e8a01277db1b6282f8fb3763a8a4aeeebb3e12a41dd0dee9fc2804a4c9e81",{"_index":2864,"t":{"1450":{"position":[[213,66]]}}}],["0xb08ced0f34940a3e576cf023b287f9db2f306a1f",{"_index":2799,"t":{"1405":{"position":[[132,42]]}}}],["0xb5e98d328b066d91e1b7aa35775fe624be446b540a00bcb4b27a02477636b569",{"_index":2814,"t":{"1413":{"position":[[403,66]]}}}],["0xb6389da0285c7b1fc0ba352f5a1d5fb1a492a786",{"_index":2801,"t":{"1407":{"position":[[260,42]]}}}],["0xb848ef765e289762e9be66a38006ddc4d23aef24",{"_index":2804,"t":{"1407":{"position":[[463,42]]}}}],["0xbd5d06935537fb59903c27b9bdb19a41d422f75e1dfd6eb61f028bf3a7b82c76",{"_index":2849,"t":{"1434":{"position":[[396,66]]}}}],["0xc131d3eed9d6d410a7bfc200d81b9795f1bb5ed6",{"_index":2850,"t":{"1436":{"position":[[109,42]]}}}],["0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3",{"_index":2698,"t":{"1395":{"position":[[306,67]]}}}],["0xcb74254716c96b07c812c73a5945e68aa1de4569",{"_index":2854,"t":{"1438":{"position":[[442,42]]}}}],["0xd01932e8dfad251f9b0d288290ac17f12bc449ea859a6921f63edf6b4b06f4c9",{"_index":2861,"t":{"1448":{"position":[[154,66]]}}}],["0xd3c3c6530fe4073292d6eafdeadeeabf1a3dc19b",{"_index":2852,"t":{"1438":{"position":[[314,42]]}}}],["0xd7e7312f70831ec05bb23f23f506ef37d6ce0c2056c1b72f7bb989653d1c8a42",{"_index":2811,"t":{"1413":{"position":[[170,66]]}}}],["0xdf9d11c6b35fcccff82dafa3aa15f760e3f7694a72b07007fbdb359d44df0bea",{"_index":2819,"t":{"1415":{"position":[[229,66]]}}}],["0xe0bf6021e023a197dbb3fabe64efa880e13d3f4b",{"_index":2802,"t":{"1407":{"position":[[335,42]]}}}],["0xf204a4ef082f5c04bb89f7d5e6568b796096735a",{"_index":1424,"t":{"775":{"position":[[249,42]]}}}],["1",{"_index":759,"t":{"676":{"position":[[2097,1],[2218,2],[2454,2],[2867,1],[2908,2]]},"763":{"position":[[288,2],[745,2],[1318,2],[1382,2],[1404,4],[1454,2],[1526,2],[1598,2],[2469,2],[3344,2],[3415,4],[3636,1],[3693,1],[3978,2],[4069,2],[4192,3],[4227,2],[4287,2],[4378,1],[4387,1],[4392,1],[4451,1],[4455,1],[4534,3],[4569,2],[4633,2]]},"765":{"position":[[1170,2]]},"771":{"position":[[546,1]]},"775":{"position":[[83,1],[114,1],[450,1],[489,1],[535,1],[581,1],[1029,1]]},"788":{"position":[[168,1],[198,1],[235,1],[269,1],[304,1],[338,1],[372,1],[403,1],[431,1],[466,1],[498,1],[531,1],[563,1],[595,1],[621,1],[644,1],[674,1],[701,1],[729,1],[756,1],[783,1]]},"794":{"position":[[220,1]]},"796":{"position":[[801,1],[852,1],[891,1],[934,1],[1204,1],[1412,1],[6310,1],[6374,1],[7186,1],[7361,1],[7541,1]]},"798":{"position":[[1597,1],[1843,1]]},"1326":{"position":[[2893,2],[7607,2]]},"1340":{"position":[[1034,3]]},"1346":{"position":[[771,1]]},"1348":{"position":[[48,2],[167,2]]},"1350":{"position":[[93,2],[439,2]]},"1376":{"position":[[1192,1],[4861,2]]},"1378":{"position":[[87,1]]},"1380":{"position":[[407,1]]},"1403":{"position":[[411,1],[426,1],[462,1],[505,1]]},"1407":{"position":[[193,1],[203,1]]},"1409":{"position":[[286,1]]},"1411":{"position":[[249,1],[264,1]]},"1413":{"position":[[142,1],[146,1]]},"1415":{"position":[[145,1],[149,1]]},"1419":{"position":[[338,1],[375,1],[419,1],[463,1],[720,1],[764,1],[808,1],[834,1],[883,1],[916,1],[1057,1],[1061,1],[1168,1],[1172,1]]},"1421":{"position":[[388,1],[440,1],[494,1],[547,1],[870,1],[923,1],[1043,1],[1069,1],[1118,1],[1151,1],[1252,1],[1256,1],[1363,1],[1367,1]]},"1423":{"position":[[280,1],[284,1],[397,1],[401,1]]},"1434":{"position":[[132,1],[204,1],[261,1],[320,1]]},"1438":{"position":[[180,1],[190,1]]},"1440":{"position":[[269,1]]},"1442":{"position":[[256,1],[314,1]]},"1444":{"position":[[256,1],[280,1]]},"1448":{"position":[[126,1],[130,1]]},"1450":{"position":[[129,1],[133,1]]},"1452":{"position":[[219,1],[272,1],[361,1],[387,1],[436,1],[469,1],[562,1],[566,1],[673,1],[677,1]]},"1454":{"position":[[273,1],[277,1],[390,1],[394,1]]},"1460":{"position":[[4481,2]]},"1462":{"position":[[425,2],[2415,3]]},"1507":{"position":[[716,1]]},"1523":{"position":[[1059,1]]},"1525":{"position":[[128,2],[223,2],[544,1],[844,1],[3839,2]]},"1544":{"position":[[136,1]]},"1554":{"position":[[441,1]]},"1556":{"position":[[546,1]]},"1565":{"position":[[1772,2]]},"1573":{"position":[[2599,1]]},"1580":{"position":[[1299,1]]},"1588":{"position":[[441,1]]},"1590":{"position":[[555,1]]},"1603":{"position":[[282,2]]},"1622":{"position":[[4508,2],[8494,1],[8638,1]]},"1624":{"position":[[407,3],[423,3],[471,3],[475,2],[478,2],[481,2],[484,2]]},"1674":{"position":[[406,1]]},"2021":{"position":[[375,1]]}}}],["1,953,125",{"_index":1537,"t":{"796":{"position":[[379,9]]}}}],["1.0",{"_index":622,"t":{"671":{"position":[[95,3]]},"692":{"position":[[68,3],[445,3]]},"696":{"position":[[796,3]]},"700":{"position":[[664,4]]},"710":{"position":[[376,4]]},"734":{"position":[[56,3]]},"1558":{"position":[[41,3],[391,4]]}}}],["1.1",{"_index":1564,"t":{"796":{"position":[[3067,4]]},"1565":{"position":[[100,4]]},"1603":{"position":[[892,6]]}}}],["1.10",{"_index":3441,"t":{"1571":{"position":[[0,5]]},"1573":{"position":[[178,5]]},"1586":{"position":[[90,6]]},"1605":{"position":[[411,6],[829,6]]},"1622":{"position":[[5581,6]]}}}],["1.10.1",{"_index":3458,"t":{"1573":{"position":[[1920,7]]},"1605":{"position":[[1022,9]]}}}],["1.10.2",{"_index":3476,"t":{"1573":{"position":[[3062,7],[3335,9],[3712,8]]},"1605":{"position":[[1288,8]]}}}],["1.10.3",{"_index":3479,"t":{"1573":{"position":[[3660,7],[3725,8]]}}}],["1.11",{"_index":3480,"t":{"1573":{"position":[[3796,5]]}}}],["1.2",{"_index":3363,"t":{"1565":{"position":[[705,4]]}}}],["1.2.3",{"_index":4250,"t":{"2541":{"position":[[77,7],[151,7],[574,5],[642,6]]}}}],["1.3",{"_index":3365,"t":{"1565":{"position":[[1140,4],[2147,5],[2823,5]]},"1571":{"position":[[951,5]]}}}],["1.4",{"_index":3334,"t":{"1556":{"position":[[2525,6]]},"1565":{"position":[[1937,4],[2590,5],[2845,5]]},"1590":{"position":[[2572,6]]}}}],["1.5",{"_index":3389,"t":{"1565":{"position":[[2316,4]]},"1584":{"position":[[1631,5]]}}}],["1.6",{"_index":3411,"t":{"1565":{"position":[[3388,4]]},"1584":{"position":[[1729,5]]},"1622":{"position":[[5743,5]]}}}],["1.7",{"_index":3420,"t":{"1567":{"position":[[0,4]]}}}],["1.8",{"_index":1568,"t":{"796":{"position":[[3198,4]]},"1567":{"position":[[633,4]]}}}],["1.9",{"_index":3436,"t":{"1569":{"position":[[0,4]]},"1578":{"position":[[141,6]]},"1622":{"position":[[5513,5]]}}}],["1.amazonaws.com/circuits/processmessages_6",{"_index":1771,"t":{"798":{"position":[[1234,42],[1740,42],[2201,42],[2679,42],[3225,42]]}}}],["1.amazonaws.com/circuits/tallyvotes_6",{"_index":1774,"t":{"798":{"position":[[1483,37],[1984,37],[2426,37],[2939,37],[3516,37]]}}}],["1.x",{"_index":1298,"t":{"730":{"position":[[44,3],[237,4]]}}}],["10",{"_index":1364,"t":{"763":{"position":[[3046,2],[3212,3],[3259,2],[3276,2],[3321,3],[3864,2],[4207,4],[4414,2]]},"765":{"position":[[1163,3]]},"794":{"position":[[214,3]]},"796":{"position":[[1089,2],[1360,2]]},"1150":{"position":[[241,2]]},"1251":{"position":[[31,2]]},"1403":{"position":[[405,2]]},"1405":{"position":[[91,2]]},"1434":{"position":[[104,2]]},"1436":{"position":[[76,2]]},"1460":{"position":[[3767,2],[4476,2]]},"1603":{"position":[[186,3]]},"1622":{"position":[[386,2]]},"1624":{"position":[[1112,2]]},"1781":{"position":[[154,2]]}}}],["100",{"_index":1374,"t":{"763":{"position":[[4469,3],[4549,5]]},"1618":{"position":[[1215,3]]},"2051":{"position":[[198,3]]}}}],["1000",{"_index":2810,"t":{"1411":{"position":[[614,4],[654,4]]},"1438":{"position":[[159,4]]},"1446":{"position":[[80,4],[112,4]]},"1525":{"position":[[1198,8],[1314,8],[1412,5]]}}}],["1004720",{"_index":2816,"t":{"1413":{"position":[[509,7]]},"1448":{"position":[[493,7]]}}}],["100k",{"_index":2316,"t":{"1326":{"position":[[2674,4]]}}}],["104",{"_index":1369,"t":{"763":{"position":[[4047,4],[4614,4]]}}}],["10457101036533406547632367118273992217979173478358440826365724437999023779287abx​​=10457101036533406547632367118273992217979173478358440826365724437999023779287",{"_index":3311,"t":{"1556":{"position":[[1148,160]]},"1590":{"position":[[1173,160]]}}}],["107",{"_index":1368,"t":{"763":{"position":[[4035,5],[4602,5]]}}}],["10k",{"_index":2311,"t":{"1326":{"position":[[2515,3]]}}}],["11",{"_index":3700,"t":{"1624":{"position":[[550,3]]}}}],["117636",{"_index":1360,"t":{"763":{"position":[[1908,8]]}}}],["11e5292",{"_index":1604,"t":{"796":{"position":[[6501,8]]}}}],["12",{"_index":1367,"t":{"763":{"position":[[3959,3],[4268,3]]},"1326":{"position":[[5764,2]]},"1632":{"position":[[105,2]]}}}],["125",{"_index":1538,"t":{"796":{"position":[[453,3],[660,3],[1953,3],[2163,3],[2702,3],[2774,3],[2909,3],[2987,3],[3445,3],[3517,3],[3652,3],[3730,3]]}}}],["12a057f3",{"_index":1681,"t":{"796":{"position":[[7329,8]]}}}],["13",{"_index":2663,"t":{"1382":{"position":[[1117,2]]},"2477":{"position":[[104,2]]}}}],["14",{"_index":3018,"t":{"1495":{"position":[[99,3],[176,2]]}}}],["140000000000000000000000000000000000019",{"_index":2612,"t":{"1376":{"position":[[3661,39]]},"1622":{"position":[[3299,39]]}}}],["147946756881789319005730692170996259609",{"_index":3680,"t":{"1622":{"position":[[5959,39]]}}}],["15",{"_index":783,"t":{"678":{"position":[[189,2]]},"763":{"position":[[303,3],[324,4],[431,4],[543,2],[572,2],[823,2],[3948,4],[4257,4]]},"1326":{"position":[[4022,4]]}}}],["15,625",{"_index":1556,"t":{"796":{"position":[[1882,6],[3329,6],[3604,6]]}}}],["1510​−1",{"_index":3693,"t":{"1622":{"position":[[7434,8]]}}}],["15∗∗10−1",{"_index":2912,"t":{"1460":{"position":[[3772,8]]}}}],["16",{"_index":3019,"t":{"1495":{"position":[[103,3],[202,2]]}}}],["16.644",{"_index":2866,"t":{"1452":{"position":[[602,6]]}}}],["16192fb2",{"_index":1638,"t":{"796":{"position":[[6874,8]]}}}],["16986d6a",{"_index":1694,"t":{"796":{"position":[[7477,8]]}}}],["16dfc388",{"_index":1699,"t":{"796":{"position":[[7558,8]]}}}],["17.053",{"_index":2837,"t":{"1421":{"position":[[1292,6]]}}}],["17.322",{"_index":2835,"t":{"1419":{"position":[[1097,6]]}}}],["170",{"_index":3865,"t":{"1965":{"position":[[118,4]]}}}],["1709e2c4",{"_index":1652,"t":{"796":{"position":[[7030,8]]}}}],["173346",{"_index":2821,"t":{"1415":{"position":[[427,6]]},"1450":{"position":[[411,6]]}}}],["18",{"_index":3020,"t":{"1495":{"position":[[107,2],[154,2]]}}}],["187e0091",{"_index":1730,"t":{"796":{"position":[[7874,8]]}}}],["19",{"_index":3701,"t":{"1624":{"position":[[598,3]]}}}],["190",{"_index":1545,"t":{"796":{"position":[[868,4]]}}}],["197",{"_index":3484,"t":{"1573":{"position":[[3912,4]]}}}],["1970",{"_index":3301,"t":{"1556":{"position":[[548,4]]},"1590":{"position":[[557,4]]}}}],["19824078218392094440610104313265183977899662750282163392862422243483260492317aby​​=19824078218392094440610104313265183977899662750282163392862422243483260492317",{"_index":3313,"t":{"1556":{"position":[[1400,160]]},"1590":{"position":[[1425,160]]}}}],["1<(command",{"_index":516,"t":{"568":{"position":[[10,12],[57,13]]}}}],["t[])poseidonencrypt(ks​[0],ks​[1],n,l,t",{"_index":3218,"t":{"1546":{"position":[[216,42]]},"1569":{"position":[[369,42]]}}}],["t[]t[]t",{"_index":3224,"t":{"1546":{"position":[[524,9]]},"1569":{"position":[[556,9]]}}}],["t_s])poseidon2​([tc​,t",{"_index":2644,"t":{"1378":{"position":[[3447,26]]},"1624":{"position":[[4671,26]]}}}],["tag",{"_index":2562,"t":{"1361":{"position":[[7,3]]},"2539":{"position":[[341,3],[397,4]]},"2541":{"position":[[539,3],[757,4],[766,3],[809,4],[839,3]]}}}],["take",{"_index":581,"t":{"667":{"position":[[344,5]]},"669":{"position":[[330,5]]},"678":{"position":[[140,4]]},"680":{"position":[[424,4]]},"718":{"position":[[888,6]]},"1340":{"position":[[434,4]]},"1363":{"position":[[69,5]]},"1376":{"position":[[551,5]]},"1389":{"position":[[111,5],[558,5]]},"1523":{"position":[[287,4]]},"1525":{"position":[[232,4]]},"1552":{"position":[[1035,5]]},"1565":{"position":[[1520,4]]},"1584":{"position":[[47,5]]},"1605":{"position":[[1829,4]]},"1622":{"position":[[7458,4]]}}}],["taken",{"_index":661,"t":{"671":{"position":[[749,6]]},"1460":{"position":[[1364,5]]}}}],["talk",{"_index":2374,"t":{"1326":{"position":[[5178,6]]}}}],["talli",{"_index":259,"t":{"215":{"position":[[30,5]]},"224":{"position":[[2,6]]},"236":{"position":[[41,5]]},"238":{"position":[[35,5]]},"246":{"position":[[37,5]]},"248":{"position":[[229,5],[248,5]]},"252":{"position":[[169,5],[188,5]]},"671":{"position":[[1517,5]]},"674":{"position":[[181,7],[296,5]]},"676":{"position":[[1337,6],[3283,6],[3575,7]]},"678":{"position":[[822,5],[910,5],[1157,5],[1217,5]]},"680":{"position":[[114,5],[873,8],[962,5]]},"688":{"position":[[64,7],[260,5],[354,5],[732,7],[806,5]]},"694":{"position":[[1093,5]]},"700":{"position":[[231,5]]},"708":{"position":[[112,7]]},"716":{"position":[[337,5],[1137,5]]},"718":{"position":[[925,7]]},"761":{"position":[[403,8],[689,5]]},"763":{"position":[[94,5],[807,5],[978,5],[2527,5],[3138,5],[3289,5]]},"765":{"position":[[1012,9]]},"767":{"position":[[634,9]]},"771":{"position":[[743,8],[801,5]]},"796":{"position":[[548,9],[1305,9],[2048,9],[2797,9],[3540,9]]},"1160":{"position":[[48,7],[82,5]]},"1366":{"position":[[322,7]]},"1372":{"position":[[122,7]]},"1378":{"position":[[702,7],[839,5],[1424,5],[2714,7],[2922,8],[2980,5],[3006,5],[3730,5],[4331,5]]},"1382":{"position":[[285,5],[376,5]]},"1397":{"position":[[1188,5],[1231,5],[3049,5],[3092,5],[5525,5],[5553,5],[5675,5],[5711,5],[6053,5],[6081,5],[6312,5],[6364,5],[6563,5],[6603,5],[7016,5],[7056,5],[7478,5],[7514,5]]},"1407":{"position":[[382,5]]},"1419":{"position":[[1142,11],[1182,5],[1218,5]]},"1421":{"position":[[401,5],[514,5],[567,5],[890,5],[943,5],[1337,11],[1377,5],[1413,5]]},"1423":{"position":[[371,11],[505,8]]},"1425":{"position":[[140,5],[239,5],[282,5],[310,6]]},"1428":{"position":[[213,5]]},"1434":{"position":[[281,5]]},"1438":{"position":[[361,5]]},"1452":{"position":[[239,5],[292,5],[647,11],[687,5],[723,5]]},"1454":{"position":[[364,11],[498,8]]},"1456":{"position":[[91,5],[134,5],[234,5]]},"1460":{"position":[[6162,5]]},"1486":{"position":[[50,8],[279,5]]},"1490":{"position":[[37,8]]},"1492":{"position":[[58,5]]},"1515":{"position":[[1016,5]]},"1529":{"position":[[152,8]]},"1533":{"position":[[229,8]]},"1562":{"position":[[858,5]]},"1601":{"position":[[138,8]]},"1605":{"position":[[2477,7],[2505,8],[2536,5],[2721,5],[2767,8],[3058,5],[3088,5],[3157,5],[3307,8],[3346,6]]},"1607":{"position":[[251,5],[1660,8]]},"1612":{"position":[[284,5]]},"1616":{"position":[[207,8],[677,8],[1012,8],[1796,8],[1858,8],[2028,8]]},"1618":{"position":[[1249,8],[1424,5],[1450,5],[1652,5],[1682,5],[1920,8]]},"1624":{"position":[[121,5],[497,5],[672,8],[766,6],[802,6],[838,5],[992,5],[1825,7],[1962,5],[3891,7],[4099,8],[4157,5],[4183,5],[4963,5],[5597,5]]},"1843":{"position":[[200,5]]},"2025":{"position":[[4,5],[40,8],[76,5]]},"2039":{"position":[[46,5],[99,5]]},"2049":{"position":[[102,5]]},"2053":{"position":[[214,5]]},"2057":{"position":[[150,5],[377,5],[453,8]]},"2059":{"position":[[213,5],[602,5],[640,5]]},"2067":{"position":[[433,5],[483,5],[546,5]]},"2238":{"position":[[98,5]]},"2242":{"position":[[100,5]]},"2300":{"position":[[82,5]]},"2306":{"position":[[171,5]]},"2310":{"position":[[276,5],[745,5]]},"2320":{"position":[[149,5]]},"2322":{"position":[[104,5]]},"2324":{"position":[[168,5]]},"2349":{"position":[[807,5]]},"2363":{"position":[[381,5],[570,5],[625,5],[1060,5],[1476,5],[1980,5]]},"2369":{"position":[[528,5]]},"2373":{"position":[[787,5]]},"2381":{"position":[[323,5],[480,5]]},"2406":{"position":[[126,5]]}}}],["tally.json",{"_index":1438,"t":{"775":{"position":[[604,10]]},"1419":{"position":[[249,10],[662,10]]},"1421":{"position":[[578,10],[954,10]]},"1425":{"position":[[100,10]]},"1452":{"position":[[303,10]]},"1456":{"position":[[102,10]]},"2063":{"position":[[228,10],[526,10]]},"2067":{"position":[[301,10],[633,10]]}}}],["tallyaddress",{"_index":4071,"t":{"2369":{"position":[[73,14],[478,13]]},"2381":{"position":[[55,14],[430,13]]}}}],["tallybatchnum",{"_index":3895,"t":{"2041":{"position":[[8,13]]}}}],["tallybatchs",{"_index":270,"t":{"229":{"position":[[34,14]]},"236":{"position":[[2,15]]},"1480":{"position":[[211,15]]},"2258":{"position":[[52,15]]}}}],["tallybatchsizetoolarg",{"_index":3888,"t":{"2037":{"position":[[6,24]]}}}],["tallycommit",{"_index":3599,"t":{"1605":{"position":[[2558,15],[3397,15]]},"2039":{"position":[[8,15]]}}}],["tallycontract",{"_index":2751,"t":{"1397":{"position":[[5690,16],[7493,16]]}}}],["tallydata",{"_index":4023,"t":{"2342":{"position":[[32,9]]},"2381":{"position":[[29,11],[334,10],[345,9]]}}}],["tallyfil",{"_index":2748,"t":{"1397":{"position":[[5536,12],[6064,12]]},"2363":{"position":[[23,10],[521,9]]},"2381":{"position":[[17,11],[279,10]]}}}],["tallyresult",{"_index":2032,"t":{"1043":{"position":[[421,11]]},"1115":{"position":[[2,12]]}}}],["tallyvk",{"_index":3005,"t":{"1478":{"position":[[179,8]]},"2270":{"position":[[52,8]]}}}],["tallyvkalreadyset",{"_index":4004,"t":{"2286":{"position":[[6,19]]}}}],["tallyvknotset",{"_index":4007,"t":{"2292":{"position":[[6,15]]}}}],["tallyvkset",{"_index":3998,"t":{"2272":{"position":[[25,10]]}}}],["tallyvkset(uint256",{"_index":4001,"t":{"2280":{"position":[[6,18]]}}}],["tallyvot",{"_index":427,"t":{"438":{"position":[[78,10]]},"688":{"position":[[439,10],[534,10],[651,10]]},"767":{"position":[[761,11]]},"786":{"position":[[57,10]]},"798":{"position":[[1332,10],[1382,10],[1818,10],[2279,10],[2762,10],[2830,10],[3311,10],[3400,10]]},"1045":{"position":[[413,10]]},"1160":{"position":[[2,13],[153,10]]},"1382":{"position":[[599,10]]},"1393":{"position":[[341,10],[377,10]]},"1478":{"position":[[207,10]]},"2406":{"position":[[182,11]]},"2416":{"position":[[93,10]]}}}],["tallyvotes(contract",{"_index":3898,"t":{"2057":{"position":[[9,19]]}}}],["tallyvotes(pol",{"_index":3662,"t":{"1618":{"position":[[1511,15]]}}}],["tallyvotes.circom",{"_index":2568,"t":{"1363":{"position":[[208,18]]},"1624":{"position":[[689,19]]}}}],["tallyvotes_10",{"_index":1419,"t":{"775":{"position":[[100,13]]},"788":{"position":[[607,13],[630,13],[660,13],[687,13],[715,13],[742,13],[769,13]]},"796":{"position":[[877,13],[7347,13]]}}}],["tallyvotes_4",{"_index":1555,"t":{"796":{"position":[[1681,12],[6195,12],[6636,12]]}}}],["tallyvotes_6",{"_index":1567,"t":{"796":{"position":[[3169,12]]}}}],["tallyvotes_7",{"_index":1533,"t":{"796":{"position":[[175,12],[2427,12],[6260,12],[6326,12],[6426,12],[6991,12],[7883,12]]}}}],["tallyvotes_>_test.>.zkey",{"_index":2797,"t":{"1403":{"position":[[246,55]]}}}],["vote_option_tree_depth>_test..zkey",{"_index":2794,"t":{"1403":{"position":[[139,53]]}}}],["voted(msg.send",{"_index":3087,"t":{"1513":{"position":[[650,18]]}}}],["voteoptionindex",{"_index":536,"t":{"609":{"position":[[61,15]]},"626":{"position":[[2,16]]},"763":{"position":[[1346,18],[1418,18],[1490,18],[1562,18],[3372,18],[3429,18],[3486,18],[3543,18],[3600,18],[3657,18],[3714,18],[3771,18],[3828,18],[3886,18]]},"1277":{"position":[[61,15]]},"1282":{"position":[[38,16],[252,15]]},"1299":{"position":[[2,16]]},"1382":{"position":[[1358,15]]},"1397":{"position":[[3641,18]]},"2371":{"position":[[30,16],[345,15]]}}}],["voteoptiontreedepth",{"_index":476,"t":{"497":{"position":[[55,19]]},"506":{"position":[[2,20]]},"585":{"position":[[6,19]]},"590":{"position":[[2,20]]},"1173":{"position":[[6,19]]},"1183":{"position":[[2,20]]},"1202":{"position":[[33,21],[178,19]]},"1204":{"position":[[34,21],[180,19]]},"1376":{"position":[[5384,20]]},"1397":{"position":[[979,22],[2339,22],[2840,22]]},"1480":{"position":[[136,20]]},"1622":{"position":[[682,19],[4969,20]]},"1624":{"position":[[1212,19]]},"2039":{"position":[[463,19]]},"2256":{"position":[[102,20]]},"2349":{"position":[[74,20],[534,19]]},"2353":{"position":[[114,20],[767,19]]},"2373":{"position":[[72,20],[514,19]]},"2402":{"position":[[52,20],[426,19]]}}}],["voteoptiontreeleaf",{"_index":4232,"t":{"2515":{"position":[[225,18]]}}}],["voter",{"_index":577,"t":{"667":{"position":[[276,6],[515,6],[901,5],[1051,5],[1126,6]]},"669":{"position":[[262,6],[501,6],[887,5],[1037,5],[1112,6]]},"671":{"position":[[957,5]]},"674":{"position":[[59,8]]},"694":{"position":[[523,5]]},"704":{"position":[[88,6]]},"706":{"position":[[80,7]]},"726":{"position":[[142,7]]},"728":{"position":[[246,6]]},"761":{"position":[[86,7],[588,6],[833,6]]},"763":{"position":[[767,7],[2491,7]]},"771":{"position":[[933,6]]},"1326":{"position":[[1299,5],[2530,6],[2690,6],[2765,6],[3751,5],[7091,5],[7310,6]]},"1380":{"position":[[184,6]]},"1486":{"position":[[266,7]]},"1515":{"position":[[433,5]]},"1519":{"position":[[7,6]]},"1523":{"position":[[98,5]]},"1531":{"position":[[132,7]]},"1552":{"position":[[2076,5]]},"1554":{"position":[[147,5]]},"1562":{"position":[[255,5]]},"1588":{"position":[[147,5]]},"1734":{"position":[[63,6]]},"1754":{"position":[[140,7]]},"1756":{"position":[[149,5],[222,5]]},"1758":{"position":[[79,7]]},"1764":{"position":[[119,5]]},"1887":{"position":[[23,6]]},"1963":{"position":[[291,6]]},"2069":{"position":[[55,5]]}}}],["votes1",{"_index":407,"t":{"401":{"position":[[215,6]]},"434":{"position":[[2,7]]}}}],["votes2",{"_index":408,"t":{"401":{"position":[[222,6]]},"436":{"position":[[2,7]]}}}],["votes[i",{"_index":2653,"t":{"1378":{"position":[[4243,10]]},"1624":{"position":[[5509,10]]}}}],["voteweight",{"_index":1358,"t":{"763":{"position":[[1368,13],[1440,13],[1512,13],[1584,13],[3394,13],[3451,13],[3508,13],[3565,13],[3622,13],[3679,13],[3736,13],[3793,13],[3850,13],[3908,13]]}}}],["votingperiodnotov",{"_index":3846,"t":{"1915":{"position":[[6,21]]}}}],["votingperiodnotpass",{"_index":3993,"t":{"2240":{"position":[[6,23]]}}}],["votingperiodov",{"_index":3845,"t":{"1913":{"position":[[6,18]]}}}],["vs",{"_index":2357,"t":{"1326":{"position":[[4342,3]]},"1495":{"position":[[323,2]]},"2145":{"position":[[306,2]]}}}],["vulner",{"_index":934,"t":{"692":{"position":[[479,15]]},"698":{"position":[[581,10],[1851,13]]},"718":{"position":[[98,16]]}}}],["vvv",{"_index":3512,"t":{"1580":{"position":[[382,3],[579,3]]}}}],["w",{"_index":2731,"t":{"1397":{"position":[[3794,2],[5316,2],[6875,2]]},"1411":{"position":[[257,1]]},"1419":{"position":[[933,1]]},"1421":{"position":[[1168,1]]},"1452":{"position":[[486,1]]}}}],["wallet",{"_index":2746,"t":{"1397":{"position":[[5254,6]]},"1460":{"position":[[3438,7]]},"2357":{"position":[[64,6],[226,6]]}}}],["want",{"_index":1363,"t":{"763":{"position":[[3041,4],[3068,4],[3114,4]]},"1326":{"position":[[3187,4],[4056,4]]},"1346":{"position":[[49,4]]},"1363":{"position":[[673,4]]},"1389":{"position":[[307,4]]},"1462":{"position":[[2665,4]]},"1523":{"position":[[275,5]]},"1622":{"position":[[8133,4]]}}}],["warn",{"_index":4249,"t":{"2541":{"position":[[54,7]]}}}],["wasm",{"_index":1508,"t":{"790":{"position":[[196,4]]},"798":{"position":[[2063,4],[2072,4],[2290,4],[2299,4]]},"1387":{"position":[[90,4],[174,4]]},"1397":{"position":[[6880,5],[6905,4],[6934,4],[6997,4],[7022,4],[7081,4],[7108,4],[7171,4]]},"1419":{"position":[[481,4]]},"1421":{"position":[[639,4]]},"1495":{"position":[[566,5]]},"2363":{"position":[[1422,4],[1482,4],[1546,4],[1598,4]]}}}],["way",{"_index":585,"t":{"667":{"position":[[387,4],[1021,3],[1147,4]]},"669":{"position":[[373,4],[1007,3],[1133,4]]},"671":{"position":[[1008,3]]},"676":{"position":[[1760,3],[1914,3],[3308,3]]},"694":{"position":[[577,3]]},"712":{"position":[[256,4]]},"716":{"position":[[627,3]]},"724":{"position":[[26,3]]},"778":{"position":[[257,4]]},"1326":{"position":[[5467,3]]},"1428":{"position":[[357,3]]},"1488":{"position":[[84,3]]},"1515":{"position":[[498,3]]},"1523":{"position":[[202,3]]},"1562":{"position":[[306,3]]},"1597":{"position":[[99,3]]},"2254":{"position":[[108,3]]},"2499":{"position":[[69,3]]}}}],["we'll",{"_index":3113,"t":{"1523":{"position":[[1090,5]]}}}],["web",{"_index":2694,"t":{"1395":{"position":[[167,3]]}}}],["web3",{"_index":3605,"t":{"1607":{"position":[[105,4]]}}}],["websit",{"_index":1764,"t":{"798":{"position":[[725,8]]},"1326":{"position":[[6073,8],[6294,7]]}}}],["wei",{"_index":623,"t":{"671":{"position":[[102,3],[775,3]]},"696":{"position":[[199,3]]},"1517":{"position":[[134,3]]}}}],["weight",{"_index":1353,"t":{"763":{"position":[[736,6],[2460,6]]},"1282":{"position":[[338,6]]},"1308":{"position":[[360,6]]},"1376":{"position":[[2605,6],[2737,6]]},"1397":{"position":[[3808,6],[3845,6]]},"1442":{"position":[[295,6]]},"1444":{"position":[[295,6]]},"1525":{"position":[[899,6],[955,6]]},"1552":{"position":[[1671,6]]},"1554":{"position":[[246,7],[299,7]]},"1584":{"position":[[683,6]]},"1588":{"position":[[246,7],[299,7]]},"1622":{"position":[[2236,6],[2368,6],[5939,6],[6074,6]]},"2371":{"position":[[542,6]]}}}],["weijiekoh/circomlib",{"_index":3345,"t":{"1560":{"position":[[141,19]]}}}],["welcom",{"_index":1152,"t":{"702":{"position":[[49,7]]},"1324":{"position":[[0,7]]}}}],["well",{"_index":1015,"t":{"696":{"position":[[890,4]]},"722":{"position":[[810,4]]},"728":{"position":[[401,4]]},"758":{"position":[[138,4]]},"1168":{"position":[[70,4]]},"1326":{"position":[[5626,4],[6823,4]]},"1338":{"position":[[170,4]]},"1340":{"position":[[192,5]]},"1350":{"position":[[110,4]]},"1462":{"position":[[795,4],[1047,4]]},"1464":{"position":[[754,4]]},"1466":{"position":[[73,4]]},"1511":{"position":[[201,4]]},"1540":{"position":[[122,4]]},"1554":{"position":[[60,4]]},"1565":{"position":[[924,4]]},"1567":{"position":[[863,4]]},"1588":{"position":[[60,4]]}}}],["we’d",{"_index":2412,"t":{"1326":{"position":[[7370,4]]}}}],["we’ll",{"_index":2352,"t":{"1326":{"position":[[4102,5],[4639,5]]}}}],["we’r",{"_index":2319,"t":{"1326":{"position":[[2829,5],[5356,5],[6442,5]]}}}],["we’v",{"_index":1109,"t":{"700":{"position":[[289,5]]}}}],["whether",{"_index":63,"t":{"26":{"position":[[27,7],[171,7]]},"38":{"position":[[44,7],[186,7]]},"68":{"position":[[171,7]]},"100":{"position":[[151,7]]},"142":{"position":[[33,7],[190,7]]},"176":{"position":[[28,7],[166,7]]},"676":{"position":[[3323,7]]},"761":{"position":[[677,7]]},"868":{"position":[[28,7],[145,7]]},"932":{"position":[[171,7]]},"966":{"position":[[40,7]]},"968":{"position":[[28,7],[145,7]]},"1140":{"position":[[40,7],[98,7]]},"1194":{"position":[[167,7]]},"1226":{"position":[[33,7],[159,7]]},"1397":{"position":[[440,7],[638,7],[1700,7],[1817,7],[2524,7],[3192,7],[3865,7],[3967,7],[4247,7],[4613,7],[4918,7],[5197,7],[5373,7],[5819,7],[6691,7],[6886,7],[7282,7]]},"1462":{"position":[[237,7]]},"1470":{"position":[[66,7]]},"1595":{"position":[[1338,7],[1659,7]]},"1612":{"position":[[479,8]]},"1616":{"position":[[77,7],[177,7],[1217,7],[1738,7]]},"1618":{"position":[[572,7],[1905,7]]},"1652":{"position":[[208,7]]},"1716":{"position":[[357,7]]},"1740":{"position":[[69,7]]},"1803":{"position":[[104,7]]},"1863":{"position":[[24,7]]},"1879":{"position":[[725,7]]},"2059":{"position":[[745,7]]},"2063":{"position":[[707,7]]},"2065":{"position":[[297,7]]},"2067":{"position":[[977,7]]},"2298":{"position":[[222,7]]},"2300":{"position":[[218,7]]},"2302":{"position":[[222,7]]},"2314":{"position":[[487,7]]},"2320":{"position":[[420,7]]},"2326":{"position":[[424,7]]},"2347":{"position":[[456,7]]},"2349":{"position":[[947,7],[999,7]]},"2351":{"position":[[571,7]]},"2353":{"position":[[1045,7]]},"2355":{"position":[[150,7]]},"2357":{"position":[[260,7]]},"2359":{"position":[[152,7]]},"2361":{"position":[[185,7]]},"2363":{"position":[[1583,7],[1922,7]]},"2365":{"position":[[367,7]]},"2367":{"position":[[383,7]]},"2369":{"position":[[631,7]]},"2371":{"position":[[743,7]]},"2373":{"position":[[954,7]]},"2375":{"position":[[424,7]]},"2377":{"position":[[233,7]]},"2379":{"position":[[363,7]]},"2381":{"position":[[642,7]]}}}],["whichev",{"_index":2914,"t":{"1460":{"position":[[3989,9]]},"1474":{"position":[[72,9]]}}}],["whitehat",{"_index":3096,"t":{"1517":{"position":[[40,8]]},"1565":{"position":[[69,9]]}}}],["whitelist",{"_index":3571,"t":{"1597":{"position":[[106,9]]}}}],["whole",{"_index":1355,"t":{"763":{"position":[[882,5]]},"1462":{"position":[[2853,5]]},"2021":{"position":[[158,5]]}}}],["whose",{"_index":1213,"t":{"718":{"position":[[115,5]]},"1270":{"position":[[47,5]]},"1378":{"position":[[4289,5]]},"1560":{"position":[[432,5]]},"1624":{"position":[[5555,5]]}}}],["window",{"_index":3027,"t":{"1495":{"position":[[403,8],[438,7]]}}}],["wise",{"_index":2409,"t":{"1326":{"position":[[7256,4]]}}}],["wish",{"_index":723,"t":{"676":{"position":[[80,4]]},"702":{"position":[[108,4]]},"710":{"position":[[326,4]]},"732":{"position":[[11,4]]},"786":{"position":[[215,4]]},"790":{"position":[[122,4]]},"798":{"position":[[67,4]]},"1472":{"position":[[116,4]]},"1505":{"position":[[182,4]]},"1507":{"position":[[7,4]]},"1519":{"position":[[343,4]]},"1562":{"position":[[23,4]]}}}],["wit",{"_index":1509,"t":{"790":{"position":[[201,9]]},"1397":{"position":[[6279,7],[6370,7],[6467,7],[6978,7],[7062,7],[7152,7]]},"1419":{"position":[[19,7]]},"1421":{"position":[[103,7]]},"1501":{"position":[[334,7]]},"1507":{"position":[[556,7]]},"1595":{"position":[[124,9]]},"1620":{"position":[[487,9]]}}}],["withdraw",{"_index":1247,"t":{"722":{"position":[[148,11]]}}}],["within",{"_index":1106,"t":{"700":{"position":[[158,6]]},"718":{"position":[[236,6]]},"765":{"position":[[0,6],[550,6]]},"778":{"position":[[11,6],[473,6],[591,6]]},"1326":{"position":[[574,6],[3318,6],[4818,6],[5792,6],[6021,6],[7653,6],[7718,6],[7797,6]]},"1338":{"position":[[11,6]]},"1342":{"position":[[318,6]]},"1376":{"position":[[193,6],[414,6]]},"1399":{"position":[[71,6]]},"1460":{"position":[[3848,6]]},"1511":{"position":[[248,6]]},"1513":{"position":[[145,6]]},"1538":{"position":[[790,6]]},"1558":{"position":[[269,6]]},"1603":{"position":[[409,6],[460,6],[640,6],[711,6]]},"1622":{"position":[[261,6]]},"1965":{"position":[[90,6]]}}}],["without",{"_index":591,"t":{"667":{"position":[[501,7]]},"669":{"position":[[487,7]]},"674":{"position":[[318,7]]},"678":{"position":[[101,7],[260,7]]},"696":{"position":[[940,7]]},"718":{"position":[[657,7]]},"771":{"position":[[49,7]]},"792":{"position":[[218,7]]},"1366":{"position":[[118,7]]},"1620":{"position":[[522,7]]},"1726":{"position":[[75,7]]}}}],["witnessgen",{"_index":2754,"t":{"1397":{"position":[[6223,10],[6318,10],[6411,10]]},"1421":{"position":[[348,10],[407,10]]},"2363":{"position":[[996,10],[1066,10],[1140,10]]}}}],["won't",{"_index":3051,"t":{"1501":{"position":[[263,5]]}}}],["won’t",{"_index":891,"t":{"688":{"position":[[927,5]]}}}],["word",{"_index":662,"t":{"671":{"position":[[756,4],[765,4]]},"680":{"position":[[619,6]]},"694":{"position":[[1509,6]]},"1376":{"position":[[532,6]]}}}],["work",{"_index":771,"t":{"676":{"position":[[3461,6]]},"696":{"position":[[335,4],[475,4],[780,4],[1255,4],[1328,7]]},"700":{"position":[[1760,5]]},"702":{"position":[[83,4],[145,5]]},"704":{"position":[[51,4]]},"708":{"position":[[7,7]]},"712":{"position":[[158,4]]},"732":{"position":[[190,4]]},"758":{"position":[[64,4]]},"761":{"position":[[540,5]]},"763":{"position":[[4889,4],[5079,7]]},"765":{"position":[[100,4],[648,4]]},"767":{"position":[[92,4],[330,4],[536,5],[716,4]]},"769":{"position":[[75,4]]},"771":{"position":[[30,5],[878,5]]},"798":{"position":[[511,4]]},"1326":{"position":[[156,4],[6459,4]]},"1352":{"position":[[101,7]]},"1357":{"position":[[131,5]]},"1363":{"position":[[426,4]]},"1380":{"position":[[265,4]]},"1397":{"position":[[4504,5]]},"1482":{"position":[[290,4]]},"1495":{"position":[[351,5],[430,4]]},"1507":{"position":[[511,5]]},"1517":{"position":[[236,4]]},"1521":{"position":[[51,5],[399,4]]},"1595":{"position":[[903,6]]}}}],["workflow",{"_index":657,"t":{"671":{"position":[[676,8]]},"674":{"position":[[12,9]]},"678":{"position":[[1399,8]]},"680":{"position":[[12,8]]},"1326":{"position":[[4687,8]]},"1352":{"position":[[53,8]]}}}],["workstream",{"_index":2318,"t":{"1326":{"position":[[2793,11],[2854,11],[3222,10],[3330,12],[4205,10],[4830,12],[5804,12],[6351,11],[7665,11],[7730,11],[7809,11]]}}}],["world",{"_index":2298,"t":{"1326":{"position":[[1589,6]]}}}],["worth",{"_index":1005,"t":{"696":{"position":[[652,5]]},"1326":{"position":[[6377,5]]}}}],["wp",{"_index":1430,"t":{"775":{"position":[[418,2]]},"1397":{"position":[[6209,3]]},"1419":{"position":[[306,2]]}}}],["wrap",{"_index":1284,"t":{"726":{"position":[[445,7]]}}}],["write",{"_index":1007,"t":{"696":{"position":[[691,8],[1263,7]]},"700":{"position":[[424,5]]},"778":{"position":[[121,5],[206,5]]},"1368":{"position":[[83,5]]},"1569":{"position":[[581,8]]},"1620":{"position":[[179,7],[530,7]]}}}],["written",{"_index":974,"t":{"696":{"position":[[96,7]]},"763":{"position":[[4923,7]]},"765":{"position":[[134,7],[682,7]]},"767":{"position":[[126,7]]},"769":{"position":[[102,7]]},"798":{"position":[[38,7],[3729,7]]},"1368":{"position":[[20,7]]},"1417":{"position":[[416,7]]},"1529":{"position":[[254,7]]},"1531":{"position":[[320,7]]},"1620":{"position":[[34,7],[638,7]]}}}],["ws",{"_index":2757,"t":{"1397":{"position":[[6397,3]]}}}],["wsl",{"_index":3029,"t":{"1495":{"position":[[466,6]]}}}],["wt",{"_index":1433,"t":{"775":{"position":[[464,2]]},"1397":{"position":[[6306,3]]},"1419":{"position":[[350,2]]}}}],["ww",{"_index":2015,"t":{"1043":{"position":[[3,2]]},"1053":{"position":[[2,3]]}}}],["x",{"_index":16,"t":{"2":{"position":[[262,3]]},"575":{"position":[[0,1]]},"578":{"position":[[2,2]]},"597":{"position":[[0,1]]},"600":{"position":[[2,2]]},"678":{"position":[[181,1],[226,1],[550,1]]},"775":{"position":[[247,1]]},"853":{"position":[[0,1]]},"858":{"position":[[96,1],[109,1]]},"861":{"position":[[2,2]]},"866":{"position":[[146,1]]},"951":{"position":[[0,1]]},"956":{"position":[[96,1],[111,1]]},"959":{"position":[[2,2]]},"964":{"position":[[146,1]]},"966":{"position":[[106,1],[121,1],[139,3]]},"1397":{"position":[[1549,2],[2452,2],[3451,2],[4007,2],[4287,2],[4734,2],[5044,2],[5616,2],[5959,2],[7322,2]]},"1419":{"position":[[115,1]]},"1552":{"position":[[1295,1],[1393,1]]},"1556":{"position":[[391,1],[2303,1]]},"1580":{"position":[[1166,1]]},"1584":{"position":[[307,1],[405,1]]},"1590":{"position":[[400,1],[2343,1]]},"1658":{"position":[[25,2]]},"1660":{"position":[[28,2]]},"2250":{"position":[[24,2]]}}}],["x5x^5x5",{"_index":3426,"t":{"1567":{"position":[[358,7]]}}}],["x86",{"_index":3666,"t":{"1620":{"position":[[729,3]]}}}],["x_2",{"_index":3207,"t":{"1544":{"position":[[194,4]]},"1567":{"position":[[194,4]]}}}],["x_n])y=poseidonn​([x1​,x2​,...,xn",{"_index":3208,"t":{"1544":{"position":[[204,36]]},"1567":{"position":[[204,36]]}}}],["xi,y∈fpx_i",{"_index":3424,"t":{"1567":{"position":[[247,11]]}}}],["xxx",{"_index":3523,"t":{"1580":{"position":[[1337,4],[1351,3]]}}}],["y",{"_index":17,"t":{"2":{"position":[[266,2]]},"575":{"position":[[2,1]]},"580":{"position":[[2,2]]},"597":{"position":[[2,1]]},"602":{"position":[[2,2]]},"678":{"position":[[185,1],[232,1],[556,2]]},"853":{"position":[[2,1]]},"858":{"position":[[17,3],[122,1],[135,1]]},"863":{"position":[[2,2]]},"866":{"position":[[155,1]]},"951":{"position":[[2,1]]},"956":{"position":[[17,3],[124,1],[139,1]]},"961":{"position":[[2,2]]},"964":{"position":[[157,1]]},"966":{"position":[[145,3]]},"1552":{"position":[[1438,1],[1536,1]]},"1556":{"position":[[436,1],[2331,1]]},"1567":{"position":[[259,1]]},"1580":{"position":[[353,1],[1133,1]]},"1584":{"position":[[450,1],[548,1]]},"1590":{"position":[[445,1],[2371,1]]},"1658":{"position":[[36,2]]},"1660":{"position":[[42,2]]},"2250":{"position":[[35,2]]}}}],["y=poseidonn([x1,x2,...,xn])i",{"_index":3205,"t":{"1544":{"position":[[146,28]]},"1567":{"position":[[137,28]]}}}],["y^2",{"_index":3520,"t":{"1580":{"position":[[1293,3]]}}}],["youtub",{"_index":629,"t":{"671":{"position":[[163,7]]}}}],["yyi",{"_index":3422,"t":{"1567":{"position":[[132,4]]},"1580":{"position":[[910,3],[1051,3],[1086,3],[1109,3]]}}}],["zcash",{"_index":648,"t":{"671":{"position":[[526,5]]}}}],["zero",{"_index":944,"t":{"694":{"position":[[37,4],[1204,4]]},"696":{"position":[[1141,4]]},"718":{"position":[[677,4]]},"726":{"position":[[650,4]]},"875":{"position":[[180,5]]},"913":{"position":[[2,6]]},"924":{"position":[[62,5]]},"975":{"position":[[128,5]]},"1009":{"position":[[2,6]]},"1338":{"position":[[207,5]]},"1340":{"position":[[240,4],[299,4],[611,4]]},"1366":{"position":[[24,4]]},"1462":{"position":[[3062,5]]},"1515":{"position":[[1087,4]]},"1529":{"position":[[228,4]]},"1603":{"position":[[802,5]]},"1668":{"position":[[142,5]]},"2145":{"position":[[67,5],[85,4],[268,4],[347,4],[477,4],[525,4],[542,4]]},"2151":{"position":[[73,5]]},"2153":{"position":[[71,5],[238,6]]},"2187":{"position":[[64,5],[82,4],[195,4],[242,4],[259,4]]},"2193":{"position":[[64,5],[82,4],[195,4]]},"2209":{"position":[[64,5],[82,4],[195,4],[242,4],[259,4]]},"2215":{"position":[[64,5],[82,4],[195,4],[242,4],[259,4]]},"2221":{"position":[[64,5],[82,4],[195,4],[242,4],[259,4]]}}}],["zeroth",{"_index":2137,"t":{"1150":{"position":[[382,6]]}}}],["zerovalu",{"_index":1870,"t":{"875":{"position":[[170,9]]},"880":{"position":[[37,11],[216,9]]},"911":{"position":[[2,10]]},"975":{"position":[[118,9]]},"980":{"position":[[33,10],[126,9]]},"1007":{"position":[[2,10]]}}}],["zg0k8yptatwb/input.json",{"_index":1449,"t":{"775":{"position":[[1052,23]]}}}],["zg0k8yptatwb/output.wtn",{"_index":1450,"t":{"775":{"position":[[1090,24]]}}}],["zk",{"_index":198,"t":{"148":{"position":[[60,2]]},"386":{"position":[[55,2]]},"667":{"position":[[650,2]]},"669":{"position":[[636,2]]},"671":{"position":[[373,2],[483,2],[514,2],[567,2]]},"674":{"position":[[260,2]]},"676":{"position":[[3499,2],[3670,2]]},"678":{"position":[[13,2],[321,2],[1045,2]]},"686":{"position":[[740,2],[951,2],[1137,2]]},"688":{"position":[[131,2],[376,2]]},"694":{"position":[[1431,2]]},"700":{"position":[[868,2]]},"702":{"position":[[223,2]]},"718":{"position":[[247,2]]},"786":{"position":[[18,2]]},"798":{"position":[[28,2]]},"1148":{"position":[[312,2]]},"1332":{"position":[[84,2]]},"1344":{"position":[[139,2]]},"1363":{"position":[[20,2]]},"1366":{"position":[[0,2],[205,2]]},"1368":{"position":[[89,2],[202,2]]},"1370":{"position":[[54,2]]},"1391":{"position":[[25,2]]},"1399":{"position":[[78,2]]},"1458":{"position":[[70,2]]},"1466":{"position":[[52,2]]},"1478":{"position":[[67,2]]},"1486":{"position":[[141,2],[398,2]]},"1505":{"position":[[18,2]]},"1515":{"position":[[1312,2]]},"1521":{"position":[[305,2]]},"1529":{"position":[[18,2]]},"1531":{"position":[[272,2]]},"1544":{"position":[[78,2]]},"1552":{"position":[[429,2]]},"1567":{"position":[[763,2]]},"1576":{"position":[[413,2]]},"1605":{"position":[[1811,2],[2134,2]]},"1620":{"position":[[4,2]]},"1648":{"position":[[114,2]]},"1652":{"position":[[113,2]]},"1716":{"position":[[130,2]]},"1877":{"position":[[360,2]]},"1879":{"position":[[660,2]]},"2039":{"position":[[144,2]]}}}],["zkey",{"_index":1128,"t":{"700":{"position":[[1020,4]]},"724":{"position":[[816,5]]},"775":{"position":[[163,6],[1491,4]]},"784":{"position":[[65,5],[137,5]]},"786":{"position":[[153,5],[247,5],[387,5],[837,7]]},"788":{"position":[[49,4]]},"794":{"position":[[160,5]]},"796":{"position":[[52,5],[959,6],[3836,6]]},"798":{"position":[[651,5],[1087,4],[1113,4],[1343,4],[1369,4],[1652,4],[1898,4]]},"1389":{"position":[[15,4],[592,5],[886,4],[934,4]]},"1397":{"position":[[1119,4],[1172,4],[1200,4],[1243,4],[1268,4],[1304,4],[2980,4],[3033,4],[3061,4],[3104,4],[3246,4],[3282,4],[6508,4],[6551,4],[6569,4],[6609,4],[6629,4],[6673,4]]},"1403":{"position":[[30,5]]},"1421":{"position":[[461,4],[520,4],[836,4],[896,4]]},"1434":{"position":[[227,4],[293,4]]},"1452":{"position":[[185,4],[245,4]]},"1501":{"position":[[157,4]]},"1505":{"position":[[120,5],[214,5],[462,5]]},"1507":{"position":[[24,5],[218,4],[300,4],[368,5],[434,4]]},"1620":{"position":[[565,4],[604,4]]},"2349":{"position":[[750,4],[819,4]]},"2363":{"position":[[631,4],[694,4],[867,4]]},"2373":{"position":[[730,4],[799,4],[930,4]]}}}],["zkeys.config.yml",{"_index":1464,"t":{"775":{"position":[[1515,16]]},"788":{"position":[[73,18]]},"1389":{"position":[[39,18],[241,16],[915,18],[1026,17]]},"1507":{"position":[[82,17],[242,16],[329,16],[459,16]]}}}],["zkeys/processmessages_10",{"_index":1431,"t":{"775":{"position":[[421,26],[506,26],[1000,26]]},"1403":{"position":[[433,26]]},"1419":{"position":[[309,26],[390,26],[691,26],[854,26]]},"1421":{"position":[[359,26],[466,25],[841,26],[1089,26]]},"1434":{"position":[[232,26]]},"1452":{"position":[[190,26],[407,26]]}}}],["zkeys/processmessages_7",{"_index":1572,"t":{"796":{"position":[[3843,23],[3882,23],[3924,23],[4278,23],[4318,23],[4353,23],[4393,23],[4439,23],[4490,23],[4536,23],[4606,23],[4655,23],[4701,23],[4749,23],[4821,23],[4865,23],[4915,23],[4966,23],[5012,23],[5060,23],[5108,23],[5147,23],[5207,23],[5279,23],[5350,23]]}}}],["zkeys/tallyvotes_10",{"_index":1434,"t":{"775":{"position":[[467,21],[559,21]]},"1403":{"position":[[483,21]]},"1419":{"position":[[353,21],[441,21],[742,21],[786,21]]},"1421":{"position":[[418,21],[525,21],[901,21],[1021,21]]},"1434":{"position":[[298,21]]},"1452":{"position":[[250,21],[339,21]]}}}],["zkeys/tallyvotes_7",{"_index":1576,"t":{"796":{"position":[[3963,18],[3995,18],[4053,18],[4106,18],[4163,18],[4214,18],[4246,18],[5408,18],[5441,18],[5480,18],[5524,18],[5582,18],[5621,18],[5663,18],[5702,18],[5743,18],[5780,18],[5823,18],[5867,18],[5906,18],[5962,18],[6003,18],[6044,18],[6077,18],[6112,18]]}}}],["zkeys_10",{"_index":1540,"t":{"796":{"position":[[790,8]]}}}],["zkeys_4",{"_index":1550,"t":{"796":{"position":[[1548,7]]}}}],["zkeys_6",{"_index":1563,"t":{"796":{"position":[[3036,7]]}}}],["zkeys_7",{"_index":1557,"t":{"796":{"position":[[2294,7]]}}}],["zkopru",{"_index":3342,"t":{"1558":{"position":[[409,6]]}}}],["zkp",{"_index":1180,"t":{"710":{"position":[[13,3]]}}}],["zksnark",{"_index":652,"t":{"671":{"position":[[600,8]]},"1601":{"position":[[22,7]]}}}],["zoom",{"_index":3015,"t":{"1490":{"position":[[0,7]]}}}],["zp",{"_index":1435,"t":{"775":{"position":[[503,2]]},"1397":{"position":[[6494,3]]},"1419":{"position":[[387,2],[688,2]]}}}],["zs",{"_index":2761,"t":{"1397":{"position":[[6615,3]]}}}],["zt",{"_index":1437,"t":{"775":{"position":[[556,2]]},"1397":{"position":[[6557,3]]},"1419":{"position":[[438,2],[739,2]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file diff --git a/search/index.html b/search/index.html index b11f70a65f..62b4711f22 100644 --- a/search/index.html +++ b/search/index.html @@ -10,7 +10,7 @@ - + diff --git a/typedoc/index.html b/typedoc/index.html index 130c47a192..861fe0217f 100644 --- a/typedoc/index.html +++ b/typedoc/index.html @@ -10,7 +10,7 @@ - +