mirror of
https://github.com/selfxyz/self.git
synced 2026-01-09 14:48:06 -05:00
added commitment and privacy to the circuit 🔒
This commit is contained in:
@@ -36,7 +36,7 @@ contract ProofOfBaguette is ERC721Enumerable, Ownable {
|
||||
uint256[2] memory a,
|
||||
uint256[2][2] memory b,
|
||||
uint256[2] memory c,
|
||||
uint256[100] memory inputs
|
||||
uint256[97] memory inputs
|
||||
) public {
|
||||
// Check eth address committed to in proof matches msg.sender, to avoid replayability
|
||||
// require(address(uint160(inputs[addressIndexInSignals])) == msg.sender, "Invalid address");
|
||||
|
||||
@@ -75,7 +75,7 @@ library Pairing {
|
||||
// solium-disable-next-line security/no-inline-assembly
|
||||
assembly {
|
||||
success := staticcall(sub(gas(), 2000), 6, input, 0xc0, r, 0x60)
|
||||
// Use "invalid" to make gas estimation work
|
||||
// Use "invalid" to make gas() estimation work
|
||||
switch success
|
||||
case 0 {
|
||||
invalid()
|
||||
@@ -98,7 +98,7 @@ library Pairing {
|
||||
// solium-disable-next-line security/no-inline-assembly
|
||||
assembly {
|
||||
success := staticcall(sub(gas(), 2000), 7, input, 0x80, r, 0x60)
|
||||
// Use "invalid" to make gas estimation work
|
||||
// Use "invalid" to make gas() estimation work
|
||||
switch success
|
||||
case 0 {
|
||||
invalid()
|
||||
@@ -139,7 +139,7 @@ library Pairing {
|
||||
out,
|
||||
0x20
|
||||
)
|
||||
// Use "invalid" to make gas estimation work
|
||||
// Use "invalid" to make gas() estimation work
|
||||
switch success
|
||||
case 0 {
|
||||
invalid()
|
||||
@@ -227,443 +227,431 @@ contract Verifier {
|
||||
|
||||
function verifyingKey() internal pure returns (VerifyingKey memory vk) {
|
||||
vk.alfa1 = Pairing.G1Point(
|
||||
3729759902613158737584667451763372650786205291355292152976183853465281741568,
|
||||
12141818571021242890877607823917100116000365301195201631232395613768357031550
|
||||
10315822838385842923250715267205960664501004234546269981482666228112421301117,
|
||||
15862104134162712938961972115840401024611162066277059180121297134493484755175
|
||||
);
|
||||
vk.beta2 = Pairing.G2Point(
|
||||
[
|
||||
13136239927450321420640914360716128650905558296901801053963909067006351325961,
|
||||
15158152606360031483103218567077180987695153184296747211468761930524229437793
|
||||
16075180890105261855785821136620370206478347851900063884177434889569117892728,
|
||||
8999056094627160946941478319055654711627346279360998804980685260524215980818
|
||||
],
|
||||
[
|
||||
5915853304591152121704470374932450228803136872189869158933925105543608134284,
|
||||
15730504375151781974211308982636760944102253372011186196057356583318925951174
|
||||
19289495299100654012777091634160205804317123853627581171870946780589078726579,
|
||||
7456059757481809576237403196787593289176357510985305159986791878645463459018
|
||||
]
|
||||
);
|
||||
vk.gamma2 = Pairing.G2Point(
|
||||
[
|
||||
12797338069690577808446516054250140565574683028551313720352971263472998915296,
|
||||
20208022052319197615373299594326862684574957199303386410392870171291317902333
|
||||
13277046752313471688255968585488007150536152283305619319249966594057859924122,
|
||||
1540853480038841992778609939618416755409643379500817690706199269912373494426
|
||||
],
|
||||
[
|
||||
9510633293756122824931415204113148296568119183289757074341033791433603022461,
|
||||
13848313324479398811493408106201633294081396281714935002300111704965563936458
|
||||
16195521367762890658515156444872542211791369361419964244676840991686196711549,
|
||||
1050887057282964430320854978389799561269435789211688186694933498698817462348
|
||||
]
|
||||
);
|
||||
vk.delta2 = Pairing.G2Point(
|
||||
[
|
||||
11266660693726079180142591384137499556300910320758103405829939699434501821711,
|
||||
159594287871630790884118904172491478917812927426735012058598943236280092311
|
||||
1662324983131052880488960499832632400354165691268048997945168703365805496815,
|
||||
13662480426324514348188284803730524793155591206442565309405901461008907655891
|
||||
],
|
||||
[
|
||||
707654447428566954854247517328264835096719281326792298268083684720121778002,
|
||||
8298750859219747276182424982921391214869766140065874201121654684399272269872
|
||||
15309139646391078466810181691750047695011680065613748420932752259577867509989,
|
||||
11930459767156654479077330634914217815349186680049037714663239653430389142355
|
||||
]
|
||||
);
|
||||
vk.IC = new Pairing.G1Point[](101);
|
||||
vk.IC = new Pairing.G1Point[](98);
|
||||
vk.IC[0] = Pairing.G1Point(
|
||||
12559857560137645122326787789388304194293993587871847134890494756734887730889,
|
||||
10540836150835001110742597252815405926154507219744289543571939471050967928634
|
||||
1386156676430625766660721327519749365352708612284380407007672518761930314522,
|
||||
5895979564403280714499324620374725835931311522554339174840912272198002116986
|
||||
);
|
||||
vk.IC[1] = Pairing.G1Point(
|
||||
12658759479213995965001162601252332272297201132548324564145207426693527565148,
|
||||
15926932667955163852247956764952692134227328819400283042400340320607443890254
|
||||
174429888906575054944644195492533447677698808764744275768027474986091262795,
|
||||
19449982332092198717836917024306177058078885300180691030479512833448493420426
|
||||
);
|
||||
vk.IC[2] = Pairing.G1Point(
|
||||
9233280406365537882472347091592984624804190391541341875802125235730278068104,
|
||||
15752275523345009693961145001656538975922631355936481038733513488525164988505
|
||||
4940702259943724495655268600320625166138928124318746483111841772203931372898,
|
||||
21300085871907717167823229271273029592921718070696716598133485043371262113949
|
||||
);
|
||||
vk.IC[3] = Pairing.G1Point(
|
||||
21808090471321077445113540295542855177220849182527518892630816833213211110034,
|
||||
20291869163317933772360342832189914678441059039982932543926622212723342658188
|
||||
3970523900986966741454839663423325691036075995128843350657752858925317431017,
|
||||
539367542421702393681320993411652316058906805217114528699814649881160035531
|
||||
);
|
||||
vk.IC[4] = Pairing.G1Point(
|
||||
1681702107650924242939590994184892198098972482270962181163847232267596328979,
|
||||
8557342808420608015163852437969816624820953791079871399330708760568396310181
|
||||
14541643345260800436706406996787362480110194544530475630171161698573516679920,
|
||||
4783331606526584048777066954770982727121131692786538183643102121348439890988
|
||||
);
|
||||
vk.IC[5] = Pairing.G1Point(
|
||||
15827623790091259354160909641747466114900068219744403763028569679077212891836,
|
||||
16047900434997519505683285569042075748171171960928956378651963933769052004008
|
||||
1075474176916105569002317826203973479107209650628777996236377287648466962810,
|
||||
3232058447014508876051800237288950058552252367302714558767792524271099812787
|
||||
);
|
||||
vk.IC[6] = Pairing.G1Point(
|
||||
3871649391107353865241916568957195781306573935564276180600325739625953633118,
|
||||
12287152472530723322413958924122061475582275721639684996612866595376739186461
|
||||
2175834186336017845410894889748902248994354180137067840445873611529706706903,
|
||||
3085466328487208450052471722737790746659231597949473931302689657743879290415
|
||||
);
|
||||
vk.IC[7] = Pairing.G1Point(
|
||||
8377106463810514100685825845356383395677386067510355919238576094169118852098,
|
||||
16519583242327369166921875830238594086615876675834667310581495770465471479636
|
||||
8148131669390700325085948796744014848738121345402965689215540127469598163871,
|
||||
1459937161639492891103296404430347140474089613091612181507607941234824828188
|
||||
);
|
||||
vk.IC[8] = Pairing.G1Point(
|
||||
17256315274839085951460383359477120338705730100085167250100861170794470772637,
|
||||
3419545622500035714248118081256268218279679027326858006315366263619362796192
|
||||
19724824811793942534870544715526571102183990820436521365546859310276823467490,
|
||||
9742652052240076179420483064624381054258687108701843582619502567192627148901
|
||||
);
|
||||
vk.IC[9] = Pairing.G1Point(
|
||||
2593537711230008662417588173639335118988856157197429149412196836978036476028,
|
||||
8538157445492015981727851706347554419011993838886631881562298143422560139294
|
||||
7516612085018412567965384915697804249943140639755254403509406043424863699565,
|
||||
13609389560576142128414010599204241098833066563137827296644138017315963061370
|
||||
);
|
||||
vk.IC[10] = Pairing.G1Point(
|
||||
14477989853705726354071915375794761972851384384757175470793846199714539784558,
|
||||
14079929937676588910688882040816627480763684460772620450631541411202100526288
|
||||
5396430636568898715071511450196374579073195772247524680870475881840606697294,
|
||||
14213494996959147888574066917872324178671816323712570898472101313990748811357
|
||||
);
|
||||
vk.IC[11] = Pairing.G1Point(
|
||||
4908367875710967666263674799257760084919139359752249693676456246609727636200,
|
||||
5893464791638555403716448258880869242115708620115670515122632157362553235348
|
||||
19580033029544330967448763121940485539766629034681462072482784578056476122075,
|
||||
4714739906270684478426827011422485533664415859906533725309733675967596336877
|
||||
);
|
||||
vk.IC[12] = Pairing.G1Point(
|
||||
13892778185221937690942368826832812063265428592570499824044925689738310219507,
|
||||
11461753429365510455202142741940060316305242731650721498478106876233632658526
|
||||
6962906881391363529838287799824200955017681097924230628024324423216037180574,
|
||||
2533319035586796547972968495763128583304226889898155603872302902791149215692
|
||||
);
|
||||
vk.IC[13] = Pairing.G1Point(
|
||||
10682134970087788592471914065872857208315069548941037969986310598376249004732,
|
||||
14820627352105689049749766052640486401273173176923086067015878857939901878602
|
||||
17536765943492961589593406025711160790038974470090381500798551989642376205429,
|
||||
9210978437865389852687238356987463161070296894056858501516143895498895127801
|
||||
);
|
||||
vk.IC[14] = Pairing.G1Point(
|
||||
2119772198982403375642033192857705104561760415182630621394416503820521967779,
|
||||
16584064631567314702849101035907475762114845357796927805769715977242748798669
|
||||
12879519606836370836828899572118098335153146603118228135363495427283082247364,
|
||||
5758811831466689143387239476857856589657131463745229429624027029582131264569
|
||||
);
|
||||
vk.IC[15] = Pairing.G1Point(
|
||||
468001957379087412141235349803020719399535626031098531020103076502018103392,
|
||||
9731847692529878033421967337165792006328738092348010242836175102062482640062
|
||||
15735427660464208356818266871402603071222212568728528929189278663470048519151,
|
||||
18580418584929980580683876981646262205040063567947776691626290499751484842387
|
||||
);
|
||||
vk.IC[16] = Pairing.G1Point(
|
||||
5976854251484892985782710636217625469859800520275598568134507262077496024875,
|
||||
20318938400718660685673332319353492933668237552172622506369401471105652570305
|
||||
16672772973559614591916036849008777420093824711538705835090610899870382314653,
|
||||
8188923103596302037595788157162335200890030912840313545299503026362065475579
|
||||
);
|
||||
vk.IC[17] = Pairing.G1Point(
|
||||
2270094903612716086771825446969605944149896602655214340134275658651750853226,
|
||||
18941736206768559100014313431303112513260697052358590666556859967328261755214
|
||||
3482245003117717783432002198738459699873717589098511868698895399302488358634,
|
||||
19652796079067654964753702546413435895310867146965033514795952134870224747298
|
||||
);
|
||||
vk.IC[18] = Pairing.G1Point(
|
||||
12403449502829396741529042798889605750120840857422439904793273456469011902972,
|
||||
9789585080677337609512672344440040203261250373286666180411916849321683055718
|
||||
9382323532935595934689116629634156851330374962350295158341742092304036335698,
|
||||
291925329935370804008844005614341459550809875961285224043109628983162794811
|
||||
);
|
||||
vk.IC[19] = Pairing.G1Point(
|
||||
5555650403718658868411141337590093679981609731619594603339902419923925020353,
|
||||
20995211797979700202498069667261619609850065140932834745505873830679692372592
|
||||
6912981219684193325373956580555507527124688523637412271688548642710145407324,
|
||||
17719276416320101991178800934805150313358144003174217318902641925424693400899
|
||||
);
|
||||
vk.IC[20] = Pairing.G1Point(
|
||||
17021767833623025872249331730705710377933197645216218331094616026361430597609,
|
||||
21329825675699865933034689118999077871032105338144922154354087349843672509618
|
||||
19266481578774074906374076433526482559085483237651754027979037618702501848415,
|
||||
4864429104782323549403921207719837137283226783050574715140728078210440815125
|
||||
);
|
||||
vk.IC[21] = Pairing.G1Point(
|
||||
13558385097045770902864137581806672992871490316835972998797790572516541506114,
|
||||
5871014328309830011352420589638285888179320152051847574807457074880403066141
|
||||
14887253562463317132282666699497653091722231007983834420246533880775604202046,
|
||||
20039483939999528919395933890813583839636534363798896837987674667077445002909
|
||||
);
|
||||
vk.IC[22] = Pairing.G1Point(
|
||||
16424514168975252965671923544446270352171954723319017563341096325380655713361,
|
||||
10859685700990652881520664344470801502388465114367176442614087797358727366623
|
||||
12508816416091085449368756125649842984927777064057218811145926432353321314907,
|
||||
1029754988093911081347891722709482405445904745087304835816390911520486811458
|
||||
);
|
||||
vk.IC[23] = Pairing.G1Point(
|
||||
5959902219511275843292344410423896996238815584716983284173265190637438847590,
|
||||
9866932316233122640717186062840841537434267117425416230387060170619909871391
|
||||
2005084167017357346303758528212973722634282057561071593677784384715301762428,
|
||||
5542975189718331938312935936918047907052872873683385011086540332580563138005
|
||||
);
|
||||
vk.IC[24] = Pairing.G1Point(
|
||||
1603092778495767604469588986389709237236493500171281056848466995620519963878,
|
||||
10011230165505730565598760395108917820136844145671763984779303282793398036278
|
||||
574144171155849827838725501058774562989672318997217369030672907489094325392,
|
||||
19011911734470524036198981595964567011458551418797935766148211921982472474741
|
||||
);
|
||||
vk.IC[25] = Pairing.G1Point(
|
||||
19445203104268502694085960460918715911378008052266742102134951305696244481932,
|
||||
18844398769848149633147971476338348359312024666594833610275881857280050865385
|
||||
3608292935417210943680485162182048774922203693936402328868647729908340527540,
|
||||
19717618713526912033181757546212053048433914196349054761157402425200075671138
|
||||
);
|
||||
vk.IC[26] = Pairing.G1Point(
|
||||
1911019365654561636810416312706988526422489945391846257575313065585724936388,
|
||||
4328460448192713619136628242809821670510740784986141355766087498495263044440
|
||||
16163461701324146513568429102887561273066181667891291346998415488778690716805,
|
||||
18662884437485380367184050862289985597601843562942757559581184607687570812550
|
||||
);
|
||||
vk.IC[27] = Pairing.G1Point(
|
||||
7308114787300765260833382420461011775799539650740129702114708263446235846501,
|
||||
14889543655495891179002456830623939070826438837228365469197541904090781285175
|
||||
14994566112480375832970198317517069193388049320082571292718031142344097962255,
|
||||
19889898631674322802597671404075063684983733435916365516196892134719573840178
|
||||
);
|
||||
vk.IC[28] = Pairing.G1Point(
|
||||
21639806011468686866574898817328015655531783301049300937998792525082477069075,
|
||||
275600735308784979838399243296684752583895839757668037687219635002720004115
|
||||
736585196548664503732509698047552122038996165424116313982190787863322931826,
|
||||
21019115756986596749277994511714050838771464310078186895547975840389783871138
|
||||
);
|
||||
vk.IC[29] = Pairing.G1Point(
|
||||
20376116057487924525276918026031289707778502172020349017437375506132045737517,
|
||||
19626268801008909613613890378709127489942986964980481543791425928839613527266
|
||||
10974717193636000167380652442472909714934064969981711063607439335825119243469,
|
||||
8613997549030193852101564196304783271636045228187714896154399752466639047526
|
||||
);
|
||||
vk.IC[30] = Pairing.G1Point(
|
||||
13592009692949030004574896973195032080900164083505630280697715821763123369164,
|
||||
5790907420455211091536725334579794280394459354328483860650869413952658359343
|
||||
15515808334102622843044245600125992020384745623672581785591253976335954691668,
|
||||
7056069273753880907078615715739794771659566915279338309055469505277556660014
|
||||
);
|
||||
vk.IC[31] = Pairing.G1Point(
|
||||
1628493535906882612797992608275773632370164503966508208193089026140677105123,
|
||||
13482183750711332376169797918240691246931490543951556091861566531310767503698
|
||||
2026995926214775331423673216302815034683334238220808093286826947311593039794,
|
||||
14548613909100523536915943149130374917224265797462738040649328509010392696205
|
||||
);
|
||||
vk.IC[32] = Pairing.G1Point(
|
||||
18259742122100526632130511216014839454173201065604812935967390249533409095042,
|
||||
5280386665815101163919341992262974722171658412973558382680082465740734248990
|
||||
7347999393948250440988207859344770709243120088530457172274758503515633459971,
|
||||
20430173716253509790919340588694849367500686486837868170440361371544940846857
|
||||
);
|
||||
vk.IC[33] = Pairing.G1Point(
|
||||
6443894117860652890119529010273675480419927094850244013306680814669496732337,
|
||||
11867190429733051312323586554625563629455203502247421507932910643975163792166
|
||||
8726020462171177960911520449113858654607194259478482096783149613868723406121,
|
||||
21109992085518709586188037780336334901483462217597999928530659225385204929051
|
||||
);
|
||||
vk.IC[34] = Pairing.G1Point(
|
||||
14881820047534513998342158226070155246972777382419986458007544494090526092189,
|
||||
21439288798623183508506732895142794473218295271986600930799453199416275082474
|
||||
18759571018089650279499799472273628763502429845355459478077716291216286451672,
|
||||
3061120585842126900115563926687483611216432798358081316062265175950975462706
|
||||
);
|
||||
vk.IC[35] = Pairing.G1Point(
|
||||
6637337966321834484004997695297890794429484223988098988196214552643297179527,
|
||||
4140984639167223308355869685451740772856320877650177711101971172889089529744
|
||||
10081168513618588217797803738246975722763428651743613956930591217530005755308,
|
||||
5223516720621635076713966633725260161024836955550260381664330387742167168437
|
||||
);
|
||||
vk.IC[36] = Pairing.G1Point(
|
||||
14320962606625310252457563082348347637781609365245721306020447239610881132573,
|
||||
4355428558647072618942274565841030436504076288251109685532050786296048117047
|
||||
18623257401997776504806348144872345347118220689716572995578481344526381397027,
|
||||
12738216514382521354381755763633144591976312475306345247101617502260715984300
|
||||
);
|
||||
vk.IC[37] = Pairing.G1Point(
|
||||
15366769631851752354143870656040697905161609081800490314563812863474624292450,
|
||||
4662453582922910336824127766333371939884681188295201896157157328891342699708
|
||||
12613017704259258984783441890484052267798710998400588809375095368441312203177,
|
||||
13154863759245282454936298393415245536123605264867594333724866438497549024170
|
||||
);
|
||||
vk.IC[38] = Pairing.G1Point(
|
||||
17721891774056849019223190636020057314863547956224207111926175144984438341674,
|
||||
6175192763929100699638150965668647330732349761476747365579610301167554102544
|
||||
12709290832361335753305864258009255307237010774441288781285781702671213114765,
|
||||
18349056269309660723886180747727132860619888970885172282384405779461541989577
|
||||
);
|
||||
vk.IC[39] = Pairing.G1Point(
|
||||
12108556731527282476656416278846047917916614928311966513552277657271130491935,
|
||||
12482533820340806038841922711984697523097157464283617092458735682492807434689
|
||||
17447538751610051385783414732492525667137731039071585637687353043409911312358,
|
||||
8705755619226884560464931039313987689788884448049673193589169040745836183092
|
||||
);
|
||||
vk.IC[40] = Pairing.G1Point(
|
||||
18886092892941247857051157848944267364349578158082972696311532364504024371981,
|
||||
19812052634637182218047217965035478162772751733537338114674670792578859230909
|
||||
19903040530418130172724072033663794977209466570949249258688233439835382961705,
|
||||
6538405654339479654547899704613913798731714798978111499534963418797636778536
|
||||
);
|
||||
vk.IC[41] = Pairing.G1Point(
|
||||
3723725291911652431008916713263794352220829189736925775917633975310219729453,
|
||||
20463189283374303708989740698253633548346610467325597828389662987611493042372
|
||||
20190111036656612665976758535510402352901099971723589132364459219237140650804,
|
||||
11657276287181136248459738132957662348970456139200020118947243073509600583324
|
||||
);
|
||||
vk.IC[42] = Pairing.G1Point(
|
||||
13275998810754415624632619359378959965142615339099289942518847164921612336349,
|
||||
955114550629205825342327224716527590631889353685073541925190495009566832234
|
||||
5496409758069382276348459990808117794030958339567169207650726751174822075842,
|
||||
15398624126895562271141819515160389374772951137601086902126706157329463089406
|
||||
);
|
||||
vk.IC[43] = Pairing.G1Point(
|
||||
8127814461915026185786513617437682859742298705009503581737619364170030447116,
|
||||
21815819203989494603085212132332810378548897564403488275705674583099354027961
|
||||
8151283523500801176883094078648061648579761104703136856876223887187491028764,
|
||||
19699576961944733283219819902822060278574556991476755360120251735226112577042
|
||||
);
|
||||
vk.IC[44] = Pairing.G1Point(
|
||||
7487475274169718977265746701319573156726267921915085570273189839189674445754,
|
||||
5201014436553051239372574945567405202353368683371168424706141117865315558571
|
||||
8533704954946914002953946046744749163319734782733169970628585647060058140849,
|
||||
5141897905579649570194799195601184296177984332792452257361194331009931371352
|
||||
);
|
||||
vk.IC[45] = Pairing.G1Point(
|
||||
5924521840605251028718217723025645499739101773307750914599024520374451885719,
|
||||
19428818752090942780423549177176836985207944484638996290285447987180802804701
|
||||
17671515716110934550447360224709626247970759130056552979213535489731669688446,
|
||||
1690274318568461080087753254251786392263489028973782647985819430312525336960
|
||||
);
|
||||
vk.IC[46] = Pairing.G1Point(
|
||||
19236678798478568184257218598238736474256699019074034203560137661980839276026,
|
||||
3139750861809295800845306937286058569462063739980203065998438406055759875643
|
||||
8478603008571616038378551513375406458692917186348304648150064228029895779958,
|
||||
20116202548019188938994896483571557179861045004954664127312673627929525959276
|
||||
);
|
||||
vk.IC[47] = Pairing.G1Point(
|
||||
2418570367199724236587628998150956846382594750061617948621490926643435241166,
|
||||
3127319167851697820463127295938241108917118724647062263004343701785256270853
|
||||
6432981094696267073379852248786055231176785645227335199813013566498759785384,
|
||||
14983269753830770996227222283167931949083546323507335724535651513681318189079
|
||||
);
|
||||
vk.IC[48] = Pairing.G1Point(
|
||||
10909492437751379338188199652628936747937724199500813788942572863509477583010,
|
||||
4833308865394489067757406533756587852982195128697164261612054340912519530021
|
||||
9455507927501800915564496121759986854117031410770932562840240404182614698028,
|
||||
5285955876415145827392451089524707681594893418176652281578834051447348307955
|
||||
);
|
||||
vk.IC[49] = Pairing.G1Point(
|
||||
4625826633705154901376833829227093358179171397356950311175901450119871326092,
|
||||
117381311528237548316177716726652775298685292414608571831406223150392712462
|
||||
20714130644236382051591460208572376019763347755510239498689871430769906890685,
|
||||
18654357373482716030683276562311098400463035289899424564068036000769595694407
|
||||
);
|
||||
vk.IC[50] = Pairing.G1Point(
|
||||
11341370844202293686695076488062249710145992973415434244350913310878091873666,
|
||||
2679592152865543054483479749342604715904461512197943637959128980231382841200
|
||||
16832181157818881181838165095351716004273729658170734148090869509398951353661,
|
||||
13189116767733698206617444976497238961678787103102046696228609244708542732492
|
||||
);
|
||||
vk.IC[51] = Pairing.G1Point(
|
||||
17609783486458107655758975986039577766535204121270405693756192976423973524335,
|
||||
10170503815852453711175195241826129330807849924579505856085876739462624724479
|
||||
8076452889145567190300790005312690920477320514039067078236315139521658556063,
|
||||
890666235559929062329759673773557091924363971646065907430303231638612724999
|
||||
);
|
||||
vk.IC[52] = Pairing.G1Point(
|
||||
13618393604972347384993673349559696624891668790999087327294997970318668323093,
|
||||
8597452137927565226995995089969355848121140362662198798261258182931073349319
|
||||
8358804823290743257390543678494170562797974621132658774911399394185092545208,
|
||||
20752753364958656771514688460585465011660082299985374260145811301437669043257
|
||||
);
|
||||
vk.IC[53] = Pairing.G1Point(
|
||||
1369052766836407521905711845908024536009180793492574158258994707081494629126,
|
||||
5291609899883605798795618997799719454716671977081560623022622321418203167294
|
||||
431866034143667612182321520413242716471591638473939166320447500693829929824,
|
||||
13272258147627911088702851414812922302256821216107539459911504860535837022135
|
||||
);
|
||||
vk.IC[54] = Pairing.G1Point(
|
||||
17476288512285277772225244608787933636200743838838180917949789071831401016014,
|
||||
6832015928227769155216978404915572773960282476794917046601166303693051471745
|
||||
9173989288857204293038005754886211674464077439638776033201321349164196474616,
|
||||
9129103250645493108241162941947967350521408326116971248120638209361233930192
|
||||
);
|
||||
vk.IC[55] = Pairing.G1Point(
|
||||
21058356558830289350565492498601960315583764018539526572244572347296204478038,
|
||||
17800635316802079857985933967175756927585005558861771454945139618335207360711
|
||||
14370826205941952851735365552127894021162133888463493633318496244143095511040,
|
||||
1651163962095785808536509256199563475789494126010520314335456260358111804976
|
||||
);
|
||||
vk.IC[56] = Pairing.G1Point(
|
||||
18887475735208246902422084857021154587515200986100034744871684624373946415913,
|
||||
3650665502072512890897429420208767872268785767071942030996307571559141487708
|
||||
12951186966437270849914379924115857496875963456775592910919046812882705115830,
|
||||
16465255691963080311345885861560112122320977883916615486276340659371056324863
|
||||
);
|
||||
vk.IC[57] = Pairing.G1Point(
|
||||
15304064583441452978954055182325447214811873398750472936801929759372769521146,
|
||||
17092533988014354887696753785030909830699886830432410934834150980380514405170
|
||||
3283421748134600628821861152296048618970465417807515877620876335991742901315,
|
||||
321535500846302427006164553338203893489982138176792264731766129421299212286
|
||||
);
|
||||
vk.IC[58] = Pairing.G1Point(
|
||||
16354407224230673074519339586655638610503081836647667623814986520923128018304,
|
||||
14634681859267375125892101837735696597319439744437447535401719559097971351455
|
||||
16855387142616687237143755251732902794908605199755471474196892846417162793353,
|
||||
6761300099779160392813801467707189572028647758855510242027256178070516219805
|
||||
);
|
||||
vk.IC[59] = Pairing.G1Point(
|
||||
12585902321015589710750473831345538579594885660392175544266943980185107256475,
|
||||
16846205462256028916608587497640916256009966086610491220765532912482788390078
|
||||
15257833521992801874267530841829063197963470852447328292085028034633128521860,
|
||||
2677084778946138423753273144604322607349537157189860183844829718089957601689
|
||||
);
|
||||
vk.IC[60] = Pairing.G1Point(
|
||||
2836547022425044839446597422595984953559741793057146651032784897916670862069,
|
||||
14680012359072743282778864393068598563840082316045178716989359524680577165475
|
||||
12162232048810887816633786290513237732818779568650791939302917523152130208608,
|
||||
21333612874220018324963566977200031875031579203366186578790260941880595484190
|
||||
);
|
||||
vk.IC[61] = Pairing.G1Point(
|
||||
18393769942279282096214366696214413150699038871158688647211565624514527849392,
|
||||
7981636551400248764661025095601068852514128948613622986065038662691862387376
|
||||
3391460336279928586355347127909680776960941614168264915045172621785079485704,
|
||||
12982837279076354859831048030572798151280294385261501888099056857982051493723
|
||||
);
|
||||
vk.IC[62] = Pairing.G1Point(
|
||||
10161078628644772598592962445722855578830661774777967820495819026431002518978,
|
||||
4370368967094023783400667941476469380409134561441586711173238550029390078353
|
||||
15657943681489382687201670166559198773174544761807418817146753024083872167923,
|
||||
18015415673040996199684319960118318566240959606331772073882264856214095914848
|
||||
);
|
||||
vk.IC[63] = Pairing.G1Point(
|
||||
15991382879423061578448912025088146061472641152821240476698212938417185043590,
|
||||
18528810281409510059333307827296819647613027561293767272468138362600263910549
|
||||
8764939161163047254075099233130913745881634109004943576089798043960197509190,
|
||||
8107199767148537717254346850921330983657137386989043360271851202867981408937
|
||||
);
|
||||
vk.IC[64] = Pairing.G1Point(
|
||||
13488558318757673080630118417722258367210955494845688715526714694383764632691,
|
||||
10768365596290933051792097181200388080820860152849956405537111876553748533095
|
||||
10021072243678930222406582984936927324952592680308844821701808488346598011536,
|
||||
18628636656506555862260913227929463140408813957986050071538961255104712647438
|
||||
);
|
||||
vk.IC[65] = Pairing.G1Point(
|
||||
6294570834404379157120404560626050945001702167718369151449240697461399207765,
|
||||
15262692464738031660590757261876215632944396848801632595263420988013425649164
|
||||
17321445808461122141320330203945732558478795973243070098294285860455518065400,
|
||||
16836801211792107863813977849708073042443024384474661086287213089562566255496
|
||||
);
|
||||
vk.IC[66] = Pairing.G1Point(
|
||||
5254670366770595355569466561966025019365199127587454188257730813806778861067,
|
||||
5639616150685136047185423867058269716038127649009044566452559645581371798232
|
||||
6861883922532910695796926319034380512803020100037212756359821156112905138580,
|
||||
4119726663248857193393003082612555725457402139141352624262468551517744622172
|
||||
);
|
||||
vk.IC[67] = Pairing.G1Point(
|
||||
2400100796099387260745572593392152325140535099144522997314085534858057202680,
|
||||
10533470923933987502111425539154459595857278505795487806706476804277800520038
|
||||
20779722207278452530034931086404649516930804730094114642064752236829364601447,
|
||||
923216039876130666302755287286364480134410103154729240965964497426983067027
|
||||
);
|
||||
vk.IC[68] = Pairing.G1Point(
|
||||
12935282714460277342114665201409752315488661294431207384670060552874438335158,
|
||||
828501777107482430943914474918568920393042113401745586134081630861783455815
|
||||
18223166030017443686801675867411730766342079179157572962560303448024540378873,
|
||||
19137631582171918191178945920059761447327783213698872810575523895658550121438
|
||||
);
|
||||
vk.IC[69] = Pairing.G1Point(
|
||||
3618107037133662130747042116616178538201174837185816495502426503643421771480,
|
||||
9810304793163420473046485569772617330611338546359940735484483613688208767100
|
||||
19280775121328851013552281475852868120438320598442383749752027288009797861226,
|
||||
12490038968016646741084557672265847583317098207883228839969661867319900663938
|
||||
);
|
||||
vk.IC[70] = Pairing.G1Point(
|
||||
11847365271961743112246538565264415572626267982126675499909493380730378601211,
|
||||
14443215701231430129607739720838768432913949491784252387386453049974072161304
|
||||
15266937199766366472290794995102829438088329284982774063851360931479775159611,
|
||||
13689004097893574081491974026588805143385995491553380346109157632864045768875
|
||||
);
|
||||
vk.IC[71] = Pairing.G1Point(
|
||||
19379915436956259538203796966944433337314602904685604687960094736042649548850,
|
||||
21731282089782595946507974582620161483135781361201699367390693612118206763166
|
||||
17127411247775554441458092526202757327238548637076996720303283409273103437241,
|
||||
10596065368731694429534822719625874694561881193931687112659878038042780625711
|
||||
);
|
||||
vk.IC[72] = Pairing.G1Point(
|
||||
8670582306602957602139524430520615232224626571924879767989932788601657839705,
|
||||
20240028149930178111462288386187661110065256257878495499833413530580948192186
|
||||
20787730078931630052831457097859925558304786674420765003148675017286328663454,
|
||||
4766261406083257091458978020157041851129907303478874471741979469684861357286
|
||||
);
|
||||
vk.IC[73] = Pairing.G1Point(
|
||||
19262157674978253529639757124209766280653698409733333105849034575557766075911,
|
||||
18725662471334144719357179778861522927362841480715456595808944062597734164275
|
||||
7658787061468359549149413908281153599600426600224344615749437495818897340061,
|
||||
19492153087231292728213440771478900053083907495283660596623580137450879415100
|
||||
);
|
||||
vk.IC[74] = Pairing.G1Point(
|
||||
11937351694275207805677793096189119640182395483145378829494130992045932932402,
|
||||
5149272607548704818551955758867493163087655822305808745009971890956465302791
|
||||
2659875083118001544715497837457590514140432874048404892210543537504037071661,
|
||||
15950956910927529441229027517507989615611330940703370326686704858035089993977
|
||||
);
|
||||
vk.IC[75] = Pairing.G1Point(
|
||||
11285338166073136340379912263641508759210185975865523694926277700656594983644,
|
||||
5262459907463066682994761139940562703101782582158732741180946102279509050491
|
||||
894399989010319765961292956333169984328533949797732202422998120207741013782,
|
||||
20592958484709720804789976380652330981257235977335874841811437076585969381001
|
||||
);
|
||||
vk.IC[76] = Pairing.G1Point(
|
||||
14994531650932758871093989350546205547229807289967028407117565052239974368698,
|
||||
14979877544220660228096614568276545551309086537594372178701202957917993083782
|
||||
20463015942337846506404366208676722951112664440577043884221657224419349265426,
|
||||
6421219926717668723328940652796576549618654759959257419184397188890959888254
|
||||
);
|
||||
vk.IC[77] = Pairing.G1Point(
|
||||
18931373465063016006121147683817814466552635911668031136571217299991600857607,
|
||||
20616092188597992274873866725265078081992714549906685698186638821742655966006
|
||||
9120006372090123874675982389686869282084694298376106330824231921836495845409,
|
||||
15465095824110179992312247621712212010265469017852248921480310833628600196157
|
||||
);
|
||||
vk.IC[78] = Pairing.G1Point(
|
||||
16223759085688278400243737214298940025086302967245013976512729188869096169439,
|
||||
8000347989417858696194529542521801256538999085466241451994717760398357025237
|
||||
20878479603359665116911215284012493370991345348316318380338256326707347229536,
|
||||
4023483592190020939497447440294056485175982685635791231809180749028140340638
|
||||
);
|
||||
vk.IC[79] = Pairing.G1Point(
|
||||
623443864713442841981849089448604141181773933775966914579776605230250032497,
|
||||
2379999033595175627263823931205226554474139461391422077483569058966826408345
|
||||
8597284910335812117769054177782693879835500749625261064784252225098566359260,
|
||||
1994440743925322001344248550218761689604854304576917328729121903199340521566
|
||||
);
|
||||
vk.IC[80] = Pairing.G1Point(
|
||||
21226775635762391344854052525875686072078791247455126973907668311431835458639,
|
||||
17027178338091034635381390209421024984033427567419893813056709396110422687589
|
||||
7226426264671955929078859416556503158659896696978967948922009868308681953328,
|
||||
5002887692172752997421567561731103949750630834248867239253107045744551201397
|
||||
);
|
||||
vk.IC[81] = Pairing.G1Point(
|
||||
4406531262486869929739147572658540207438262627402337401159835776875728663789,
|
||||
220385918634829015545468867180066353049242465866175752563162610148191013434
|
||||
8163659204347449052568944424719246353276866468717985570811227109999390783526,
|
||||
2423554439374965365549822958553913623548960716554949332971802593317970068208
|
||||
);
|
||||
vk.IC[82] = Pairing.G1Point(
|
||||
9797207478561423315143138309744701334893639486137377802308890232992477513720,
|
||||
2586950816627416917451641234260253308949163330009005231120465814213477098084
|
||||
1452926204022804055491637328319845396827870792644285034170433031762060878731,
|
||||
4515541462700718639411085202358475754243785926272495802232114060028112391704
|
||||
);
|
||||
vk.IC[83] = Pairing.G1Point(
|
||||
15309200365081882408231201087428425254163549204077840425964328690772346033670,
|
||||
1420653871088013895417137322639493713879329388707684458719358558188436055909
|
||||
10425052225329871422199244352265298427973414162141911718953442959319724848059,
|
||||
6000980400205901551254828664011101250210525131160335488511361553516655902490
|
||||
);
|
||||
vk.IC[84] = Pairing.G1Point(
|
||||
5395748123924977912477727326786701019012034070214199738229322577914878760547,
|
||||
7628200684351438536743882074776075848369438315729954233891518806298773543307
|
||||
3443318109975964447008176890335731705529322253119216155023763429975158085456,
|
||||
21667811197670469631232954863890416289566410095141706262390806877014912268732
|
||||
);
|
||||
vk.IC[85] = Pairing.G1Point(
|
||||
352873088429432859429827976930730144447342272143569996853788758955913360951,
|
||||
13557940319268929136671986360637249073021349865497838232871747533161773674948
|
||||
11012015869641066138899933574589113596936265876486762743315648962963495824732,
|
||||
17255543862480532041551281296396472142322479563450509347024960074045362179060
|
||||
);
|
||||
vk.IC[86] = Pairing.G1Point(
|
||||
20390847446322870632012348429141050569716681622655209013227534192933040047286,
|
||||
16601725957725371315244958994186136321295718657589978469349981368781290668594
|
||||
15356674987302087761214804729834932350868870076692636651461027280636953611115,
|
||||
106117314594064361971425646139042972248859283384292253606696261962696377665
|
||||
);
|
||||
vk.IC[87] = Pairing.G1Point(
|
||||
10171244392133486272864208287484656347521017906039416227854049812946279320105,
|
||||
2630827206962916085171272711240866826225252545527472551573751508980174876091
|
||||
19394337841622616135946277478438753742631263129950419370472461951284656870437,
|
||||
18658921822284494457486069764820562705515256999764362724356266226041497733846
|
||||
);
|
||||
vk.IC[88] = Pairing.G1Point(
|
||||
16352531007904215608094300232648495143595817948682623907427871458784950883796,
|
||||
16993693916466767903607317444132484836266649207098497892404903026424443571716
|
||||
19875109758700507740317077711867102397002017483813266849042947928472067707358,
|
||||
19410883671720154448415997196283075716793971043467577411686702678513758313202
|
||||
);
|
||||
vk.IC[89] = Pairing.G1Point(
|
||||
603223061726511291440476385657363196101553796742553306946625645081493057269,
|
||||
13685063534092212994103810927659411074476571548106779360960364193910339420723
|
||||
7249713751934247391364446379816208988062392543310362185047382861082689029853,
|
||||
15650473527588496827417556647724864391410175426412916274036894124836771437372
|
||||
);
|
||||
vk.IC[90] = Pairing.G1Point(
|
||||
20482788618592301804362137780552543066760313879343668976341131329158666578335,
|
||||
10119970067501433949931252516195299415177432098847426604939527819895209325599
|
||||
10681784480850187071361190982043613309470613382346001095644109815254178261562,
|
||||
21463186786189007954888872290310300639849300805770275708108444072996981167758
|
||||
);
|
||||
vk.IC[91] = Pairing.G1Point(
|
||||
2286917222416974411137929857213038335498658734765087792683880526591855212682,
|
||||
8386238751216926859196104203141517321604366389861372745269174839337885898975
|
||||
2236471884703014171599710044819634924237606371553705429021763383635629939512,
|
||||
8591793843410995494533247352157879065992731222902203603345134905701260856709
|
||||
);
|
||||
vk.IC[92] = Pairing.G1Point(
|
||||
15324926480317494716032023374514633735806847765119736427811010194963001692421,
|
||||
10189091463447429155875471067647784384205623678977633060470897435180531628153
|
||||
19527584213761472463971374073739673431341601035403206019474791549273088278339,
|
||||
17023146508154304148121691671727331328909786836109367376841186597185724956581
|
||||
);
|
||||
vk.IC[93] = Pairing.G1Point(
|
||||
19735006490529947214832901256389474816550406461720124117769379813998530963613,
|
||||
19195008944688234958527214663405723410047176990567036258258453159107662227963
|
||||
13014073780365318482787844435657644319669081253207330065868995816477880130774,
|
||||
7445666461778273821119755595191049214876947852015119252135282618289816306885
|
||||
);
|
||||
vk.IC[94] = Pairing.G1Point(
|
||||
3773047036482552425932436266063563132694524670151434200639461194180781141756,
|
||||
1123197365687992723762170002716778183937672523336845843814102502661718722217
|
||||
12572056578214122696110853014461970380570794921497586679104888016792687653897,
|
||||
4719197114816095442488216520733780832840070057650826491567278989945747530502
|
||||
);
|
||||
vk.IC[95] = Pairing.G1Point(
|
||||
14790301436962306445742567184681328955778087717603783082398421514413106175959,
|
||||
3664262733113936439151537901275565274617302021345114406122049344244233132731
|
||||
16403748676169345391285149130393817667502440052483475786225216623710841245155,
|
||||
662053335174191665497628974718863306486637341349159158533932987069502165029
|
||||
);
|
||||
vk.IC[96] = Pairing.G1Point(
|
||||
7495743442452609231032661340728478229362466212014591137686159112363208668777,
|
||||
10251074652941314300740989711880914433717637456150656228254458047351225953486
|
||||
17138980304892429856246490017005560669710783569541041650327401681838238378449,
|
||||
9291405839197739071712757020744264998332332192064696611245414441329433805436
|
||||
);
|
||||
vk.IC[97] = Pairing.G1Point(
|
||||
12991196094489557947450463221167441136828652071786536768418099339232436003142,
|
||||
2681647771395556588691524032966418546665225547190996070629047477265207346855
|
||||
);
|
||||
vk.IC[98] = Pairing.G1Point(
|
||||
17954690883096938828060234193965975290699093120389901540291552765387478654653,
|
||||
13949701574189136535120046399140852023755864585250094436654725028812386703504
|
||||
);
|
||||
vk.IC[99] = Pairing.G1Point(
|
||||
6026273861623455551050623210276804173703022085693153508904372896159829096394,
|
||||
1781686254775648768045384902355242197382883159277642260121721641318534031512
|
||||
);
|
||||
vk.IC[100] = Pairing.G1Point(
|
||||
2883336496924528435374250979286473163150430963168096134363354458270160268956,
|
||||
6830892926711966851101701577055790982801152188763943324837126760195364273175
|
||||
6594423345144626172531684508535057814902607027465847698107011859735578724064,
|
||||
1609167828729266896521507304269994081996148238161423140896831053169366858561
|
||||
);
|
||||
}
|
||||
|
||||
@@ -706,7 +694,7 @@ contract Verifier {
|
||||
uint[2] memory a,
|
||||
uint[2][2] memory b,
|
||||
uint[2] memory c,
|
||||
uint[100] memory input
|
||||
uint[97] memory input
|
||||
) public view returns (bool r) {
|
||||
Proof memory proof;
|
||||
proof.A = Pairing.G1Point(a[0], a[1]);
|
||||
|
||||
@@ -5,22 +5,22 @@ import { ethers } from "hardhat";
|
||||
|
||||
const exampleCorrectProof = {
|
||||
a: [
|
||||
"0x15f4ea8cf806ff321c79c770d70165ef130fccb7231ca7d8396cc2c9acfbfef3",
|
||||
"0x1cdbaf59a0439d55f19162ee0be5a501f5b55c669a6e1f8d27b75d95ff31ff7a",
|
||||
"0x0c7141194fa7a5a26dd3834bd9490908286e3c772dcaecca314b74a58a222642",
|
||||
"0x0494611f581503a05ebd4e8fe17e9c7ec05a0c022081bbe6115a6bf8afcd8c19",
|
||||
],
|
||||
b: [
|
||||
[
|
||||
"0x2fa5945db4fe42630e540aca0b52fa91550225661ec14b30e9290e8cc4c006ce",
|
||||
"0x08502cfa4e977b397de55d148efecc366b8f701ae0455c5d158e7224d4b620f5",
|
||||
"0x01b8ab498c66a313e3320b0a65d94ab35e4be73616a56b33685415e5b312cb57",
|
||||
"0x071417e130b6f8c45cee4644adbb90ae62c542ec26fa83377b86fadfe737cddc",
|
||||
],
|
||||
[
|
||||
"0x2c2fdaf638978c81b62e186a277ebfd63320ad51237189b6f1127815c9bd69ea",
|
||||
"0x0199e25994718805934b95572c445cfee0434a3cca864af5268cf45b13923da3",
|
||||
"0x2d991227175693d047f1e976af6986a58aa313d75677a0e70939b3ddb1912df2",
|
||||
"0x1326e7a60a10320b5477d3bbc824121d1cbf2381293a09bf82ff5418897d7706",
|
||||
],
|
||||
],
|
||||
c: [
|
||||
"0x0e69337d51746e684f43cee76467cad16b533e86f3f1f2ce34f356f2948af1cd",
|
||||
"0x12087004e49b03d21e7dff8a9e500e265b611ad7a4d41b30c738bea0a9604d02",
|
||||
"0x19912bf5bfee2e72d3cc357fa6b94741ba70bb9e25ca72922cc23cef79adab68",
|
||||
"0x1dc4caae04391e8d72f288970e195f1d317476a1890977083d8db832c5a6552a",
|
||||
],
|
||||
input: [
|
||||
"0x0000000000000000000000000000000000000000000000000000000000010001",
|
||||
@@ -119,10 +119,7 @@ const exampleCorrectProof = {
|
||||
"0x000000000000000000000000000000000000000000000000094a9b9ecf98e97e",
|
||||
"0x0000000000000000000000000000000000000000000000009e8ce7916ab0fb0b",
|
||||
"0x000000000000000000000000000000000000000000000000df11ba06d7937a05",
|
||||
"0x0000000000000000000000000000000000000000000000009e0f750e8490c6e7",
|
||||
"0x0000000000000000000000000000000000000000000000006fe837ecd0edeee6",
|
||||
"0x0000000000000000000000000000000000000000000000001b394beb60bbc302",
|
||||
"0x0000000000000000000000000000000000000000000000009671c5d47b0eeac9",
|
||||
"0x00000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8",
|
||||
],
|
||||
};
|
||||
|
||||
@@ -137,6 +134,8 @@ describe("ProofOfBaguette", function () {
|
||||
const Verifier = await ethers.getContractFactory("Verifier");
|
||||
const verifier = await Verifier.deploy();
|
||||
|
||||
console.log("otherAccount", otherAccount.address);
|
||||
console.log("owner", owner.address);
|
||||
await verifier.deployed();
|
||||
|
||||
console.log(`RsaSha256Verifier deployed to ${verifier.address}`);
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
. "$(dirname -- "$0")/_/husky.sh"
|
||||
|
||||
cd frontend && yarn test && yarn pretty-quick --staged
|
||||
@@ -4,15 +4,18 @@ include "../circom-bigint/circomlib/circuits/bitify.circom";
|
||||
// Pkcs1v15 + Sha256
|
||||
// exp 65537
|
||||
template RsaVerifyPkcs1v15(w, nb, e_bits, hashLen) {
|
||||
signal private input hashed[hashLen];
|
||||
signal input exp[nb];
|
||||
signal input sign[nb];
|
||||
signal input modulus[nb];
|
||||
|
||||
signal input hashed[hashLen];
|
||||
// signal input hashed[hashLen];
|
||||
|
||||
signal input address;
|
||||
|
||||
// sign ** exp mod modulus
|
||||
component pm = PowerModv2(w, nb, e_bits);
|
||||
for (var i = 0; i < nb; i++) {
|
||||
for (var i = 0; i < nb; i++) {
|
||||
pm.base[i] <== sign[i];
|
||||
pm.exp[i] <== exp[i];
|
||||
pm.modulus[i] <== modulus[i];
|
||||
|
||||
@@ -174,112 +174,109 @@ contract Verifier {
|
||||
Pairing.G1Point C;
|
||||
}
|
||||
function verifyingKey() internal pure returns (VerifyingKey memory vk) {
|
||||
vk.alfa1 = Pairing.G1Point(3729759902613158737584667451763372650786205291355292152976183853465281741568,12141818571021242890877607823917100116000365301195201631232395613768357031550);
|
||||
vk.beta2 = Pairing.G2Point([13136239927450321420640914360716128650905558296901801053963909067006351325961,15158152606360031483103218567077180987695153184296747211468761930524229437793], [5915853304591152121704470374932450228803136872189869158933925105543608134284,15730504375151781974211308982636760944102253372011186196057356583318925951174]);
|
||||
vk.gamma2 = Pairing.G2Point([12797338069690577808446516054250140565574683028551313720352971263472998915296,20208022052319197615373299594326862684574957199303386410392870171291317902333], [9510633293756122824931415204113148296568119183289757074341033791433603022461,13848313324479398811493408106201633294081396281714935002300111704965563936458]);
|
||||
vk.delta2 = Pairing.G2Point([11266660693726079180142591384137499556300910320758103405829939699434501821711,159594287871630790884118904172491478917812927426735012058598943236280092311], [707654447428566954854247517328264835096719281326792298268083684720121778002,8298750859219747276182424982921391214869766140065874201121654684399272269872]);
|
||||
vk.IC = new Pairing.G1Point[](101);
|
||||
vk.IC[0] = Pairing.G1Point(12559857560137645122326787789388304194293993587871847134890494756734887730889,10540836150835001110742597252815405926154507219744289543571939471050967928634);
|
||||
vk.IC[1] = Pairing.G1Point(12658759479213995965001162601252332272297201132548324564145207426693527565148,15926932667955163852247956764952692134227328819400283042400340320607443890254);
|
||||
vk.IC[2] = Pairing.G1Point(9233280406365537882472347091592984624804190391541341875802125235730278068104,15752275523345009693961145001656538975922631355936481038733513488525164988505);
|
||||
vk.IC[3] = Pairing.G1Point(21808090471321077445113540295542855177220849182527518892630816833213211110034,20291869163317933772360342832189914678441059039982932543926622212723342658188);
|
||||
vk.IC[4] = Pairing.G1Point(1681702107650924242939590994184892198098972482270962181163847232267596328979,8557342808420608015163852437969816624820953791079871399330708760568396310181);
|
||||
vk.IC[5] = Pairing.G1Point(15827623790091259354160909641747466114900068219744403763028569679077212891836,16047900434997519505683285569042075748171171960928956378651963933769052004008);
|
||||
vk.IC[6] = Pairing.G1Point(3871649391107353865241916568957195781306573935564276180600325739625953633118,12287152472530723322413958924122061475582275721639684996612866595376739186461);
|
||||
vk.IC[7] = Pairing.G1Point(8377106463810514100685825845356383395677386067510355919238576094169118852098,16519583242327369166921875830238594086615876675834667310581495770465471479636);
|
||||
vk.IC[8] = Pairing.G1Point(17256315274839085951460383359477120338705730100085167250100861170794470772637,3419545622500035714248118081256268218279679027326858006315366263619362796192);
|
||||
vk.IC[9] = Pairing.G1Point(2593537711230008662417588173639335118988856157197429149412196836978036476028,8538157445492015981727851706347554419011993838886631881562298143422560139294);
|
||||
vk.IC[10] = Pairing.G1Point(14477989853705726354071915375794761972851384384757175470793846199714539784558,14079929937676588910688882040816627480763684460772620450631541411202100526288);
|
||||
vk.IC[11] = Pairing.G1Point(4908367875710967666263674799257760084919139359752249693676456246609727636200,5893464791638555403716448258880869242115708620115670515122632157362553235348);
|
||||
vk.IC[12] = Pairing.G1Point(13892778185221937690942368826832812063265428592570499824044925689738310219507,11461753429365510455202142741940060316305242731650721498478106876233632658526);
|
||||
vk.IC[13] = Pairing.G1Point(10682134970087788592471914065872857208315069548941037969986310598376249004732,14820627352105689049749766052640486401273173176923086067015878857939901878602);
|
||||
vk.IC[14] = Pairing.G1Point(2119772198982403375642033192857705104561760415182630621394416503820521967779,16584064631567314702849101035907475762114845357796927805769715977242748798669);
|
||||
vk.IC[15] = Pairing.G1Point(468001957379087412141235349803020719399535626031098531020103076502018103392,9731847692529878033421967337165792006328738092348010242836175102062482640062);
|
||||
vk.IC[16] = Pairing.G1Point(5976854251484892985782710636217625469859800520275598568134507262077496024875,20318938400718660685673332319353492933668237552172622506369401471105652570305);
|
||||
vk.IC[17] = Pairing.G1Point(2270094903612716086771825446969605944149896602655214340134275658651750853226,18941736206768559100014313431303112513260697052358590666556859967328261755214);
|
||||
vk.IC[18] = Pairing.G1Point(12403449502829396741529042798889605750120840857422439904793273456469011902972,9789585080677337609512672344440040203261250373286666180411916849321683055718);
|
||||
vk.IC[19] = Pairing.G1Point(5555650403718658868411141337590093679981609731619594603339902419923925020353,20995211797979700202498069667261619609850065140932834745505873830679692372592);
|
||||
vk.IC[20] = Pairing.G1Point(17021767833623025872249331730705710377933197645216218331094616026361430597609,21329825675699865933034689118999077871032105338144922154354087349843672509618);
|
||||
vk.IC[21] = Pairing.G1Point(13558385097045770902864137581806672992871490316835972998797790572516541506114,5871014328309830011352420589638285888179320152051847574807457074880403066141);
|
||||
vk.IC[22] = Pairing.G1Point(16424514168975252965671923544446270352171954723319017563341096325380655713361,10859685700990652881520664344470801502388465114367176442614087797358727366623);
|
||||
vk.IC[23] = Pairing.G1Point(5959902219511275843292344410423896996238815584716983284173265190637438847590,9866932316233122640717186062840841537434267117425416230387060170619909871391);
|
||||
vk.IC[24] = Pairing.G1Point(1603092778495767604469588986389709237236493500171281056848466995620519963878,10011230165505730565598760395108917820136844145671763984779303282793398036278);
|
||||
vk.IC[25] = Pairing.G1Point(19445203104268502694085960460918715911378008052266742102134951305696244481932,18844398769848149633147971476338348359312024666594833610275881857280050865385);
|
||||
vk.IC[26] = Pairing.G1Point(1911019365654561636810416312706988526422489945391846257575313065585724936388,4328460448192713619136628242809821670510740784986141355766087498495263044440);
|
||||
vk.IC[27] = Pairing.G1Point(7308114787300765260833382420461011775799539650740129702114708263446235846501,14889543655495891179002456830623939070826438837228365469197541904090781285175);
|
||||
vk.IC[28] = Pairing.G1Point(21639806011468686866574898817328015655531783301049300937998792525082477069075,275600735308784979838399243296684752583895839757668037687219635002720004115);
|
||||
vk.IC[29] = Pairing.G1Point(20376116057487924525276918026031289707778502172020349017437375506132045737517,19626268801008909613613890378709127489942986964980481543791425928839613527266);
|
||||
vk.IC[30] = Pairing.G1Point(13592009692949030004574896973195032080900164083505630280697715821763123369164,5790907420455211091536725334579794280394459354328483860650869413952658359343);
|
||||
vk.IC[31] = Pairing.G1Point(1628493535906882612797992608275773632370164503966508208193089026140677105123,13482183750711332376169797918240691246931490543951556091861566531310767503698);
|
||||
vk.IC[32] = Pairing.G1Point(18259742122100526632130511216014839454173201065604812935967390249533409095042,5280386665815101163919341992262974722171658412973558382680082465740734248990);
|
||||
vk.IC[33] = Pairing.G1Point(6443894117860652890119529010273675480419927094850244013306680814669496732337,11867190429733051312323586554625563629455203502247421507932910643975163792166);
|
||||
vk.IC[34] = Pairing.G1Point(14881820047534513998342158226070155246972777382419986458007544494090526092189,21439288798623183508506732895142794473218295271986600930799453199416275082474);
|
||||
vk.IC[35] = Pairing.G1Point(6637337966321834484004997695297890794429484223988098988196214552643297179527,4140984639167223308355869685451740772856320877650177711101971172889089529744);
|
||||
vk.IC[36] = Pairing.G1Point(14320962606625310252457563082348347637781609365245721306020447239610881132573,4355428558647072618942274565841030436504076288251109685532050786296048117047);
|
||||
vk.IC[37] = Pairing.G1Point(15366769631851752354143870656040697905161609081800490314563812863474624292450,4662453582922910336824127766333371939884681188295201896157157328891342699708);
|
||||
vk.IC[38] = Pairing.G1Point(17721891774056849019223190636020057314863547956224207111926175144984438341674,6175192763929100699638150965668647330732349761476747365579610301167554102544);
|
||||
vk.IC[39] = Pairing.G1Point(12108556731527282476656416278846047917916614928311966513552277657271130491935,12482533820340806038841922711984697523097157464283617092458735682492807434689);
|
||||
vk.IC[40] = Pairing.G1Point(18886092892941247857051157848944267364349578158082972696311532364504024371981,19812052634637182218047217965035478162772751733537338114674670792578859230909);
|
||||
vk.IC[41] = Pairing.G1Point(3723725291911652431008916713263794352220829189736925775917633975310219729453,20463189283374303708989740698253633548346610467325597828389662987611493042372);
|
||||
vk.IC[42] = Pairing.G1Point(13275998810754415624632619359378959965142615339099289942518847164921612336349,955114550629205825342327224716527590631889353685073541925190495009566832234);
|
||||
vk.IC[43] = Pairing.G1Point(8127814461915026185786513617437682859742298705009503581737619364170030447116,21815819203989494603085212132332810378548897564403488275705674583099354027961);
|
||||
vk.IC[44] = Pairing.G1Point(7487475274169718977265746701319573156726267921915085570273189839189674445754,5201014436553051239372574945567405202353368683371168424706141117865315558571);
|
||||
vk.IC[45] = Pairing.G1Point(5924521840605251028718217723025645499739101773307750914599024520374451885719,19428818752090942780423549177176836985207944484638996290285447987180802804701);
|
||||
vk.IC[46] = Pairing.G1Point(19236678798478568184257218598238736474256699019074034203560137661980839276026,3139750861809295800845306937286058569462063739980203065998438406055759875643);
|
||||
vk.IC[47] = Pairing.G1Point(2418570367199724236587628998150956846382594750061617948621490926643435241166,3127319167851697820463127295938241108917118724647062263004343701785256270853);
|
||||
vk.IC[48] = Pairing.G1Point(10909492437751379338188199652628936747937724199500813788942572863509477583010,4833308865394489067757406533756587852982195128697164261612054340912519530021);
|
||||
vk.IC[49] = Pairing.G1Point(4625826633705154901376833829227093358179171397356950311175901450119871326092,117381311528237548316177716726652775298685292414608571831406223150392712462);
|
||||
vk.IC[50] = Pairing.G1Point(11341370844202293686695076488062249710145992973415434244350913310878091873666,2679592152865543054483479749342604715904461512197943637959128980231382841200);
|
||||
vk.IC[51] = Pairing.G1Point(17609783486458107655758975986039577766535204121270405693756192976423973524335,10170503815852453711175195241826129330807849924579505856085876739462624724479);
|
||||
vk.IC[52] = Pairing.G1Point(13618393604972347384993673349559696624891668790999087327294997970318668323093,8597452137927565226995995089969355848121140362662198798261258182931073349319);
|
||||
vk.IC[53] = Pairing.G1Point(1369052766836407521905711845908024536009180793492574158258994707081494629126,5291609899883605798795618997799719454716671977081560623022622321418203167294);
|
||||
vk.IC[54] = Pairing.G1Point(17476288512285277772225244608787933636200743838838180917949789071831401016014,6832015928227769155216978404915572773960282476794917046601166303693051471745);
|
||||
vk.IC[55] = Pairing.G1Point(21058356558830289350565492498601960315583764018539526572244572347296204478038,17800635316802079857985933967175756927585005558861771454945139618335207360711);
|
||||
vk.IC[56] = Pairing.G1Point(18887475735208246902422084857021154587515200986100034744871684624373946415913,3650665502072512890897429420208767872268785767071942030996307571559141487708);
|
||||
vk.IC[57] = Pairing.G1Point(15304064583441452978954055182325447214811873398750472936801929759372769521146,17092533988014354887696753785030909830699886830432410934834150980380514405170);
|
||||
vk.IC[58] = Pairing.G1Point(16354407224230673074519339586655638610503081836647667623814986520923128018304,14634681859267375125892101837735696597319439744437447535401719559097971351455);
|
||||
vk.IC[59] = Pairing.G1Point(12585902321015589710750473831345538579594885660392175544266943980185107256475,16846205462256028916608587497640916256009966086610491220765532912482788390078);
|
||||
vk.IC[60] = Pairing.G1Point(2836547022425044839446597422595984953559741793057146651032784897916670862069,14680012359072743282778864393068598563840082316045178716989359524680577165475);
|
||||
vk.IC[61] = Pairing.G1Point(18393769942279282096214366696214413150699038871158688647211565624514527849392,7981636551400248764661025095601068852514128948613622986065038662691862387376);
|
||||
vk.IC[62] = Pairing.G1Point(10161078628644772598592962445722855578830661774777967820495819026431002518978,4370368967094023783400667941476469380409134561441586711173238550029390078353);
|
||||
vk.IC[63] = Pairing.G1Point(15991382879423061578448912025088146061472641152821240476698212938417185043590,18528810281409510059333307827296819647613027561293767272468138362600263910549);
|
||||
vk.IC[64] = Pairing.G1Point(13488558318757673080630118417722258367210955494845688715526714694383764632691,10768365596290933051792097181200388080820860152849956405537111876553748533095);
|
||||
vk.IC[65] = Pairing.G1Point(6294570834404379157120404560626050945001702167718369151449240697461399207765,15262692464738031660590757261876215632944396848801632595263420988013425649164);
|
||||
vk.IC[66] = Pairing.G1Point(5254670366770595355569466561966025019365199127587454188257730813806778861067,5639616150685136047185423867058269716038127649009044566452559645581371798232);
|
||||
vk.IC[67] = Pairing.G1Point(2400100796099387260745572593392152325140535099144522997314085534858057202680,10533470923933987502111425539154459595857278505795487806706476804277800520038);
|
||||
vk.IC[68] = Pairing.G1Point(12935282714460277342114665201409752315488661294431207384670060552874438335158,828501777107482430943914474918568920393042113401745586134081630861783455815);
|
||||
vk.IC[69] = Pairing.G1Point(3618107037133662130747042116616178538201174837185816495502426503643421771480,9810304793163420473046485569772617330611338546359940735484483613688208767100);
|
||||
vk.IC[70] = Pairing.G1Point(11847365271961743112246538565264415572626267982126675499909493380730378601211,14443215701231430129607739720838768432913949491784252387386453049974072161304);
|
||||
vk.IC[71] = Pairing.G1Point(19379915436956259538203796966944433337314602904685604687960094736042649548850,21731282089782595946507974582620161483135781361201699367390693612118206763166);
|
||||
vk.IC[72] = Pairing.G1Point(8670582306602957602139524430520615232224626571924879767989932788601657839705,20240028149930178111462288386187661110065256257878495499833413530580948192186);
|
||||
vk.IC[73] = Pairing.G1Point(19262157674978253529639757124209766280653698409733333105849034575557766075911,18725662471334144719357179778861522927362841480715456595808944062597734164275);
|
||||
vk.IC[74] = Pairing.G1Point(11937351694275207805677793096189119640182395483145378829494130992045932932402,5149272607548704818551955758867493163087655822305808745009971890956465302791);
|
||||
vk.IC[75] = Pairing.G1Point(11285338166073136340379912263641508759210185975865523694926277700656594983644,5262459907463066682994761139940562703101782582158732741180946102279509050491);
|
||||
vk.IC[76] = Pairing.G1Point(14994531650932758871093989350546205547229807289967028407117565052239974368698,14979877544220660228096614568276545551309086537594372178701202957917993083782);
|
||||
vk.IC[77] = Pairing.G1Point(18931373465063016006121147683817814466552635911668031136571217299991600857607,20616092188597992274873866725265078081992714549906685698186638821742655966006);
|
||||
vk.IC[78] = Pairing.G1Point(16223759085688278400243737214298940025086302967245013976512729188869096169439,8000347989417858696194529542521801256538999085466241451994717760398357025237);
|
||||
vk.IC[79] = Pairing.G1Point(623443864713442841981849089448604141181773933775966914579776605230250032497,2379999033595175627263823931205226554474139461391422077483569058966826408345);
|
||||
vk.IC[80] = Pairing.G1Point(21226775635762391344854052525875686072078791247455126973907668311431835458639,17027178338091034635381390209421024984033427567419893813056709396110422687589);
|
||||
vk.IC[81] = Pairing.G1Point(4406531262486869929739147572658540207438262627402337401159835776875728663789,220385918634829015545468867180066353049242465866175752563162610148191013434);
|
||||
vk.IC[82] = Pairing.G1Point(9797207478561423315143138309744701334893639486137377802308890232992477513720,2586950816627416917451641234260253308949163330009005231120465814213477098084);
|
||||
vk.IC[83] = Pairing.G1Point(15309200365081882408231201087428425254163549204077840425964328690772346033670,1420653871088013895417137322639493713879329388707684458719358558188436055909);
|
||||
vk.IC[84] = Pairing.G1Point(5395748123924977912477727326786701019012034070214199738229322577914878760547,7628200684351438536743882074776075848369438315729954233891518806298773543307);
|
||||
vk.IC[85] = Pairing.G1Point(352873088429432859429827976930730144447342272143569996853788758955913360951,13557940319268929136671986360637249073021349865497838232871747533161773674948);
|
||||
vk.IC[86] = Pairing.G1Point(20390847446322870632012348429141050569716681622655209013227534192933040047286,16601725957725371315244958994186136321295718657589978469349981368781290668594);
|
||||
vk.IC[87] = Pairing.G1Point(10171244392133486272864208287484656347521017906039416227854049812946279320105,2630827206962916085171272711240866826225252545527472551573751508980174876091);
|
||||
vk.IC[88] = Pairing.G1Point(16352531007904215608094300232648495143595817948682623907427871458784950883796,16993693916466767903607317444132484836266649207098497892404903026424443571716);
|
||||
vk.IC[89] = Pairing.G1Point(603223061726511291440476385657363196101553796742553306946625645081493057269,13685063534092212994103810927659411074476571548106779360960364193910339420723);
|
||||
vk.IC[90] = Pairing.G1Point(20482788618592301804362137780552543066760313879343668976341131329158666578335,10119970067501433949931252516195299415177432098847426604939527819895209325599);
|
||||
vk.IC[91] = Pairing.G1Point(2286917222416974411137929857213038335498658734765087792683880526591855212682,8386238751216926859196104203141517321604366389861372745269174839337885898975);
|
||||
vk.IC[92] = Pairing.G1Point(15324926480317494716032023374514633735806847765119736427811010194963001692421,10189091463447429155875471067647784384205623678977633060470897435180531628153);
|
||||
vk.IC[93] = Pairing.G1Point(19735006490529947214832901256389474816550406461720124117769379813998530963613,19195008944688234958527214663405723410047176990567036258258453159107662227963);
|
||||
vk.IC[94] = Pairing.G1Point(3773047036482552425932436266063563132694524670151434200639461194180781141756,1123197365687992723762170002716778183937672523336845843814102502661718722217);
|
||||
vk.IC[95] = Pairing.G1Point(14790301436962306445742567184681328955778087717603783082398421514413106175959,3664262733113936439151537901275565274617302021345114406122049344244233132731);
|
||||
vk.IC[96] = Pairing.G1Point(7495743442452609231032661340728478229362466212014591137686159112363208668777,10251074652941314300740989711880914433717637456150656228254458047351225953486);
|
||||
vk.IC[97] = Pairing.G1Point(12991196094489557947450463221167441136828652071786536768418099339232436003142,2681647771395556588691524032966418546665225547190996070629047477265207346855);
|
||||
vk.IC[98] = Pairing.G1Point(17954690883096938828060234193965975290699093120389901540291552765387478654653,13949701574189136535120046399140852023755864585250094436654725028812386703504);
|
||||
vk.IC[99] = Pairing.G1Point(6026273861623455551050623210276804173703022085693153508904372896159829096394,1781686254775648768045384902355242197382883159277642260121721641318534031512);
|
||||
vk.IC[100] = Pairing.G1Point(2883336496924528435374250979286473163150430963168096134363354458270160268956,6830892926711966851101701577055790982801152188763943324837126760195364273175);
|
||||
vk.alfa1 = Pairing.G1Point(10315822838385842923250715267205960664501004234546269981482666228112421301117,15862104134162712938961972115840401024611162066277059180121297134493484755175);
|
||||
vk.beta2 = Pairing.G2Point([16075180890105261855785821136620370206478347851900063884177434889569117892728,8999056094627160946941478319055654711627346279360998804980685260524215980818], [19289495299100654012777091634160205804317123853627581171870946780589078726579,7456059757481809576237403196787593289176357510985305159986791878645463459018]);
|
||||
vk.gamma2 = Pairing.G2Point([13277046752313471688255968585488007150536152283305619319249966594057859924122,1540853480038841992778609939618416755409643379500817690706199269912373494426], [16195521367762890658515156444872542211791369361419964244676840991686196711549,1050887057282964430320854978389799561269435789211688186694933498698817462348]);
|
||||
vk.delta2 = Pairing.G2Point([1662324983131052880488960499832632400354165691268048997945168703365805496815,13662480426324514348188284803730524793155591206442565309405901461008907655891], [15309139646391078466810181691750047695011680065613748420932752259577867509989,11930459767156654479077330634914217815349186680049037714663239653430389142355]);
|
||||
vk.IC = new Pairing.G1Point[](98);
|
||||
vk.IC[0] = Pairing.G1Point(1386156676430625766660721327519749365352708612284380407007672518761930314522,5895979564403280714499324620374725835931311522554339174840912272198002116986);
|
||||
vk.IC[1] = Pairing.G1Point(174429888906575054944644195492533447677698808764744275768027474986091262795,19449982332092198717836917024306177058078885300180691030479512833448493420426);
|
||||
vk.IC[2] = Pairing.G1Point(4940702259943724495655268600320625166138928124318746483111841772203931372898,21300085871907717167823229271273029592921718070696716598133485043371262113949);
|
||||
vk.IC[3] = Pairing.G1Point(3970523900986966741454839663423325691036075995128843350657752858925317431017,539367542421702393681320993411652316058906805217114528699814649881160035531);
|
||||
vk.IC[4] = Pairing.G1Point(14541643345260800436706406996787362480110194544530475630171161698573516679920,4783331606526584048777066954770982727121131692786538183643102121348439890988);
|
||||
vk.IC[5] = Pairing.G1Point(1075474176916105569002317826203973479107209650628777996236377287648466962810,3232058447014508876051800237288950058552252367302714558767792524271099812787);
|
||||
vk.IC[6] = Pairing.G1Point(2175834186336017845410894889748902248994354180137067840445873611529706706903,3085466328487208450052471722737790746659231597949473931302689657743879290415);
|
||||
vk.IC[7] = Pairing.G1Point(8148131669390700325085948796744014848738121345402965689215540127469598163871,1459937161639492891103296404430347140474089613091612181507607941234824828188);
|
||||
vk.IC[8] = Pairing.G1Point(19724824811793942534870544715526571102183990820436521365546859310276823467490,9742652052240076179420483064624381054258687108701843582619502567192627148901);
|
||||
vk.IC[9] = Pairing.G1Point(7516612085018412567965384915697804249943140639755254403509406043424863699565,13609389560576142128414010599204241098833066563137827296644138017315963061370);
|
||||
vk.IC[10] = Pairing.G1Point(5396430636568898715071511450196374579073195772247524680870475881840606697294,14213494996959147888574066917872324178671816323712570898472101313990748811357);
|
||||
vk.IC[11] = Pairing.G1Point(19580033029544330967448763121940485539766629034681462072482784578056476122075,4714739906270684478426827011422485533664415859906533725309733675967596336877);
|
||||
vk.IC[12] = Pairing.G1Point(6962906881391363529838287799824200955017681097924230628024324423216037180574,2533319035586796547972968495763128583304226889898155603872302902791149215692);
|
||||
vk.IC[13] = Pairing.G1Point(17536765943492961589593406025711160790038974470090381500798551989642376205429,9210978437865389852687238356987463161070296894056858501516143895498895127801);
|
||||
vk.IC[14] = Pairing.G1Point(12879519606836370836828899572118098335153146603118228135363495427283082247364,5758811831466689143387239476857856589657131463745229429624027029582131264569);
|
||||
vk.IC[15] = Pairing.G1Point(15735427660464208356818266871402603071222212568728528929189278663470048519151,18580418584929980580683876981646262205040063567947776691626290499751484842387);
|
||||
vk.IC[16] = Pairing.G1Point(16672772973559614591916036849008777420093824711538705835090610899870382314653,8188923103596302037595788157162335200890030912840313545299503026362065475579);
|
||||
vk.IC[17] = Pairing.G1Point(3482245003117717783432002198738459699873717589098511868698895399302488358634,19652796079067654964753702546413435895310867146965033514795952134870224747298);
|
||||
vk.IC[18] = Pairing.G1Point(9382323532935595934689116629634156851330374962350295158341742092304036335698,291925329935370804008844005614341459550809875961285224043109628983162794811);
|
||||
vk.IC[19] = Pairing.G1Point(6912981219684193325373956580555507527124688523637412271688548642710145407324,17719276416320101991178800934805150313358144003174217318902641925424693400899);
|
||||
vk.IC[20] = Pairing.G1Point(19266481578774074906374076433526482559085483237651754027979037618702501848415,4864429104782323549403921207719837137283226783050574715140728078210440815125);
|
||||
vk.IC[21] = Pairing.G1Point(14887253562463317132282666699497653091722231007983834420246533880775604202046,20039483939999528919395933890813583839636534363798896837987674667077445002909);
|
||||
vk.IC[22] = Pairing.G1Point(12508816416091085449368756125649842984927777064057218811145926432353321314907,1029754988093911081347891722709482405445904745087304835816390911520486811458);
|
||||
vk.IC[23] = Pairing.G1Point(2005084167017357346303758528212973722634282057561071593677784384715301762428,5542975189718331938312935936918047907052872873683385011086540332580563138005);
|
||||
vk.IC[24] = Pairing.G1Point(574144171155849827838725501058774562989672318997217369030672907489094325392,19011911734470524036198981595964567011458551418797935766148211921982472474741);
|
||||
vk.IC[25] = Pairing.G1Point(3608292935417210943680485162182048774922203693936402328868647729908340527540,19717618713526912033181757546212053048433914196349054761157402425200075671138);
|
||||
vk.IC[26] = Pairing.G1Point(16163461701324146513568429102887561273066181667891291346998415488778690716805,18662884437485380367184050862289985597601843562942757559581184607687570812550);
|
||||
vk.IC[27] = Pairing.G1Point(14994566112480375832970198317517069193388049320082571292718031142344097962255,19889898631674322802597671404075063684983733435916365516196892134719573840178);
|
||||
vk.IC[28] = Pairing.G1Point(736585196548664503732509698047552122038996165424116313982190787863322931826,21019115756986596749277994511714050838771464310078186895547975840389783871138);
|
||||
vk.IC[29] = Pairing.G1Point(10974717193636000167380652442472909714934064969981711063607439335825119243469,8613997549030193852101564196304783271636045228187714896154399752466639047526);
|
||||
vk.IC[30] = Pairing.G1Point(15515808334102622843044245600125992020384745623672581785591253976335954691668,7056069273753880907078615715739794771659566915279338309055469505277556660014);
|
||||
vk.IC[31] = Pairing.G1Point(2026995926214775331423673216302815034683334238220808093286826947311593039794,14548613909100523536915943149130374917224265797462738040649328509010392696205);
|
||||
vk.IC[32] = Pairing.G1Point(7347999393948250440988207859344770709243120088530457172274758503515633459971,20430173716253509790919340588694849367500686486837868170440361371544940846857);
|
||||
vk.IC[33] = Pairing.G1Point(8726020462171177960911520449113858654607194259478482096783149613868723406121,21109992085518709586188037780336334901483462217597999928530659225385204929051);
|
||||
vk.IC[34] = Pairing.G1Point(18759571018089650279499799472273628763502429845355459478077716291216286451672,3061120585842126900115563926687483611216432798358081316062265175950975462706);
|
||||
vk.IC[35] = Pairing.G1Point(10081168513618588217797803738246975722763428651743613956930591217530005755308,5223516720621635076713966633725260161024836955550260381664330387742167168437);
|
||||
vk.IC[36] = Pairing.G1Point(18623257401997776504806348144872345347118220689716572995578481344526381397027,12738216514382521354381755763633144591976312475306345247101617502260715984300);
|
||||
vk.IC[37] = Pairing.G1Point(12613017704259258984783441890484052267798710998400588809375095368441312203177,13154863759245282454936298393415245536123605264867594333724866438497549024170);
|
||||
vk.IC[38] = Pairing.G1Point(12709290832361335753305864258009255307237010774441288781285781702671213114765,18349056269309660723886180747727132860619888970885172282384405779461541989577);
|
||||
vk.IC[39] = Pairing.G1Point(17447538751610051385783414732492525667137731039071585637687353043409911312358,8705755619226884560464931039313987689788884448049673193589169040745836183092);
|
||||
vk.IC[40] = Pairing.G1Point(19903040530418130172724072033663794977209466570949249258688233439835382961705,6538405654339479654547899704613913798731714798978111499534963418797636778536);
|
||||
vk.IC[41] = Pairing.G1Point(20190111036656612665976758535510402352901099971723589132364459219237140650804,11657276287181136248459738132957662348970456139200020118947243073509600583324);
|
||||
vk.IC[42] = Pairing.G1Point(5496409758069382276348459990808117794030958339567169207650726751174822075842,15398624126895562271141819515160389374772951137601086902126706157329463089406);
|
||||
vk.IC[43] = Pairing.G1Point(8151283523500801176883094078648061648579761104703136856876223887187491028764,19699576961944733283219819902822060278574556991476755360120251735226112577042);
|
||||
vk.IC[44] = Pairing.G1Point(8533704954946914002953946046744749163319734782733169970628585647060058140849,5141897905579649570194799195601184296177984332792452257361194331009931371352);
|
||||
vk.IC[45] = Pairing.G1Point(17671515716110934550447360224709626247970759130056552979213535489731669688446,1690274318568461080087753254251786392263489028973782647985819430312525336960);
|
||||
vk.IC[46] = Pairing.G1Point(8478603008571616038378551513375406458692917186348304648150064228029895779958,20116202548019188938994896483571557179861045004954664127312673627929525959276);
|
||||
vk.IC[47] = Pairing.G1Point(6432981094696267073379852248786055231176785645227335199813013566498759785384,14983269753830770996227222283167931949083546323507335724535651513681318189079);
|
||||
vk.IC[48] = Pairing.G1Point(9455507927501800915564496121759986854117031410770932562840240404182614698028,5285955876415145827392451089524707681594893418176652281578834051447348307955);
|
||||
vk.IC[49] = Pairing.G1Point(20714130644236382051591460208572376019763347755510239498689871430769906890685,18654357373482716030683276562311098400463035289899424564068036000769595694407);
|
||||
vk.IC[50] = Pairing.G1Point(16832181157818881181838165095351716004273729658170734148090869509398951353661,13189116767733698206617444976497238961678787103102046696228609244708542732492);
|
||||
vk.IC[51] = Pairing.G1Point(8076452889145567190300790005312690920477320514039067078236315139521658556063,890666235559929062329759673773557091924363971646065907430303231638612724999);
|
||||
vk.IC[52] = Pairing.G1Point(8358804823290743257390543678494170562797974621132658774911399394185092545208,20752753364958656771514688460585465011660082299985374260145811301437669043257);
|
||||
vk.IC[53] = Pairing.G1Point(431866034143667612182321520413242716471591638473939166320447500693829929824,13272258147627911088702851414812922302256821216107539459911504860535837022135);
|
||||
vk.IC[54] = Pairing.G1Point(9173989288857204293038005754886211674464077439638776033201321349164196474616,9129103250645493108241162941947967350521408326116971248120638209361233930192);
|
||||
vk.IC[55] = Pairing.G1Point(14370826205941952851735365552127894021162133888463493633318496244143095511040,1651163962095785808536509256199563475789494126010520314335456260358111804976);
|
||||
vk.IC[56] = Pairing.G1Point(12951186966437270849914379924115857496875963456775592910919046812882705115830,16465255691963080311345885861560112122320977883916615486276340659371056324863);
|
||||
vk.IC[57] = Pairing.G1Point(3283421748134600628821861152296048618970465417807515877620876335991742901315,321535500846302427006164553338203893489982138176792264731766129421299212286);
|
||||
vk.IC[58] = Pairing.G1Point(16855387142616687237143755251732902794908605199755471474196892846417162793353,6761300099779160392813801467707189572028647758855510242027256178070516219805);
|
||||
vk.IC[59] = Pairing.G1Point(15257833521992801874267530841829063197963470852447328292085028034633128521860,2677084778946138423753273144604322607349537157189860183844829718089957601689);
|
||||
vk.IC[60] = Pairing.G1Point(12162232048810887816633786290513237732818779568650791939302917523152130208608,21333612874220018324963566977200031875031579203366186578790260941880595484190);
|
||||
vk.IC[61] = Pairing.G1Point(3391460336279928586355347127909680776960941614168264915045172621785079485704,12982837279076354859831048030572798151280294385261501888099056857982051493723);
|
||||
vk.IC[62] = Pairing.G1Point(15657943681489382687201670166559198773174544761807418817146753024083872167923,18015415673040996199684319960118318566240959606331772073882264856214095914848);
|
||||
vk.IC[63] = Pairing.G1Point(8764939161163047254075099233130913745881634109004943576089798043960197509190,8107199767148537717254346850921330983657137386989043360271851202867981408937);
|
||||
vk.IC[64] = Pairing.G1Point(10021072243678930222406582984936927324952592680308844821701808488346598011536,18628636656506555862260913227929463140408813957986050071538961255104712647438);
|
||||
vk.IC[65] = Pairing.G1Point(17321445808461122141320330203945732558478795973243070098294285860455518065400,16836801211792107863813977849708073042443024384474661086287213089562566255496);
|
||||
vk.IC[66] = Pairing.G1Point(6861883922532910695796926319034380512803020100037212756359821156112905138580,4119726663248857193393003082612555725457402139141352624262468551517744622172);
|
||||
vk.IC[67] = Pairing.G1Point(20779722207278452530034931086404649516930804730094114642064752236829364601447,923216039876130666302755287286364480134410103154729240965964497426983067027);
|
||||
vk.IC[68] = Pairing.G1Point(18223166030017443686801675867411730766342079179157572962560303448024540378873,19137631582171918191178945920059761447327783213698872810575523895658550121438);
|
||||
vk.IC[69] = Pairing.G1Point(19280775121328851013552281475852868120438320598442383749752027288009797861226,12490038968016646741084557672265847583317098207883228839969661867319900663938);
|
||||
vk.IC[70] = Pairing.G1Point(15266937199766366472290794995102829438088329284982774063851360931479775159611,13689004097893574081491974026588805143385995491553380346109157632864045768875);
|
||||
vk.IC[71] = Pairing.G1Point(17127411247775554441458092526202757327238548637076996720303283409273103437241,10596065368731694429534822719625874694561881193931687112659878038042780625711);
|
||||
vk.IC[72] = Pairing.G1Point(20787730078931630052831457097859925558304786674420765003148675017286328663454,4766261406083257091458978020157041851129907303478874471741979469684861357286);
|
||||
vk.IC[73] = Pairing.G1Point(7658787061468359549149413908281153599600426600224344615749437495818897340061,19492153087231292728213440771478900053083907495283660596623580137450879415100);
|
||||
vk.IC[74] = Pairing.G1Point(2659875083118001544715497837457590514140432874048404892210543537504037071661,15950956910927529441229027517507989615611330940703370326686704858035089993977);
|
||||
vk.IC[75] = Pairing.G1Point(894399989010319765961292956333169984328533949797732202422998120207741013782,20592958484709720804789976380652330981257235977335874841811437076585969381001);
|
||||
vk.IC[76] = Pairing.G1Point(20463015942337846506404366208676722951112664440577043884221657224419349265426,6421219926717668723328940652796576549618654759959257419184397188890959888254);
|
||||
vk.IC[77] = Pairing.G1Point(9120006372090123874675982389686869282084694298376106330824231921836495845409,15465095824110179992312247621712212010265469017852248921480310833628600196157);
|
||||
vk.IC[78] = Pairing.G1Point(20878479603359665116911215284012493370991345348316318380338256326707347229536,4023483592190020939497447440294056485175982685635791231809180749028140340638);
|
||||
vk.IC[79] = Pairing.G1Point(8597284910335812117769054177782693879835500749625261064784252225098566359260,1994440743925322001344248550218761689604854304576917328729121903199340521566);
|
||||
vk.IC[80] = Pairing.G1Point(7226426264671955929078859416556503158659896696978967948922009868308681953328,5002887692172752997421567561731103949750630834248867239253107045744551201397);
|
||||
vk.IC[81] = Pairing.G1Point(8163659204347449052568944424719246353276866468717985570811227109999390783526,2423554439374965365549822958553913623548960716554949332971802593317970068208);
|
||||
vk.IC[82] = Pairing.G1Point(1452926204022804055491637328319845396827870792644285034170433031762060878731,4515541462700718639411085202358475754243785926272495802232114060028112391704);
|
||||
vk.IC[83] = Pairing.G1Point(10425052225329871422199244352265298427973414162141911718953442959319724848059,6000980400205901551254828664011101250210525131160335488511361553516655902490);
|
||||
vk.IC[84] = Pairing.G1Point(3443318109975964447008176890335731705529322253119216155023763429975158085456,21667811197670469631232954863890416289566410095141706262390806877014912268732);
|
||||
vk.IC[85] = Pairing.G1Point(11012015869641066138899933574589113596936265876486762743315648962963495824732,17255543862480532041551281296396472142322479563450509347024960074045362179060);
|
||||
vk.IC[86] = Pairing.G1Point(15356674987302087761214804729834932350868870076692636651461027280636953611115,106117314594064361971425646139042972248859283384292253606696261962696377665);
|
||||
vk.IC[87] = Pairing.G1Point(19394337841622616135946277478438753742631263129950419370472461951284656870437,18658921822284494457486069764820562705515256999764362724356266226041497733846);
|
||||
vk.IC[88] = Pairing.G1Point(19875109758700507740317077711867102397002017483813266849042947928472067707358,19410883671720154448415997196283075716793971043467577411686702678513758313202);
|
||||
vk.IC[89] = Pairing.G1Point(7249713751934247391364446379816208988062392543310362185047382861082689029853,15650473527588496827417556647724864391410175426412916274036894124836771437372);
|
||||
vk.IC[90] = Pairing.G1Point(10681784480850187071361190982043613309470613382346001095644109815254178261562,21463186786189007954888872290310300639849300805770275708108444072996981167758);
|
||||
vk.IC[91] = Pairing.G1Point(2236471884703014171599710044819634924237606371553705429021763383635629939512,8591793843410995494533247352157879065992731222902203603345134905701260856709);
|
||||
vk.IC[92] = Pairing.G1Point(19527584213761472463971374073739673431341601035403206019474791549273088278339,17023146508154304148121691671727331328909786836109367376841186597185724956581);
|
||||
vk.IC[93] = Pairing.G1Point(13014073780365318482787844435657644319669081253207330065868995816477880130774,7445666461778273821119755595191049214876947852015119252135282618289816306885);
|
||||
vk.IC[94] = Pairing.G1Point(12572056578214122696110853014461970380570794921497586679104888016792687653897,4719197114816095442488216520733780832840070057650826491567278989945747530502);
|
||||
vk.IC[95] = Pairing.G1Point(16403748676169345391285149130393817667502440052483475786225216623710841245155,662053335174191665497628974718863306486637341349159158533932987069502165029);
|
||||
vk.IC[96] = Pairing.G1Point(17138980304892429856246490017005560669710783569541041650327401681838238378449,9291405839197739071712757020744264998332332192064696611245414441329433805436);
|
||||
vk.IC[97] = Pairing.G1Point(6594423345144626172531684508535057814902607027465847698107011859735578724064,1609167828729266896521507304269994081996148238161423140896831053169366858561);
|
||||
|
||||
}
|
||||
function verify(uint[] memory input, Proof memory proof) internal view returns (uint) {
|
||||
@@ -305,7 +302,7 @@ contract Verifier {
|
||||
uint[2] memory a,
|
||||
uint[2][2] memory b,
|
||||
uint[2] memory c,
|
||||
uint[100] memory input
|
||||
uint[97] memory input
|
||||
) public view returns (bool r) {
|
||||
Proof memory proof;
|
||||
proof.A = Pairing.G1Point(a[0], a[1]);
|
||||
|
||||
376
zkrsa/circom-rsa-verify/package-lock.json
generated
vendored
376
zkrsa/circom-rsa-verify/package-lock.json
generated
vendored
File diff suppressed because it is too large
Load Diff
2
zkrsa/circom-rsa-verify/package.json
vendored
2
zkrsa/circom-rsa-verify/package.json
vendored
@@ -8,7 +8,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha --max-old-space-size=16000 -t 10000s",
|
||||
"test:sha1": "npx ts-mocha --max-old-space-size=16000 -t 10000s test/rsaSha1Verify.ts",
|
||||
"test:sha1": "npx ts-mocha --max-old-space-size=16000 -t 10000s test/rsaSha1Verify.ts",
|
||||
"circuit:compile": "npx circom test/circuits/rsa_verify.circom -o bin/rsa_verify.json",
|
||||
"circuit:setup": "npx snarkjs setup -c bin/rsa_verify.json --pk groth16_zkey_prove.json --vk groth16_zkey_verify.json --protocol groth",
|
||||
"circuit:witness": "npx snarkjs calculatewitness -c bin/rsa_verify.json -i inputs/input.json -w witness/witness.json",
|
||||
|
||||
10
zkrsa/circom-rsa-verify/scripts/generateProof.ts
vendored
10
zkrsa/circom-rsa-verify/scripts/generateProof.ts
vendored
@@ -31,19 +31,29 @@ const main = () => {
|
||||
const hashed = bigInt(
|
||||
"68047946378308475289293787357717828552636626916964367437434418622917273241319"
|
||||
);
|
||||
const address = bigInt("70997970C51812dc3A010C7d01b50e0d17dc79C8", 16);
|
||||
|
||||
console.log("address", address.toString(10));
|
||||
|
||||
// hardhat otherAccount: 0x70997970C51812dc3A010C7d01b50e0d17dc79C8
|
||||
// hardhat owner: 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
|
||||
const input = Object.assign(
|
||||
{},
|
||||
splitToWords(sign, 64, 32, "sign"),
|
||||
splitToWords(exp, 64, 32, "exp"),
|
||||
splitToWords(modulus, 64, 32, "modulus"),
|
||||
splitToWords(hashed, 64, 4, "hashed")
|
||||
// splitToWords(address, 64, 4, "address")
|
||||
);
|
||||
|
||||
// input["address[0]"] = address.toString(10).padStart(64, "0");
|
||||
input["address"] = address.toString(10);
|
||||
|
||||
console.log("input:", input);
|
||||
console.log("Calculating witness...");
|
||||
const witness = circuit.calculateWitness(input);
|
||||
|
||||
// CAUTION: this is loading old hardcoded ones
|
||||
console.log("Loading vk proof...");
|
||||
const vkProof = JSON.parse(
|
||||
fs.readFileSync(`./vkeys/${circuitName}.vk_proof`, "utf8")
|
||||
|
||||
5850
zkrsa/circom-rsa-verify/yarn.lock
vendored
5850
zkrsa/circom-rsa-verify/yarn.lock
vendored
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,6 @@
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"sign": "yarn ts-node scripts/generateSignature $@",
|
||||
"prepare": "husky install",
|
||||
"test:circuit": "yarn tsc --outDir testCircuit"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -17,7 +16,6 @@
|
||||
"big-integer": "^1.6.51",
|
||||
"circom_tester": "^0.0.19",
|
||||
"circomlib": "^2.0.5",
|
||||
"husky": "^8.0.0",
|
||||
"mocha": "^10.2.0",
|
||||
"node-forge": "^1.3.1",
|
||||
"node-signpdf": "^1.5.0",
|
||||
|
||||
@@ -552,11 +552,6 @@ hoopy@^0.1.4:
|
||||
resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d"
|
||||
integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==
|
||||
|
||||
husky@^8.0.0:
|
||||
version "8.0.2"
|
||||
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.2.tgz#5816a60db02650f1f22c8b69b928fd6bcd77a236"
|
||||
integrity sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==
|
||||
|
||||
inflight@^1.0.4:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
||||
|
||||
Reference in New Issue
Block a user