diff --git a/solidity/contracts/lib/verifier_anon.sol b/solidity/contracts/lib/verifier_anon.sol index 5877097..4e12182 100644 --- a/solidity/contracts/lib/verifier_anon.sol +++ b/solidity/contracts/lib/verifier_anon.sol @@ -43,20 +43,20 @@ contract Groth16Verifier_Anon { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 5164307371815896911515696671738873844048257722050909867831835990637012101701; - uint256 constant IC0y = 12354927596117908346199755324136696518322064372058485349259909333082372370635; + uint256 constant IC0x = 7880570501616954033449249705612423743947917217762227169455996425895409308069; + uint256 constant IC0y = 16037977379262161215838992441602151816132528427823476849251965711850026771282; - uint256 constant IC1x = 20222371576460641197340148762590738473920678083533188719662074960764475697689; - uint256 constant IC1y = 7897001712913914338190514293992881005369467044069819357567910495239020142075; + uint256 constant IC1x = 3191333703052089419021769453082884793399932129266866020831740455289118800142; + uint256 constant IC1y = 21477517066616503414140155997000632350001710942549881728779592511429573079111; - uint256 constant IC2x = 1504125502076828772513804635767555623024057782300194162723850417077389521740; - uint256 constant IC2y = 858320369100031974724283697183785213773993091633560622385563288753711881155; + uint256 constant IC2x = 16885208475016452114858926052206861980729516929087584811016509445387840675455; + uint256 constant IC2y = 5147245545557756973634019997703333615725927836480197246708868784411191230479; - uint256 constant IC3x = 5493470858249230343108142412555674050720320624568365358155164359336581986287; - uint256 constant IC3y = 11317628322030591465286609049996565879526614862359528856821175025851564803769; + uint256 constant IC3x = 15835356586191668496840124419874303619120998155857419776899384064363221991587; + uint256 constant IC3y = 20908242415588131257102523967622376586606149730424652535302995251912262933338; - uint256 constant IC4x = 21434069923620544033418441313691498595963078701376702207210110500016155495561; - uint256 constant IC4y = 8164005755254962127084858831575606145119101801687857812612476525976966267935; + uint256 constant IC4x = 9093574318834908512463783917068049424411720596282920493474417518947185056343; + uint256 constant IC4y = 11075523168674705447560739102902207168994349904089316239065508553166880667632; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_batch.sol b/solidity/contracts/lib/verifier_anon_batch.sol index 9ed6e5b..f9edb88 100644 --- a/solidity/contracts/lib/verifier_anon_batch.sol +++ b/solidity/contracts/lib/verifier_anon_batch.sol @@ -43,68 +43,68 @@ contract Groth16Verifier_AnonBatch { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 5861890033538026212667750668572473120788004819983455742285567105342353828661; - uint256 constant IC0y = 14554943693784272414673670067771585529532330995100148763403115114448877035365; + uint256 constant IC0x = 7350704524928688275292840025124065423740063008800895120525087407994752877201; + uint256 constant IC0y = 2799126510591142173363017397720516529394924864315551143867807018421626690119; - uint256 constant IC1x = 4739729125948578143112487239601694156755949850082652619305531308271151884771; - uint256 constant IC1y = 17749371344655824264585964787550860034959402409108396453133976804583835130552; + uint256 constant IC1x = 15114426819216201179872908092779017267381626760685787377067219151816946668652; + uint256 constant IC1y = 14838074688889382104234389353861310342101008292329117062017984254049923814567; - uint256 constant IC2x = 14013416492351286258930685726812465840700541217811991086500109772059195611474; - uint256 constant IC2y = 17341037787926101776428292785405504332612709297224939583579473367142427226146; + uint256 constant IC2x = 730339637320572287782154794373845462390183137415643273893913142940971480827; + uint256 constant IC2y = 19985499776670900046058141562265498153194098786416301295749136204157143223257; - uint256 constant IC3x = 16336125231474892941667849003611054653113378791694063869451412356483463985561; - uint256 constant IC3y = 16709372045210908645558210606323811804038958109984713200681465725462349228313; + uint256 constant IC3x = 9288139911866100824798052123452797946689070588016735822932030258103315149401; + uint256 constant IC3y = 16977250707758369783496569651353493853376997801050995881185421156748434466112; - uint256 constant IC4x = 1350933976763269071586957867294447937413800700092037844783181601781418103174; - uint256 constant IC4y = 20750311635827819546297608986632539297126216889087963597245665338649882002531; + uint256 constant IC4x = 21510548625929410705790577208028337997806497327590548181858615339378132408637; + uint256 constant IC4y = 3128887610074880752216864118368626601909966489390261420893039641632285348662; - uint256 constant IC5x = 18501231329275950544200822436029438898273816039878357368580284740930603918349; - uint256 constant IC5y = 16510519818898985288434662540928597848930750415753674143154410631185500112194; + uint256 constant IC5x = 2361488310513536785687009709084938913997548752815455418762779361014568173520; + uint256 constant IC5y = 13064109709118668398319496370144322446834954821774816697768219563719250168349; - uint256 constant IC6x = 427412941873824848381412611056494125871790409703845220166618687524391209220; - uint256 constant IC6y = 10167070060121087105778748574545912745978987835036254100788097410173501412000; + uint256 constant IC6x = 21741423469437839061841808146523619080128207788113423296935124975483247508524; + uint256 constant IC6y = 18529865771178923498390020744089890179100271666005560576880042925185095150796; - uint256 constant IC7x = 21680316401697530387659464976920243382540489663483955131578556609062302835516; - uint256 constant IC7y = 2771032069976544571540203366171061199405282280032342847790829625616631647712; + uint256 constant IC7x = 11716063437444665329534450300340853360047012717360647680536852931180756322691; + uint256 constant IC7y = 13954938730266059993129237217568930694055393902398630589007640179821232776471; - uint256 constant IC8x = 1589311253286323023458190860456307249957732223306580780846961205512934847218; - uint256 constant IC8y = 15833650494813701499577469336077389128198297210161519294143908475223515119621; + uint256 constant IC8x = 18539559570765334761569967454539119188781496123683317380886819179820750135048; + uint256 constant IC8y = 1483429005281923495773016521713883280913961201691552702249885389478804186825; - uint256 constant IC9x = 21638568856698830240031070255671678582986420697404695863717930104267814161320; - uint256 constant IC9y = 6975344041422413085553707201542268576262375864550055884252037251260047316151; + uint256 constant IC9x = 20285495211995559572269870221492706959016981268896437450344735235620123723655; + uint256 constant IC9y = 6752334852699479365814827613653118536864386885890891616534513343873157237627; - uint256 constant IC10x = 15566951744091774571845346864625632071562245268051450620323746657341194468372; - uint256 constant IC10y = 15914767178458871606751985281168248486865781320875596838197186668380476371625; + uint256 constant IC10x = 499733066798987642797898596902737884227228799269010229470629826857301398382; + uint256 constant IC10y = 15539873607166155350908234290005251689258814640931878010822879323585218295253; - uint256 constant IC11x = 8870987399617616621565790607227519512363052138281107719713711770259195535562; - uint256 constant IC11y = 16576269088408263050408687625313770698422473413425428513433714723321646898172; + uint256 constant IC11x = 14930084334244027775740030172875333009547849405540674149093528597500172682264; + uint256 constant IC11y = 16031096719063780066038712493256021950493445187501019225557322455675638312312; - uint256 constant IC12x = 4302631833151351458482421257465143931437663458677202329023634462155064365599; - uint256 constant IC12y = 10473604306887315063978965617794993524128852056520678852181652265045583989925; + uint256 constant IC12x = 6930962007199462838250740922397839173312453564335400737449304292728948783789; + uint256 constant IC12y = 16346148217738032915228412851186792388219205265009907670473983861216251226700; - uint256 constant IC13x = 10582158030205725561097015536549835398898162476729099047306076287629106871344; - uint256 constant IC13y = 14682837745334444080673007316454703694306486261985003264248721319007334479744; + uint256 constant IC13x = 9287437502652310030364103755261068142532329727588192042484528210346407028717; + uint256 constant IC13y = 10794968646463009884004236152576271915074358785469677937139140234440868974660; - uint256 constant IC14x = 11029547759155411999286197812647814990318800254899998378660231932754125196682; - uint256 constant IC14y = 16084428567867324049086244023860598710803653871684454604196448361202927418469; + uint256 constant IC14x = 8642192551833486309442810432407204382142862801515472400962676449719624895869; + uint256 constant IC14y = 4332840556069660127909924749213870708387611051261894964111742875494185381254; - uint256 constant IC15x = 1131984867972909408440829748802232780744768465826965195607437394686286413627; - uint256 constant IC15y = 1027448343262935656852093908415087517053342078127862257282557746183650002095; + uint256 constant IC15x = 14067924916167871162655244922817653716539707386728077576851376753722366021529; + uint256 constant IC15y = 14550114442576756814639260074491842266739552217696789898458344525407905929187; - uint256 constant IC16x = 13773651067643441656258855495261241624865695567386017806188387539831324444653; - uint256 constant IC16y = 10099048929651180856696561584499995020406508763374700440471459482571469923244; + uint256 constant IC16x = 857685849844171065596763211033783999825532174706327764798436830629594817956; + uint256 constant IC16y = 1806650528151069748359044935863429380424562852004122550972004167352156895294; - uint256 constant IC17x = 7261522173107989025754700034160229984396817947135820259206143417601541759243; - uint256 constant IC17y = 14197346282964216302960496946080841539639325641322779752411061233650174236593; + uint256 constant IC17x = 6579597513808886576406099469755577551041805432889990719580240981271077896359; + uint256 constant IC17y = 710420057294757587910020146667270882809600269535553928956263589284791937083; - uint256 constant IC18x = 16804288461152811240273272526375896569268609716294064392984996572956810172145; - uint256 constant IC18y = 4263264235883275783920963131811238561265613954374210889318327987454695983008; + uint256 constant IC18x = 11601578039573676772840572687707180388906572122494709390061757932977931982868; + uint256 constant IC18y = 7211311325685441076944820285599089955580368690880374995924683333150557101184; - uint256 constant IC19x = 595455057683637626512977674120429818667714277492803563528527493388253182962; - uint256 constant IC19y = 6206917820423018505484295069638549645856906308850248630512399872229440772926; + uint256 constant IC19x = 20231546290866664701331485462044304003843557412739655597831229162580880981510; + uint256 constant IC19y = 876382137719899827148465359455799570987326687830025736167684593436185681270; - uint256 constant IC20x = 11593280811993289290352475831100253791227442039341254544883515411103749159202; - uint256 constant IC20y = 19908836799588537779624973978158215794141858934866399503207571702467035492203; + uint256 constant IC20x = 14850885628527218757662473212989221130196138052975444666446471458588122224774; + uint256 constant IC20y = 12708590969663513735666954823403671843557581713214725762521430223488205347685; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc.sol b/solidity/contracts/lib/verifier_anon_enc.sol index a2ea424..f1549b9 100644 --- a/solidity/contracts/lib/verifier_anon_enc.sol +++ b/solidity/contracts/lib/verifier_anon_enc.sol @@ -43,53 +43,53 @@ contract Groth16Verifier_AnonEnc { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 7931311719081566465480649715992708094598627348800170176927479505406093808101; - uint256 constant IC0y = 5941817376088838807810252948617666425893455770567022654597720669387465713729; + uint256 constant IC0x = 6276747569518122807210603303722154550190651061721865706917646303280375103675; + uint256 constant IC0y = 3727017199715490133457649802467220829259654841289127784357651002510660300662; - uint256 constant IC1x = 16928258953465962969890804620375640048702841828077858720472564015940591598037; - uint256 constant IC1y = 19043210433892171827666467549965350525693047031290804487657467779913020807911; + uint256 constant IC1x = 2320527881302970161082983597536012922352300864623236649934960001038519624274; + uint256 constant IC1y = 1916963794430692395652802477938622188603047992000097692795283307464856076371; - uint256 constant IC2x = 13893841124650965539936318506754662201448290578185576394120910797016266164214; - uint256 constant IC2y = 12460881501027807130891978952070445262407068438412897019863778612309816690224; + uint256 constant IC2x = 21596058299450284113535943657960726299563312370130332740900316107840716803296; + uint256 constant IC2y = 21365592615504281125064071438234105307087619234962631636728527507631860669567; - uint256 constant IC3x = 21445743299110587283548554723821727881394684401368122251892448187698319654554; - uint256 constant IC3y = 5607018312992910177774976204948567935037309043723870192601860202621832277702; + uint256 constant IC3x = 14285920220116798400391653727392610849014881108527555041872854836164662603112; + uint256 constant IC3y = 261892684425132757450359737228059903462096592906801079581933381899139644107; - uint256 constant IC4x = 2775357873028613337117232136055903239028228920146910237884679111134580672797; - uint256 constant IC4y = 9197095196062675367183465932769233516282478630286811252656294001434982167598; + uint256 constant IC4x = 1228717852198586389738440313344465005287288949548026556772807808074412020129; + uint256 constant IC4y = 19831713320116870701080957390591062454582575980268596444755997820082215594485; - uint256 constant IC5x = 20300862312984320331805178556439009361718726696623061396734499944687844067518; - uint256 constant IC5y = 4676843987605413835468184810986180139482566650700325692734325318376091169381; + uint256 constant IC5x = 8841767838175437599580623045698684022427377467875042096794082047548538173540; + uint256 constant IC5y = 20679680073199890089986129173790327637929547496247458879281664968283076431330; - uint256 constant IC6x = 15412595797347291610327108701909892451615837774610448992395813409002195388569; - uint256 constant IC6y = 7201919017117702660596912865795531136674758347788529734904080497406452869091; + uint256 constant IC6x = 5984994798987278036249563929239451875392161634272639360573774251855181459504; + uint256 constant IC6y = 6352796936852746690868771135448281060570046348664670061308691736554667627239; - uint256 constant IC7x = 8024682466624747152852615945017733672943211654044112711413649432571064879586; - uint256 constant IC7y = 7848265256695364873207488197234740918311304092097323838012666060904415202385; + uint256 constant IC7x = 3307402749716845704900160697938878641617423504456112289854922516395827936088; + uint256 constant IC7y = 11944686875184615500424742019351647158127603206033626393275187778966883129154; - uint256 constant IC8x = 12913719987905933982948549536012436008516883057537119801156473067033040614783; - uint256 constant IC8y = 5820962198588742072863664251139880598059708784737150584476221245927288298838; + uint256 constant IC8x = 2167921800594244881987478854261700831004688173023551862311979398289627529911; + uint256 constant IC8y = 18441559285570498355196553746289779298216978632355533226296682479854720307446; - uint256 constant IC9x = 14210552599250424201694968796490644936079966374724156292158744139988459739709; - uint256 constant IC9y = 11649980189307282998333391781661761611235819966212038608838445906719380687592; + uint256 constant IC9x = 16194321557743310559882244072096113269378784289973883900975657339479218893661; + uint256 constant IC9y = 9333607209403690316028599718414380942123291933558377264317727220665888906177; - uint256 constant IC10x = 5929466371200281104486497068860370175982984163766424537644044896768075785360; - uint256 constant IC10y = 689397593898417912658547973202756977260921816601688159406689650913165064907; + uint256 constant IC10x = 11763124843314694770674029098143898163207296445403434564003811916181443467789; + uint256 constant IC10y = 11474851338724165438098625917090736344985119247607432644045515084847727286859; - uint256 constant IC11x = 4968268082807827688590303184635970702339421236186336405029070096209323126184; - uint256 constant IC11y = 16172603842417782640650920675833145432890979710754039174897237847761578517044; + uint256 constant IC11x = 20463590317096967539062765296429567237451547047819217836607641222184840552616; + uint256 constant IC11y = 2374511497993789249592935909204108111572883083995974837409751730785943684801; - uint256 constant IC12x = 14759307472110070434555553792702366876020623959044901391998941721042349165457; - uint256 constant IC12y = 9219735039978169438128330112318642361562896453434094117253148544562152923295; + uint256 constant IC12x = 5360663496332086683030085775791171810863893422349391971737013590847118848888; + uint256 constant IC12y = 15003051648210065137352969604932411331891058385601013483678409194432651898564; - uint256 constant IC13x = 9794895966567383812016496369724196333563865305320144867952048471103706081082; - uint256 constant IC13y = 4370713696282958332809622261238407480364020244910558052370226462927406811396; + uint256 constant IC13x = 6455547517508404886843312050700037601528719512561840012594420335873310644520; + uint256 constant IC13y = 1823215784134382847282142111721942971793109047310681636547858005025540202130; - uint256 constant IC14x = 16370092467143575188638686340965006672429395309356635218045519531840749439607; - uint256 constant IC14y = 11593475380891852689872378527951380259748677042606029356341478138569048335625; + uint256 constant IC14x = 10994488460669351888245632232772517959469681851792249573047590885520521915372; + uint256 constant IC14y = 15460968625607687477209267072611263891412189843116393205164417979232034151014; - uint256 constant IC15x = 1283559242355494148147980131696867188691474006300052144697963344127478638802; - uint256 constant IC15y = 13067894734033583195992013738978344221914110650626797398077781374211860019934; + uint256 constant IC15x = 4566012578812710100605468161791687026100464852252694042067067033174318782352; + uint256 constant IC15y = 13395233754819832486048215919199827219876877519148023975528122435249203009174; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc_batch.sol b/solidity/contracts/lib/verifier_anon_enc_batch.sol index e09ec7a..a11f44b 100644 --- a/solidity/contracts/lib/verifier_anon_enc_batch.sol +++ b/solidity/contracts/lib/verifier_anon_enc_batch.sol @@ -43,197 +43,197 @@ contract Groth16Verifier_AnonEncBatch { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 17190705551387374165465630178414097882207179175808416998592104672042269145796; - uint256 constant IC0y = 3326253291529306070732568800881802510427404631986019999432955654669384850411; + uint256 constant IC0x = 11440393942871974514866869127272798177910063098495161064380617913947836707883; + uint256 constant IC0y = 133186548537922933703816851228186559672737402151435687458413732717456356699; - uint256 constant IC1x = 9056390472479670450917040152074067224677908131790289664302602506677480851951; - uint256 constant IC1y = 21757253069807310495476401204508619324839407168714508584654514015487358196590; + uint256 constant IC1x = 21373502176400161146006095202392315245434857405673246292304981642513085314126; + uint256 constant IC1y = 5973954329693434352436139985867871181759296344186415170634863590214156315249; - uint256 constant IC2x = 2069077889203474724816447634850290436482175153772764866724239509530700894855; - uint256 constant IC2y = 208730408261053193247666753865958284951853499381240921490613511706057823815; + uint256 constant IC2x = 12019982747471100639634052399766418050683537218547481676294176787917881186607; + uint256 constant IC2y = 6405218792291212317907081159284014400722968772889118220663168950295447220705; - uint256 constant IC3x = 3290670235884248631506359174448134984445233397119031135129796340956777436744; - uint256 constant IC3y = 9760219669615574514863218794396438511168675570983001450630727785007924125265; + uint256 constant IC3x = 21541101932056629567381357223394008276342942119132930855282215690662139162650; + uint256 constant IC3y = 2271680116783907835750785191482937543677602522528953806278114962346139021582; - uint256 constant IC4x = 12919904718686658248054197412933615239403401430512363345376657087643920755223; - uint256 constant IC4y = 7248244338513169966484555593146752396608270324481358498006089075574025976474; + uint256 constant IC4x = 846331695052133801075541266442844556008871193706530866288171629930034596396; + uint256 constant IC4y = 4671805763816924754378540315344588906110138930562619888525186553727651894671; - uint256 constant IC5x = 2691558500563695383361232490656352238556774483828798455821796957059966501672; - uint256 constant IC5y = 352960762102970661800394160551776345637143894219021438415228630908954124083; + uint256 constant IC5x = 15862626577644729681546548720212355443270891570787917457090900376528365907086; + uint256 constant IC5y = 9430270885582061272669262029645569297998413282783538758784652807562041710438; - uint256 constant IC6x = 18520511510550227927300479982157835181910123158464827146158177527544089295768; - uint256 constant IC6y = 20419296272212947212216695670093334669202621379143200895464757793903971181114; + uint256 constant IC6x = 20364249990587186388777009860293192582601009345886932525111517332970281035952; + uint256 constant IC6y = 1334839598218736363793400104054202408205710585818802803620178832624743447850; - uint256 constant IC7x = 7508741787655335082678183776755435685106979148194551309981416079715353356583; - uint256 constant IC7y = 2407402477085667407046245036470553985246462229714505834190107059575903138299; + uint256 constant IC7x = 12417757356672597564383775211044365887294796389246614359706817666990934075472; + uint256 constant IC7y = 11622602145382847018929095868878319532905122146499153532367406851678378002641; - uint256 constant IC8x = 18471669522613276880927322243943745047807588459927532872119704665432814226019; - uint256 constant IC8y = 220974884629047711248636906223843138145797460237638863178879042569183993992; + uint256 constant IC8x = 14699923273545238120167631232296601962479972604389646857920202246888502080052; + uint256 constant IC8y = 14113362150999156476310073110539209986750711174991138574097387215312366569174; - uint256 constant IC9x = 13345311726308524776318222905324880414181628361069254367702105291327468535151; - uint256 constant IC9y = 7592910027522546290963914942103856601207471971485612198478973552339663568202; + uint256 constant IC9x = 8439229104977825388669923085680058133619691762568298479043167614828429982095; + uint256 constant IC9y = 18240117404538846169532854195037548821907165749996481825180835374832517741368; - uint256 constant IC10x = 13274625120628505373297349036556342813233987616021013569948623159336109589281; - uint256 constant IC10y = 18113361933410414139978744858333352312917924095523046414356847465270532816626; + uint256 constant IC10x = 11470068336482550075073943174397386972643000630660996382156267717482343276882; + uint256 constant IC10y = 20866452478089653295612124088992944102461995428176614117027783837067597969494; - uint256 constant IC11x = 13865496460610830149622274536480856006956348689298181107698536163562712251309; - uint256 constant IC11y = 4998598469936468120997364661012918161041745683420526844612371472037226418778; + uint256 constant IC11x = 5791701211966382660399104629271827990912735697930109332538539212590763373881; + uint256 constant IC11y = 153318489220773001009409735672747935918849189063837110094732063052591331798; - uint256 constant IC12x = 15976872676815625131186807117261916671320247985113346348950325657811291818119; - uint256 constant IC12y = 20375165867414751656178029498100583187074051027121238559135499145614512941549; + uint256 constant IC12x = 16898606392771231052990567544051778925910589899871105246361034023158641157159; + uint256 constant IC12y = 3631355825733666009904874214578874855423710278467279916288619855474525466184; - uint256 constant IC13x = 20668739717088740287358853136151547997596921248335389604371896008780216123075; - uint256 constant IC13y = 11649672800935643198110650959294030572751613556584086602110166456386943463263; + uint256 constant IC13x = 10247329403841905396872124340913483963292585745607093613365322600357457687457; + uint256 constant IC13y = 18057379678526830268883725029519547573327109531784984832234011504205340806389; - uint256 constant IC14x = 20178475187575318789395031779023360250749924418577873618972806103917126684375; - uint256 constant IC14y = 15476975938044073054921421125111433839183811825798126430912366915592611217273; + uint256 constant IC14x = 9355678805354983609419201612177172575228638269901476278048006979878502187870; + uint256 constant IC14y = 16692888418935032480811326079443835813838711826121682467276641845580020694985; - uint256 constant IC15x = 12340103227493922778456593173913260600880232919766506331150893300119897033299; - uint256 constant IC15y = 3272680237518907406708321423224323767725085200156596393940832245136408787567; + uint256 constant IC15x = 19470575851572592678964883715648962849258649150864531049938150618719229740643; + uint256 constant IC15y = 16087485769910776554782414147987056180184775349044797807400276313528404284475; - uint256 constant IC16x = 8657739707163007108055786839360950234976340035476906342847834451121317485691; - uint256 constant IC16y = 3652426351246057898660024524828619564166560260344683916581259191484090434315; + uint256 constant IC16x = 16927358836358577381649034111095642293434944349737262725338110349295469171890; + uint256 constant IC16y = 5633252844575746793504011224909489108395169921046386508695373017595756224798; - uint256 constant IC17x = 2389452475845900822444495096680736209381422044735491408786630034896721176883; - uint256 constant IC17y = 9968271044019125687715476231282020447454258770597711658425115696467847213929; + uint256 constant IC17x = 466385751153760267057088342819394273436492253355181488147745146987443561174; + uint256 constant IC17y = 10636681079806759477335090130399848626160046066427253831641198982014030636852; - uint256 constant IC18x = 4361932226345633869318702800429127614954966728322972774836101260425413484935; - uint256 constant IC18y = 15794927263351030509348601284219995252478560495831326295512532824437555021023; + uint256 constant IC18x = 1306160653778651739731417814007205094611179956111728369166488625644167470841; + uint256 constant IC18y = 7444879550181354110118157729417180300292135282670273926600932204849101017044; - uint256 constant IC19x = 18472666759040770136040287734572476173488186713169725992540826148283192856060; - uint256 constant IC19y = 6644107632317542213058387951921972647661332388291937544844303743391780397923; + uint256 constant IC19x = 1678115445428524411417890376810656256573782434876435263457891777353135617689; + uint256 constant IC19y = 18338814368959235131132148903471841522279798213196427195770744376229225984812; - uint256 constant IC20x = 9829615215742981574535259935859032179976113887836305162146982668413983379592; - uint256 constant IC20y = 13933695694553308407737899463836778942624743038377127579647661108746683485068; + uint256 constant IC20x = 13475518625343317374653261886464125169531008269785394794386292166343992054809; + uint256 constant IC20y = 5932940654476357527753202165699205095329934257088828727832277287208370120937; - uint256 constant IC21x = 1190106005642629657179204847684671672693413803948536150966897205607062896189; - uint256 constant IC21y = 7445344357214588757423998950551920035256982808944161212594755513433023796118; + uint256 constant IC21x = 7921347123864641135079572825878900108520077374695289581231865590896941725406; + uint256 constant IC21y = 13630426985012118038457039705336667119766200581198072395526813535328659645427; - uint256 constant IC22x = 13560517120279809178159268592319171302690761333480060958385342523002582700755; - uint256 constant IC22y = 14758334088619655322565352346349983260946614298381566173762007224105824914790; + uint256 constant IC22x = 12444411055588360895738441441608818038189443178213456739056930867891670695793; + uint256 constant IC22y = 19844505351898837377485008404126311544873570189001934549491240425304683893761; - uint256 constant IC23x = 6120867825174283986836926728203292191380095094630398556979574683101447071744; - uint256 constant IC23y = 2651465889259740475961949788686856113783362984495148404171493261034421508818; + uint256 constant IC23x = 21749054833910211486879296937411559584455172477774736168887294488892823110789; + uint256 constant IC23y = 20733838143804177645847095182210650193921032035097913695993813013494796554878; - uint256 constant IC24x = 14744291168633475607835646215414672951228112731383085919073834113204906033436; - uint256 constant IC24y = 12767950174224841741319025676084102284334909290812116709140408630955975715891; + uint256 constant IC24x = 9416811339787510459121579505336239446177100930643837924054193303528446775946; + uint256 constant IC24y = 7496529505075181120033781430526436950403023957543412141861124587382165460116; - uint256 constant IC25x = 1786809097618922431706553976149086465073118915033069668657785636438093107253; - uint256 constant IC25y = 10732778263613146492986207957226453655129865292705602688810713921319909556420; + uint256 constant IC25x = 2521037654749916061705436196328419692378725242316483482537605406140966371785; + uint256 constant IC25y = 7481355955219106431418764349901209151469635161458088173530010275965718936685; - uint256 constant IC26x = 14981344630181179597682265301026870334035473194100264945231286188628996815361; - uint256 constant IC26y = 6214431963167067471287444472312645702232742390916189034101528308225444821195; + uint256 constant IC26x = 6159877667151052542275925153356898955756904311468966193307411548252975180841; + uint256 constant IC26y = 16957951729568467905949534948317393115956705369972511767296223548702535081265; - uint256 constant IC27x = 5893711315331155121990502514220597587208248975833788724596135914001006346006; - uint256 constant IC27y = 18749665808474039346244394845184883127613662390188541835798463806875307217423; + uint256 constant IC27x = 15895763439275966699350516503752383386910876897737925080464955955128432705111; + uint256 constant IC27y = 19175140840659322458007940683412165219686476779035525370589132195070063770866; - uint256 constant IC28x = 21027185610791690303253869994804969111616218804674113642453583565680209359764; - uint256 constant IC28y = 7936209694667761102864394112090767125068090722954784444358146794017232155146; + uint256 constant IC28x = 12781043689434879144913554102394763693323529473062298868310352629331148459735; + uint256 constant IC28y = 6283658702263955451222955098326287456301140412421667344161433264750419443719; - uint256 constant IC29x = 16440749915049905568771710852842016704065906853006987246654318326583685260058; - uint256 constant IC29y = 2137563558912041291285106822634833183909274714607235644111021985752509763094; + uint256 constant IC29x = 2650177799351619826805750223838543610631746513548033885306673977535830512438; + uint256 constant IC29y = 11132853976141241068020587349960899145809492234214887160916201017351325157988; - uint256 constant IC30x = 8912815525745351499394179119196688391932503544598568769209228156607367203899; - uint256 constant IC30y = 860985238431007380775519923460493952035470238435223739855074097251116326211; + uint256 constant IC30x = 18736799734640059151631443676921126568985757613276002385521759325513804802626; + uint256 constant IC30y = 13415376103030171487081928512271085772013030109823863742751982671727582658980; - uint256 constant IC31x = 21224837900098927332837562316691318035773274046558763846097039583862854174821; - uint256 constant IC31y = 21042822746913005060317240297104330439571844723782690195918679695116912241630; + uint256 constant IC31x = 21557286671905088889566402390265061739199292656885684789444524077382701944387; + uint256 constant IC31y = 21231741331124027945182785630154125653093132422383614600901529412439218627922; - uint256 constant IC32x = 9179419322121282895450311945850246830851130178656479449926059275579950197311; - uint256 constant IC32y = 4891954583043843534468015537529292797250343856138720106851301690295318728606; + uint256 constant IC32x = 12940528791904943075774630271648139819183770363825384598751929176612396816309; + uint256 constant IC32y = 11715714066859572983732294401113791297224107355127784357906283556606876697313; - uint256 constant IC33x = 2660509482198576518676293588476043106215095245075936115560211547469291502601; - uint256 constant IC33y = 15706931031454227080346208853501020169075744763907828253201208884894517763782; + uint256 constant IC33x = 15336252354396723554713307983151576076480035697833410433905456356379362289152; + uint256 constant IC33y = 14285566909120907110744857231861482433624025779532059993332654722933225940108; - uint256 constant IC34x = 5298825468922281134275952888288413808602458337966267966702712665613399660923; - uint256 constant IC34y = 10085042965622829982954928942577007596734737682027016301879703395118282439883; + uint256 constant IC34x = 5884577964744879110464156647383403939257839388735429724437551422558173872878; + uint256 constant IC34y = 5958469892694001137576744420567992763085818335022123188788525319869299417926; - uint256 constant IC35x = 14273368877745260344772524398926555223734621505224171918733619103053410588700; - uint256 constant IC35y = 3633795793357716089662348958173575842650492753040167936434857224581514007457; + uint256 constant IC35x = 12672185381524358800675435215363054959069939703263610081597439227371768295908; + uint256 constant IC35y = 4991666983404014883734579567062205281670188976932731580697994319863342756299; - uint256 constant IC36x = 13926716448637669092257540299210654644023651439264676188717954905031152660392; - uint256 constant IC36y = 1991938558589377208638834203440002422837340069393625276381249819510730044904; + uint256 constant IC36x = 12479464787655150134135032355208700460404887585786595715857516484397392313829; + uint256 constant IC36y = 1018320791027450989526892580853893042106757239279085768037427870333029668144; - uint256 constant IC37x = 16684255030447847871432117226362591499750474862897509921341848988594345959686; - uint256 constant IC37y = 12380126251013477730717645072620949715543798337877164508304962824457034058133; + uint256 constant IC37x = 1710643914829437416138882539041939546506532462061817333836637216015869647662; + uint256 constant IC37y = 12758226704627400152672369569500323201628627877764341991772159440849241652318; - uint256 constant IC38x = 7222626539317841362674899161489173693980034957686471866354504173060502183680; - uint256 constant IC38y = 16296179153639714048768048811942614847304343111331001035236610896766164054630; + uint256 constant IC38x = 20765423861987687018960117496746212962602364675866980462375997324206523750961; + uint256 constant IC38y = 16346792775445301799414964816645507499977984096536245002791954274903053139217; - uint256 constant IC39x = 20214089796327880760458890663666242392161787375470021992611876929315774926117; - uint256 constant IC39y = 10005772126914014376740737725231929708705633638726988844491140731371891239352; + uint256 constant IC39x = 769465146932722209788345881040630992027977262524965120307379443463936171679; + uint256 constant IC39y = 21443221478907556614563646521746551171599710041754345128056788823735122681237; - uint256 constant IC40x = 8748474738961242727393074667927152816376181853081228777131234676703538308360; - uint256 constant IC40y = 4166370187429475019955474697799100274438224655642827468710113779190557564319; + uint256 constant IC40x = 17934915773114640094089803521072902877108147466572877311941777900066340828562; + uint256 constant IC40y = 2089630803626128852847674177433115291541250343192228772428174089220616008628; - uint256 constant IC41x = 19178932044892768279069897846039005091056869340101308652740855895567820730162; - uint256 constant IC41y = 16988231257924832827488583091224647809144034426734711076896415994250847423347; + uint256 constant IC41x = 19069098312515111515913865066329616110413992526699008469047325420085649846405; + uint256 constant IC41y = 21815260540752989492591652481223879022266876419689747999044678166262558790856; - uint256 constant IC42x = 20621194198659736522847563334540074109616979942667342758071691165431090255778; - uint256 constant IC42y = 6711423905129946113774129466876046963812333205159346718017663285810329991695; + uint256 constant IC42x = 10809794399203216633674617798989033317170284850724966590352654005949446023921; + uint256 constant IC42y = 8433609511982756020036046061867269263905241468097428240413170301892914960646; - uint256 constant IC43x = 15416099361236042350122688170653915147984217974427412549636420903251622473972; - uint256 constant IC43y = 9420726600512412296316343772448308590418941880142809732152241469716822680817; + uint256 constant IC43x = 3652884951545472315780642784058908506025705241661109657711983058977740335518; + uint256 constant IC43y = 16718547234608374755814461499223334522439521447991730611938964364530421750378; - uint256 constant IC44x = 10087929311427463830545744556245715627319218860026295347599032137643997623006; - uint256 constant IC44y = 3337350136039114557348267104573358779776464691412498613742106808294761068935; + uint256 constant IC44x = 20399377428052555283592449607860423606769498358874252853329147197150739355907; + uint256 constant IC44y = 16556374609250855778134596484213736855732191729177044585168560291812583756028; - uint256 constant IC45x = 15244723816223205457455627780040989300878352761671294956537732599106486136633; - uint256 constant IC45y = 5753735210573043347679708762689185983937782364338108421697101884274601803111; + uint256 constant IC45x = 10708822128089989461610654435805634465615772424453005428200827077707345279891; + uint256 constant IC45y = 8986910629375303890530817347320539597845661305178427869950691804248585867467; - uint256 constant IC46x = 18933044827425121571130594729293859370866436775794753573276388846513711888648; - uint256 constant IC46y = 6177735740795796237136906064608022021364556914950733999056000371545479654213; + uint256 constant IC46x = 13749491805056691340349871073294477065213263357473867868125395711462162176129; + uint256 constant IC46y = 1250535023271277639774246389869019299402949021642971080092585731781818172935; - uint256 constant IC47x = 12569563406489656836431353757451195874280920615888052462826880045887136572477; - uint256 constant IC47y = 269170251104016790130584618792246555948171160505005630043281879039431546997; + uint256 constant IC47x = 15639821013754284785460152597463271114837680345843427655802176975135241556176; + uint256 constant IC47y = 7497411966234756803281351283197275455100909191193475471732361426882334132439; - uint256 constant IC48x = 2938184716360037364418522464730835059591839931178816523171193685926164368173; - uint256 constant IC48y = 20464075746327163268357077448971116263988241961476959526165538089357756191067; + uint256 constant IC48x = 5247394744580383162319803883596549790767893837459941811796348428134340303425; + uint256 constant IC48y = 20494387416613468526541358070169052310945632991675833441592528596578971425367; - uint256 constant IC49x = 7152037383227442223506356303732572308443617532503182492862660448987836761761; - uint256 constant IC49y = 7302052959547380986854420123600411021989772648437459668778762768724015977984; + uint256 constant IC49x = 15954385881062613030007725744410323696099356779349117616497265076137016023734; + uint256 constant IC49y = 12667344345066946692620059164357275763295684555947058798684386937405656819211; - uint256 constant IC50x = 3136533076750072302401122147831282418307454169150671086191653285879577853529; - uint256 constant IC50y = 6478545731711527023523598768790056245076696915888882042639662524463295335549; + uint256 constant IC50x = 18078434043538031119022650317809314372940509163736609186849977280253768224194; + uint256 constant IC50y = 3419971708207376779851386872531770594433226603112927364864376900733842905468; - uint256 constant IC51x = 15994031278923501332244374870901020922072589753160128559475605117473747999796; - uint256 constant IC51y = 12714044855777943367158235016853423483808532038920127690728215956216149902783; + uint256 constant IC51x = 3759145415901156720437452986698072719112520310450557525399263838265242391827; + uint256 constant IC51y = 6716939491258801222935133951532004171520559705891812293321372970851631796026; - uint256 constant IC52x = 14839687929365632755835736688340709835056894648452358750947467311844602020368; - uint256 constant IC52y = 11810826609453731930125925528624806186541040556765687236885502977057260637006; + uint256 constant IC52x = 7364733738232452043160914112067800746593905436783431339219885422871006017641; + uint256 constant IC52y = 5945701054852610437357795975805602116200656742603744603199271067047054100168; - uint256 constant IC53x = 11677352192162393780622560069128195996025162948885725150388444718469359263435; - uint256 constant IC53y = 7505001428334282834748735706502184904449852818142861323878208106784121392022; + uint256 constant IC53x = 10161087304339651665742850572903580167606445505587584113126003091680506085981; + uint256 constant IC53y = 3958986789563191997480973479407045271476123589250947494184240050711031105990; - uint256 constant IC54x = 12906941464748621539395789783630772803852422418097670807977428016272807703891; - uint256 constant IC54y = 8420025012155712606421667269741394278258118294007360874391573854308417499136; + uint256 constant IC54x = 2726263682344228078348252481826417366560238713527921895614086992257330158204; + uint256 constant IC54y = 997958397940019682815220974948716632066175974786808238577314576661045691960; - uint256 constant IC55x = 16769924047013466307575406549527714706528708754424190482416542781513157571303; - uint256 constant IC55y = 8742367144574877376159945945140693721579605243213816449060580040025133583930; + uint256 constant IC55x = 1926242511687472557058300862839601536946432099790245016559074402316241678910; + uint256 constant IC55y = 3319640688574460002522461016350749706380290607848043153947150634655864667434; - uint256 constant IC56x = 16311697532766564568216400660076261342449594625250680316207994313685604014256; - uint256 constant IC56y = 14459635704881027838307406633953343728297099902657485661606546336588472189011; + uint256 constant IC56x = 12522272332000206141418060323853365191717642829460663005642057685687066553527; + uint256 constant IC56y = 20568028321555624779555553726028836003373111729620748325061447026069428351834; - uint256 constant IC57x = 6874848848790300053883880665062191184727922643778021038384574543135892429157; - uint256 constant IC57y = 5366415503455642378926070540814442854169626672138644107040112550094992599749; + uint256 constant IC57x = 10283706090108198136650704995011662511751290065821609863052995267043952980988; + uint256 constant IC57y = 11632752132030441524555083263261623579731945265325046704298411976535588246882; - uint256 constant IC58x = 17135019340321224873188452097564093215117776610708321247166724386103388542065; - uint256 constant IC58y = 8073586424903611489885548908272053143307741865895982553720812859704984694223; + uint256 constant IC58x = 11750786146065218417141362677202420092073967551645504253517612595274898423357; + uint256 constant IC58y = 10851933161697204467076247982660120664809926930484917818774157530383622504538; - uint256 constant IC59x = 7570328482429665524547207967739889884467264116248289928677291700605245126621; - uint256 constant IC59y = 3058931634571090293171627808464332089504503672918366595573585337782814624793; + uint256 constant IC59x = 19025380440651297123274829482620960985789531251016373554555913573051339816420; + uint256 constant IC59y = 9133147662047865797501214799481608195872979317304905168224982706262707448693; - uint256 constant IC60x = 20414248696364157760642156076234891106389744610922182627100453811581437400253; - uint256 constant IC60y = 10648319863692432962144117790034795154034669299155378597879793913253325717245; + uint256 constant IC60x = 5782393520656463621751414457114290106735644642923732449998918283389037264095; + uint256 constant IC60y = 13620477319273803945249692179490042363671331459259852140866717956107673841753; - uint256 constant IC61x = 12825505872738496028829862627101129511992812008244453218033769555484181779280; - uint256 constant IC61y = 6307444362843653737823883516937896803360683045223486569986067367035277556831; + uint256 constant IC61x = 5607738112777235562463163473215785586728084839420819714984382481115129089347; + uint256 constant IC61y = 21512738346967511486013351746949884469437059175937970792978006018659680461155; - uint256 constant IC62x = 9651994352301832058364814865898524894771635708636004142989748465584707565122; - uint256 constant IC62y = 516493411239149844349039968702201840368482256435807566827099766317904316090; + uint256 constant IC62x = 20464354001101222902864737492093113414317555530837891882792309935662575912331; + uint256 constant IC62y = 10326757472243180920583015806255654663741889238757369760315492840164334092336; - uint256 constant IC63x = 21497976274252177959246207685625338195381729816485423424233653103244676879328; - uint256 constant IC63y = 2950739200224660287089919929522379213196188831206009934176280361011566739313; + uint256 constant IC63x = 15709348470066437218193520187942944684132450447428583692826298750685054700181; + uint256 constant IC63y = 3213872110886145875919374026933926950123433489246192124387780111602051935165; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc_nullifier.sol b/solidity/contracts/lib/verifier_anon_enc_nullifier.sol index 545b70c..22bf4b1 100644 --- a/solidity/contracts/lib/verifier_anon_enc_nullifier.sol +++ b/solidity/contracts/lib/verifier_anon_enc_nullifier.sol @@ -43,62 +43,62 @@ contract Groth16Verifier_AnonEncNullifier { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 8657756420679701184502917191508020726862374036950916575337877718383399184180; - uint256 constant IC0y = 10149529747944182146671147248171759566757208634718959133691916013439128058638; + uint256 constant IC0x = 15773332710818000401403228889656689210332387304770773520232049448168161325701; + uint256 constant IC0y = 18681081837015129981466661911131589221423668520600851700311005068450691924221; - uint256 constant IC1x = 1206637911092060704578853512125749996555999863452184159654354675704904708345; - uint256 constant IC1y = 12932935639979076836438737783396400377565656725772057117013397464901971905556; + uint256 constant IC1x = 4261823687060649865010475628520793943542298792100939350352735576847660097791; + uint256 constant IC1y = 18564502704515238859321228827425826185311718382260385940718634768251782749601; - uint256 constant IC2x = 562519197497253760996100122933394049430300624431259500906196236142350444411; - uint256 constant IC2y = 10361387324211278124664094481061680399278881318978985774085138234228864541755; + uint256 constant IC2x = 2546629369453778933747531190967458151648435674152255217145870600380435404333; + uint256 constant IC2y = 15810344736212138994097931033904647206446731552442117072590310275113646296107; - uint256 constant IC3x = 10423963879779636396284067358983202255988643525710461617611331753147387594070; - uint256 constant IC3y = 1293229660426238329020664349967069581381041777216277655920366527543924754828; + uint256 constant IC3x = 4763497726568703662529336242448130719053481022789217961681606277239505684481; + uint256 constant IC3y = 11207590578295540857938411952012388219083373533028457942270620766513530104279; - uint256 constant IC4x = 16589784280033594644690098247588729996620907779268074082828695336367694035633; - uint256 constant IC4y = 5373763608718713986241969737336820910960965223245690211989718163911447447766; + uint256 constant IC4x = 10480688194609241856860326136300750655427709140897005724757216937409932204006; + uint256 constant IC4y = 1795739739550238673045726681540468432857161048124438474105353434726595366292; - uint256 constant IC5x = 2206204975933485113032430843685187337521969361703937520466366528537074250244; - uint256 constant IC5y = 1085888251828361786820011413034261635017132439183416747018321907916305074810; + uint256 constant IC5x = 8498272780988849099892847742902282774603192444606769210656905391164793767117; + uint256 constant IC5y = 20431288654962695883598666811081690368227297793600973862547327913780037462800; - uint256 constant IC6x = 9263277258320554202581070438468100905521444850567134280050580578006932173119; - uint256 constant IC6y = 8294252792830158126021348131053207014883379498580238798661865894168184292483; + uint256 constant IC6x = 8735907723984035071194933650793185720756700927347269454942612698681915739294; + uint256 constant IC6y = 11143248332385158980691637302415511280772228259247564863682468157667121499262; - uint256 constant IC7x = 17481291003954860040316371624948244947074950707454880088271195338294118517123; - uint256 constant IC7y = 15563975614400758533630890200042672417319868623068463471751037766096089701301; + uint256 constant IC7x = 9487179344669453791107688785744897897728963718045776365029795893853322575563; + uint256 constant IC7y = 11994909537101594249022002959071958173713472035292980115545305088898921227238; - uint256 constant IC8x = 2546178348589063017699405828581925015875480521708134472478955367148913434160; - uint256 constant IC8y = 21119156183270523762297061139644453960469413711953154607107814467936146245589; + uint256 constant IC8x = 19768983268337967496600114397326028973450777158854931801911127508546702825271; + uint256 constant IC8y = 7526453418333700747786300034669802940086864759669788958459227364398007655316; - uint256 constant IC9x = 5916318157826452225572192389071108619431682654160479548932110177902455570148; - uint256 constant IC9y = 14980504815561113344870779588717558322406543272350626587304328970253059531200; + uint256 constant IC9x = 19081117049423380572511130119677374584710481127510881189267358386414285651431; + uint256 constant IC9y = 8376617478540777146094598792616525743199541273869167056145908132069456457178; - uint256 constant IC10x = 7553568048045654100324412451910818765292861436139632170370096186496327673367; - uint256 constant IC10y = 623541364796696648479755745770567439029438348222137831522822288269281717192; + uint256 constant IC10x = 8224686719734282667612130447363639758359078852413255215658929590906440465725; + uint256 constant IC10y = 1840928237675218500872004153746553319636987853789118938796875868969693615505; - uint256 constant IC11x = 21713389490050356176286758590365494951088402391379414746979879962233331336942; - uint256 constant IC11y = 11102446911767060781651283761449563060613791728738172203101001431734498327224; + uint256 constant IC11x = 19179421147045679055673519675549984469523481520372701090905083654363760125416; + uint256 constant IC11y = 4019056863193868934071715328814386859259511244752399649660459784715512402886; - uint256 constant IC12x = 15666910253996036513579055567160036086177147542537007371575161706523707112738; - uint256 constant IC12y = 16628502896418680585772362220078157685770366023200198302860181122427813076414; + uint256 constant IC12x = 19283842924967851578981102210456552567248953624525117226338780074149607425100; + uint256 constant IC12y = 2830276538555624729012629124920934591734040058585441306426469049994555956854; - uint256 constant IC13x = 16016709979648446499457766275433656709286518542706192775450719202127677427135; - uint256 constant IC13y = 6978118141725580588342908419919834650614229414707687290581791232662067791725; + uint256 constant IC13x = 6434496284281570137436839464623199967310790418269055391308264573652151904337; + uint256 constant IC13y = 4994072582147284150579106380100877515293863633477691677373801250191685805077; - uint256 constant IC14x = 15845935284126647984511394091107403179410700308621687723836028475366799868059; - uint256 constant IC14y = 6802610988022850330049073852589256629251696876955041180368699416871340975269; + uint256 constant IC14x = 17005576150174365373396061627407017624661092671999029894584471995897062462760; + uint256 constant IC14y = 4070130853909280977107684146778577247894774985430806232662631930368523536022; - uint256 constant IC15x = 9219797716390944961825667099203674721142312687808099384820275436914696468106; - uint256 constant IC15y = 10865565931122403227228347472211213546889210541912749840350699466993775226251; + uint256 constant IC15x = 5785866560315779135125479505635807135061106391211015829339432709326520595444; + uint256 constant IC15y = 4444051196367818652263003615523585637750477144596933432910955543243867664296; - uint256 constant IC16x = 3354616596999062839724667027150577203368900220765455079434176716850157585962; - uint256 constant IC16y = 8764597290561729887176013021159274078837334267653987238335452419253978815327; + uint256 constant IC16x = 8924362524826626171593437355743187643942578952165292888635888447793838524765; + uint256 constant IC16y = 20624208786702894201574008881850750594220878750113071411343221699297657171412; - uint256 constant IC17x = 19438343747448771910798843223122013061020575070102086159190026196358330047365; - uint256 constant IC17y = 20814112968823686335518385402647954601081959322770984903910491680408813574168; + uint256 constant IC17x = 6477532669648251475857068683747190421623622324126337548131863375767643569461; + uint256 constant IC17y = 11935132288887943539416555561464165069593669700028517406247497572625693496236; - uint256 constant IC18x = 10436210345298583251410758332602633780251754711651101351756660600389835377113; - uint256 constant IC18y = 10487355193606469848380294228330730542927976897893996915447264553015337788452; + uint256 constant IC18x = 11733799821122062171541616701737653409140086965845965239303635816197563207482; + uint256 constant IC18y = 14720771120719946659157058295715607317354022440685046136208947896838811551783; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc_nullifier_batch.sol b/solidity/contracts/lib/verifier_anon_enc_nullifier_batch.sol index 702c69a..1b6aa84 100644 --- a/solidity/contracts/lib/verifier_anon_enc_nullifier_batch.sol +++ b/solidity/contracts/lib/verifier_anon_enc_nullifier_batch.sol @@ -43,230 +43,230 @@ contract Groth16Verifier_AnonEncNullifierBatch { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 2395789772256090657907391149545309971174185471509563219296269166677996715924; - uint256 constant IC0y = 7152602764202850168818214524944751391285085200558474414091714257983317450117; + uint256 constant IC0x = 19217537801267694957539759070158122868484665020740676973199246417482535045007; + uint256 constant IC0y = 14890590645396320527758218281502776240200960822810877247964887728574237782523; - uint256 constant IC1x = 14644842770843205417066836091765712107567556113384495891763878768715386428602; - uint256 constant IC1y = 13427718602617526158589713189211663262615428670765653743175228169292946514930; + uint256 constant IC1x = 2458845034923237576954135524681777157141487752333304866768869522858381367555; + uint256 constant IC1y = 21453325368051334210667579978214279522151243737774317389691967386465464785486; - uint256 constant IC2x = 4034569649798147153338102555851612620678233038435282496792170386073220774409; - uint256 constant IC2y = 361238751928635208883843293710634898099962247596913051399516274584644337793; + uint256 constant IC2x = 6917087986800490981289312000984454820473545909511387825804720073340917837872; + uint256 constant IC2y = 2898048348575271793382440411949747868545552883599648380785068384524633713063; - uint256 constant IC3x = 19102675628780940132341735686107681308136752517966774084791125049280131067405; - uint256 constant IC3y = 19414975025228699999621841003355323411172068902711299314550577760107054966761; + uint256 constant IC3x = 12345384099343369963411142527052659537174879997428200624260400052457757170640; + uint256 constant IC3y = 21504026578436853050202298942786091245532679869512974657320994825847309519790; - uint256 constant IC4x = 17530851367509537478332569983330114465026539337625887364350249230990522292972; - uint256 constant IC4y = 17285222465906759569307996094158504963559191283686875780395130661898638725485; + uint256 constant IC4x = 8295942885610917162774335321517534846659413408636714536059104766417496988687; + uint256 constant IC4y = 6368926361337954845564453906009074741951993711306962274700243539769754117866; - uint256 constant IC5x = 12770332117609025443002803390438958377412279742334848801167522207661574007620; - uint256 constant IC5y = 19854275736738566265287208676451962732314294079621745840330697229815424924773; + uint256 constant IC5x = 16314040942263602940727646498557453265983271018928011668882132884502482628021; + uint256 constant IC5y = 12813594401568803290655032437000055041705798378216479550965312581114851052908; - uint256 constant IC6x = 16921650104382042909263743819322938315215438638657307381387042250105699611444; - uint256 constant IC6y = 21223800609553876367742089394256533004036002276780720923741068717574654288731; + uint256 constant IC6x = 18703554633702962024743844656646257016769651037463609703447233021373021855847; + uint256 constant IC6y = 17063635812362309846157706920614507984428768691846294091793683855011540156925; - uint256 constant IC7x = 12137060077519535484639404542858284938716134628719354463883562251672841016703; - uint256 constant IC7y = 7695903269947898406353525024834264542054966003185539528615699228567810130387; + uint256 constant IC7x = 840372968238118238644593711350900108831857061727216855923803312917142738862; + uint256 constant IC7y = 19700941462624080545496854665489742034362182494169470380957145517027978876312; - uint256 constant IC8x = 8374023289143341874461646570467112410933613032048074025993079701014309959181; - uint256 constant IC8y = 16432874524902526015154460240212460926893088090831194914276768350674224977053; + uint256 constant IC8x = 21312516150647030030537136387049589816266738531033125554574448236414367632672; + uint256 constant IC8y = 2716867834079977575870552131130700773958633314407712682964810985964916830076; - uint256 constant IC9x = 11888431444090639192902253429327281300663215057235364422049130215972239996028; - uint256 constant IC9y = 12206407746110032542681441169893590806396811743899692107495504734439095128320; + uint256 constant IC9x = 4064843066946103379876227299278763710636345346922862457626244058971887111684; + uint256 constant IC9y = 18377284634938210928923790607893095531788275023095101404541713925997515838661; - uint256 constant IC10x = 14210197014539804974249464761800705134668839033620980256084847029957751701740; - uint256 constant IC10y = 6338278894791835946096350512957736583880340903163559263130732236739407982736; + uint256 constant IC10x = 6358987294878912302577825418865952112377794402728762166807736262055928962581; + uint256 constant IC10y = 3298290856073470069604079586155864226097477393533663864387515863558767943284; - uint256 constant IC11x = 204458773094422483005350355332095742846516832215963582901632563755324078083; - uint256 constant IC11y = 895479793138269555122675923719425497841032028176849527149434900717385347715; + uint256 constant IC11x = 6476756969881033416254545132002747825238989821869683035410765797195571077604; + uint256 constant IC11y = 8556104489766592854854647665076480460454491377088200406873587420779663178793; - uint256 constant IC12x = 2116809647035495333521015880411766865806085873322260107525100683977251497980; - uint256 constant IC12y = 13711911726367235332038833898620541524042935144343618183280300838572099630017; + uint256 constant IC12x = 21604235171203640567425754182130744234178874507423755278922305676842742843355; + uint256 constant IC12y = 10019749963276411427163563602488490499882481121214999757469160360964302290204; - uint256 constant IC13x = 21684464732301340329292426285367889765010955147792125234703153331402267797958; - uint256 constant IC13y = 10078705319204927258851392037674505822193216065323471908625989920060023524190; + uint256 constant IC13x = 4187548419108484620829850058776572334742111454307714273136133270391063262690; + uint256 constant IC13y = 8803535773688355710704662331874792080312880250113405726628363303362404210442; - uint256 constant IC14x = 17331722291262750341370093458124376291767817443103553473514409279184627847712; - uint256 constant IC14y = 4325709235783253636758908373652252243214004567791501481330959938149241829334; + uint256 constant IC14x = 2724351901936809885614843514953009165676898457017440586615215550329523429130; + uint256 constant IC14y = 3368198594829198216248681522021512854394824385929923522583668760257697634106; - uint256 constant IC15x = 891591245305463886536118766415139950457332615880318775268296896058189785820; - uint256 constant IC15y = 2471443246876434365130065518857418732863927364560322457724178206320242931846; + uint256 constant IC15x = 7378101059384478788462514573762863508787606558656596446392749157424064991942; + uint256 constant IC15y = 20365236435755744362605904963444568085097472381165115361346069794340503862197; - uint256 constant IC16x = 13476003053804049003703771450029193865681894448710951565284929739314786291331; - uint256 constant IC16y = 13070876159664700874578333859549466258876751862328455116460845494550851179464; + uint256 constant IC16x = 12790442221582748012451695720414604697801006998784779782845049003170818060402; + uint256 constant IC16y = 17603456025706177607512042782490147335916336584240042971857535331833823950042; - uint256 constant IC17x = 11769314701297175952614898903739742012462897803051077117856517952909264657069; - uint256 constant IC17y = 4740036360042046088214711398753546369812809932345426613135841633664050902282; + uint256 constant IC17x = 3851842572866308712169846424919702445894635560335596440046845671710687956873; + uint256 constant IC17y = 12575879180998918402386482413203350105509847147526490174314817605412191061272; - uint256 constant IC18x = 488450941796600323989944152467846464381697497686071220677350750063868501306; - uint256 constant IC18y = 6949322508683845898732619339614913575502354858457578943259372536003816771549; + uint256 constant IC18x = 8849435654982866896647119963125322358030272956082548156086095981537278402215; + uint256 constant IC18y = 8034939600018738334841503124976442110938047409001051764237872353304629439573; - uint256 constant IC19x = 8380466311061588199463937807545277636898368345063774313454150683835358636393; - uint256 constant IC19y = 7193147559922649220870304412312887279870767427818242870910226800578444436192; + uint256 constant IC19x = 18098810952343365559798635927128628598335631103437358237740844025722222351622; + uint256 constant IC19y = 16516180718424763548403377389225345087624883654095186741396600620463428312767; - uint256 constant IC20x = 8343080889116005597691085802402747097420894160121720695080318038527047643215; - uint256 constant IC20y = 3820398827303045682067588135761873658903715494931520781882152854847298042363; + uint256 constant IC20x = 6579364091033795363462966653813241981708732427900703745748034276632608355973; + uint256 constant IC20y = 14794965607927550649559984092472123446636534647123626827149760345662038545010; - uint256 constant IC21x = 17581019348186462554351398251243007264930431831083937472161920659806646944455; - uint256 constant IC21y = 5545625519661963107321592838017377921093662318854969693201536705933488779001; + uint256 constant IC21x = 3001451431393088702170324146257904202930168436525194360056543452632359790122; + uint256 constant IC21y = 12501351513042157063508255457220643676836352019579114665236573188863643453886; - uint256 constant IC22x = 15019899365033272227834770080129431828983177784035033674853481207996731215609; - uint256 constant IC22y = 14862791070894344203411269033129759399792308441548497018124550595215465031327; + uint256 constant IC22x = 11942247410949004404416485453875658924229030720592874191561708421687629514577; + uint256 constant IC22y = 1421248357425203037573163623680169679950216475163430615222441389511611293589; - uint256 constant IC23x = 7833069343980574830924119347550350317981004961989247444133666893995974642534; - uint256 constant IC23y = 18068618285555496116726700081909637563991012236615681179755092692561487278370; + uint256 constant IC23x = 5924552212616721590180004751104062729971995774011665978090652907729492407690; + uint256 constant IC23y = 17648544619305644385179861819278423699351610190370302302782680895192029612411; - uint256 constant IC24x = 15721529392349171300295205905195145689301903533258809789880017130653980778536; - uint256 constant IC24y = 4437416305470105672659207587457545045516892158521361436566757167018824857972; + uint256 constant IC24x = 3852410005009552403509723499950390111200939181225189955073499776801882057859; + uint256 constant IC24y = 6146695597909031860519291933903293536528249979898513663021242312319464941810; - uint256 constant IC25x = 8851216879224204831036797102432707455186511677841863293631095726101915525017; - uint256 constant IC25y = 15165856852615791024419519831848386483349133746800152800848332289335734272327; + uint256 constant IC25x = 9247616232285400811073826135240721400561648775034940006093158219534855129985; + uint256 constant IC25y = 2640261489836069291278916115064522602809250287607948726708988444431435707457; - uint256 constant IC26x = 11005670225580141923784447745878255813748411464081858472384659933829659850682; - uint256 constant IC26y = 20695347984793328597728111582416531042237257001154049278698607423877869874821; + uint256 constant IC26x = 7678048002991743186727896008179101418130527872753399751743968425005524398965; + uint256 constant IC26y = 3392574415890546585317056513324401263410990249247954196241198242445003365560; - uint256 constant IC27x = 10266058958624888749236116936391595125406640557696898808866882703611755118776; - uint256 constant IC27y = 9265970301529750993784797907906963350499699066254922807100740790905269160836; + uint256 constant IC27x = 7741508021482922248975388162348352525531294316776044025278749458052049431092; + uint256 constant IC27y = 10061313902955383668088273855929795857089646056508670980726293954854402737420; - uint256 constant IC28x = 7642083775914108004174503942685690738227252348545876120356290913269302318296; - uint256 constant IC28y = 21728967760491048148600757000448418144335251175190165492228834000031013218196; + uint256 constant IC28x = 6562691754111202415666082753816979207691468080205131183924439567347912902869; + uint256 constant IC28y = 6344532931998717993276744252241201010738794788325943472038713989071390084516; - uint256 constant IC29x = 1545547328150775571154047252220004472922285345900191445922480440069729256259; - uint256 constant IC29y = 14452902504972676857332304681310109659515973003806298868175884023112692501473; + uint256 constant IC29x = 8705383044247372786727225245213936989481335408510379605597943655773592769897; + uint256 constant IC29y = 4633017540698505878365628680201009868479635214348267338676926045606388125469; - uint256 constant IC30x = 5526063274914106033464379027022358559686399566404269825832934166215843789983; - uint256 constant IC30y = 5028866871729015251645467658929187934826817399700638699745133974438965190155; + uint256 constant IC30x = 17964342555248266235202549979909032885652363928372682447189601453029594350713; + uint256 constant IC30y = 8291352501386608509191006020538912622590188422694048221796733835140743075846; - uint256 constant IC31x = 20755802968446898354292439049672911399394574633366385733074081350468832449570; - uint256 constant IC31y = 4377769126252647165141250108385751880934330982108046537917945010166019375109; + uint256 constant IC31x = 21273852284702995833408839626629633436749858568256501644701951962582811103262; + uint256 constant IC31y = 18953474452989593494992379158383489987955115902236814560897478376687604683021; - uint256 constant IC32x = 8485654510952531288976143124648864826827781164879444982639679678435645501029; - uint256 constant IC32y = 18248014982863648156665682707637769130046840865654320448240193872679543741676; + uint256 constant IC32x = 15999826966013580868113696432513390266704706616728089191411249704708154774986; + uint256 constant IC32y = 5675893162769614267097674220991526257258036763497879884263724290538034643054; - uint256 constant IC33x = 796918119016654045396642672203386191882529210505799603863498626902302063170; - uint256 constant IC33y = 5389026112429222284781315586861744032602430945124948070174135083875692405814; + uint256 constant IC33x = 3053982756385888224231620837863918518883907052505512798602177492692753505528; + uint256 constant IC33y = 38547646871469253723790967403953954342325053602252665195841575248185579548; - uint256 constant IC34x = 21482580417734448005382474746931868294656288560711734023431849161247643547925; - uint256 constant IC34y = 8758079914349411704650677209340365967072071650514121311302402325735688104555; + uint256 constant IC34x = 12290750332906620508786394826438786658461811128724285564358419882473318286055; + uint256 constant IC34y = 20649236855344307101945108639728064898260245272725874780398298925947407720180; - uint256 constant IC35x = 21196887520023768249114289443854000666090119790025533097056868641356615579512; - uint256 constant IC35y = 11163820770906223781819657406911304526171086255315937449442735821397440256428; + uint256 constant IC35x = 21123277002588670947416467083386366326312832649485763973013785814255532697733; + uint256 constant IC35y = 16425986861789429560479145822445086165103201837072576944155696376984831394175; - uint256 constant IC36x = 7604417522388202942328614513362610680890878506197180316578751536559717962525; - uint256 constant IC36y = 2939843898816592041995827608122852167668543647244033836125362327274633363553; + uint256 constant IC36x = 14698906939955789456115142981511156655482438724705493194693611836575602047678; + uint256 constant IC36y = 975221092168539271608327236217704450964028529427964579813238090638259553377; - uint256 constant IC37x = 21055542493039952584382904138567597632399079775901703484135178602266077668831; - uint256 constant IC37y = 3202701234723099433340395968552112979260621577303743256235346705427765514192; + uint256 constant IC37x = 12985962913023133640351315427038039610315448708895624766001624807948877636047; + uint256 constant IC37y = 11734463998145696188744527813773539917622566641019599993641061593724680895935; - uint256 constant IC38x = 18660117776394877335587004459543076421551688381560004333509939597346327922473; - uint256 constant IC38y = 21497224631751955168876719082526598669282935474466412149277518195501899817720; + uint256 constant IC38x = 16077998580926314769184160977531197959561228848820808224824825019538872269812; + uint256 constant IC38y = 18051517238082980446564317606673452928213736670021543630324769387851605043481; - uint256 constant IC39x = 21253590697279988266213584934257597663526201559071004305592244451012447081791; - uint256 constant IC39y = 4147580699198201544046811264518235518456472705729353553660102909635079163048; + uint256 constant IC39x = 5085977842284545822563309622556575720986115090525139685880730298447345055166; + uint256 constant IC39y = 15311248373785821204569961460772002221139957541676255135805267426000258183098; - uint256 constant IC40x = 3074166377876271187423114405408798450501344071433870195492493258624272162200; - uint256 constant IC40y = 7708809998636628500158666176103636877564604901211771977005771176809293884444; + uint256 constant IC40x = 20051155217605155286508416252077900886938393222358119831160001945498863388113; + uint256 constant IC40y = 17264960727921200755357029820669712450505626133576443715913677414615924541235; - uint256 constant IC41x = 17936739380422165530961066141621835634410103372703470365102124891394311698654; - uint256 constant IC41y = 3319043893335468800178078503755537325156401517776004960436319252692297807576; + uint256 constant IC41x = 648220535908114594443973984467321684783032250050570230192148754952591423800; + uint256 constant IC41y = 188877397589030783635473413404716191633392400171919152156873972393897459450; - uint256 constant IC42x = 6181292601046035234128829990835776289578607881715069428734078952804873705568; - uint256 constant IC42y = 20659229908683127726821860148248821108763455979773745563975966412735326561247; + uint256 constant IC42x = 19439662478625208054902315420607333969867046011068148467370996816524965653232; + uint256 constant IC42y = 2333640222842586397570878422839337046915190766331506141848065607790831798373; - uint256 constant IC43x = 9370458627943097125026324792741823486870296591318642765771505513857898112171; - uint256 constant IC43y = 744635093409710657521097100836298421296034590699351719962500268199891176836; + uint256 constant IC43x = 5188766875169466268045643524405834185741243372869014932440825081276229198653; + uint256 constant IC43y = 2317853041616684816904015956385433643027447639206890165338816957405649038623; - uint256 constant IC44x = 9919190179032467005401788116773752131950274523318593246173607906300611008457; - uint256 constant IC44y = 15156676743850219721476572168211308795783266878815813000807439905405103832355; + uint256 constant IC44x = 1458891349966087469903345439317648653744547511523311007393705623293780183769; + uint256 constant IC44y = 6666818570811324550227488402552271031329814753688251317599700512260023127154; - uint256 constant IC45x = 6658160304528694888503292297353118357706342172059186950970098461941189536087; - uint256 constant IC45y = 10495615391756334357942944570814444439117678711860539910546077703424603304849; + uint256 constant IC45x = 8533296678862895828338136497193360591760708003725926933253048343989340457424; + uint256 constant IC45y = 14266794324333419101000813404158573121491569817153679476936361551889805993654; - uint256 constant IC46x = 9770703959972291321398343823093722784520155293056219563602442354380782964369; - uint256 constant IC46y = 13909261904971799053865612085602274072195843811412808770958493083156239535663; + uint256 constant IC46x = 3400328967031464736674306624816381095619778236004942533658937507475094309512; + uint256 constant IC46y = 8730747781417225922242078398629922467737962158095382688689820097274561548979; - uint256 constant IC47x = 14699099805952360199087101845144502503621257684472570515927877045605549374408; - uint256 constant IC47y = 11771937109801579058600259971552703976697766891744899275145646087469261151682; + uint256 constant IC47x = 5901595094199181074567126796958274204681354255285842611531902927431839563045; + uint256 constant IC47y = 13729275504663757937866220834341628104143067447179879648229365011602613176935; - uint256 constant IC48x = 17885869510164349292789332278096118972277142539705492293712451564898548006526; - uint256 constant IC48y = 4545109169361266639178498277660386987452407990741846439849677990298579981852; + uint256 constant IC48x = 13487698366490852429804211493291156834624486082910984772199445696354126191885; + uint256 constant IC48y = 21820432862734873270317526132706662960324128442688220457497099344839239892164; - uint256 constant IC49x = 7738226593715142475289014106323387430850783539465754028506077413114828884209; - uint256 constant IC49y = 3825558155040075761630307708447567757252618904885522948167015952165889092350; + uint256 constant IC49x = 966314658444985962080073829511193349975328779552440119074483222790878019291; + uint256 constant IC49y = 7904258038244593708102681608752174098891875374638683520583075451222169910307; - uint256 constant IC50x = 13022765160256860234730324498195034529870463612833439828713964216217615567737; - uint256 constant IC50y = 21116042947269976657592219719799882768034741018701711429295371558665882314822; + uint256 constant IC50x = 13769688069719349639785981513026022567584600172718207771564162745119660680122; + uint256 constant IC50y = 8131498970452788922855730012266571576416986889997168860462922535207464272985; - uint256 constant IC51x = 6709542905303492731551447866708991803898523842121926420302702170545532726953; - uint256 constant IC51y = 973019171855364947510468016123723353763361234912947600498689035591648700859; + uint256 constant IC51x = 9221027708572641094642198526145897693505390704440277544000014085275385777726; + uint256 constant IC51y = 13934559619024992734828462544673950804786185494248438646536254878035441136115; - uint256 constant IC52x = 4377659788840224343890186451065491757777232634956023112917775455976473478138; - uint256 constant IC52y = 1850899692852449692694595008456720153875034872266109331332485494714931471058; + uint256 constant IC52x = 15156627858116432455754635593951997695631362081699255265656991022292960956121; + uint256 constant IC52y = 5247536538904900799072671874044308141855717831447159015450376550116893900879; - uint256 constant IC53x = 3386771159756327107361788524766390354935217077370722959300022968317931650928; - uint256 constant IC53y = 7857332045597874237594152504713409242974006906728422493123248909774872750181; + uint256 constant IC53x = 8128171284741297453475773678120264018027378030869583849845111087061883953194; + uint256 constant IC53y = 12000928049978373790088680332328420144989299979646264454602229582991230713492; - uint256 constant IC54x = 1421692834969445473753600660994805729052845053692287147229413830384117507877; - uint256 constant IC54y = 18609313630551838360429452801373096357140216801792233767522242184676315503958; + uint256 constant IC54x = 15079635714503317031973915832729692812962912856762722419745941123850965536791; + uint256 constant IC54y = 21219107267885063520580299025823809517880318906241324857750648574137733612340; - uint256 constant IC55x = 13978573477928318008218601113539169458391367595940394780328898245931308566971; - uint256 constant IC55y = 15875161499029862117615781021297140507917790795417892939868599447991394784462; + uint256 constant IC55x = 9494156304963239502207832089831077864467903896930269903800292651917427689444; + uint256 constant IC55y = 13732102823676963465083178968006676561506100136400103355523367591485264947612; - uint256 constant IC56x = 17599803924953890024780208560357925837277038649663519647549298235135718540027; - uint256 constant IC56y = 12214206663376524107629736616361565025064669974758837941266420409614527033441; + uint256 constant IC56x = 15725786826657159747239546675245355959463253032973650442448952039647852938718; + uint256 constant IC56y = 11086188316379646892279919031720947393848949611877519723340855927880098859389; - uint256 constant IC57x = 17335726625208276424969431389237426248268647935492830693907943285327461733918; - uint256 constant IC57y = 3289878175281260049234001586256787814187887370376097434074383613004649481358; + uint256 constant IC57x = 6022539567005437498329575316925887584040231525921806601357916463529311307212; + uint256 constant IC57y = 19179148285874051938849777846085488029038318448103930459513498581622496936069; - uint256 constant IC58x = 10540244336986930192899557105894891658247221559462081332755731754117506103898; - uint256 constant IC58y = 14349280740929458865970664317299373594836417476083773003659119296944534434414; + uint256 constant IC58x = 18071480336868436915359269781322510273691531539311458086889730984277721296864; + uint256 constant IC58y = 18966498307005607948781996622229320906038968390589129447132977189611127813651; - uint256 constant IC59x = 3445354558748168865737498422630514209986714681677170733184635538373483666756; - uint256 constant IC59y = 12236672722198520778481334834895484425522585670433327627873492479254216792859; + uint256 constant IC59x = 16017362686662403790539414408243747388402925985317246436474695569820871269465; + uint256 constant IC59y = 8500761837364009128331103353474525767169254015355264942031458205667202760951; - uint256 constant IC60x = 16018624257987407702086532238735048436633839730871052173463058374032999558117; - uint256 constant IC60y = 13620242697197653845082493276750366805639621735501294846896586720245004775888; + uint256 constant IC60x = 1937487277591680597529110893586460394469956696335093283874375245129173046751; + uint256 constant IC60y = 7101354064287115636210837776391536170534348803369963873194459103232701994769; - uint256 constant IC61x = 4852688875304245231720799790138018344465306135302910776947773699386831614387; - uint256 constant IC61y = 2665155515549220127801715671149529860626595722913279875568918269321054177273; + uint256 constant IC61x = 19366584965429936247820553821438585192984789634187034808964374250685234735626; + uint256 constant IC61y = 2693953064018529936351531397034115491874610594137483108544480330535304183798; - uint256 constant IC62x = 206644070190266753013196119358273596948154028915751149974209713957558225094; - uint256 constant IC62y = 2893566180904365708982743210274393008142248092826700707846128528256538939869; + uint256 constant IC62x = 9796473696919008955827591474495225418750253704118837496743963336574921640578; + uint256 constant IC62y = 2548493387538352789957819301393219498749894435136915455294867987570211459363; - uint256 constant IC63x = 10886338539370850170526368547242768712403585065888027960150804191670033805154; - uint256 constant IC63y = 10677170532005789716661199528195847256097694201435675675982800433143366594028; + uint256 constant IC63x = 20914181116691637628356239632260756140107819585830692547540251648627306876947; + uint256 constant IC63y = 18193055360643075682030719112290817667688065559588647625933701213543109219341; - uint256 constant IC64x = 1304297074227587920378662771882715758801781845320477282145959855864352856313; - uint256 constant IC64y = 9739596217817435275328588264967665346531627320241393866282732295943251818912; + uint256 constant IC64x = 7590544337925632858337703020484221426132530839408281128179449974509873136195; + uint256 constant IC64y = 11510422584723144323919923613436548509909070940413652504729783865359730971822; - uint256 constant IC65x = 1493581648600383761799721417716407875028128277651222605703578337174610979360; - uint256 constant IC65y = 12829164639684874035650840249197742088578894077041274951334499905903416727897; + uint256 constant IC65x = 4694595174920417145999318050692157482516422041538284671744267152197190184056; + uint256 constant IC65y = 14646520880631007007009774542720818216865704430422186739272391059676402537358; - uint256 constant IC66x = 21077408101824313949986775924314329158407217026043768898835178550980002422976; - uint256 constant IC66y = 15546960087947009739450691151451450357493657042220073591625229700192105430926; + uint256 constant IC66x = 5750409931917473308612899156998709773165015643269441018229698554652110642175; + uint256 constant IC66y = 19034109253789514931417768471140326722247669287014078330926534975310228981090; - uint256 constant IC67x = 7756027090525376034848477575510699729701674747666543458371610048776574914011; - uint256 constant IC67y = 17940094617753537926088236253313418017007593869389632623037034547251466927654; + uint256 constant IC67x = 15390918806264582184650091883144908610359964197891913006598326586341853675304; + uint256 constant IC67y = 13439160594524324361897920652879947408058886302898107189111019940491972950354; - uint256 constant IC68x = 18249467853492577365842783360977361433848219827811766144944747622821816757233; - uint256 constant IC68y = 7857082655366628139466857452570269180936701817801610874945311198066397638365; + uint256 constant IC68x = 11271968681168106352400768936464218756552268568378701359612036307621530181332; + uint256 constant IC68y = 635767303573027732344745665074069540634679062776755065710280646241068994918; - uint256 constant IC69x = 13177108541067063323060694526744209715025839110611817924869426803408303114758; - uint256 constant IC69y = 17817562911343842555608279876809749835556645524303248171633666085395771262927; + uint256 constant IC69x = 10736076526117844410735718604166158280597244449310755846026905268731124345826; + uint256 constant IC69y = 20807204501960218086586261763683268384925061601299143804857767694209430419479; - uint256 constant IC70x = 13922826435799581074757131384183726433166072680430227074724260664464211791615; - uint256 constant IC70y = 19149409656120564224795979032648360435810540016648117136544487852908831474716; + uint256 constant IC70x = 13901637602769916482888071949588465266686306988116494868759968742559995405307; + uint256 constant IC70y = 2496523045035897531774912715838836013115381118752269988037140812048932391857; - uint256 constant IC71x = 8214360934575471607036236356676787586901820581585165866372933882928238231545; - uint256 constant IC71y = 5150470020982399844747702894253026635812097923466316667434263318099668875546; + uint256 constant IC71x = 6367875846303037853932848737947083266057737936293301564611486871329920676947; + uint256 constant IC71y = 14252258147708194343097733785952582749473737908619421429097120842792104856742; - uint256 constant IC72x = 11504179774490617379033779868384064630126563812312681200271128129158099947517; - uint256 constant IC72y = 5669465371214466635875682935767793484579277330398933271744848262122084540005; + uint256 constant IC72x = 20955042125018245317266968455002992788063486264679944602284564158925998036281; + uint256 constant IC72y = 12079781019146299255718171718547557703530548470861277971724323693482661092037; - uint256 constant IC73x = 13880861402339442675577968947927031831320238715278284832329998671570607912622; - uint256 constant IC73y = 18736712148533694097379381827650234735370140576347674641772699625675977378641; + uint256 constant IC73x = 11241323371380716059386068725352546279646106877953502115885101918331471384288; + uint256 constant IC73y = 1703189593817285709253120674471927818433481193872510089328883692981651861981; - uint256 constant IC74x = 9976499769692929678766991549331377320772482117381259526428598326702854950139; - uint256 constant IC74y = 3254382634403964695942665303485127954029952034645732860686806054512818920671; + uint256 constant IC74x = 7288855629888996777040435802759971313675228158845935165000074201444128511193; + uint256 constant IC74y = 12505414715511075904897977739556530242040982357119163432484592429166870641050; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc_nullifier_kyc.sol b/solidity/contracts/lib/verifier_anon_enc_nullifier_kyc.sol index bd03ee1..b86b717 100644 --- a/solidity/contracts/lib/verifier_anon_enc_nullifier_kyc.sol +++ b/solidity/contracts/lib/verifier_anon_enc_nullifier_kyc.sol @@ -43,65 +43,65 @@ contract Groth16Verifier_AnonEncNullifierKyc { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 14698876561449804461303997729882021907260952371773237247351870618424905795147; - uint256 constant IC0y = 18557402500202434743421667509327699668130433180507680267100677071728116709328; + uint256 constant IC0x = 1413853962861001569358305612548684789177651871594965589761252342895612221794; + uint256 constant IC0y = 15224564710569128326473413068659857504582960089989280426570137804062186528652; - uint256 constant IC1x = 10315096673124106106939179877464015541281045089563747433630734344474797473770; - uint256 constant IC1y = 1472155899755287822485623918601593080126322175431196017560626340729790026050; + uint256 constant IC1x = 2872723816577508709624328704197591200727607541758628878954128471105893037536; + uint256 constant IC1y = 5456330743498094593133844908661705509461831972346097901139218028858353007944; - uint256 constant IC2x = 4718549828471262167118129364412519209886298544897104924070255804762873032140; - uint256 constant IC2y = 2446118425626693870235858534150160354950738611096739436214072904262884578395; + uint256 constant IC2x = 11976645042660157778245600444666201881259598139969532082607597201248624893723; + uint256 constant IC2y = 5550995410876922716148473852175797786273975811686365647727105917433860011686; - uint256 constant IC3x = 21626188328209479749558749079056334959006600478352590929856468086474457122705; - uint256 constant IC3y = 15194612440532844453723222235667006292477211208280265703388815099460693968251; + uint256 constant IC3x = 21632064216268308772608847035071233361530471189339165054883984973984793197357; + uint256 constant IC3y = 17462608659782075911688767715619683212310424904968446440153231973702057463339; - uint256 constant IC4x = 21632286499418536466154502977817098047119230031703746578233148045286552171825; - uint256 constant IC4y = 20346710358711358398980622967577741010653763314673067229259909065780885664857; + uint256 constant IC4x = 19096796998504450466812112404518968523908474709519687141317167317992641618245; + uint256 constant IC4y = 18926903502476219600784340400063325209155800740924339849895308657533853249482; - uint256 constant IC5x = 7224322402121959156895327483914099082655047503710038897785149764930832734515; - uint256 constant IC5y = 21118393856404811486038896243229641555605824100980795198178165543128131183359; + uint256 constant IC5x = 10884053302401933792716404226193544468262547862622816890357412988997445576476; + uint256 constant IC5y = 19607672738978149038944226212184284509947617578053085314389210236673180321584; - uint256 constant IC6x = 21884303538497305165361480357298350470834418163073305348413182296748782447293; - uint256 constant IC6y = 2012209231303492987597704044378640762775847171057129930432033451107051765439; + uint256 constant IC6x = 18756091312230953743252901076852307680130552720554773696151104865352368562472; + uint256 constant IC6y = 12902511926829987794220882750418908360066437485500339729661607416121693345966; - uint256 constant IC7x = 12000170776735120845839233682471882674667860885709786989200512571990011691493; - uint256 constant IC7y = 18430097038737398662595390367519893656805633444723681740816897875456617599670; + uint256 constant IC7x = 17321763059883533307530550563528139272812245333124603446887973653459535929881; + uint256 constant IC7y = 12151446517680088985469318937798285286889358479014056479823529294703263839674; - uint256 constant IC8x = 10687712584992611358891329816773668218618501277282082378995088664057785138306; - uint256 constant IC8y = 1091572930133908007999707377521111123274711198257843991680341565858392671006; + uint256 constant IC8x = 7876865731056312181239824927776932899807834073155045758149531514122047026470; + uint256 constant IC8y = 19727958552252784828353241448428439511422180671857872524153093347318814800865; - uint256 constant IC9x = 4477238660120726969063652901962134128332563346666853926816526548234477036979; - uint256 constant IC9y = 8041841746334271188469015358926769191086662568110335274909608274623331504222; + uint256 constant IC9x = 9917086662609452621644078045211102624920459267963950639495728329006864858157; + uint256 constant IC9y = 16939905902506291291358058305981897630888395253458496241770298547058611772885; - uint256 constant IC10x = 680451314935589060719592157754134484570812451750004236391189267768399889668; - uint256 constant IC10y = 19692641393662254934664662971931314155450187720722193306796581694686284106512; + uint256 constant IC10x = 18909135056382812197660417909514271893824654273327458151123027397224056786779; + uint256 constant IC10y = 11102621345588723325762141758667426598965226444015132997889348790614820467885; - uint256 constant IC11x = 20524349504036580280733584079975298078515581761904178098554451597645570364916; - uint256 constant IC11y = 7092881253483922387279393980519979103467872745719075202106084234733165789401; + uint256 constant IC11x = 9904533998675821050250228870878062500839738046112142627413972991561649387784; + uint256 constant IC11y = 1472999390828711720110746479187832259055695312591594515156455948701970839167; - uint256 constant IC12x = 12712705788704163746845609371108354784559047574216273010375806468728241457886; - uint256 constant IC12y = 20762476917652582900644133734668133277604531740284155986197387584799792179089; + uint256 constant IC12x = 6259981580117243269505978400843201685900073884341263913784480781409531257016; + uint256 constant IC12y = 17556400727789437691301959719873477688875958672470408542431599994268277697701; - uint256 constant IC13x = 492973289814386211040353005940821402803028948676714819570967462571279318371; - uint256 constant IC13y = 9373899976651660082448525133329106776805851352457986605157311252409532388004; + uint256 constant IC13x = 6786150454543824681185379885488409422358344023379931929254945828912517427257; + uint256 constant IC13y = 1461307302213617129025058553488759827142505916845079526007426509438572108529; - uint256 constant IC14x = 14078470564642212303763649214142197411505201581097728672349082936632241688454; - uint256 constant IC14y = 1810384058029087859501778938661876037641116899225084881782558449254764880392; + uint256 constant IC14x = 18548160247798364319220035665282406269803300954541170041430304804683033785051; + uint256 constant IC14y = 9755198421636029968350019001957456386103308719599303665032093558427283180600; - uint256 constant IC15x = 13003303256428340189514704001800551588674382425045675023935280859816889318485; - uint256 constant IC15y = 3762916876718835867321242096953394910626329551831523271129831193170990478485; + uint256 constant IC15x = 1518206586970420517477151464101006353315752811845263733302611013600411502158; + uint256 constant IC15y = 3751141164530472434270316848184190720887831510108717881293011856437265093706; - uint256 constant IC16x = 11773389293110638195708808152348517672451061278432087120398324054349704200318; - uint256 constant IC16y = 5509863291537919249355385546719937934629751403828057961104247667753132023908; + uint256 constant IC16x = 14141410449344663648896620837425930560093061920476445455145116319568877990307; + uint256 constant IC16y = 21362576089049937855001902873781985399258826264127713239968957647242767818391; - uint256 constant IC17x = 13041472034028436373149922307234983401879941791913007062256703100814092624424; - uint256 constant IC17y = 802285953016663449112540186866815849515216668870694577022570025522785430831; + uint256 constant IC17x = 20261948216034307185865350693399474848083720679809810166058642970987354907864; + uint256 constant IC17y = 11269953331712894119137124918207740684260362654532667611699297664219336782776; - uint256 constant IC18x = 8953553838957898966180099311925633818450477486142895366426410290090498096517; - uint256 constant IC18y = 1324206175540440131451579735308200223549651003800233051684910000597978862424; + uint256 constant IC18x = 10203999916396463367270368359575974708015544129948471630676981517737357310011; + uint256 constant IC18y = 13377549460491605159843070390893172806946016983291100814680828534398871836384; - uint256 constant IC19x = 17956194164809555951850634519654249315849562695822591585763027516740233600374; - uint256 constant IC19y = 9510121648939921553355364133204877787972478082630579962241421871996963395809; + uint256 constant IC19x = 19119291374078250310453268556150662770119321418058910055456275551901831221665; + uint256 constant IC19y = 18656265189293580010301267675792624799018138439042917808961597814449002263521; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc_nullifier_kyc_batch.sol b/solidity/contracts/lib/verifier_anon_enc_nullifier_kyc_batch.sol index f056a87..d0ee65b 100644 --- a/solidity/contracts/lib/verifier_anon_enc_nullifier_kyc_batch.sol +++ b/solidity/contracts/lib/verifier_anon_enc_nullifier_kyc_batch.sol @@ -43,233 +43,233 @@ contract Groth16Verifier_AnonEncNullifierKycBatch { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 10313937918103006087784866174735853954689221521812327103378704235802781783561; - uint256 constant IC0y = 9753072327140341857940641496334056679207002439635188121425876053327397284465; + uint256 constant IC0x = 12858642186216573514376237800965234603650348168089173346459768469400500053251; + uint256 constant IC0y = 12565095604564374485221498316349530377709382949948054355717909187503668328055; - uint256 constant IC1x = 10837018114391433120066015637353051698266626985828802127041804457099401290031; - uint256 constant IC1y = 2982163603577493555221849060777390590811896936712935986581972594710386755515; + uint256 constant IC1x = 13138077759640600902994382164090740677763266688367946800443925142634362541881; + uint256 constant IC1y = 7723900083385686148919365704874326680250569739012955417787349354561021447872; - uint256 constant IC2x = 15809818997500549555531508977476359226600004177863142328042033014949187765336; - uint256 constant IC2y = 893697954977294279712866797222407064519597900874144269386491184084637152910; + uint256 constant IC2x = 14219188412519089397214334581640115554216938530741107945688240997660263170219; + uint256 constant IC2y = 8125001429497239326152138654137918018111779471251025427553277398926329934842; - uint256 constant IC3x = 1760167260149703624757217835400479055600992852300456860337917837942892262759; - uint256 constant IC3y = 20185909825956660798417393594301342013466827979188768761589718996617773511457; + uint256 constant IC3x = 1759344920564294627929169355477706885942426765431124731801753927931354406526; + uint256 constant IC3y = 16704901573493296732998549934540890651410652165343574367926253888287104473131; - uint256 constant IC4x = 10691882895398275550900655832910996988739466960548192244571784986487873504768; - uint256 constant IC4y = 14211404856310758390589849011530823993198346442063943305477292273161422898263; + uint256 constant IC4x = 18134796096326614857057328188329348746820239703330333808300374025361274720547; + uint256 constant IC4y = 5212627741252822716339446204636891514022844101746285343036769573045284953110; - uint256 constant IC5x = 2773130435727965146080581237546937160598623793132633421477533527595027153051; - uint256 constant IC5y = 20810657347524001161653585450420346285370517508265877765700441062076754600077; + uint256 constant IC5x = 17172679838518323409677749691588214365220267398536693614140734792906786694323; + uint256 constant IC5y = 2991979426725964436056898136610419475023575862638049862936910254220821506203; - uint256 constant IC6x = 1161242845389465429766318711786895320969461646902204275121439410269004471138; - uint256 constant IC6y = 18454796860018756806404816055138940543472952037712966637529624926504184509171; + uint256 constant IC6x = 21499164383697425217120152657113615092287034447947963704384713090289054641288; + uint256 constant IC6y = 16171064071592752054093802756901859080986579596068272427835573477325391292842; - uint256 constant IC7x = 4248017624475625144715690241478466683332800508897801986353687509024604901793; - uint256 constant IC7y = 6122123222639915863223012216736054719278693831923872494251923475579926931951; + uint256 constant IC7x = 15779166016763002120428757835985278393297293764828050459715565840244474786130; + uint256 constant IC7y = 10427231172566214799309001614729561335097611216682552831326126618221728130847; - uint256 constant IC8x = 13702868573978162176569367782261488955675128368488232675020348346841145417649; - uint256 constant IC8y = 401950476018843796662444151014082486929844430835241644670932038434554699242; + uint256 constant IC8x = 5327289818666334492489293856849696192046246016406082960977355506140119513181; + uint256 constant IC8y = 17616031884310713244347063286442601125717694844051977165917682362170860747545; - uint256 constant IC9x = 9295528819539531989370128536259187619076160101891771892284414452546586024325; - uint256 constant IC9y = 14024992635014569270076190441387074919891155775520316921658035972640774022153; + uint256 constant IC9x = 18030450872706033037354006711072254713141270199112344880139805848327481797010; + uint256 constant IC9y = 10513592887287392492506837777945959827767413659405259959854692393972495674961; - uint256 constant IC10x = 14651518724159534834865763954533532100335352773559846970214783908239631060004; - uint256 constant IC10y = 14716291061967925702256622117534751697918787244601125408716130783518619404154; + uint256 constant IC10x = 4524864247654964567469535929163200264726482171439083702442378388147786638589; + uint256 constant IC10y = 9685552092365208253342839015231175128860850045536226039667213333241819189247; - uint256 constant IC11x = 897066394608916572506480662684479167375023594931057409678688013532607794469; - uint256 constant IC11y = 10097224282069070967294119398237082236327606621329527219351408735954090900594; + uint256 constant IC11x = 329539512901187456266567759571219202495070912781353242872678516063984831188; + uint256 constant IC11y = 7145692892980733218772365595170632546143336877018824267081325757282839562499; - uint256 constant IC12x = 13137335621153465871927007841510867610970534834965566541496320309067913014991; - uint256 constant IC12y = 13767457955744567466456543725605066192141100331853456918050474254564570906320; + uint256 constant IC12x = 1856227097482306211980388391341480809415523646892907964147258781905320155651; + uint256 constant IC12y = 16543095693952504805605399499868446737720271872920526258562049981705755276756; - uint256 constant IC13x = 9185063127824805938140034226708029248503889236459251654915117260419716651906; - uint256 constant IC13y = 294265216701767923839288271762897793399575912527132858100455857234841719930; + uint256 constant IC13x = 5392850330837980073356747596993790265968885059537375200702635552143983472635; + uint256 constant IC13y = 7703986526264547936088911510529999152674965393528913111525128992581017880478; - uint256 constant IC14x = 20085932004072708607054119141829894114919994114571635227359304685166480261595; - uint256 constant IC14y = 2118139544423683694402644389169914385791748478903198871842020532666042669100; + uint256 constant IC14x = 18438332276363778446890024904290375852060920841748335851790867936141859904279; + uint256 constant IC14y = 19448860375190721620648828020939963086196708594297444412804184163640327160131; - uint256 constant IC15x = 4887650394951202709891616362236402801333441619841654173661248101656314090253; - uint256 constant IC15y = 14907739530638999243456819634668087350467018399995057982143890060442809743822; + uint256 constant IC15x = 5687865003847548563399579267783553733441567866638970403121677997146439381888; + uint256 constant IC15y = 2191988301463932219325908259347620918047096485308726944866158692676637795702; - uint256 constant IC16x = 831789844018467110564529285981118438766993460808608012864871642227448711395; - uint256 constant IC16y = 19096168764998021971355082100591441985982815076224212464951175587180889872830; + uint256 constant IC16x = 10279050062086339246661120879488336116758244501989502881689491605008915076835; + uint256 constant IC16y = 16428995848587898142982442127509205116369865808291868979938415680875182775525; - uint256 constant IC17x = 1208505121302057171020675426556633291369342700439558144299973455671196838640; - uint256 constant IC17y = 6175547253764411855411324283563965478122004378396766171641686695612924647544; + uint256 constant IC17x = 9816468710844480490642228295217484851991632916656479508160966623636114865744; + uint256 constant IC17y = 2754507490610896776041833030065834464442111984869142813935489770199722445347; - uint256 constant IC18x = 705815259856478504599910681434122344166939385201234589611934664029642219852; - uint256 constant IC18y = 14804076456123822871277956563749577226773235274203708508893406009369381931813; + uint256 constant IC18x = 13063622716125375763271649847388054009900310451705116384857933479525056090637; + uint256 constant IC18y = 7994920979609930966967930172016154794817903198704598865209423920930323096445; - uint256 constant IC19x = 7806882928722465088107601788618158485382274393316220103389925942002851962259; - uint256 constant IC19y = 8592196309012296147907691414616176025419819257905158585826427513529836835686; + uint256 constant IC19x = 9446214791657203662970190954509087731906331456494855211267704960114693003191; + uint256 constant IC19y = 21776845737822675365873239039130394552130059996615606643305678438492320080031; - uint256 constant IC20x = 12659686801893070697535063125683773487303137847017519696015864622636505540559; - uint256 constant IC20y = 2803624389949775226020660108586362141564188093277775484507817112369201850239; + uint256 constant IC20x = 1885050368269925152057295882804719070229392645420846097024137982919224633770; + uint256 constant IC20y = 13856939111858796218571089026023802718312924290260146728675938282943232546081; - uint256 constant IC21x = 4173082474247027947087164776964754352022620830671173849255306030963578743875; - uint256 constant IC21y = 13069857466013971555026273686601123384113982180009177354512065772031416485737; + uint256 constant IC21x = 13502981376532058730213267607742351586905109909912659823464058089453980543127; + uint256 constant IC21y = 20334183524413245818866575266108429506934265583362822816829917787569232526099; - uint256 constant IC22x = 15147505627892888628906150579619225365550496373644892686880583066036162566090; - uint256 constant IC22y = 21181854477929617880426505403726773669270295004795649186884663042368536585805; + uint256 constant IC22x = 708724843887592966090042763437951121939890272319205833027672386211527623095; + uint256 constant IC22y = 7454601060816578950716347512176870469572088600363242636696409496663583341632; - uint256 constant IC23x = 18863705946802530900553225268001444866806197021236439401354970713406189145054; - uint256 constant IC23y = 4127867810445089250563993892543154876702695395769270442714195676610603494135; + uint256 constant IC23x = 14119879497714697061242498044936832063422208534040076861776139957786619511982; + uint256 constant IC23y = 1453030324388625916010093192863624023054896168656174654597601720517171766301; - uint256 constant IC24x = 15397639017612493934063704442563213431518425591666183369626428553085464859163; - uint256 constant IC24y = 4291106754091108077823000816574790575263904072011853641461379425441455621847; + uint256 constant IC24x = 12271062616699198132689170125722784479703062504537137171812117819772997338698; + uint256 constant IC24y = 3676431107623582185000426100556860805839409841263721120706707136997823046739; - uint256 constant IC25x = 17390132629707385928815064735308457125475727726167446507030805170842650394508; - uint256 constant IC25y = 20896763419196123991227196403983663132656893264515803340809573675452852379568; + uint256 constant IC25x = 1824913022854221323644984530099684888450767469532774180747075347781876694520; + uint256 constant IC25y = 3899508529597325237733109662635109559896217913681858321495980233622100331615; - uint256 constant IC26x = 13461271829631669834803539751137343159004542874559195748823092118270201084724; - uint256 constant IC26y = 2729008404271921836123381319633233755724309244741467349445146889554365572892; + uint256 constant IC26x = 12557067370518147862043507833326506959791078712169384504639292653505027180142; + uint256 constant IC26y = 15149998150719593703609290872828214731355245266578234125726145711106382632380; - uint256 constant IC27x = 14602311746837159687451204187512146002846595010836650318097447380356135380378; - uint256 constant IC27y = 7720727360532787685375360924388144433072408339548663818312006584369927773425; + uint256 constant IC27x = 5829840523465463958909607723359876700469942173115320771166484161713718282591; + uint256 constant IC27y = 9611195661719380898097235760700826835276531672392802668236453508531091035194; - uint256 constant IC28x = 229483178419198916081647047738959261404423763621132035795810306367615982383; - uint256 constant IC28y = 10370672370162120462305012942875922874382588812317371373171701200828836513722; + uint256 constant IC28x = 16232085544582714949187842523710432985519070155756937396743759694308936578665; + uint256 constant IC28y = 197210443422913844441852265914771117016218524508232721795828526403802660644; - uint256 constant IC29x = 9544668441293238664559124142133075724287352756990702009122269905175679249518; - uint256 constant IC29y = 7638805138093117181142650576991676543320895935868430181584310124648966125944; + uint256 constant IC29x = 12769874874317449448398890418579508192059699675487726291360286072338472626483; + uint256 constant IC29y = 20316010443614392364943349261952083622802522827489619529138770824319673757622; - uint256 constant IC30x = 20074876114417271748711207825247144768633410292828524920700988903690315408490; - uint256 constant IC30y = 6892589013608461855020275071724097064741310157307567806016718681380787653203; + uint256 constant IC30x = 9734129384094680547995613138054610125828593376069179848768658036657148002141; + uint256 constant IC30y = 2992669327566926603317036570110950470027617440161819191608754193931132208178; - uint256 constant IC31x = 13906178102146977145526538118887437955796790170333149837477330438577620407095; - uint256 constant IC31y = 9681348012621238562403882464494819950616528879027381711013987832201952273033; + uint256 constant IC31x = 20849948417143878841027639919843921539323288164074406402431253440498072149345; + uint256 constant IC31y = 12314252851577929580908110210080275098313126995996149851034950184196310491813; - uint256 constant IC32x = 18119439025312924276714212538961039679573737576000491440803052958595635807660; - uint256 constant IC32y = 8663052687644818519156046549466328762101970713600442063692688469854959385377; + uint256 constant IC32x = 21479332708681963336728261276489890777177424325004148887142756299494097988161; + uint256 constant IC32y = 8055938613310177737404613036054909547029202949550716156874045771973008845566; - uint256 constant IC33x = 1962788241364829969215672359881468784221059289045840900001773618114783221518; - uint256 constant IC33y = 13590518782283443971098101772742986683657333997545134243755191767962819021944; + uint256 constant IC33x = 5008871293707209117112243616376510892191331661540497630870164870896747559846; + uint256 constant IC33y = 17899199427875819064220560246334197679978944745279461171935668858646558782444; - uint256 constant IC34x = 20534871837854314385218612865599447111614933027029207741212867283460435360032; - uint256 constant IC34y = 7374915525179321170186253193153518197937230676073989159450912184783997703575; + uint256 constant IC34x = 7717582089942619775594873675301625275812288799122254877746559706915772729624; + uint256 constant IC34y = 3108311010362495238282921984339085194514915755458797651891031322998829044785; - uint256 constant IC35x = 22087197757871411913364500064256360023797228245258146582804731355148921653; - uint256 constant IC35y = 1690747599899033892164634479999064748874008856218971439514983095899656117848; + uint256 constant IC35x = 16411921225538804984679777592020084775760110721570684792890887036573818540903; + uint256 constant IC35y = 15841892232688345757902083996930794954583824054843049696932195726645313999362; - uint256 constant IC36x = 19083914424852743009301799460534237305132781266532551490627209299886627635638; - uint256 constant IC36y = 13898780717046843183073003695010437483034113782415892945708925616136576409116; + uint256 constant IC36x = 21736822414829759563741087499118594450691632648115529553228374222189609416769; + uint256 constant IC36y = 18611237143945577532896931945863068676495688217648848855327003088857927939826; - uint256 constant IC37x = 6261199254357675464834466715889580463835407270653322052854684522360114963845; - uint256 constant IC37y = 13498465822082235035654784814881572041225892700756388001345051915465959092367; + uint256 constant IC37x = 6766779860330869694801899046307415551211955556038382164581083432846348700226; + uint256 constant IC37y = 4348809227536966993624804311309128083139628407034296854485102604735473773161; - uint256 constant IC38x = 13114467570210514347828866843835409179061658737618140045035535922105188297177; - uint256 constant IC38y = 15711821701632781082408705911513895217955807785121599610712064678585510622840; + uint256 constant IC38x = 9350799026503994956556626995121169898340280644400547473739718669680854004946; + uint256 constant IC38y = 18177948831013317937829243162228732916573419255767956909271821104092205107687; - uint256 constant IC39x = 12765221071082623312748649464096908425087772687317749701981333851199300696052; - uint256 constant IC39y = 3085741910529799189161704689380723313090458505927127600773040769820828066530; + uint256 constant IC39x = 94472296351831194468356019302107406410788832646145067030343354857803799160; + uint256 constant IC39y = 9558041477637858711229451831649420106979368005401432633757775171711586712581; - uint256 constant IC40x = 14488651106961091252713191339821686331690265541174193406168014880039025243935; - uint256 constant IC40y = 13373589255531052783447231567450160869910165989726956419997437051536739152759; + uint256 constant IC40x = 11924222116111824991860260042959961353002146666090548490374221736283466888440; + uint256 constant IC40y = 9376478922816835111239590927155662092900844330330399569891165247903096420628; - uint256 constant IC41x = 17623532726389362638743747218943070917686469780066658888608169185048751986873; - uint256 constant IC41y = 1734585663781958120577949681609293774301860323250734389594733794082124063505; + uint256 constant IC41x = 1595173533002108298188171571771398368233508884044110950580415280925498343002; + uint256 constant IC41y = 140362717412579991719892173085430060259414714186248236075316046087103551089; - uint256 constant IC42x = 18750136202647441882177882506194836757340549819684694728404507868802248827811; - uint256 constant IC42y = 17051251596307648854886334588245132863180389442545962196428389737424847768240; + uint256 constant IC42x = 18319434801672111353339429736097984802197477546441364369182430504203884564626; + uint256 constant IC42y = 19880794555729491026065075422460291327421057920878428636196616471669642160992; - uint256 constant IC43x = 17134125084376953526560762028711688554340478079630644774706921442931468292188; - uint256 constant IC43y = 17487956849254220380690899952010618159329214005349534138847393001651490355094; + uint256 constant IC43x = 14298591664878293241402475452930424038231646087519650086862341368082546288484; + uint256 constant IC43y = 5700983900392255682138073827509652276340230564615029828872002207336359375702; - uint256 constant IC44x = 19776954563416952565040265199583215126536787244291832752178492282008096456357; - uint256 constant IC44y = 9663857239417764795877942262673110141621223310083687798387590082923999684748; + uint256 constant IC44x = 1458893789126043501953887683321386018864367931522452938826459835990109170040; + uint256 constant IC44y = 2658215231895679362259862719429564236615857838303074175288121415751956320882; - uint256 constant IC45x = 5482620851600196061572722772001805503669278316682329381320988603063560904468; - uint256 constant IC45y = 19083781146427254412715413977985107718663314826807313788826537441916769233950; + uint256 constant IC45x = 11064112203686674647106645830419420709196890279102372003493120060412036512401; + uint256 constant IC45y = 8287956196445426823797809778105408799892912161035528841955009267040480061818; - uint256 constant IC46x = 15388514075712586988361437846508369259510761518249007904353908445825934439063; - uint256 constant IC46y = 14020162231858578424303954541551144828122598322771731694285841517260100678801; + uint256 constant IC46x = 13851027107271193900975432967315478096932479736639646379084637309147878017109; + uint256 constant IC46y = 4450349056058299830503310354148491948664285038809958448024012287062316615048; - uint256 constant IC47x = 7411582564938235693728793082095521683162492938583542778483698764411208428521; - uint256 constant IC47y = 10985863614486140778247973734629579611596367463421990350027178860274038065810; + uint256 constant IC47x = 17507493848332403906086412257257255935251347291570004580421636920681223078428; + uint256 constant IC47y = 7085725574070197988412368205391156183838163343189008548401245110570804062921; - uint256 constant IC48x = 3086711053627202075497155659948308958961593994589424734969003972992580928224; - uint256 constant IC48y = 1308108368119271752047020758564886576479125695613240891994816873161154518982; + uint256 constant IC48x = 4609097752117007954520151781287262899170776828894452682254041943016124235553; + uint256 constant IC48y = 19749426748323419687598448893916427065141910432304107857075100318582814466388; - uint256 constant IC49x = 13376630728764304793847303289345292097872439318377384681086148686048597499475; - uint256 constant IC49y = 1065032471060074348823801207416904241590053563604059711028706068831925727748; + uint256 constant IC49x = 16574218961687390602789028999728280967624631738160017828495726918156613249078; + uint256 constant IC49y = 6044192185623496095086288960921583224741872927261607856236635918539683284576; - uint256 constant IC50x = 2735452168659935946199744544246970654764178566813465771818997258221879500013; - uint256 constant IC50y = 19271612559467821850243768802571301539757276856686145277613342675492085132895; + uint256 constant IC50x = 21604305051063308453335012931969530744510398238282014894442855105112804266210; + uint256 constant IC50y = 10413838090733029275617714737576180975243530500563360135536488074688057838774; - uint256 constant IC51x = 3354457015282383528680353935209303953518352266581864108677102220325719845319; - uint256 constant IC51y = 20814253832340437775657331612352211768448324386007096883152207107867507050440; + uint256 constant IC51x = 7764408639814512603838154764631526319886606433261656743608229778106556101640; + uint256 constant IC51y = 21387734773157015498518846574380673546980789344619461967223915135750558115739; - uint256 constant IC52x = 20063557255279355975459602339566236988441486829551143065685158892194087689885; - uint256 constant IC52y = 10809573717799729256403107492671248907855433442083174510083593107529867209057; + uint256 constant IC52x = 14909548937315936008524922491636665986360008581945780986903891216922070762656; + uint256 constant IC52y = 1664351798941531671559651874897518165093469946096549276729304888190685291746; - uint256 constant IC53x = 12260609638168298575231775702375231703144690210585339570382899742208896490486; - uint256 constant IC53y = 2071788231520481845955721553674035873820955393377418392356830870008893327655; + uint256 constant IC53x = 4614238873201220965153939599187254909004047923819015976069683732158919316244; + uint256 constant IC53y = 4722795851830618845884382156583439743547834690307002874535492698787108955839; - uint256 constant IC54x = 17921410194830093577901411369814136384301701233888473814720579646104980023515; - uint256 constant IC54y = 17204900238767558417250557338513251228466566378260228102186314496273472237824; + uint256 constant IC54x = 15197864413628866316379587721636158247259025163428559670694689852712910729761; + uint256 constant IC54y = 1401273212688352517008858641807567448019599897394916436625228295012498484024; - uint256 constant IC55x = 4071242372731092581077592319103046145875386034760633267487515477665475023799; - uint256 constant IC55y = 4176907233107974514771707368309109412521406988056008334508055651709912518501; + uint256 constant IC55x = 8569310930376893641517507676031502998684387820332066052650291694549510548199; + uint256 constant IC55y = 643274406765234728379874575577550537111232663873082733909143890382504564493; - uint256 constant IC56x = 5960733674644083032761231101830108412482294617239967163544927677462082400339; - uint256 constant IC56y = 12272930515417026740138044206562579043542586380301331831929895670728239257785; + uint256 constant IC56x = 12762518128760818150886739516396083567575986702019713785717151335312011514231; + uint256 constant IC56y = 3769605679192029754831571940160391650308784250092442010088706955736610380724; - uint256 constant IC57x = 17466341931284301039095423172060818653427088187827448630546255413551702906684; - uint256 constant IC57y = 17263795429248257090391746682983113392613907639611686509156442782302769300098; + uint256 constant IC57x = 3189174500871313680764664480905638040127163693997910432263595362142979665869; + uint256 constant IC57y = 776020819762105554005053452060716907505468678154595068076689353121408123285; - uint256 constant IC58x = 5092370487933081531717185519149484554456955958668569667763286660905626521765; - uint256 constant IC58y = 3371832118185923623335577951168768826867203542978491901702482622947593715567; + uint256 constant IC58x = 19376317377196079728076712169101441440349901835370580888232493469749197110916; + uint256 constant IC58y = 3592475204230655808801662343843260514725307826524878734046379671956873553578; - uint256 constant IC59x = 13415987051218630217964153050480916340232292900161046028900284303735774340407; - uint256 constant IC59y = 10305489545987842920567605933552607804913575592785081179991183825780051400092; + uint256 constant IC59x = 4799915220692644649753533504149517128475232824338431811727801945614187697956; + uint256 constant IC59y = 13378978664759993687957402332023218378859458045597192682065038434589196039237; - uint256 constant IC60x = 17940307213339308497671319983238683964362322095896993454741083899462492255315; - uint256 constant IC60y = 18271383264074052148496030032736674585762244059002596193724051182800244508642; + uint256 constant IC60x = 17356963671387791136626612918051654683944675743132522135107394094390272672126; + uint256 constant IC60y = 2492534485701186859331467741058320879033522878496671047543252133967346736359; - uint256 constant IC61x = 16991053919262557091901098150018434740937834719308503141914330730786773170256; - uint256 constant IC61y = 20606016313332434548940825751946934903425454661914289056789922846123664022019; + uint256 constant IC61x = 5814024747431153344801549601432563738422231162213566298427981349001387435581; + uint256 constant IC61y = 16721488692612711789362904139915784496063938968627134749709137464726589565531; - uint256 constant IC62x = 2773384912448202467447623559098886014023491576018207407344823668038455109704; - uint256 constant IC62y = 19356497177579844565676818772361630937943717301472463052536210987360776343744; + uint256 constant IC62x = 8608343078905260825116309150626950288107712845302122699016436828442827782713; + uint256 constant IC62y = 1260158607781222985952927525309925422129427684188843158276441590897597362531; - uint256 constant IC63x = 10690082878429067707363340049393513126310015201943451552509583867384555834567; - uint256 constant IC63y = 7852901504539684688588063862250228659853784519607357863771427939147375329530; + uint256 constant IC63x = 11258425473065207572623984609608914538428760698685193130185004597164614478569; + uint256 constant IC63y = 4854489234758154798649678878068102447416704048454668211527548199335632683207; - uint256 constant IC64x = 18146210367726352408362522338418342636333980081829763437457944796504776239805; - uint256 constant IC64y = 17249846635501505198967242599497838887363379297529327700118140591078987301721; + uint256 constant IC64x = 21766168373449823414270800279443623372571839384674812702142944802401022394378; + uint256 constant IC64y = 7703902925470304776781728964330997228580896245066014584797849560782888798938; - uint256 constant IC65x = 17479503946561865301998563711134568857984399570404516751293923963077270622150; - uint256 constant IC65y = 11690562669373466081048904560447993403270177845457694217478038019169513563417; + uint256 constant IC65x = 1384530296890089198307647168215761779850576912076881001598160291986026496770; + uint256 constant IC65y = 12584308877935799775759132281264923264277890903295365956142610321614279794420; - uint256 constant IC66x = 20259465703600379813695651030943148388887273390460946588437588614346250705407; - uint256 constant IC66y = 13855508531163836076698235874206199690679880678441010351981194795486805890659; + uint256 constant IC66x = 21115974864023553736522125665071481959149729855452581830519528236376260491674; + uint256 constant IC66y = 8908365689168526027483920455915005259849013171794785798355208898553832867588; - uint256 constant IC67x = 9537855541508365904426098570555577176516265042362423331608997846681512352017; - uint256 constant IC67y = 4050137933923913523930410459330824132023073958785039880722863132197795292806; + uint256 constant IC67x = 6198100476911319381136526896818417893455790633249121384808914345569924897459; + uint256 constant IC67y = 2936657732897541191035075338737281896974406581198472408041617234550530719725; - uint256 constant IC68x = 18477266214747069066579605879985538554063689026773173407191269192457885598071; - uint256 constant IC68y = 15692778841869769715394044391797741644313343573887154899375683675754308421990; + uint256 constant IC68x = 16673561668055089127104948413320632058054932616922886831152175571308171291722; + uint256 constant IC68y = 13365102546687537600231738228662786320745890137087025482429703191969849289521; - uint256 constant IC69x = 267657976640608725503578835358616085361488890925140900780324117659425095169; - uint256 constant IC69y = 21326183409624056892467386384637780641825763918578645116062949055343030691462; + uint256 constant IC69x = 14464971584724132509485354385552099228212256440708197314324265844596824179740; + uint256 constant IC69y = 14645921625165329023515781637143761220291337478325886213902767732119379247927; - uint256 constant IC70x = 14444981191847388378719276983082156812268097022649537494885433675380261485569; - uint256 constant IC70y = 1278303898554549990672947189791094410126969154493143627216482094085031677142; + uint256 constant IC70x = 6599504216018296719823288921727082748548266803767080991220398531137873889253; + uint256 constant IC70y = 4876952318688787222636553235642837524139996295486611213239536460225129297934; - uint256 constant IC71x = 19701129734774512516306119384677585189583418191350415810496945339445602054368; - uint256 constant IC71y = 18050182036419504373226356277351815931854597830380496080310922989852637365401; + uint256 constant IC71x = 21463848722714033440486185038945125724006720461464758537645318008277972427853; + uint256 constant IC71y = 5841284683571800089782342281984637694003126889191389397802402888447123609554; - uint256 constant IC72x = 15861414578950452710119253691076839713380558292828496644823788990091917260312; - uint256 constant IC72y = 20424962195025289878138326754141750012339648334054211016393546372285564527635; + uint256 constant IC72x = 16213464432225523495426109553030690767731990088934751096008578161557940302646; + uint256 constant IC72y = 14823957153754707586465065897744710705654010901245601112247720634512696158604; - uint256 constant IC73x = 1852684271408208679708470635597536454026990507559184798381811913163594717388; - uint256 constant IC73y = 4128120367283109943933810364400549436641631181209593133104804735319230680237; + uint256 constant IC73x = 7859589839267797163200602956877913265055164095747536840537064565208778460349; + uint256 constant IC73y = 11629571171547336333959971915130356660242772799944866424256117128366330688742; - uint256 constant IC74x = 21248622990585165717462010311073484599579461981110177803480331793581996021461; - uint256 constant IC74y = 19778789799733401347212636280359087298050141470087467879271492815486419623855; + uint256 constant IC74x = 7328410307801366440258605993259568961918657007716618533680527436559166571941; + uint256 constant IC74y = 4671655370973164091589829545231556438180959758785630670937772947200496168718; - uint256 constant IC75x = 14422265861428199629482796533127532737821139205192117395380066453278625765446; - uint256 constant IC75y = 12832929629708440451802068414098867830648916491757676850621113336459457188984; + uint256 constant IC75x = 14074358839369919045859600954876359018351022200323100354114813511190365539831; + uint256 constant IC75y = 14874402639148570564877335066665498698798443974543001126724821220742994149380; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc_nullifier_non_repudiation.sol b/solidity/contracts/lib/verifier_anon_enc_nullifier_non_repudiation.sol index 8758c6c..e193477 100644 --- a/solidity/contracts/lib/verifier_anon_enc_nullifier_non_repudiation.sol +++ b/solidity/contracts/lib/verifier_anon_enc_nullifier_non_repudiation.sol @@ -43,116 +43,116 @@ contract Groth16Verifier_AnonEncNullifierNonRepudiation { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 11263888196298953001191938443814296059746753093884576949719457783112627152410; - uint256 constant IC0y = 13278820627633995943310174140903671810959740197422779805594980235302425745604; + uint256 constant IC0x = 61152201537889926275975451868492796646122446807695713296456978247249582416; + uint256 constant IC0y = 9695648204016070781622666667584047424682889351813380418002919727735680431848; - uint256 constant IC1x = 5211042244685257518812830048570250608140559777932171501360155047026426763150; - uint256 constant IC1y = 17971687091520239629966740769789844601045096179849728137420386395797639764454; + uint256 constant IC1x = 10818413718893848808402545727883654427504377656024608710124673989981283454777; + uint256 constant IC1y = 14701970259579375859890335270676117743373026657357926310435717690639139050640; - uint256 constant IC2x = 10462419820040311150951732771471668512870121781768793809270878604362013881399; - uint256 constant IC2y = 20549272914063171912401373392896346258161970018208100109516639080254874585453; + uint256 constant IC2x = 9840109243993106315091706083155776361032307023052778294772503086667107815996; + uint256 constant IC2y = 21421479189014038406783263969703640720651565849997847849843209205588964320102; - uint256 constant IC3x = 5841742349714527259245828894358710494855544628700974657688594033021774540228; - uint256 constant IC3y = 6441581403795492150395874326814411581235847030372027989941155570687174339564; + uint256 constant IC3x = 12196519179633826522602326841852965755022289891906762572351016836798858206098; + uint256 constant IC3y = 21412982233376624982950908408194070113939028694796250687285586821383910088647; - uint256 constant IC4x = 18496303702393801030722454696457427639449363010264073216952918158424570608835; - uint256 constant IC4y = 12069337960623762811034403080143210508974746733341434393028093609981393009420; + uint256 constant IC4x = 7235581190969404642674908755082149965058521362907161333566312285819042633598; + uint256 constant IC4y = 6931782325900735400905731567130246797576747310426631700865748776636338594767; - uint256 constant IC5x = 11750969644522980776414296014456392203727202445113265173285015464698499336842; - uint256 constant IC5y = 11180060673818888564315982095364256527821226252019780345068347814636777468160; + uint256 constant IC5x = 17173127509734661798214022591915764018115836414873628492024583620042432609703; + uint256 constant IC5y = 11053567531734874125107501562108570466815783441341452166837816067812005570598; - uint256 constant IC6x = 6231985268974236216216296540923889864403726558914240342973902801793013309503; - uint256 constant IC6y = 18873153777488865213754222993559351660919311148474429328428690375954715507096; + uint256 constant IC6x = 21322229154496451310781618984685530972033329595022238631018620297371680426022; + uint256 constant IC6y = 7388749448350962125829245020456825870275144349454024855495165941982341148301; - uint256 constant IC7x = 4761451869648636220918296566024471506851548298314229172496317816467070672212; - uint256 constant IC7y = 15603377266261425283104616470408535626420679089607896850803713326508158054190; + uint256 constant IC7x = 3662204837926956638674706277742975228880114760813672260168091215011178377018; + uint256 constant IC7y = 21256710106786993659486690926211319492336214639483222643807507892624155511837; - uint256 constant IC8x = 12099328579581963214990361140114341307485363400989267077399161892864179754921; - uint256 constant IC8y = 8012561226384638858487519711997272290273534887056684225603398009091810167490; + uint256 constant IC8x = 16416424487929438802815037726775677877790769889611866329026773729069676481190; + uint256 constant IC8y = 19785498286057309459570388602549762654841028364369156080553734005085711769135; - uint256 constant IC9x = 230452375625053365941131876649076751304064866692012851146167498012633343232; - uint256 constant IC9y = 19724267244381482952372351763158860863609221332480966803448678214443388575799; + uint256 constant IC9x = 3487720661542272985378587516835961797059090111389323525709549840624484697614; + uint256 constant IC9y = 9086284871543196624528653219516125160115487238452508593981701258865845917119; - uint256 constant IC10x = 5499702353091585507007997817078700241646822387790018492707078947324648104203; - uint256 constant IC10y = 6983033040093100241972563820432930713529739252934793211363917170019487113840; + uint256 constant IC10x = 18253627212668420590014153250663082604494945345432034082183424497743446495887; + uint256 constant IC10y = 18885892320384992450879558642426510373395491929091207152085524010308391329263; - uint256 constant IC11x = 21315763532997619662255447025486904652194476327848826136425219212518929417759; - uint256 constant IC11y = 5750894037755684161640063158693923309930272924602041987444362724471374105825; + uint256 constant IC11x = 414951092005304150207393545724488327983772155278396477138998452800148473396; + uint256 constant IC11y = 20390659272138664715535171789663124592069290821350218548186974176668587653702; - uint256 constant IC12x = 4256642811355025077525708257430591309319045719449956700882911399651435269910; - uint256 constant IC12y = 19420664561222915288565214195621305836646005999579444116987825929295283607550; + uint256 constant IC12x = 1168575149185240211324888653868923894417382761378342118701161407010633670253; + uint256 constant IC12y = 4706411267945777685285850214173533798828174918633689637694953529725440534791; - uint256 constant IC13x = 21433578701292750401651120792999782910753919524705134407593361270156695487923; - uint256 constant IC13y = 11603494315169766066642621345412118538992552404495438222744029937356300914972; + uint256 constant IC13x = 2708079734316722651536743890186401451097080895975517317451013107038247821480; + uint256 constant IC13y = 8977358116889422548878836900019923323513018742753199736419453246514956562282; - uint256 constant IC14x = 20031783716778632555113481002912205783328662906838428828344625173975661571020; - uint256 constant IC14y = 15499986965031649885148239022364466166148665045240417235186576854625828599747; + uint256 constant IC14x = 14554013898775641489762497185197550189632522830895044082161659057640931772313; + uint256 constant IC14y = 14889482653403760930884332940306178418612364394102374456894952099223376786830; - uint256 constant IC15x = 8992013395418097308006543282826639532273314746372735948960206287054682158360; - uint256 constant IC15y = 1615422210483554518518254384027376194664748788274748577924307338059551406598; + uint256 constant IC15x = 17631257501386282999336267319522575091683306188832359641853067203323908074688; + uint256 constant IC15y = 10615533054645729953317855789126996302922886998690919996970038510603834128347; - uint256 constant IC16x = 4629280546147343772394290137981006260514853295240716294007743856958886987585; - uint256 constant IC16y = 1584702331099718089032542045924113247265887051843547512294330869849536557196; + uint256 constant IC16x = 8897432937336003372807056990365114855955385048457406053197873363788354880005; + uint256 constant IC16y = 15495321263778104158978910688387535214246249760036312084039296565160541778498; - uint256 constant IC17x = 1389701127175380877357507197865319123278566301837068942479482831407162573085; - uint256 constant IC17y = 3477558702805358585320587844481304222513401766596803010546886511256797282393; + uint256 constant IC17x = 17086577629138371227124213198427084810777680166485068873604751243294342243364; + uint256 constant IC17y = 2640178595987583846574831316748354322347157846109908443707128260937216710831; - uint256 constant IC18x = 15778586275741034280677486715674914249222515362089943735143603355576359603840; - uint256 constant IC18y = 5472292772511510671195845877224285932512676425019956326483595781755215482654; + uint256 constant IC18x = 16132408164886035123611840951332115843280225485704624516330514903402244033844; + uint256 constant IC18y = 14202215506801408940555491892923501280472863665075679903230018610497055124407; - uint256 constant IC19x = 16561716894977316576266451868198305486914734558440446379270983417409468725825; - uint256 constant IC19y = 19215428116592915602200080610583600214110550521814344958586250014767901224394; + uint256 constant IC19x = 11075384166226685133901189117990358459979678656090407099645665784140519446199; + uint256 constant IC19y = 10268254657997113972405744160462847515017885202341772715624667438104613841401; - uint256 constant IC20x = 6435961538575085590805931092359233869179492644526643589149772155241045519683; - uint256 constant IC20y = 4647043630119673286933582581738947939134704511975734334399480520893860956041; + uint256 constant IC20x = 16557253902183535088299722558553861661224436217793266741175101452533738391452; + uint256 constant IC20y = 20745617385071117222395337373235588040367724445790169286930647533849729207393; - uint256 constant IC21x = 12220576805388196897233434919060857079923138269552487253375421610134506445057; - uint256 constant IC21y = 17480620418622223896539578913348018035020180342466198197986961578313711037795; + uint256 constant IC21x = 20276608125826464320376441606771761357230362470337215016714387155148950666599; + uint256 constant IC21y = 17239242738104373845790998232385943645662169711985953967303958257047014479471; - uint256 constant IC22x = 21751653189349209381020073674410047004069384562060918880677239383144420611504; - uint256 constant IC22y = 10653048036246857337333299198464378585216399552265904812245566248660722796879; + uint256 constant IC22x = 5468803742491520170652456835172480096975199763110920011227423237939965120207; + uint256 constant IC22y = 10174598386076821485585800465159883129504130989583486981573994868686379305592; - uint256 constant IC23x = 4096142125818503191592810058875256208304674196711378965388058330916812082152; - uint256 constant IC23y = 14746599581319772190649619245118163707154719471377166346478023726055690538230; + uint256 constant IC23x = 16599048882137769684318845208760094357578011339397607490719154542208418938756; + uint256 constant IC23y = 13707639706540078382732652651030837558499924834000166193089217038693941304921; - uint256 constant IC24x = 5817628836817558772811252821464822616870368572396136215093864574514958310676; - uint256 constant IC24y = 9937291952486682810096945589559658696444370577704014449443301914898953649989; + uint256 constant IC24x = 15500365059494035595313116884299889945654503047189092046213356892620745679761; + uint256 constant IC24y = 3011251002372418632018519536826417868656538639481362934022721707993634028436; - uint256 constant IC25x = 5055408949144482407030431788124193916970715070926333386928549775964777564017; - uint256 constant IC25y = 1653143226927246460788627927738841710177060778627757384336576468951512255481; + uint256 constant IC25x = 7753191558285517673913730304558808219026687470773211539615140473091639976801; + uint256 constant IC25y = 21027943544731468810145211491708040194061275482321933619845807595195830153424; - uint256 constant IC26x = 15904523125669445373993550771208741085879417687566176640143497383778564571443; - uint256 constant IC26y = 9180356701301973095640773523610057337477696927340061683931506183686113848826; + uint256 constant IC26x = 15960757957822522316310966391345985404864097297323560625516737351925975813261; + uint256 constant IC26y = 4347910655717154598004544319915545683055553526828690820284353401002638182272; - uint256 constant IC27x = 18202844052268461556416340600220633968458516717080079816583336691649309069378; - uint256 constant IC27y = 11978384663644997244320738410049699113313538217655824128668397436299528171984; + uint256 constant IC27x = 2046647242310270851768817892706457764601280100679956790044440377297878085576; + uint256 constant IC27y = 21309641850717155775706239210200211893388849300806309076190017272113498323810; - uint256 constant IC28x = 18526349627879294937279113787559697632728853774866816023970443840711930079986; - uint256 constant IC28y = 14794659753285134137683186172595721012970052093736624947580594391232767828837; + uint256 constant IC28x = 19597691291777789593490660411582938308337232089021256869678006625229616548796; + uint256 constant IC28y = 13820011893561492651702294225486438195332162240104655125561826839247672430721; - uint256 constant IC29x = 21315230340549433797940096956498545340282532943947448147220551269936395234383; - uint256 constant IC29y = 15322143408136039575614998596402941606216619110800742965734377763598445888577; + uint256 constant IC29x = 21851557989147907820650966779309613501892960294400269160320917010221513281109; + uint256 constant IC29y = 12557462194610933903124929702503099769284858185996077647536148067635397338991; - uint256 constant IC30x = 3084384750719469918762463432812801875772666740397837587871554107566064520533; - uint256 constant IC30y = 999005601220942684684701006626834858857288750265458497142618114473390321467; + uint256 constant IC30x = 12207189225721994604952937615696899377442678839226083655403720663235093461689; + uint256 constant IC30y = 15830428763679240451172816453919204017985215066319417687539454241048626278967; - uint256 constant IC31x = 4170477772886137311017376686838724450408023150512336005136429859039778389638; - uint256 constant IC31y = 13029834605406042467000724873956439766897013550726839517901185004834295236667; + uint256 constant IC31x = 4081908059095427843697493043351639450365605703110409523961207174007236484594; + uint256 constant IC31y = 21548923288877200209583216684211078344630771042900720710385747398692491519215; - uint256 constant IC32x = 19906916270223493705590104154744019352644419476072118738290884696893427583349; - uint256 constant IC32y = 7376375179982262966715991378801540568981957648279748580890225629604232186120; + uint256 constant IC32x = 13856212562239399663932100593091486718740554719127709669526649747051185213477; + uint256 constant IC32y = 11606635826446787988089212546591198489112765060900712690193434214630560210183; - uint256 constant IC33x = 21571981872774359532368746702999584816731230946126836790899100435074725840729; - uint256 constant IC33y = 8392910258477795995051854805088607767280567447383003655689254178235151619358; + uint256 constant IC33x = 6886077838878155423222525820388792351764063548264896251770137531272491984160; + uint256 constant IC33y = 11751057318610310230818395934629656703134727241242152533660390881350105654273; - uint256 constant IC34x = 4208963250498857516395277379300074401890951089741483398592184274874859478305; - uint256 constant IC34y = 11386133995365653471398237867539667596747557585364124353946642625879013468122; + uint256 constant IC34x = 4922806362911026274177971239322411824999727481356932313866779043681978928813; + uint256 constant IC34y = 1647157187422345530281186342478775664173617309478642934298471295512051621981; - uint256 constant IC35x = 17574519406218986313827491573042332234795707627495448215129889081373763370379; - uint256 constant IC35y = 15962199197862676282957461696252192322173478865650638082161802367631360071333; + uint256 constant IC35x = 6143994621664212907952117049980707194193475458802305382424783593007363457106; + uint256 constant IC35y = 8200689963763708865676511179816670550341929963040776220149093434181834590060; - uint256 constant IC36x = 594200990146884924732271249413213986266535226001253567505410198194544070602; - uint256 constant IC36y = 15279518296325182193858687474844910880104109174302509017461123408216641264282; + uint256 constant IC36x = 10255139971908934264949047378713233471192075842841114250056065579445305987705; + uint256 constant IC36y = 18935081644016507039588454984092027149059279175474401447588285789996499051430; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc_nullifier_non_repudiation_batch.sol b/solidity/contracts/lib/verifier_anon_enc_nullifier_non_repudiation_batch.sol index 2fcd78c..fc8a008 100644 --- a/solidity/contracts/lib/verifier_anon_enc_nullifier_non_repudiation_batch.sol +++ b/solidity/contracts/lib/verifier_anon_enc_nullifier_non_repudiation_batch.sol @@ -43,428 +43,428 @@ contract Groth16Verifier_AnonEncNullifierNonRepudiationBatch { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 12357722887397397063290914950081245251793849248136219973608200413107558910920; - uint256 constant IC0y = 4854329681760424079200301196964804418051317992150592704945922320209960135615; + uint256 constant IC0x = 18661541767316051609174264567468970161706692437114182144837966317529115789532; + uint256 constant IC0y = 17027817624397861211906159381942351709315937334383652511078424689575984922256; - uint256 constant IC1x = 63956014395582859851821628825303629935655875970108406865173081969726972902; - uint256 constant IC1y = 19169940679514800817520883184766734364451745169600039418130572454265560347311; + uint256 constant IC1x = 8290530862351464363086184160752799156116351836894934808112164350901009497020; + uint256 constant IC1y = 15319886729915817402050471997196227259682200322954908248090765059471382185503; - uint256 constant IC2x = 15427398997571969589133154066934663043827337347252514640610706292747278433505; - uint256 constant IC2y = 19884327159083342433116467629326958804463755588270293558663980465362662596218; + uint256 constant IC2x = 3895265863140239486594319022420933422942926366021271122764983911786669061751; + uint256 constant IC2y = 17327131053229940710633510393674716594640387470221166505664354632591126027060; - uint256 constant IC3x = 8148610063104875978956241605487343979737936801784359416676950253548219183236; - uint256 constant IC3y = 4089533439583831116829823073471799713533495517978046185353982796728764229955; + uint256 constant IC3x = 1449505007295467084248032641804391601654994291207407663876088150642837785091; + uint256 constant IC3y = 17187662067696344218494831422162203517840819920181510671766900512799614678605; - uint256 constant IC4x = 7108840844114926017728681076506211283148823147370606658411759973751322677551; - uint256 constant IC4y = 8312221100225412875220163718652725860787135759731900515588860641996751963742; + uint256 constant IC4x = 10099011567697851541392630559580266733469712273366016034447917932461193487878; + uint256 constant IC4y = 20813361752444827248104593831786670218519414398811879505285591420995782187189; - uint256 constant IC5x = 19999680631326588721638656816875768202230454793889563610261922453306400076130; - uint256 constant IC5y = 17633362407863087760509350168264394964469863026887523177127675222102404259256; + uint256 constant IC5x = 18004425199377525371529555647874305215119082921748137559234210154747556945749; + uint256 constant IC5y = 8824742347006013972503911806064482890769074621994728092024948712479345260984; - uint256 constant IC6x = 60279885609441586470501544699850910826054515072233718476821533324317796760; - uint256 constant IC6y = 2516725315663124432040039464632757865919187004543500073008953173434170712586; + uint256 constant IC6x = 1231559026886333019618949523785147300746132078944098899044081663750754003583; + uint256 constant IC6y = 15500350979516205029529371737534331669803248984571185190497619100646001026991; - uint256 constant IC7x = 10942107103050075991680752085891564625863246172261714023507723323085668904466; - uint256 constant IC7y = 5046511885035709633287391484276157633944256383931871292920094733320837889372; + uint256 constant IC7x = 12238173745854709800111972965560423796733003474905855165799601966452622162617; + uint256 constant IC7y = 15607387945007972543659352255120789239421323971551977313883398771074916884351; - uint256 constant IC8x = 15223708766594522541551441480963824326898785032019366523588111695837388273352; - uint256 constant IC8y = 8810342322938657062547711804514390891167089575515108123482157066259393645618; + uint256 constant IC8x = 5849783032212342441585915616376612607580431282248188800348204508635735116114; + uint256 constant IC8y = 476548274828105873132483807759149012831981934977163602227068520254226664194; - uint256 constant IC9x = 3004783894432255319030996372658625966341900594115532630229467506364255140404; - uint256 constant IC9y = 12422125467660955167596366046394857262007621879307660201069008164531538867380; + uint256 constant IC9x = 9411736581863360600195501109590467308242657590207494410928923388907257423195; + uint256 constant IC9y = 12826790969850434087687987242298222760431439689027944791208946116077811771548; - uint256 constant IC10x = 1722258167209615251112379048587673445541134721947858309305876128399530483641; - uint256 constant IC10y = 15524449886348292854171650721401492977394963035543173024091490277906366135977; + uint256 constant IC10x = 4030910874248134719724279512534908541018742485330949595794045081247968733403; + uint256 constant IC10y = 3898186474677372216115712850262513281734019825008231550121929178919743992657; - uint256 constant IC11x = 21592897984510812153550773627299313379976483459122383749693244471661337043788; - uint256 constant IC11y = 17941519762675431339314163204637620048456786732781035641713914464808928528439; + uint256 constant IC11x = 2485717264369732880098781373781399025480983377248142051009025546043109157128; + uint256 constant IC11y = 20834406849226036020514633978321759495429948963111368416462587343808628572801; - uint256 constant IC12x = 4237745940925156367630208359633589296644574779022338678075470438485188876510; - uint256 constant IC12y = 433954364493851845102959477381070459819715341230962919159060739441494534119; + uint256 constant IC12x = 1242799285875911358688294329332384114191385369077998568251363037364617544351; + uint256 constant IC12y = 3376081760322732119142108066815688816016519628567837563273613249356084171417; - uint256 constant IC13x = 14491669273645823978974499929606006866969582729419148343660506995200367721803; - uint256 constant IC13y = 3081998934624081013305363599487610649026921688041843666708591414597811337173; + uint256 constant IC13x = 7204252439145723688924502464118009669591754835529746135034088644077897905551; + uint256 constant IC13y = 8365282111835866924498470373240787835297630709319972194167627362950678500449; - uint256 constant IC14x = 18896863432606237483862168665171171717077268283994324211536584103199966774077; - uint256 constant IC14y = 18324640387315873978307114215871258899273231482605694887634567267251280265653; + uint256 constant IC14x = 8979836886252258551326705741039164391200440592452577851389843897090786713146; + uint256 constant IC14y = 7206277366770463323261557604330786290442748007399134061043368053845569588656; - uint256 constant IC15x = 7257907485952317343097721427540411934476083429383746692189530749460986610214; - uint256 constant IC15y = 1776493569766890289684844966784875554569858062494688791214038227117091539840; + uint256 constant IC15x = 14665522835450156568758312477419083599423149140460666047191883830987651034228; + uint256 constant IC15y = 18853389212854154339842598865229732616886438372023376577921867997286139347217; - uint256 constant IC16x = 6299916359174761892719740954133625881179897201901958447088609104917110570922; - uint256 constant IC16y = 15796238077753956781913778102621136118900485730834965507439179230972795590811; + uint256 constant IC16x = 20064867886620096505164073983657438324788848100547125643411452062403703032548; + uint256 constant IC16y = 21308879866084483596090496085008613048840309566317792908538588655730427649572; - uint256 constant IC17x = 9127389414271466912041641961775565457019023441118683415454567638691635901316; - uint256 constant IC17y = 19481349273152771703522013143120030872955602885925825988235789340763849160956; + uint256 constant IC17x = 5692133256476129917816122722435141004427628811198766593805200341200939889600; + uint256 constant IC17y = 2228421897819673848227891746754554247485634268175495903901928091821084006471; - uint256 constant IC18x = 5898998139317828884955799431741821656142870336506604134992352876149231556495; - uint256 constant IC18y = 4967391113739523186074001104946601920606148914100233483941157478448177242431; + uint256 constant IC18x = 10878386928396372493660082468181714405128132539751954845186162888724789879862; + uint256 constant IC18y = 11751297315356770164073475859142842045546680432360068446077370708632370337570; - uint256 constant IC19x = 7695796572189653107388752334509061878234301305691271135574330502310426791008; - uint256 constant IC19y = 6243130245762212387202191114739001977982873796930383403914268627979604296777; + uint256 constant IC19x = 7878803049712230516002896310567649058877767305290284870242285034970201116817; + uint256 constant IC19y = 13314629479608238209933726814482347289298884464342359647367708415935874418364; - uint256 constant IC20x = 19432504217403478776598305831505791741413045942338937564035214082791549444969; - uint256 constant IC20y = 8919329072608144502505196760677187340182427808971399957859428652821224946297; + uint256 constant IC20x = 1195224455429648431963291870582196062923120397098370405056724197378324019422; + uint256 constant IC20y = 7975206700792022613867883291086240529231152361757062680082625100551505888240; - uint256 constant IC21x = 4129851084153044953515608579827890591435310100759828390707084189282091091690; - uint256 constant IC21y = 8685570648227001842257579553857216716294209787432529264641399202841554015416; + uint256 constant IC21x = 444765178051308857659823814925713982629778986079628850498671227417536814154; + uint256 constant IC21y = 14277552638210035568437016107733939935858665282529728403462105815520159990434; - uint256 constant IC22x = 7217620719367422265456484330493776830588523307429814352334863398165756664447; - uint256 constant IC22y = 21752837361064172344380368721330950087276122939929457204934635312514029514901; + uint256 constant IC22x = 12357591404805372411800727989102933533823714100783743695033351594114806450233; + uint256 constant IC22y = 14388992151593914840590387433478950475343604700279104913967191543161804967834; - uint256 constant IC23x = 5936333528008896289130366462067790478147631702272967107288983023577627294862; - uint256 constant IC23y = 21671803675805930345169475806127486289784464455792344875845275794023263041837; + uint256 constant IC23x = 4900402163762500889360514361152011922586605082345569977948363472817950660764; + uint256 constant IC23y = 6429331276349713868990813736711227296990808268499622619610628135846460097754; - uint256 constant IC24x = 4392909485552163556697991701343430429116814514340931192238012636007118226650; - uint256 constant IC24y = 7767760372439763147950152436626664530537575608985811556913325560253529541976; + uint256 constant IC24x = 11154726511982029141645315006924033758262760296660166081680315705025567290645; + uint256 constant IC24y = 12770285530422661109936260285973218220644741626531995324675451808559081733575; - uint256 constant IC25x = 1486389658504227891054370014785187444556763426863239751980403900129636629936; - uint256 constant IC25y = 5934715951066346523504746093485786296605813504336363002627652185736781279651; + uint256 constant IC25x = 19879263575959414331826258555076176656543000145733112025663448309264492658472; + uint256 constant IC25y = 21541443130295020362222619180984657687896619294258462260951100925940786403113; - uint256 constant IC26x = 21488627634573329345772101206450014489442441883329304899678589632604545942469; - uint256 constant IC26y = 12248084141856638440424218166548318289734004517729739759344440565187452786452; + uint256 constant IC26x = 17787518551766473778594642369705227423696242964540959613897554191269415622464; + uint256 constant IC26y = 12156857218917811148992815604201651161080854530535588689566166293519599538546; - uint256 constant IC27x = 200662457781228729190802137633578866054011268760537828632647224366426565220; - uint256 constant IC27y = 3302259500126367664676801157753220676573647645306467466772069059425544045908; + uint256 constant IC27x = 5440827282964610135135047142455924639215304533269399159397221360244991102465; + uint256 constant IC27y = 2617394538062844516495717636719464217438016030915865662682607810157428365528; - uint256 constant IC28x = 13776602163180296143822318482513045976813462974737366740614478067808688416278; - uint256 constant IC28y = 18813822646096858762417340888253109703442473009516152631225165337027236483385; + uint256 constant IC28x = 9664552259251498518996360833493584744677794780700907420840873984801312675579; + uint256 constant IC28y = 5901280610165391679957970148553735733501272805213912300338186623554102410722; - uint256 constant IC29x = 17911143724269673341179642289894200814115364726467133169333530671511424027359; - uint256 constant IC29y = 10910928214388150580396504033511313407363628143921971359972672309551192931845; + uint256 constant IC29x = 10938993605597136384117662877572744577688062648827496000956300815584249820446; + uint256 constant IC29y = 5244789693010409670567578918852392570628512842358679798750140752397197949786; - uint256 constant IC30x = 13955386533152898517611334117655125836190156249960229323646141653251602652126; - uint256 constant IC30y = 17095949402527529688324811770456126961354633370173642367182559719197098420560; + uint256 constant IC30x = 21063171588876583036144337154903722726158485352441218100418049040644625951853; + uint256 constant IC30y = 6137455975634462514233728830437970084776104358495548504902739966595105088060; - uint256 constant IC31x = 3937773542856525129812102824086464766044751756853186262328435887183288977054; - uint256 constant IC31y = 21739258497701526726359097397702636065449188046818119701938654039798602485056; + uint256 constant IC31x = 4285453364254616050143720909650203229606601880807582160314126106842627787308; + uint256 constant IC31y = 15134983436856213659499917391343544237208140799667398421058415399167650631064; - uint256 constant IC32x = 21642596574441478424766066045737327189914113143531545693056512618474624298619; - uint256 constant IC32y = 20116969253845876911372077297399145675828417636774556650636443267827293614227; + uint256 constant IC32x = 18813748264526039931865361291873463440809627382704273654505753787409757183772; + uint256 constant IC32y = 19283432077583827169463586783705859172919693178783513641664439121147734315924; - uint256 constant IC33x = 4947829836428172426865912115502105627365343481076581123171879831180936553031; - uint256 constant IC33y = 649056939278547244712654460840615359578061770606163084509869580899233953871; + uint256 constant IC33x = 5730840652648682976368351799112185356414756618795701057881438711508234537407; + uint256 constant IC33y = 21770378519580684365049645389060428842136856801212203451989491268626539195644; - uint256 constant IC34x = 2346094473812104204527226114492526604824386515998120384404803589509438588245; - uint256 constant IC34y = 7606781811385730513730207140003726004660461242216269446293196868915413416634; + uint256 constant IC34x = 21192703526448061453505020688096201733772674834786965503542865889692571117098; + uint256 constant IC34y = 17904920392426946092839216956304265580142734167486168296609137207620441904906; - uint256 constant IC35x = 15485840014683707770321379533344024025246088290359056687597923597249857101735; - uint256 constant IC35y = 6446164333603048908953482766794131860219110433201258347312294358462933719014; + uint256 constant IC35x = 10530748668942367576112655924143186112401460144542087868040130658706819931389; + uint256 constant IC35y = 9440139834894339716077331046947621494338984756765011023212787915836028468902; - uint256 constant IC36x = 13834703793324347894812657507668740191087795202269093110216661815623077728364; - uint256 constant IC36y = 6138274746252880565142497950523664096669314283185206981558850817426548405275; + uint256 constant IC36x = 6084044783537120148872300957258020219660731766446295703377014074578882336665; + uint256 constant IC36y = 21567392058984849200189968433639072568029807708112007538841869868188578282879; - uint256 constant IC37x = 8612202746787293628285962739255025239388095258629714702827989723830129584056; - uint256 constant IC37y = 13754009278123607778449255734472501080809919698287087067053676859360307940543; + uint256 constant IC37x = 14405662286404153023584090155453350311513411721189007121167398354907313900355; + uint256 constant IC37y = 14790890767138431160978253615991770487197902157843528246503379902478314270349; - uint256 constant IC38x = 17508630640553929320015279287522122444980397988219072022222160116567682991714; - uint256 constant IC38y = 13026939736944052039020694778286739416778779821170159215167626928015063326779; + uint256 constant IC38x = 11938481876387470124087593615968509210067951431803427314659516551098397053931; + uint256 constant IC38y = 19347112465328291637986581591944982535300004317254694362960421355197724656245; - uint256 constant IC39x = 950359700652951359102649927183565842904235100836443610365425554684668267753; - uint256 constant IC39y = 2861862034936719315251382247544347605182442097988770095362931975972711708697; + uint256 constant IC39x = 1075463559544134625279607002485395601183611503949963087105677039498948248717; + uint256 constant IC39y = 4142105785035347126180725749797176989767922193424152066799961615192068304984; - uint256 constant IC40x = 676120242597597907739479711108831497189404299486768113234474999778618608343; - uint256 constant IC40y = 16084502108542174852998517759098776139377792627279197252008822609915165126841; + uint256 constant IC40x = 1693295402625411914931052475425764915688700998224995096798561433706914704876; + uint256 constant IC40y = 18717955454546563713384814107764143502434638172274849745708370875986600185599; - uint256 constant IC41x = 17344666889563060711567056471042897757755692285741504051950959268701368600438; - uint256 constant IC41y = 11066405092919197069084675797065814259037285789259729679970816071735649322162; + uint256 constant IC41x = 8922612364071929507704452489624681249999652907719326689742117062171828793123; + uint256 constant IC41y = 4855092092685682119218308613340268934094886876805204874931882681238076408275; - uint256 constant IC42x = 2579427148426696481338486759589487711696046548398597490877041027821267445908; - uint256 constant IC42y = 19207992837478817009329113810674959195896534114471875473249517265303141967989; + uint256 constant IC42x = 5411403082845296716589054160110975182414555527533966717627019018728583277680; + uint256 constant IC42y = 5654580150674182446974979733548675671299189711073467011435367646037262262067; - uint256 constant IC43x = 14956208701231162851414715800260383790149301553379953883396179006162282832643; - uint256 constant IC43y = 1197111452635760157195802897806218527623756764218688544656324806908364763041; + uint256 constant IC43x = 20223726568004953115170428701772243422024277319355489039095000247419921818190; + uint256 constant IC43y = 17393301240661145525114573592672198661519746932908778040755807541442745325010; - uint256 constant IC44x = 9633334638274129892717316347334533111262690010149939219787967557541281692175; - uint256 constant IC44y = 18024934457479159911319432385465270270597349010610163623856273656114891975973; + uint256 constant IC44x = 21418366877845232999923590788274663390891009929525345580697301726741618242760; + uint256 constant IC44y = 7259320239673760204603045374096441112438031907493183437941838108467610268995; - uint256 constant IC45x = 15330523911327224667409197962405204258375557128533543038591849181160010343937; - uint256 constant IC45y = 18912796068396162872719678325296074979831586592981715033970518282523107347119; + uint256 constant IC45x = 2499800344704057769605341561282197921448539905608472116741371605823137078226; + uint256 constant IC45y = 1829761701930088272022024336229999930163862509028298356800355807529899698822; - uint256 constant IC46x = 18140117478870555701262158360978644186103324009091804166794132971163266352817; - uint256 constant IC46y = 7216705386296695807422451511767221685357121811298361271450957951223756920697; + uint256 constant IC46x = 17627540420814572210327263177013308974131079973326762092203694886755545779963; + uint256 constant IC46y = 9725078955602846786266467152728676384174538561848271866608047165584565867315; - uint256 constant IC47x = 4706859506759263337681994707310026797743983248551819251685724408833457747268; - uint256 constant IC47y = 4728546956067739545925197584083337290325109317034222778213165551063747614556; + uint256 constant IC47x = 3051018737292416739311929157133564012575859300469614483117733117240202186724; + uint256 constant IC47y = 14168470224022205800500122102283090607918111099020213879413621019447853958482; - uint256 constant IC48x = 7063127309283704579090525171485217939537610632063514087676752420364351263957; - uint256 constant IC48y = 725353811944771735958419042617388435466820781482141186234157447995160568571; + uint256 constant IC48x = 19054427353388656591808893031730873474293337301315199690994751079717690031677; + uint256 constant IC48y = 9662347661031655835453719196504859444616800481582278955367667203258520578308; - uint256 constant IC49x = 6569991399871276040401270457167232895387446594750066203271236673771510387866; - uint256 constant IC49y = 18236958640834512855122520288631490060095406626401069007361771676067258122060; + uint256 constant IC49x = 16854732429937899147829293717912988825386084928935551183599465403046107874955; + uint256 constant IC49y = 8548024066405243757853737878993122028984960944975486911133020489399069480802; - uint256 constant IC50x = 273376257884754949959600129310042086004158676434934591789269251701822678013; - uint256 constant IC50y = 20802177354733916109755996711941892650016876894536573282646288378554341094513; + uint256 constant IC50x = 2847044521256689534601247044437409625138059084218526002670818067271565365755; + uint256 constant IC50y = 4326278511430235987737935932840835942332298888501572236894677527157923052380; - uint256 constant IC51x = 20008431781565148128481780677101952049411562769740462517033520841990482613714; - uint256 constant IC51y = 18085048084438726809776889401723769303116391996500876428902462759771861543550; + uint256 constant IC51x = 9015446185384557285562998107247928170898367982310026835510136352364491945259; + uint256 constant IC51y = 5255896410873764053401201830498770292646731025609056693183008255418244450285; - uint256 constant IC52x = 1334135926762510027184217006632182446188899475235200300593647968993043953624; - uint256 constant IC52y = 14898658805787112968366004398817305259424303507412638780388641826556455488958; + uint256 constant IC52x = 4950103376930366314730429983358661352945513859143354243861328749032331458691; + uint256 constant IC52y = 17416747929840777259377319178740179493934338441600715127231306249291806560891; - uint256 constant IC53x = 14086990386003260728951867836521915962308413372710402703090403120505643731719; - uint256 constant IC53y = 4550491216677097266011498559973734046723357215975966735250738714606062557130; + uint256 constant IC53x = 13081050266706996053359757601036140273020997174257563376032724368661472665850; + uint256 constant IC53y = 372887152247490211526848626935646291154336529920869077889318378962361920112; - uint256 constant IC54x = 2275228586744382006864806429315665933842890222668263169687042442800379231042; - uint256 constant IC54y = 14864408495706914352351695749950992535691798678343829075088883269012556499546; + uint256 constant IC54x = 12429094425269181398633639505581359149719082500057914656650335660243471270674; + uint256 constant IC54y = 20111268734414621426239549019444859455870747897237472432664765455809484207042; - uint256 constant IC55x = 13278219858206869109196953169249565661008662802989951211629501242053060323542; - uint256 constant IC55y = 16562744111205622549825150770134507090780224119516969285950588822789439446467; + uint256 constant IC55x = 17198838342969691979797131840543950415931395481096816274517217440538456056682; + uint256 constant IC55y = 19494354287961014260116083958000795960241014177072245313106005103088466598445; - uint256 constant IC56x = 18435378128170116432606714146159709739968660194595671315896737350999795497217; - uint256 constant IC56y = 6413437810202929958784178338250201336725136804669633213538813003737369971079; + uint256 constant IC56x = 21832079327400083902152098762393081352903491328163852887064940857763596841453; + uint256 constant IC56y = 6732737075767086157315264129728085531210069527299646319990562878113433676733; - uint256 constant IC57x = 7703093660259146717195001181176961272390518531224230599959660746817254265699; - uint256 constant IC57y = 1662971422902417595707272606574705833337155373069155024466249457425341060298; + uint256 constant IC57x = 8900365497585850977601232421640686786459031413806364904415786280025984860449; + uint256 constant IC57y = 10662771739912792565888366657136133399971990646871514672555272756211537563273; - uint256 constant IC58x = 3891951059525600461390419860245433839959613015324828136947030680590375690215; - uint256 constant IC58y = 11506448744044425046737852567429421300228501619202460209872315161711687819277; + uint256 constant IC58x = 18464224454680615430675080145928097268581104620658243685754317396330660638868; + uint256 constant IC58y = 2472001674480643113511972342454707735788777619454490705090296712279037741804; - uint256 constant IC59x = 11506844933601623743077131643672697901203248230039224639385524214583443353288; - uint256 constant IC59y = 19374917662018931782165304006196833068002207167568863659257625049490187111798; + uint256 constant IC59x = 14859821171835094504829172401985414481528907040537745901756395383093345667417; + uint256 constant IC59y = 18869834216287495376563325850957655139335708115583959439244491002121516523587; - uint256 constant IC60x = 18109467085939985018490970117334388227017627948407527495059747384704601907699; - uint256 constant IC60y = 5728832183981487319808134108929788399746078879188210933831480810289677687952; + uint256 constant IC60x = 3046941047900164081321057301675318957704472711407257436629522128887351880960; + uint256 constant IC60y = 1907267854362391848955157464815382825537910372695376808622154862258739350240; - uint256 constant IC61x = 5505912057671306307404756763293828205558410237204821563601232735476815525311; - uint256 constant IC61y = 18633274393123509336883679174009051786999325381511009868170599738210334040688; + uint256 constant IC61x = 13494947937733797908758256330651992273293776454294282943288109392350144526768; + uint256 constant IC61y = 19052993329977246557079453635349172401839766276542928512699463255626509690329; - uint256 constant IC62x = 18273415016507657672863699933536069904408121662200653165879197841373089972054; - uint256 constant IC62y = 21887055840177658269416887676683708250985080064752623891930158087007976407247; + uint256 constant IC62x = 4776818335677398018464972510234543575208922620199842141498075905239781590615; + uint256 constant IC62y = 4366976049582490160511746449678825906064258487058624930970381588651901769101; - uint256 constant IC63x = 7249888396028821912683814939883450700004160452183974514320210613993804973330; - uint256 constant IC63y = 10278109006766333044040933972102648019831903751745046397673765473637073161725; + uint256 constant IC63x = 15771138750078864180894925618157182284945058455765793215029251683233094841821; + uint256 constant IC63y = 10985279413987590693157536452405134612905339861193780535157538615671888977690; - uint256 constant IC64x = 18857524088030913877431395591910218517660202038874654712140329487124841247831; - uint256 constant IC64y = 5956250147773078437987476666567034615671977546992022893816122844013930943823; + uint256 constant IC64x = 20572905388774684163930079237409588977220833645442654071317838448712165795310; + uint256 constant IC64y = 16903825531453953399509160506896585992516050819869650431832409998065353914194; - uint256 constant IC65x = 14754617896097928650573419832226129188805278297912971153697772320607888260109; - uint256 constant IC65y = 4672248130019147749734779576665442078462285787933394054189689027496226507555; + uint256 constant IC65x = 16564793720980064340325329377478679173982206308998957537443537050931908055865; + uint256 constant IC65y = 8705970543387410098124627570877470071227610203110874911312854655964794097296; - uint256 constant IC66x = 12904078116900652895168954906553819653334490263455866413061865107778340176503; - uint256 constant IC66y = 4456908603056148500418019353007108847974888179835679968915207827862474404055; + uint256 constant IC66x = 5272121417098614660475519610432691477226381620982090847505498486255158093666; + uint256 constant IC66y = 14944469529178805605746669750753537613866815635013215869688353526019435635150; - uint256 constant IC67x = 1552917813399244489757015520756066329428592613780645499804665579290001092140; - uint256 constant IC67y = 10762640630199035162536807059133639704980192859739070978044920281591252768435; + uint256 constant IC67x = 2465517809001382262961675129288014791030922623400271267126000847050848568270; + uint256 constant IC67y = 2407342817629996425523491601408501847093792894098903929519151472202270711753; - uint256 constant IC68x = 13742700171284387700355958387793427599608699410786556063844162580794168263617; - uint256 constant IC68y = 10746718765378053927290423988795316141268600925336670498094691921590391470153; + uint256 constant IC68x = 135616403413088980825757335695315728998428341432750229618766193657696023691; + uint256 constant IC68y = 4852872251287625001707309288598475237032088906433141550905197071209753375401; - uint256 constant IC69x = 18642054731015731754626491389030041607032344677863786044778683025320457080328; - uint256 constant IC69y = 8804187737015861929023363229832306198354900096467801788093280552793192280694; + uint256 constant IC69x = 18847810726107961677955441820675552242108741380857994112186261043387433580602; + uint256 constant IC69y = 4727817968701380360303074114482241305342688945092636608075034425998111515333; - uint256 constant IC70x = 15404694325230142630000413695878805682192450495240055693586740915036389874942; - uint256 constant IC70y = 10348170848941277394436745958793790878214419952388488368838987940474958599655; + uint256 constant IC70x = 11647168154675375375969660306071353878588601716209484097884932063094745013732; + uint256 constant IC70y = 15204911198250064580988373088535558827261157431453326970556131594345132469906; - uint256 constant IC71x = 15489619346110565561504163884687175947548801707786435908758794223649396210829; - uint256 constant IC71y = 3793625206037123448819562729501164365211326414020745034092694067507789331545; + uint256 constant IC71x = 18964289156676730415102685012481736402637180263062196836793875559124505749944; + uint256 constant IC71y = 7381536515170724044454339699377821825904350903963573383615265003638603277741; - uint256 constant IC72x = 7511601045874622523568994161882092292760369351630950345597649693678907038678; - uint256 constant IC72y = 14954282181229821244189027640548694875758756571349288204604639557046830612987; + uint256 constant IC72x = 18042335499048138689410755793827319388072868565106993425716046286627875205251; + uint256 constant IC72y = 15891247248140703723895051525609989237582812200824079645866510533635857984741; - uint256 constant IC73x = 10397932041134516510661179086827487039232595575513964353647794403179296883783; - uint256 constant IC73y = 21882409673654351703561796583661153963044893252777536663061028484786705481506; + uint256 constant IC73x = 1159486623064006693067951596323604993592829542758052587339054811496429762569; + uint256 constant IC73y = 9546786506258753514595486502278731091679917184293435425677619292798554375137; - uint256 constant IC74x = 119035749684244683262957204649998876457241382608784388130572597693268729158; - uint256 constant IC74y = 5234144869616607720350742632600001641074098082817849735998975808235284077521; + uint256 constant IC74x = 17487262759523522289818146224159087189091564846330103660288857591582913625946; + uint256 constant IC74y = 20221327525378622776607060237318445868782593024076036342172033358035678144175; - uint256 constant IC75x = 14809809060650816550426128189128596747800701379595955053494978162737808299562; - uint256 constant IC75y = 17207100226226301111881479508376089826293106508757229383584271120911482780747; + uint256 constant IC75x = 14609680057861434190045318669467053401349965426626083168819493818144106553235; + uint256 constant IC75y = 16502019672201373271942885049246645655639885184739375438821347436111995759785; - uint256 constant IC76x = 21500354033853662864462496604784397823294806380555833580465435907821270361576; - uint256 constant IC76y = 10519574061095429195731469445000637775726407515209002829770204720046286008158; + uint256 constant IC76x = 6391507738993717621965956932278424933242868423385013740480990031737412227471; + uint256 constant IC76y = 568402907950443456493050036226578902911484018968368279168622215548724685855; - uint256 constant IC77x = 6524099530394593369670713336029851840989018696948064260453897690561074174216; - uint256 constant IC77y = 1210218715539233489712026084952199430965047910197948571254241559670442885758; + uint256 constant IC77x = 20943022084382132046175910990582149916492501026179582753629511105908454975439; + uint256 constant IC77y = 4816473311686872756271209654094467494758420097327068950556634997356359807723; - uint256 constant IC78x = 3029308444150593179966756778598326321338597420087486327461952064196401895373; - uint256 constant IC78y = 4011905893261035159603448370595794871687184074676879891933617530616309920723; + uint256 constant IC78x = 6946988740001009508149355972939855868485883758419715303270425179881978895093; + uint256 constant IC78y = 17843140290940196241759859422462552201717859857280533133922678202805242366221; - uint256 constant IC79x = 4772157008666709788083158826034823298150023066864592956692139564470077465294; - uint256 constant IC79y = 5252974623640482554331646661746541864554712181708696310216020037163071719925; + uint256 constant IC79x = 13492105886886276705432681920086878786729006584295332118422032546407372914130; + uint256 constant IC79y = 6608918805134881986552650629293993158549830141069004899863810729146126262736; - uint256 constant IC80x = 6378929523607816281658775213619734953080469275687302644734731078368381022599; - uint256 constant IC80y = 8304769589229131093184305600157162059604585940120891273181333285881384453217; + uint256 constant IC80x = 5164147440758692246579351640169841712431571007562520170603114187079672005697; + uint256 constant IC80y = 15938644314887398033226147609293834494627813517637109800668356069657148782843; - uint256 constant IC81x = 16783771703826969582734917289139401533590323301733992821910145772236953938570; - uint256 constant IC81y = 11138921271182998482248028676732680455540532735270446273693074686799941563980; + uint256 constant IC81x = 18168763744592149673824797160897842324690653219489944269079766908599462759958; + uint256 constant IC81y = 21486624939690409064052442338314399998080937220263845437663393119906889818817; - uint256 constant IC82x = 11228973809098943158483915883100941382190735021179550334991199176675607369771; - uint256 constant IC82y = 18626631752121749167924298449579082232997413842690335426662992940264466496186; + uint256 constant IC82x = 13125636961831578248000769058943432273936814142540619927929334205755160511102; + uint256 constant IC82y = 4743025077654646418671592869443078863169252049573567357294567294100287446335; - uint256 constant IC83x = 2955963974851930218382630571969667874478377397952213230068775173208426249466; - uint256 constant IC83y = 4812346438417622991642606074587904949189886852392085446208940690022489990152; + uint256 constant IC83x = 19137467410506969218793974657644565416246693234289250668021746477663753729830; + uint256 constant IC83y = 11330568293402502526494407671052677752822871957474160746494377147236621415110; - uint256 constant IC84x = 8579928442669409193555639681689310601505342909069133022625303611870180395317; - uint256 constant IC84y = 11974451781383442051966939853443267788559104648056480414877411894899794471602; + uint256 constant IC84x = 7812014271414356947418133088851333947862738989513783358985866880257954104936; + uint256 constant IC84y = 7344391555329317602836876400481223521644563396291002175867293608953515135759; - uint256 constant IC85x = 14693823705381345641104028565695057488868476187003397354410069979924034977714; - uint256 constant IC85y = 10808847477151605849523286773437312542339532477890697232453235329357453162609; + uint256 constant IC85x = 2505833952088428533065273449357958818248012931924167527089480179409533148665; + uint256 constant IC85y = 216584842153102998394386138038331022820004378489561403536169979397685792016; - uint256 constant IC86x = 4479853668463028432797166204803107574059199675734283182226001328527017098983; - uint256 constant IC86y = 5857431704045640419303495181243249685629825156110128201102055248843550762186; + uint256 constant IC86x = 4177701333026875117285121192104523363912331905743147453596106447458824934808; + uint256 constant IC86y = 4718163794557104373228888426064680473587017940820613475684560578732698089652; - uint256 constant IC87x = 7468951055456194936694006859348815788497596271752982801816651205771294911472; - uint256 constant IC87y = 11210972601496318653990976821130540863130051258037861246811211641716047267789; + uint256 constant IC87x = 6772700591886189227393721558819762843449076585387657355939587014845314634020; + uint256 constant IC87y = 16139733661722304090182689345599044092552785698561210762817729102853011710215; - uint256 constant IC88x = 469945491360080742593798957727349252635467160837892793328136416156838386937; - uint256 constant IC88y = 14298226321967546221086557427667632934747326852901129340742011376758018606851; + uint256 constant IC88x = 5870453983196032707637131118036890401739868782326059275242866306823552244871; + uint256 constant IC88y = 8932553547399455690178561037143849196484056798407338781245637942548231878392; - uint256 constant IC89x = 15709103612106145474807042554310279911668392578390105717492047571184884809757; - uint256 constant IC89y = 15293256281025265669889497902766936274831632015681583910780840595141764308625; + uint256 constant IC89x = 592010354761867168309306218451998092163597473030477622853003123746521651085; + uint256 constant IC89y = 16774535586837785088908866027752694064246248093940498881994929993119839490788; - uint256 constant IC90x = 18212321727969563980575805193570825675427279799500334910566751515725575074478; - uint256 constant IC90y = 21002071476145231856038211168155460613767919096402811430100911496812863646608; + uint256 constant IC90x = 21036093175151368402032437427146732841518492702138761361562487105214365562936; + uint256 constant IC90y = 9473952893497293592668316417218760211325873477800389494596940116333270257950; - uint256 constant IC91x = 20788463823597930939051556797699382117046232296701454033805084119516630773984; - uint256 constant IC91y = 1736813108888943735819375892083237720441626684594253306582178771925124392383; + uint256 constant IC91x = 11910417168267165196166681651489397740738495431878894208887316096741483922299; + uint256 constant IC91y = 11675910865460438395364617198484948759908103100872279839511216552033174727773; - uint256 constant IC92x = 3952367761202938348214497944647528643171323966477263867352589409555081945169; - uint256 constant IC92y = 18987289250297776358070949583722811355803149055118461778902137358571930038759; + uint256 constant IC92x = 19752424308229585100076978526907742333983089067727449498295756167623086361487; + uint256 constant IC92y = 4990245449506153087404016469209638705038579736418075571144063397891773186575; - uint256 constant IC93x = 11541740478988278170353560529731342452666951557782767469600570339178903692145; - uint256 constant IC93y = 14720712572063121746831900207388633472732527305219821816749653324157357712184; + uint256 constant IC93x = 13195091987990165518158708565729317824979193814880020441249981877585976612151; + uint256 constant IC93y = 7028253471244299500124016857410243619476977456399069992147457182506951023461; - uint256 constant IC94x = 4466762382351614900111045234843961703905504182261370082335006100139580357051; - uint256 constant IC94y = 14234293522065744182696727162390337111785343493033465012586728520792067314811; + uint256 constant IC94x = 16054355012960747739512939854225639195460158858777087549521950281892165726291; + uint256 constant IC94y = 21786927862960182409007865612175949742399509392956899474369467964496599144167; - uint256 constant IC95x = 9336885020957210091725477804423160044591774004457288939713050569192398124571; - uint256 constant IC95y = 7385691419151220727765520272307441465261543129497865923124224808836819459600; + uint256 constant IC95x = 15850538787557761732433008924365328782617538546072231385830099279297832606923; + uint256 constant IC95y = 15366369608274860188065197882438290540374088174467927583150666534465493801214; - uint256 constant IC96x = 14670234264463902448311607061100232722678233796688992101768859246017661893336; - uint256 constant IC96y = 16008416492167584057411942618774371752894794252885515758112793649769723357778; + uint256 constant IC96x = 4300245880274050408303572259804740576579700465315016679772167012413722260060; + uint256 constant IC96y = 11168535071890702208038176318385291274179003858260175657013229942964148992275; - uint256 constant IC97x = 1048010112546872294412170780141258732176131238078955240129633480681118108007; - uint256 constant IC97y = 7784348751111357327490237867639245648100361019781260846326474788754694725384; + uint256 constant IC97x = 13636519539976731378435294734072471367642438716628600496375507983251648554538; + uint256 constant IC97y = 7204525624678612782955151743223150687801204950498704135076407306210739670238; - uint256 constant IC98x = 13778921581276209335457263800500897517974842776819735813578856217426195778074; - uint256 constant IC98y = 14653754329156566557107422888746406523685203684211797888520847388227456141436; + uint256 constant IC98x = 17991460694531456743164170316251470028989220444721668620853690302216768989783; + uint256 constant IC98y = 15691078156034557980167065705535002816884065389588885034466254405238230228077; - uint256 constant IC99x = 3475667029506672565347608935462533861768135738048781111983966942872000167795; - uint256 constant IC99y = 19870060701803383012750696870254467354082269786039613272591070819493732535805; + uint256 constant IC99x = 1070011449150845926480182574709066308750771831902108141629633808907164176057; + uint256 constant IC99y = 13927174290784804930519348748870326322284493292949248096811434553497450396059; - uint256 constant IC100x = 20907077814964923752097546377527242248465217084787680614749214294106298663257; - uint256 constant IC100y = 11608396846890492075137393902552302749283346214653870889256472345901051472808; + uint256 constant IC100x = 8338577724146839700941475178822890445374170196498217399498434071625919202422; + uint256 constant IC100y = 2688989313896548898744301395790274562621167113633702207955842334376940254711; - uint256 constant IC101x = 17268421130642630645871410358970846384573138558148030744025195802056584999689; - uint256 constant IC101y = 19137841421449650496682291867339071640771756678776045049699407526328986780780; + uint256 constant IC101x = 9437699271768812204644228843099583518043513113249726789653895387646747002024; + uint256 constant IC101y = 11618437177218039022402738164051598179334836563956404442882200750690398399493; - uint256 constant IC102x = 18920410666377000338509777982103238586708256206645541621158950791873430222790; - uint256 constant IC102y = 21527830348338743033426762836958890505649532395881767228123558597933935859810; + uint256 constant IC102x = 1578462578225669314462013356257096712213168979041299424708413401945313546551; + uint256 constant IC102y = 7662689360716154920223433981140096778548695294186947422788729050649143399761; - uint256 constant IC103x = 13388083302883410021259740180730805153752561957208542623785365496545975930929; - uint256 constant IC103y = 3116057912611985612735049599891608453872083785043107121783791948047795381665; + uint256 constant IC103x = 16632349528557961222954699765821427121373405318547654427023806751686620821802; + uint256 constant IC103y = 19788864921591399658904035416649564158003782631038837252956658781921532876740; - uint256 constant IC104x = 21410094649876313980419061256833999494476787778208453250265794740422137488916; - uint256 constant IC104y = 9889750332804125071361707671092561311189976217962320566186722294079949416390; + uint256 constant IC104x = 2128222222182231681294985795047114361088524924266638979016904427793859499009; + uint256 constant IC104y = 4277686753151850461432277996986988236361314044952001045089080696267505660602; - uint256 constant IC105x = 7216252783367892728121524829071845191696170036336499693001663919565940514321; - uint256 constant IC105y = 8674096981927968983096586940286974816160504371871670976362988197518682426426; + uint256 constant IC105x = 17974876206734405508378195193436266162436944484609660774541180888678807432661; + uint256 constant IC105y = 16634598814940740854310691800912580614319313365243037093541800170862459230004; - uint256 constant IC106x = 17382041370870787899143991415593158392521207231220601883114784909776718015154; - uint256 constant IC106y = 1980169983157409170241301604228276168252322638227326026890777513927043718382; + uint256 constant IC106x = 16232011361908395180117731401023228687384416416707856387243078379659682428005; + uint256 constant IC106y = 7145958720937512629523974303440226912915909129115037111610414298361630562767; - uint256 constant IC107x = 19755938367523904252273983945933693922597417119788343442343305244763358306136; - uint256 constant IC107y = 16282856444044275789373839247796525898087321506424525764744429449696553445309; + uint256 constant IC107x = 13760365117793325818833401137286190085192112246956902579325376135059002559868; + uint256 constant IC107y = 15257964259747735593147038335203563744576715819871245594043780729633317148353; - uint256 constant IC108x = 1380072869750556616110760752226507598864120033045839311082306941342995301949; - uint256 constant IC108y = 5096890030982074747406404062307392881728952632743282086526173788041430899869; + uint256 constant IC108x = 13118864062189249465555873002994238255601526825261607449928594519142068712427; + uint256 constant IC108y = 16801874707522164453847486353006599208417362706561212219869999224390739183766; - uint256 constant IC109x = 12833814553062371936091413401233246744258743817897948803999367823158556560444; - uint256 constant IC109y = 13765448447728902380639119338258949371965502201129322928783558828550388745433; + uint256 constant IC109x = 12953388045150449412424600509780118582310290208827538761630220836059136281281; + uint256 constant IC109y = 17720559438076785150524497494734515215701577439362321347210540282529058433508; - uint256 constant IC110x = 11739271722979714718129398821905876517872630131840392402340167411453799145727; - uint256 constant IC110y = 14784602485179739184197475178634609437523789138502144027279314561186529928487; + uint256 constant IC110x = 4966127559361948475617770613833731684135841462261921997602151083975129743116; + uint256 constant IC110y = 8012766292601003262418068667878583758765369609693160542863832769539254636288; - uint256 constant IC111x = 15028775137615846059512614763851018272869675335551980898858299562455259725627; - uint256 constant IC111y = 7447134397263849978635717247111564322496924179278504269413330310341232701069; + uint256 constant IC111x = 12692096397667445903693288153542731474948538324887280315333267807360833711361; + uint256 constant IC111y = 8684340216217747644297378067680446004910387126110247728358273461605498132878; - uint256 constant IC112x = 3249673272802804318208473440444746397200480614978339912902906838296233686026; - uint256 constant IC112y = 13226886582962948052901075053326020350795244389888278130645086813891469013329; + uint256 constant IC112x = 12877956090250882067894738227427381144263240018034897959697660480469444341115; + uint256 constant IC112y = 6211381135153817287877555950024085077042852882501814448897921704987647196472; - uint256 constant IC113x = 6048618134288079360104485448076929432685359297294911929407159142724989478981; - uint256 constant IC113y = 9722651451709132285779677310347435187135233964032277035256451724721908006038; + uint256 constant IC113x = 659770306870350570897892051163537904674951266570793463636499958918018428562; + uint256 constant IC113y = 12453278873140895281212078890345999710807205115876819468700753575105573110893; - uint256 constant IC114x = 20013381896799245340531723622200060299477671068804707481559044931100984514445; - uint256 constant IC114y = 19142437057773009982225845852176959263165072020131984757914953227023825881929; + uint256 constant IC114x = 7338083693437629218199944306550052108788450439176026309289578278480290795679; + uint256 constant IC114y = 20935831499875222894045350883392610374538055122881352280747981270888103508808; - uint256 constant IC115x = 21708038979326574523029913014290690104542769618708800361043183297858029758269; - uint256 constant IC115y = 20141045149769764243850948180059184093085096600429959457642393349250656086739; + uint256 constant IC115x = 4594859155428785277107262753966455397566045047703108351938986012975895574937; + uint256 constant IC115y = 7697489625213282761045965412908181593405880587681996890854491044922798077564; - uint256 constant IC116x = 2628267100397962334192883858844970169329423547766048042624930271584933812734; - uint256 constant IC116y = 21005050966999366304382261078754861139590548726589293793754182211231669213207; + uint256 constant IC116x = 7898493897712314099134560733110150037469241454953928748134187904324643791478; + uint256 constant IC116y = 632122482381315233606083278123007374614220017554361380342687580459039996551; - uint256 constant IC117x = 6600555417161608059064853739820756279361438097971675901390137733810193170378; - uint256 constant IC117y = 15927730953447528101494155202763996620474160597277366946163245755514550981740; + uint256 constant IC117x = 11547759338043179459584933658594503946808373542592988045763206018569484614450; + uint256 constant IC117y = 12438507721294506429607783480899396172561798618616266439222769076768719587024; - uint256 constant IC118x = 4411094665113205847064080845275963257564846583702099678172470256445845850943; - uint256 constant IC118y = 18120230204253317710728936524333522312722354367890071431786027811056117025678; + uint256 constant IC118x = 18641332412692704412439399709024973196790857102994183984502898107209827371772; + uint256 constant IC118y = 14478357176691107522915384916947576861528919469957065035497833297994388611523; - uint256 constant IC119x = 9247805990905643533150289702533445435987526910296696312207964827907113730883; - uint256 constant IC119y = 15459915956266396989921031602484925557895885593346114726380836838205883515775; + uint256 constant IC119x = 18019770930023736384162142407858527890936049288320955605364360097415528805966; + uint256 constant IC119y = 11332165643505631671567050887712040658787257577707792852606751747062999361951; - uint256 constant IC120x = 18552083157923674766934628099415637258242158662476291496469975092638235491378; - uint256 constant IC120y = 11838369647589770586182267819705330167744551191513185278776961544581414567331; + uint256 constant IC120x = 13719946942659072110467615635364787802367718571130218513536297068122348247640; + uint256 constant IC120y = 18932787446749841193741287728390134070256641250370340025760086600151068120064; - uint256 constant IC121x = 16949908582857814384688690287151407664474876089486466502994428689683792094076; - uint256 constant IC121y = 7808814250659108500359927202986552167190380098921463971854775670999650615941; + uint256 constant IC121x = 15054552175146781544292770176608519445873402384752274218690208337114979595792; + uint256 constant IC121y = 6022330412585513398170693857506737440147583098989026207654328851259192034013; - uint256 constant IC122x = 711282848291156069193819891306399456709471919453412215910724097449705163580; - uint256 constant IC122y = 14884748204609131644728590064058492628281562495892655396553875865621646803389; + uint256 constant IC122x = 5978097498307073903973955050797360955952283619914587179274380809660135819196; + uint256 constant IC122y = 433112069170868003651130734325133467301541869573957419515713159608622940175; - uint256 constant IC123x = 2032657364747720067788228908783275683380046358026801645141508415713502695576; - uint256 constant IC123y = 5914363038820663995500475547244658109175992156745297111797265522637209329129; + uint256 constant IC123x = 20738358652444273895584321742089368899185457896411968268086023709945996987389; + uint256 constant IC123y = 19018894786191096173754261799180572914227779342747188137364137390983551050932; - uint256 constant IC124x = 11623890905067967496976882647724420211411168496767629274303031438664673072899; - uint256 constant IC124y = 7810560704156315784781146025507474227070861999624266669582525808965551210356; + uint256 constant IC124x = 10935515062910578438518132632416896975183122492204340883296470512180521521000; + uint256 constant IC124y = 2019285704406665910827875212121017343442281043939055639568639179972745764273; - uint256 constant IC125x = 18560632303762789206895995199754636841168841127106904134341952455964889809012; - uint256 constant IC125y = 13288364853075937532531006646240143980461572456031995409723149280721744474226; + uint256 constant IC125x = 8393385306710683132458618657121146267854718322752084316825636672458406916298; + uint256 constant IC125y = 11894099051820843180180506672172607724756405102770646136898715531354756637921; - uint256 constant IC126x = 19264146345909878556634797069721357655430649782493044589120367598730523176271; - uint256 constant IC126y = 16537555075924670278259249342717254302397822705255940699388461018782847685199; + uint256 constant IC126x = 8043043035974068680873763385362303941949849255204123818976526720765694463039; + uint256 constant IC126y = 15245258043704328774075191981706781787687192133387841062832399535016760697358; - uint256 constant IC127x = 18409369275573301574619959038169936117676211228320612232292676814821686152475; - uint256 constant IC127y = 18364708213450552541060186561219057186022508025699391603481096704697097101670; + uint256 constant IC127x = 6076241232232292768663888683478869833053095948739488447618270301952700702950; + uint256 constant IC127y = 20878501097034512716289568689859640040336240225687713402024304244764716992167; - uint256 constant IC128x = 16603583707734891143947689725756415885441416036736501052400305561338637684925; - uint256 constant IC128y = 12294097766471153228685874474175466650643563500271025428433087670631408216694; + uint256 constant IC128x = 17753973726008049585887147469506734982240386342125953472863039376697241730192; + uint256 constant IC128y = 7051290430998908913627034130037114178953517532455790253696486802634255899985; - uint256 constant IC129x = 5667709649717777985775354706786769093961746337322193051000113452636492151903; - uint256 constant IC129y = 2666085764305874495571197233418226842254451711691990453531974227538954943875; + uint256 constant IC129x = 1985587336066591256280794130084774320803065876976960084216916229724387476627; + uint256 constant IC129y = 3889243609530146618257402435361575163870914976286241938292678621631567346143; - uint256 constant IC130x = 19468647181955157674880368527020754909019308794770458232819091146973500408498; - uint256 constant IC130y = 14857254276929761621971861899058895357258037351202126760822205122459297306225; + uint256 constant IC130x = 6634970296573135512389765076017343752859024409649032683543637039375332808525; + uint256 constant IC130y = 15966619933452949040918604939484182759800552381828662858775048526956114256705; - uint256 constant IC131x = 3993477599721721604310010009579446878090516190588315447834584544997195548469; - uint256 constant IC131y = 13839869003639583024522824954139828895382556977095241719782081462757786158866; + uint256 constant IC131x = 19628815264424160203951841207921657472012227659307250633981411135161553546401; + uint256 constant IC131y = 21868611625363254355250868481892296156831624889419415297811375266502055903460; - uint256 constant IC132x = 9747203976224633275141173978998720637903083620518574249440111613664541856374; - uint256 constant IC132y = 20216809872013511250437562483937657734719839914198552137947026129096272866440; + uint256 constant IC132x = 11253237340453400273867381869670031578140381174765665226001979333343997691513; + uint256 constant IC132y = 2529642089695403767325757418050210060529631676845425922036346228804421885545; - uint256 constant IC133x = 2019851270530793055555406494925258249721067552955022368908740594992851683739; - uint256 constant IC133y = 10649443098974705002532371579050808276464248857623660803039520918649890810673; + uint256 constant IC133x = 9609229803153159713516361850603076519168741444703501375215322555296743170441; + uint256 constant IC133y = 1287183483591085350540466651218974832971283390988562712006393750028914031262; - uint256 constant IC134x = 18832696095432663594985245243011442607553584415722515917983902266260918277504; - uint256 constant IC134y = 9257038651583496131618544363544938368215293283178488336663406253840268730459; + uint256 constant IC134x = 21773169572290895568375997015909818670767363261950017434137922123240071259863; + uint256 constant IC134y = 15201428083692637253382742313091169132558991387393234099584367999952597481169; - uint256 constant IC135x = 21190214748248193765627649901400140672969547275926653600673506270548284601170; - uint256 constant IC135y = 63757747482747443939717567165344222313939084149086471572442410086497081822; + uint256 constant IC135x = 10599675637490795971958716715569609592344155201544988423675938758371887819369; + uint256 constant IC135y = 9272763735736652094491328337872020737586458825532222308338995688637811824064; - uint256 constant IC136x = 18526425203634124373757188172952677168724425884917605528462540460363804588339; - uint256 constant IC136y = 11304013815724356479514091124745985753830282765132684838064879749586784204770; + uint256 constant IC136x = 1304884794851910823911000709881813913715414826609226108759814862983933566778; + uint256 constant IC136y = 2866129546853880019936751822696697110679855277297822345169975382429960028; - uint256 constant IC137x = 1367529584382342224378160359347210505958549580312935489093831349593461137930; - uint256 constant IC137y = 1749780152221178449019430253141471316968916492434884088478602554681142233938; + uint256 constant IC137x = 10725257147826442844445920934366669654630633210174286077723500267758227047730; + uint256 constant IC137y = 19698820009728443665092786925134354076096325791325625734640902370926755579826; - uint256 constant IC138x = 15401927103319854196967379260676812246142322877904565669258186116407228546950; - uint256 constant IC138y = 20337467568477203840386251704095022942324987988008464641448622467635719520413; + uint256 constant IC138x = 7329412528370528037468640299657826101833314734621528816592501093012325171483; + uint256 constant IC138y = 21886218529031566339052638076578060810139862953487250754820625908936467198528; - uint256 constant IC139x = 4693222297985140724607645520525761730168163488827410206710225783730739848329; - uint256 constant IC139y = 4987472155742957155255339299633465990890938072864035465760556353670211069167; + uint256 constant IC139x = 15325247450512183413091667626770034840206677417038972436709414199147527730669; + uint256 constant IC139y = 2780639551532060247341383297429310301096660658271595280898955088925035369092; - uint256 constant IC140x = 21014441011272582992961552533064850409892122321059500910615059744086488123391; - uint256 constant IC140y = 17795822842476521259936038723603831376594763133559068592439075084611360889853; + uint256 constant IC140x = 17634159762650310699815924219573656194017129978109901516921015680921559888822; + uint256 constant IC140y = 1567055382280427138910619130587010817603590818715885828109271617021348733624; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_nullifier.sol b/solidity/contracts/lib/verifier_anon_nullifier.sol index f711021..e696d4e 100644 --- a/solidity/contracts/lib/verifier_anon_nullifier.sol +++ b/solidity/contracts/lib/verifier_anon_nullifier.sol @@ -43,29 +43,29 @@ contract Groth16Verifier_AnonNullifier { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 16230933491573272302611719458845344624855728750162891642866513882817335023763; - uint256 constant IC0y = 9738735788651976754354066625746283378892403900251675495833896980467402210059; + uint256 constant IC0x = 9501235093063452297897613112367882167052010737681264908890053375807939757054; + uint256 constant IC0y = 6033645578912642168747443217233026280309182299194874485328823634817036867500; - uint256 constant IC1x = 1163842458808535051946051840943001556644655748133969689048311513087889154836; - uint256 constant IC1y = 21726920671355855198658077093919089496408970815086073879553554946002789949422; + uint256 constant IC1x = 9691565961867034497091509556099088436204143743231203784385521604179949267654; + uint256 constant IC1y = 10785511160454523043633301864364148272224852918851822069491747697267491720201; - uint256 constant IC2x = 1225781092687525924332891603981148455315451654139043144662872859837018759632; - uint256 constant IC2y = 21242800151846356516584525309305784164518450310362576831663561626393252597228; + uint256 constant IC2x = 2664427876739654522185745494777323360004553258514683488732180420264248714061; + uint256 constant IC2y = 4255691490561805233403772066525481890722307123713119909289540295555951262763; - uint256 constant IC3x = 8162056598752017117514131007722258752287422768812672868866820095759582789045; - uint256 constant IC3y = 10646953337183794927724030599175063612054590948751924349695705902911140894391; + uint256 constant IC3x = 1456129673742717730749020069019837396012747979616336111462269307416088354972; + uint256 constant IC3y = 8371060363230981806714411220277506306849801910204387335972070467310920148928; - uint256 constant IC4x = 17312892715597210954089422946457133080576252386054500351373865960461254801442; - uint256 constant IC4y = 19875603640297065498485795247138179237615289423021308403421869017213335707405; + uint256 constant IC4x = 17698602033750480080630908986768434458130997132077743791339261883427969788703; + uint256 constant IC4y = 9738332346151540720512693174990434751528744024349979135524569687029910019124; - uint256 constant IC5x = 11581832691919697231420341037859674297175530765091118264498413181643314317427; - uint256 constant IC5y = 11965734970418264332379367950138285842175271965167001507496064468902656284588; + uint256 constant IC5x = 12512819991528373830228538943398132246975758924253737765077770780533287602074; + uint256 constant IC5y = 10574187136341048386474394051978643586319472401259522458233102003891014627828; - uint256 constant IC6x = 15625019307246710628316592649855891451989231586840545787827432399174225528345; - uint256 constant IC6y = 4620385424658272548962802290630854327869292376044769793323337235961690955934; + uint256 constant IC6x = 16525050358907181999114251130625404082382639526727716409927940321107047713165; + uint256 constant IC6y = 4190183310734532840746207632055926482580852066235337017901502242918610919284; - uint256 constant IC7x = 19714555554386840403857020077121977050614674057194809888976789958473274010078; - uint256 constant IC7y = 10224984461759855124406072505531296910498895533396816366610574442500317493530; + uint256 constant IC7x = 2947694833564549447872348293320551974183039101932827473069493139287569776197; + uint256 constant IC7y = 14761175126636203982537870766752000470287489849750642099693149782969967196114; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_nullifier_batch.sol b/solidity/contracts/lib/verifier_anon_nullifier_batch.sol index 8fcb090..9f30b11 100644 --- a/solidity/contracts/lib/verifier_anon_nullifier_batch.sol +++ b/solidity/contracts/lib/verifier_anon_nullifier_batch.sol @@ -43,101 +43,101 @@ contract Groth16Verifier_AnonNullifierBatch { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 19587821606915970862618164870263474527824624840516387050350574629332298149104; - uint256 constant IC0y = 12516658397345478170897389273463286096192372064526437761690827507375976321954; + uint256 constant IC0x = 17597693319852546418407317206296148373698270858190689977875546982859726940491; + uint256 constant IC0y = 8118153777833048296636432393924223445361273937934900816501954258825221765150; - uint256 constant IC1x = 16981621129924165151050821099922903115153021312848299676360295379100569716030; - uint256 constant IC1y = 16136072280113831715053737019647310411579275425847449447569977633116344059329; + uint256 constant IC1x = 8633912278644610287475887713911534964807539155667235584423819625501837002741; + uint256 constant IC1y = 12782270579821301562897542543693756010611609738889956205159332274840841047686; - uint256 constant IC2x = 12066061978110509089307547970524001305662299491212080327472635040271732639012; - uint256 constant IC2y = 17510449103236216006448693381289206424553047450624918004363870355180987174165; + uint256 constant IC2x = 21700179077835246558971307380294521103286350535253985418290536465754023128379; + uint256 constant IC2y = 15004626941619194278032579752844424149866966587469894640257965243821228927334; - uint256 constant IC3x = 12130609149476401549852689697813884338023869790523900760858735100930272132449; - uint256 constant IC3y = 17800507313578546274924048514126144531868970073683804209060470744632725658810; + uint256 constant IC3x = 11501838067340941162826191089286590710505510954756365862310687494049124610281; + uint256 constant IC3y = 7997218930568129577107427329463928855492905926410913006836967883302928159857; - uint256 constant IC4x = 6305854821565471964025783579108537928438604540053205844007619941386508187001; - uint256 constant IC4y = 17361632757273560168345079617732063366500601783647831084263964978779619560080; + uint256 constant IC4x = 2340297852501124355160218493977084471403636217371842151303051370245556306174; + uint256 constant IC4y = 9863219541214382108703698943644567235314194065893121209648036230903904489937; - uint256 constant IC5x = 1027305245501128982642713179116254978978361036363851191970498759003563189083; - uint256 constant IC5y = 12545844693170743449393218917740623497170800080542702755997296210784849182795; + uint256 constant IC5x = 1514557942974715384289486242082461809010443828653577522593327574600071732814; + uint256 constant IC5y = 16135696422408961088299374316721767948700913285226275787047603637037926153141; - uint256 constant IC6x = 5956345636122088290987521591263635126287793499449239362871002461202364520344; - uint256 constant IC6y = 703290006327833885872540706766026058937841750513854249480231586103994803375; + uint256 constant IC6x = 21583660777059180263521016565511699919946563507465320614743470341955906907683; + uint256 constant IC6y = 12420920952797856254769118555919773550651865403918186904592992066570542038191; - uint256 constant IC7x = 825065871960223444665328185260563082553079847634427049761622977548285426200; - uint256 constant IC7y = 12797256227330138165169601116095976903657483792046690027315666313416937819384; + uint256 constant IC7x = 10980742372840171221043160666464637954411523283226958088726896817761761290970; + uint256 constant IC7y = 19327866351494297293170821839716613926821786056891035015434265486829281639462; - uint256 constant IC8x = 7030373916777840601366172942241773730637677416014446307293816671994044907574; - uint256 constant IC8y = 1845466669966157080218959902015651614579529630939968642923932042338973006479; + uint256 constant IC8x = 18596319256715964383973762645565923772534568677942378069525944640036890779043; + uint256 constant IC8y = 19447620402352883899679811336082731725149153031151074048937695477884039400238; - uint256 constant IC9x = 8532553306246268765167521876444884767617189258276115651992424490225441989486; - uint256 constant IC9y = 2848427766974865830629805139610849643606077825780685522004862886382522293609; + uint256 constant IC9x = 5559679317881047179184299869922431028130676567220325253628378681301647197266; + uint256 constant IC9y = 20301435388700811403049117486769368990012535480069942056391021814722037812351; - uint256 constant IC10x = 6432533666444474115138656891431639523272709482301253656123362352286162299845; - uint256 constant IC10y = 9470172584526666217580270758187396550945479099905000655644021939273811404736; + uint256 constant IC10x = 7571657016319652922725033260368571000168515132336399497806728851493407871201; + uint256 constant IC10y = 9303694550986012160697743275451570337873556815268686173566177548328841022226; - uint256 constant IC11x = 4768614604548606341190313829646046453553247827909445373653907024632972024239; - uint256 constant IC11y = 20160864221741898031928189052515195595542842578857188127167736568593502343606; + uint256 constant IC11x = 2446550097064438624164272232164992360904209286481246308083249175659936243309; + uint256 constant IC11y = 13952886724306545172914688782906831120754511258313604146962566046021217003056; - uint256 constant IC12x = 9489007876212332375872989450041452476052592546497807953478852860385450706236; - uint256 constant IC12y = 14168911504126936908387130703530724716827592189970322125888660112124190651178; + uint256 constant IC12x = 15513579294225333750341953110907484262180295975826474112568498910818467120141; + uint256 constant IC12y = 17755495483467543522599964741556240041864668940308531491933194236777628838337; - uint256 constant IC13x = 704069654676268564359213364058157075821176257629275711905854874765804325979; - uint256 constant IC13y = 12844580913162081106152311973293228038197394027679345952130534159321220015376; + uint256 constant IC13x = 14921270977614594358885901465352981080077443695960568347364822787267341722137; + uint256 constant IC13y = 7265811997019181552810219908532393806360115520769472008703961881020197478491; - uint256 constant IC14x = 13552897642741968666662344412514372393692309179802594400466735291466621736363; - uint256 constant IC14y = 21276814415453803084882659304463141726900483647803896397397113073962811353624; + uint256 constant IC14x = 18901591238979503931761104350328685960555890089542990983976550906925802577375; + uint256 constant IC14y = 15957159245558538761444308144891617845635823081255980836575523789801622807761; - uint256 constant IC15x = 11234370911514868396176692789531234034514401021906955154286034689313637516195; - uint256 constant IC15y = 18393239210794061490244141756894464721210082309051783680022690717123998536184; + uint256 constant IC15x = 6327083277850305161961408310391501560154117128918787318655202465958819052902; + uint256 constant IC15y = 11267385976440811132194917165538782883602618015104937816482305901965448363416; - uint256 constant IC16x = 1801755298088264955343427365612017643044827097495997513929782501541954519187; - uint256 constant IC16y = 6726099558951969068848667472250837367480975810359213326453222823037379393700; + uint256 constant IC16x = 12554434291581926758867597638726576203128103310493963758559042269431790670578; + uint256 constant IC16y = 5628125655849713504543560297714523950575061725489767760379523126819352632116; - uint256 constant IC17x = 20379554378283953361374492640996583725146015047559821472032177602322970473764; - uint256 constant IC17y = 1239396669518756491774791139298995169194013575244501425273448026148873175874; + uint256 constant IC17x = 9588492836171905542633333778923307158140578503356221138991963159193312011491; + uint256 constant IC17y = 18207942458272288899920702895671676283424367339187943892869054207389561277670; - uint256 constant IC18x = 16009842491094353645466596594458042088802347092939596329925468597529615238316; - uint256 constant IC18y = 1132795734450589743458042146840326078995806470800017120583065295063820547737; + uint256 constant IC18x = 21310589795070469219276841023290803082445679893383287164983171175729468082407; + uint256 constant IC18y = 11603534368164120490539046393784138071315977525409002871133057871231063399000; - uint256 constant IC19x = 17974219947753223546183978297650824420677037203836680654497700002648738300424; - uint256 constant IC19y = 6879985582234965908545924316328370330809317033354440536016137936788199353147; + uint256 constant IC19x = 20971429406681867492532092565670290459657054408396879366963175648946806655794; + uint256 constant IC19y = 16102312112362935425036365089764293838100907117761847642245355792687389221068; - uint256 constant IC20x = 3558272464080940176815697615378195722021648872189350348597400269717467622800; - uint256 constant IC20y = 8233010798013604400971081969711923627897832003090164489361391838439952098255; + uint256 constant IC20x = 6373353557989085254713137953640135374089853728124829941416096300381883535819; + uint256 constant IC20y = 1998211836282351344175880620945799215060616586455920296100792090999106049871; - uint256 constant IC21x = 17499824046709803763941451091950412143548179984624079405067131622333652870134; - uint256 constant IC21y = 11760873687084919825179257164589242271740163051214945638351507285819730921551; + uint256 constant IC21x = 12333875653576608013717935760205183818165731091403602261824678074609065289039; + uint256 constant IC21y = 13874532117247603520502913781872780128714390515026082149176314366522756145144; - uint256 constant IC22x = 12442089851841614036160572255781270082025405368305196434106429696092784316210; - uint256 constant IC22y = 8318420662338711375627449466098698740275613994793984017621210331110210947060; + uint256 constant IC22x = 15594814678072126511611089471012881997994953243312827781966520286781138956993; + uint256 constant IC22y = 11798552322923147379414313744918674147843948655421054730917088234193979549283; - uint256 constant IC23x = 13772494608798483687433026966666368508406325625057684611507284835769768951806; - uint256 constant IC23y = 8542625159871642935805647872759866697810028015676122255736621276118789213545; + uint256 constant IC23x = 8447439813168437307300019878899514062912755675167883338934818415497297225651; + uint256 constant IC23y = 6121165686329538759063975820107092861654730292113395185753663258626568437878; - uint256 constant IC24x = 1847914904992150413049205424580314914199911440369356891218819190840804620817; - uint256 constant IC24y = 8705302895321158150451557564914815426637267574325521351735312369543625172447; + uint256 constant IC24x = 3370306254232236086173287395533557521636236575310809453092482676149019205014; + uint256 constant IC24y = 17043632493577052467111669278849854823995607083570570757793792590973221841486; - uint256 constant IC25x = 1015201369193666896852797874153283482080507710554065558402282342255318530461; - uint256 constant IC25y = 13266082683105554117564203481375680130255467526636324229720176864314882876685; + uint256 constant IC25x = 12034706062746579045761849873094174320018072123387894157340815364343681322491; + uint256 constant IC25y = 5766344946552280398773374397811497404577836809787968210494878053430884860672; - uint256 constant IC26x = 3514545872499504183608853311155942268371047471634215910974493208308427807162; - uint256 constant IC26y = 9352791444564468747363251138586475523312909840779658680484496628234046487424; + uint256 constant IC26x = 21680606806761591130157639346391512985583518533487837932295471730780711003956; + uint256 constant IC26y = 17147021154864844500987770633524120941122830180132314145388568575460427383036; - uint256 constant IC27x = 4085864851309578023289679055049192024671993174246083440927058258079332566910; - uint256 constant IC27y = 2760144108066512852276993514229231371417323855390429465976428638422886874025; + uint256 constant IC27x = 2952113066106922305257989816719532055252431306174543757438758594260338773047; + uint256 constant IC27y = 13997833761639911054942937586090636771871978347177688931761802496685622639792; - uint256 constant IC28x = 2457782115220767177669331863101889548298373777837472605054351813751751753668; - uint256 constant IC28y = 9240011943142283474085019923938273212477171544191648681516746350830087634003; + uint256 constant IC28x = 3655608940167328473712715285173111003641424207443936910838262526036059801674; + uint256 constant IC28y = 21619132420937672870838247048657082623107347968031914471177278140759992355499; - uint256 constant IC29x = 20873166056006531455992593386797266717489141372658475286367523383755511209413; - uint256 constant IC29y = 18049159861531545255982229259643006253333013506770903936141022172253810766809; + uint256 constant IC29x = 19566935143310829307965604920392497155822122331925438555163797055302741801348; + uint256 constant IC29y = 6103710148163173273099395302554561403475260480145256070938176247225930950293; - uint256 constant IC30x = 10716950565190260544266456862848359197500422261278466900889335081115973979688; - uint256 constant IC30y = 7794360952812280093833806570194931537760764326939490029977449203544157172192; + uint256 constant IC30x = 15972714510967671551656781026338698101049199818364901217930124132975919395951; + uint256 constant IC30y = 8557273975939336053382396409176882521404086909184641362069057383102719156548; - uint256 constant IC31x = 9927855799433500460327060816297572695834481212298801761780771856698755245235; - uint256 constant IC31y = 15400439729157243262439858823993417903898618555759696042149069354567900531170; + uint256 constant IC31x = 15882592379718701282498750007755113852359102540936302942039495202258329292207; + uint256 constant IC31y = 14345579372819398020224297536615136940627411034595227225711370012240940972945; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_nullifier_kyc.sol b/solidity/contracts/lib/verifier_anon_nullifier_kyc.sol index 8e1077a..e20d299 100644 --- a/solidity/contracts/lib/verifier_anon_nullifier_kyc.sol +++ b/solidity/contracts/lib/verifier_anon_nullifier_kyc.sol @@ -43,32 +43,32 @@ contract Groth16Verifier_AnonNullifierKyc { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 4214175458773124704187293292221627749694143169547722221312241850694161855892; - uint256 constant IC0y = 13284801841560776837611343971929141109508708025736420123545492001672173057753; + uint256 constant IC0x = 10056555469892418515983559377483195438148570041454959545307680780944183869079; + uint256 constant IC0y = 11343591103991960122203876173769289241635909702735902679549455327815952316387; - uint256 constant IC1x = 9992130964721808580669980494295911999943646476044734578210479727337311421961; - uint256 constant IC1y = 14575295446873965926562079868829494927861674880672585420878622916370264886471; + uint256 constant IC1x = 2603876099757310154788389263152282275627880335792214669340890260181989887970; + uint256 constant IC1y = 16807462008329376093045054238879559029756891943864431063512559566859113456464; - uint256 constant IC2x = 14196828397593308802597029699711221766222965688720078809576954216634261709074; - uint256 constant IC2y = 12771640445618190414013185835168139091402747409225457899749677184598098047386; + uint256 constant IC2x = 19638538129741818949193970207896093826681806369773726125389068299215830462311; + uint256 constant IC2y = 12214226908693668628010259962489704662948581679338132772053044540663212390986; - uint256 constant IC3x = 10707210430540259358242058935750730766115166100869315221235467739015320465405; - uint256 constant IC3y = 4864219737020185849420971241383261375578747642381137299241267374862090346944; + uint256 constant IC3x = 19784284331549748180128202256537997267454222587134575520500399549261649558066; + uint256 constant IC3y = 12635309262742233044640375105049669162197308832242390633399741527341581365238; - uint256 constant IC4x = 18272638173203460767448924823978938082706620937148187961068944593596686394856; - uint256 constant IC4y = 10002945068207711668035275898686847482327315933383815097137469631868012832703; + uint256 constant IC4x = 15719008791714065988285617486744825741498733104226557663346219175075890834383; + uint256 constant IC4y = 17990945893520946096018903800850607289164880735418389422312555227956040598441; - uint256 constant IC5x = 1815645699356239530714952203901705564095436711032360122033840481954719495418; - uint256 constant IC5y = 9496873120190555990744474794112861262304503972945430664810725802086009382859; + uint256 constant IC5x = 9625938419211062849227802374787253941200809252532888384025841039723569214086; + uint256 constant IC5y = 16108711755678996636669478979977332075566820238199161837516679433983793795069; - uint256 constant IC6x = 8467261299490722918471458428693146428517337579958039966106680947656198450142; - uint256 constant IC6y = 12297202379214135448667365415283425248552585762466250086975091439696896027774; + uint256 constant IC6x = 3049617608360033489723029480888615093214374587666997821678217430107426240817; + uint256 constant IC6y = 2149460946101964075458601679949725643873226438198590290954979277694949933173; - uint256 constant IC7x = 16680050457960258152847240445915803935090931781859950303388457065301206841069; - uint256 constant IC7y = 15716877444927676850548669146824906544624517431431342246823991378577438498152; + uint256 constant IC7x = 1974913806598404874050563663898772989489018774085130492860423391457054143534; + uint256 constant IC7y = 9582196417432082243275325444345382138858143282378039344288398207935774790285; - uint256 constant IC8x = 7406101471033066350473781194099217503804932788032563128253295971436039036381; - uint256 constant IC8y = 16128050235475662684250975639163054622615338861726070347785175777116316954893; + uint256 constant IC8x = 13630325124965095022377068297749551756400575047277768956424273050793334237530; + uint256 constant IC8y = 3883845552581662837409555670569659690225415926884238791881943632774485931755; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_nullifier_kyc_batch.sol b/solidity/contracts/lib/verifier_anon_nullifier_kyc_batch.sol index e6abf4b..0e7310e 100644 --- a/solidity/contracts/lib/verifier_anon_nullifier_kyc_batch.sol +++ b/solidity/contracts/lib/verifier_anon_nullifier_kyc_batch.sol @@ -43,104 +43,104 @@ contract Groth16Verifier_AnonNullifierKycBatch { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 17662610428213256644813219563522053977019593238203593252026575307208745102939; - uint256 constant IC0y = 7830505160689090090440089278934177510082686211172967217820449518829674827779; + uint256 constant IC0x = 5055457806551308648641602858341222034412598158840015521115708780357586537733; + uint256 constant IC0y = 13929219707581595389902696873838817350282760244992317353035320295188511606679; - uint256 constant IC1x = 10346604293986880753701355463794882998759843061338973206428904565462396039439; - uint256 constant IC1y = 21877736883548512965573565860735886841675382384168845769722396710288481409415; + uint256 constant IC1x = 384812557161372662669413245701867914489609613493188812590436862874947037856; + uint256 constant IC1y = 12860908655956463609520692003694329680053096547984855171492240067568031270059; - uint256 constant IC2x = 7285334413079068756573641978600211028803259798027134112035544835812253470781; - uint256 constant IC2y = 17866920197607400586565288881695320789733000599142174155551393153570151092438; + uint256 constant IC2x = 4245757302017366581571557978332016938449225411089656969177428195459711337057; + uint256 constant IC2y = 5225028896615339531700779183298982429893702320559967566317169785842253092490; - uint256 constant IC3x = 12094173611416162337842357160734417915681180979965703971651314502280295978226; - uint256 constant IC3y = 4336939781541456769560405175733313452334883395346782866272388917787109137924; + uint256 constant IC3x = 7287687849148654981012895747708827908366769337855961476955334286124242031773; + uint256 constant IC3y = 17996946503875371212072585490004541575549367998865829305978883358153861543900; - uint256 constant IC4x = 12893139129639077593856798836226766303525580094346393915138768444827551320753; - uint256 constant IC4y = 9643885365331110367924443516560355173400296163015137597017514041264158539397; + uint256 constant IC4x = 19235045382186349101136024714248182883570296517762062314890835442556015119754; + uint256 constant IC4y = 10445862969534871462284724012399298002449431433509174810393109712910680199185; - uint256 constant IC5x = 7419266347015262130402163811300949112462350104504140825550385399139680635902; - uint256 constant IC5y = 6803787409534015455733249893239790833744853990019467147708575683362373057089; + uint256 constant IC5x = 5793257897599599892774198902680213729006215564961922151132025271271190431579; + uint256 constant IC5y = 2466460788167456760490909268607730505971771469003843693078635842050559792496; - uint256 constant IC6x = 1862823323932686024396593640932517424493437193201939167019614621935108254065; - uint256 constant IC6y = 10453107787728230175659930666158677682400831203142179228639446944333945857373; + uint256 constant IC6x = 15720488526001255048979746432723542890578013167029947794898992385820379713748; + uint256 constant IC6y = 14311705045784421188890629141750011130293194860742875435448862699949915962308; - uint256 constant IC7x = 21657052927245507888665469077476773827294315722942681984779818184446803774212; - uint256 constant IC7y = 1144056922100252222359693929550999973147532922715401285654713850353392093166; + uint256 constant IC7x = 17802021095794086513460137776793901594674708183010820081754059837087028725889; + uint256 constant IC7y = 3279157070123984955450950265387836674597755338450726024978914681965759450239; - uint256 constant IC8x = 2445619981193440409765778231464156432401371937301797340627848201174961281928; - uint256 constant IC8y = 21609178651065795954371242575766011431777589711841324585333609027312850163571; + uint256 constant IC8x = 19359815959815076899131860718663451003218422169656276678015490293414151184678; + uint256 constant IC8y = 5707354413249396553586007167737077037290919807879639509253482984035665820027; - uint256 constant IC9x = 2642428202108574845241440569753489219554368099310373248264822642570571138339; - uint256 constant IC9y = 8606178243782529634901788785054734861848259464147565131036750225908854331216; + uint256 constant IC9x = 1725872725912072612422820280616871706914827579843113375313445774588331804926; + uint256 constant IC9y = 20620006515826938608329874607147155942682434923485018310741689381366316663540; - uint256 constant IC10x = 18480938949539583122193629564579456741615642536442983380411160088340117620707; - uint256 constant IC10y = 18529840295865541058815666886572161903696457355366594477558159490888960921163; + uint256 constant IC10x = 3750626831706765426764858537677116670052811859895035465159140352051254893919; + uint256 constant IC10y = 13692950311360677852943462374966452490713261402367448787753844286139700057808; - uint256 constant IC11x = 12636408345473815363684077864028446970269018773658746984798491407973546651235; - uint256 constant IC11y = 13520780254338405634141033140843697547933948596622185538251005778124223888667; + uint256 constant IC11x = 653060428867723149388680302328852007781744895445948395564351977998893043314; + uint256 constant IC11y = 2392634140035627343217573187592457191980158492944234596081708635656536951676; - uint256 constant IC12x = 11729507187203462972145203070077736932410081151286322695685678174810360986161; - uint256 constant IC12y = 13015012468311368245890094246568763116929434919813878023667882545543950432099; + uint256 constant IC12x = 848057632829020597775111744077074290599460660422683715621697125150732964376; + uint256 constant IC12y = 1165634259060314419729348737488491625144344359196723224161937596407804188963; - uint256 constant IC13x = 18215072169978285741216618958084616042925328390195974446650898807516175694137; - uint256 constant IC13y = 1984971998239457461917179196314085248098609830859570392699477026448286912967; + uint256 constant IC13x = 6796133382642935359920238417292446244470330321080780534925907136385966106906; + uint256 constant IC13y = 5483741050238113243051555363062380525010009117947674820642104004302000894946; - uint256 constant IC14x = 5406886929107805040595453776728203921127840142779122609888714199811015124188; - uint256 constant IC14y = 14552032591867187397725707513338190078188051788030338427246599651562252959951; + uint256 constant IC14x = 8106441409952625253378113001929114649422704670858117519344483339663148890749; + uint256 constant IC14y = 8622112428188266733459194735561489345463905110379423639463881768955076290417; - uint256 constant IC15x = 4255828817688137031115643784732586407352422694821098423235777511603109116467; - uint256 constant IC15y = 18577399166189065943225077881935906900540528681890351061804616706202760315074; + uint256 constant IC15x = 4191652197026093367861782866744362301385677735250820700023614166486073780833; + uint256 constant IC15y = 15717090349026460649486119312458368505984286740916883290320790677874689827529; - uint256 constant IC16x = 4210053272482072484277058067037592916959356297765309470225031168742032163955; - uint256 constant IC16y = 21627917502213372129596580823404528375967541861730536175384685470465644323895; + uint256 constant IC16x = 5776296672230138374192730225883064176242397211023286372849649761984693768221; + uint256 constant IC16y = 14905945306820282389385882436196748471946208760613239736496576710404665224274; - uint256 constant IC17x = 14889185361203526360857595001104916528469455892035828328631683257956572485173; - uint256 constant IC17y = 2936885250154457447326920544222388659750238959522934937817665205054540961686; + uint256 constant IC17x = 4559742855829181956548161432919870338437706078707185429517436408683570584819; + uint256 constant IC17y = 16944561631661598258841334090988727293087544220259173861611247617408683803241; - uint256 constant IC18x = 10199567289736952367832328097491394603239742191147146009298055698587442009; - uint256 constant IC18y = 12072175957003475373759335090032092103024053829183698638712985817934917524313; + uint256 constant IC18x = 16587169411945221794629940460815898228634210524160576458917942354390336705384; + uint256 constant IC18y = 15972853747600343202136943816686809165079318263907350810685749123332283992609; - uint256 constant IC19x = 5501790651389781313942424937674560396283844070101639521431886473550510293164; - uint256 constant IC19y = 10431589653403750538224508026992474872091462706849934870619575548200040916229; + uint256 constant IC19x = 8821504718841425618793065011325815296592971153042906721525253559102869998701; + uint256 constant IC19y = 20850692993225930864774739863553994587075062943341148174407941580697925793153; - uint256 constant IC20x = 7633068091070229432687385808712790224759677789664728994153466364728552058233; - uint256 constant IC20y = 20977231476194267406143080122028938882360511239151509852744360484132865404032; + uint256 constant IC20x = 18063333947262282324939485446898186709216263049371107487562701926444263710629; + uint256 constant IC20y = 2455766652297295649340171283091470728693530178189726861600654965326631348600; - uint256 constant IC21x = 4660640047249595895786142014858657816135831293207046864703674063264974819081; - uint256 constant IC21y = 10162220350205829553353561421032903037748099385809132856525299958633254834319; + uint256 constant IC21x = 6498182062916319720894646129006367644687460796460948472605347749700849288067; + uint256 constant IC21y = 15582813260747884419894348160950156371509402077228880016716350222753661956718; - uint256 constant IC22x = 6166728686622467473650026850037575400819469015508830110086213688241569142758; - uint256 constant IC22y = 17039459999469497080782940042828515626811071582731542832697829077765504984346; + uint256 constant IC22x = 321929734564151171971470625175058617225940564290674576363109019639095818177; + uint256 constant IC22y = 18273686794894913763164834634638991620791931669901681499087533156823609362637; - uint256 constant IC23x = 12811534522228368734554124975163122963297791564884470212649458267267968509409; - uint256 constant IC23y = 622860925200148307346536412441500061200664123289398434333291998096149060744; + uint256 constant IC23x = 1385448045915172689076876549717256835132700382238446872100221741591990955362; + uint256 constant IC23y = 4022520602423424225479857596947599676554320053840239759248164835623176007564; - uint256 constant IC24x = 14577957129098557464040324998059586038650776177120765101706266230319807776128; - uint256 constant IC24y = 3533852978802519457516798558810465709831858450063182836769700207649104776072; + uint256 constant IC24x = 15614848250708717650884557704667152933528951388736256422056746841520333855747; + uint256 constant IC24y = 19021192862351359265015245362970383223928898799978594391167809319868841270411; - uint256 constant IC25x = 17289299625175941445399680091299211844756446691751949655743597297217038233241; - uint256 constant IC25y = 13850576384074490193716841351843113442645964835316467249147888643283712811939; + uint256 constant IC25x = 14219104558666768957315034631425076492531498832675405478043207041480276284936; + uint256 constant IC25y = 5968883590209381790926786851795101235787710669209775744964007595413491210531; - uint256 constant IC26x = 16710252509253846880613722286341711814359194873671831698177703637282225093753; - uint256 constant IC26y = 1965216602649426379491347306794406373040026952622075871484630462007188544608; + uint256 constant IC26x = 15053045505455240382139369868913333257395507379978726369057643711772295373329; + uint256 constant IC26y = 6261438073742895324492874312413238180887393702081809898802326658749648295325; - uint256 constant IC27x = 14798329544285611920573615808119362859842791636585941661849222806901938186721; - uint256 constant IC27y = 11328671377353849071342437741702175801261432877846272530878009218498480440126; + uint256 constant IC27x = 8279402908699966876202457428874301580577182074699386896468066902620550211553; + uint256 constant IC27y = 19174460945619058395437208583175641756720323569757488274680139821480257784290; - uint256 constant IC28x = 15805532140015816324396700145921954150151739746332710431994480604745285080988; - uint256 constant IC28y = 10965618640489496953814098004162557454361322014529500352647158670482737355858; + uint256 constant IC28x = 21499793604267157825830681866304028648437840630646996537572829551777574271839; + uint256 constant IC28y = 1005046359992507174719839503561719300473242986575812133312314763711270984318; - uint256 constant IC29x = 19920020306802990281613437137168536539920359730736161626273264455790963607518; - uint256 constant IC29y = 14476322698683316890411695477049727571941317419568393880238555012089572655054; + uint256 constant IC29x = 3238614055232236444949225941125793358783200606776689162371028284906675604194; + uint256 constant IC29y = 19495078682976583717496513165386543508605758961481274209957275264765347242483; - uint256 constant IC30x = 5909439493895700932554593202401039361992154467819335440960997190670748539547; - uint256 constant IC30y = 12756874630327086363541682824130486736998354813540534346812188560627020504948; + uint256 constant IC30x = 14760129744126933213773033864361354810338779307800047348283148893032921061798; + uint256 constant IC30y = 14663555281074618599135299437451681770150596815248880167564723598817295979622; - uint256 constant IC31x = 17913987795045334044805471750580503112706882087161238172356573243944112908138; - uint256 constant IC31y = 4301004105494189265321475195927558252055109615821360484443973249976134639951; + uint256 constant IC31x = 6195412757967138718449488882106251157524891233712748777352466418003640549859; + uint256 constant IC31y = 7789417952150316589968393082954101751776794288548848034183786949891570349392; - uint256 constant IC32x = 7033519760011410808265433656588665526821237137687551758740221477482782036779; - uint256 constant IC32y = 9853117829963576651636655238186392877860731537315795877386027394448959212515; + uint256 constant IC32x = 5322112193572143306470196243206084629933090772814697697105570159589731596593; + uint256 constant IC32y = 6535916631097085889848271696279659032098235144105942084677969420875353671017; // Memory data diff --git a/solidity/contracts/lib/verifier_check_hashes_value.sol b/solidity/contracts/lib/verifier_check_hashes_value.sol index 7dfe677..82a38b8 100644 --- a/solidity/contracts/lib/verifier_check_hashes_value.sol +++ b/solidity/contracts/lib/verifier_check_hashes_value.sol @@ -43,14 +43,14 @@ contract Groth16Verifier_CheckHashesValue { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 5492411069809074536190709043432696515666548834972422361408003678886022378692; - uint256 constant IC0y = 406881438527049667839050395854500404521533115124164422085544479872024369318; + uint256 constant IC0x = 7451946452627654831087368244416850811848640051585835431774006564787696394579; + uint256 constant IC0y = 3335938186741695161920937664249081252546904250712465973121885140080729804559; - uint256 constant IC1x = 8035863375476283967525030649099206883048590230471631119372564544694184523120; - uint256 constant IC1y = 13584364263519876695321678333368688791214436042027192512295288397565727092927; + uint256 constant IC1x = 4825167184845404163337490360685409593368334234867416547655377178016060612776; + uint256 constant IC1y = 20216917433859335199329194148245717058149862581677751710529776924054717858789; - uint256 constant IC2x = 9375991103254661210826085313716896081872097709635541504871108894716618077326; - uint256 constant IC2y = 15961428662499368698552421711725449999173482922212486474515452982560590429325; + uint256 constant IC2x = 15958914812085923571729409913935907268381565403173614269925036163982984629903; + uint256 constant IC2y = 12537821265017874170836131082487633026846634600904134063136842002739226714069; // Memory data diff --git a/solidity/contracts/lib/verifier_check_inputs_outputs_value.sol b/solidity/contracts/lib/verifier_check_inputs_outputs_value.sol index 0aacf97..3ac4813 100644 --- a/solidity/contracts/lib/verifier_check_inputs_outputs_value.sol +++ b/solidity/contracts/lib/verifier_check_inputs_outputs_value.sol @@ -43,20 +43,20 @@ contract Groth16Verifier_CheckInputsOutputsValue { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 15308814951007083443205786569084327962962579780538191433672533366552748049637; - uint256 constant IC0y = 8763702128774107003295374791373584226274012651578539984434657347068247530494; + uint256 constant IC0x = 20396656022623641670008377669003034980093130786523942851241118615302768419395; + uint256 constant IC0y = 14460565471036210802313774333143023635831814968531542209492724077895634610612; - uint256 constant IC1x = 12024808648526027701103636425719292332555719357499899907173242432192770424289; - uint256 constant IC1y = 16775997490385279692243688370960011943172490960113823528335122379468359519081; + uint256 constant IC1x = 2081151087886351362052109284349136245896365144480594970363965209121454435615; + uint256 constant IC1y = 7627748436840484016041411383412007426088166462897758644125825809674647553935; - uint256 constant IC2x = 14973097755389255107388839597889843324200206629151000222899056978059547689541; - uint256 constant IC2y = 13103701695085964904105091831923298046108363884741474277789092553228988733566; + uint256 constant IC2x = 7189738800008926186611658901247628991245747187450005732092919064722079974942; + uint256 constant IC2y = 9212648002198273470709296946004128071434381043645920720192760764536735495174; - uint256 constant IC3x = 17293558985889027602486931866944271818463717939921090783183597450630981990442; - uint256 constant IC3y = 12321127707567708928614863288574082625008218050912277906471135614872067574411; + uint256 constant IC3x = 11768707076760067129018476295317416349141693871872804260182676814443586962585; + uint256 constant IC3y = 43457176520741345734163037559924361056260541490089514615718694453957091269; - uint256 constant IC4x = 16458689741282535198872072049933204681314482454510728312299695105487795719962; - uint256 constant IC4y = 559067551041888944981707710094429748882157971972088150165765920573907705935; + uint256 constant IC4x = 14832630682718922412549948302466331845050461546654693173139520463665603837447; + uint256 constant IC4y = 11825832786155058262551483980525323216948427383462899518191468759111948872063; // Memory data diff --git a/solidity/contracts/lib/verifier_check_inputs_outputs_value_batch.sol b/solidity/contracts/lib/verifier_check_inputs_outputs_value_batch.sol index a1bdea2..5c0d8e1 100644 --- a/solidity/contracts/lib/verifier_check_inputs_outputs_value_batch.sol +++ b/solidity/contracts/lib/verifier_check_inputs_outputs_value_batch.sol @@ -43,44 +43,44 @@ contract Groth16Verifier_CheckInputsOutputsValueBatch { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 5017907966995301432218021439649503662690261199927263094752971253251211841799; - uint256 constant IC0y = 6256371467059537501281089173256708291704698723596497312901113547932359046078; + uint256 constant IC0x = 7122584749132663259889039153467921074977127280515536773587823550717715138029; + uint256 constant IC0y = 15067071742475514977002742831294748418717541246651495731918679212820223087718; - uint256 constant IC1x = 14615071090503946755738248095915895695368716825536923691001458050268475456307; - uint256 constant IC1y = 10983470539766441351465370769974746680945841917628434147848280322455201427989; + uint256 constant IC1x = 6592068033136811632712027579331313659240637339145829055600393395160018309932; + uint256 constant IC1y = 21219315757020742402238899038339838826992258516784600407391603177049286107527; - uint256 constant IC2x = 16008073440570159003476029811077392948740178455372822116051937525854386792594; - uint256 constant IC2y = 3697987433373029647847284609868459522989234743548550944868218732835483231631; + uint256 constant IC2x = 17622292954822862386817225635669708049867559480916120103382985213787384202047; + uint256 constant IC2y = 7167167468011464318946287166963492579523363804560727758854980196883425691906; - uint256 constant IC3x = 10978317955546252723554319222620520227765255465477859955172459621514702134774; - uint256 constant IC3y = 12746658226512620026534407819478614562518350786372391614264912852753325655267; + uint256 constant IC3x = 668403363461447598904680161205931437179175616205087540424204007706629678020; + uint256 constant IC3y = 10032662903633053202009958741827965739902686330774741030669161486172992945001; - uint256 constant IC4x = 19875071138666673062826344298831859802488283414209314060083320494834124681066; - uint256 constant IC4y = 3288320124967156063753770558436357162491702830417152507154368879781034227080; + uint256 constant IC4x = 14295759428178258239992482405314014064226443189105921030804666999555778581628; + uint256 constant IC4y = 18488963038915603346172304124283995972527963744748177124390960452827314462559; - uint256 constant IC5x = 10217736047728649727742217000438888548649818965805276439707061889865002822183; - uint256 constant IC5y = 8427899546635705267126406654113070700964616560483281782511631308139436609240; + uint256 constant IC5x = 15827631958532679019467548003005479753705494791403024412739530447336351187507; + uint256 constant IC5y = 3535897343187309822451309749973488928758158195731683145047284962319418723381; - uint256 constant IC6x = 20285922446326021920139710995121407214169482232305219000806142565162008876582; - uint256 constant IC6y = 20262965908378746115256859129016522779240064762833950752540054725382617159292; + uint256 constant IC6x = 14382566322728017649401327822680810765867398641622794333903525088377475308012; + uint256 constant IC6y = 5456513850887641213948654120873949077571677173824915782967248820973527933376; - uint256 constant IC7x = 15496611916537562304932152116645548054363502099017081525447814337155831545275; - uint256 constant IC7y = 12166648198760048649371787023627539338039368388118275361712242294934766619292; + uint256 constant IC7x = 8241500277658417382828150640358387653199384288753083795005104434019315790562; + uint256 constant IC7y = 11108853157270176956025479834276360365558003825915823762801254233495763508413; - uint256 constant IC8x = 13444653425890195829822091323580528753005196858406397472184289107789510741265; - uint256 constant IC8y = 18874638472148701412583988212130000168671618958524761972854762540997604363490; + uint256 constant IC8x = 11264822885265940838313058809601512470719960668399696944474021716552306587749; + uint256 constant IC8y = 19565565627114824647036055179151281135298975148984298365974971858081741517598; - uint256 constant IC9x = 13401814969191376616453325737543030521878544275919176043667947530822920899076; - uint256 constant IC9y = 5996511683178123017476722278593415961089450511300062639275533618996372362629; + uint256 constant IC9x = 4211085816025444668734031159064828176264001118416196402327737012145924045115; + uint256 constant IC9y = 21864660836716195480144285181566056407708782779652346534606811992593548851127; - uint256 constant IC10x = 10752518356044155840355705635317291970342921491243796151858244971272738087920; - uint256 constant IC10y = 7893898166248025218200260038303990472445207256396885606211347521786988410708; + uint256 constant IC10x = 377420763651349430167769787262651980652224075769482905933450731313439123277; + uint256 constant IC10y = 4792110247611418571157280962896882959941763647614623512469856495533429365533; - uint256 constant IC11x = 1671573246653707642684652297332055432609542036465217336346913994262999882216; - uint256 constant IC11y = 16199396259959849721356492454108647506697294285059215740332205752345276335896; + uint256 constant IC11x = 21463289860355964998997312809245870824322023267249808639758808215793084441652; + uint256 constant IC11y = 8749740440592146132497426053418247082901048900424817073006050223457486281505; - uint256 constant IC12x = 13384261966332934396755928812266650953920830494252577750878214345133556749175; - uint256 constant IC12y = 1723930491520129150653565480223888554533865958105282408409596026774710286019; + uint256 constant IC12x = 7583366223089437444625200887153626804190871938460940258547895521764978809010; + uint256 constant IC12y = 5679361263981250667432888495195921658823129716735422639903986297973479422166; // Memory data diff --git a/solidity/contracts/lib/verifier_check_nullifier_value.sol b/solidity/contracts/lib/verifier_check_nullifier_value.sol index 77a25f5..557aac5 100644 --- a/solidity/contracts/lib/verifier_check_nullifier_value.sol +++ b/solidity/contracts/lib/verifier_check_nullifier_value.sol @@ -43,29 +43,29 @@ contract Groth16Verifier_CheckNullifierValue { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 1338671788990295704736033141300430023835032598181651716758729252260332820978; - uint256 constant IC0y = 14897126764989027952732135133494577793907958813704551233381801141924273828931; + uint256 constant IC0x = 13422141526933421905908030759709671536496990266474855541292305427042610689555; + uint256 constant IC0y = 7532744786626295625511335632679656641015170681695089640944777303668735939117; - uint256 constant IC1x = 11258985684379021512619677151995443722802751486269486723191848897932444933735; - uint256 constant IC1y = 5049847979746982553579767540347585652083815677727311298261743077490941840231; + uint256 constant IC1x = 19872318028591660085789934010650728334254082942909500113921251224393800369933; + uint256 constant IC1y = 9258168570004839984054392783142416346426635065233115559699690312764226600700; - uint256 constant IC2x = 18780979488418119255990604294159162320836530837293171575493517805725479691077; - uint256 constant IC2y = 5550409129316978207563864163037526135830965204450814974559008484241367338671; + uint256 constant IC2x = 12801382080150046399178003879831586455362280882141185591823412154425431454441; + uint256 constant IC2y = 9842518513384164998091361043290956544694153356403902513408658980312068223230; - uint256 constant IC3x = 7025551321301721198879385622991957508892439693459184775544494530256594553724; - uint256 constant IC3y = 6810035831347935239587917469570030680581130928921384098191695868776076904350; + uint256 constant IC3x = 19518875821670302600797220351790123384488560694591369153322028532792703661993; + uint256 constant IC3y = 3376066704022509979059446751077697732736689786265055915655827186973626799531; - uint256 constant IC4x = 2951494077044929914951717349255356763305534510593692759564921247685180276848; - uint256 constant IC4y = 13724298906459836497150650171276308031338780677407732609850453143772352426522; + uint256 constant IC4x = 3424949706829139094762130849348758213607685703398467953662998823256566236244; + uint256 constant IC4y = 20776131504715448812668217699265276978354598594850017021969161581536196705937; - uint256 constant IC5x = 21097435458091247782698645996977258225236345323552833869456634964566278950454; - uint256 constant IC5y = 21393487522315294806202026207128353101371773159427081388534843544804868526711; + uint256 constant IC5x = 3970831602350572892412809975201509458389987288217988841588747256784441652970; + uint256 constant IC5y = 3624971867691904737017100203465529482295604173500708336951890003414509512053; - uint256 constant IC6x = 4875142297913496021006761132078220317129002672243785186798762560338859630269; - uint256 constant IC6y = 3211845351264960488717853590996031313393801133350527587932640576520006553885; + uint256 constant IC6x = 16067625434790836720253705210080775814704373819703497838457244891403307619086; + uint256 constant IC6y = 4402236853160007686855426650645080881239178431802635214503395383945489317032; - uint256 constant IC7x = 4955635030731318845745524546107802274094293682039462966131075178018803526150; - uint256 constant IC7y = 6203178817352019194854978402800769106061647253726240015031075878580782033642; + uint256 constant IC7x = 3357638249840997878527745089489392570695208559412488292612087209103966048460; + uint256 constant IC7y = 1505512227076358373490267049578907892550086250864004698131844400305799958050; // Memory data diff --git a/solidity/contracts/lib/verifier_check_nullifier_value_batch.sol b/solidity/contracts/lib/verifier_check_nullifier_value_batch.sol index 22fd0bc..c72962f 100644 --- a/solidity/contracts/lib/verifier_check_nullifier_value_batch.sol +++ b/solidity/contracts/lib/verifier_check_nullifier_value_batch.sol @@ -43,77 +43,77 @@ contract Groth16Verifier_CheckNullifierValueBatch { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 11332262655457564488215352194263941940249209328623124797393919256476590972862; - uint256 constant IC0y = 4900880651391780606336256601053557828390770262532918224586781153427378547477; + uint256 constant IC0x = 15645827380555101758470301630806534541407460558949468184280712030131609063061; + uint256 constant IC0y = 16550491271816154144388034149107640878691715400344284166430225714906255329282; - uint256 constant IC1x = 19764974095674511560923287907127523150479355145780561208635140699348386214188; - uint256 constant IC1y = 17536120915643984432351384491688090328877096865896996929244000025273419951311; + uint256 constant IC1x = 6153483344859958434149301923794306045899659014824492062564883405233096082806; + uint256 constant IC1y = 15778815662361212202343010651437935635918903262380179566413075098354148176909; - uint256 constant IC2x = 5862785380913709201569576321806315831598079242322585366849667558813158467226; - uint256 constant IC2y = 7176431903440258728881149127393026388839961578517526943322352403456753929543; + uint256 constant IC2x = 18468020817925342275100340728145608977467411656024920219526108015706677819; + uint256 constant IC2y = 20028271733570389311888880081776622210185993429032585374918937586222421036392; - uint256 constant IC3x = 19601866242669930681089112810893189743503554557635123534736632851812019922261; - uint256 constant IC3y = 7229696478669038914748129287736922632548567140154168848696488073653729403012; + uint256 constant IC3x = 20691731807704860034373138504333743004410518356501737227733269745094687949588; + uint256 constant IC3y = 1319264540019786288319232148504987895927634039697112043623844977582622826692; - uint256 constant IC4x = 3842701843123219048245871259893258387551961896998680218209452967593722505872; - uint256 constant IC4y = 4414244370236867878046819529820595682756950706732256495477999839610084801559; + uint256 constant IC4x = 15142312234362262221912245115693733737728150893521056795442471741551910122053; + uint256 constant IC4y = 11399404852242987861643240338863635031525507023338898694340719971134303277049; - uint256 constant IC5x = 13523532989905337665650556996036671939166207661519913956317319172290919062932; - uint256 constant IC5y = 8659049534196593657934690960753666055885294120691833498653473149479002235431; + uint256 constant IC5x = 7629407377066530339698991515098413880229785623199975451819131278759207281512; + uint256 constant IC5y = 2560695882471994063584031088068261959488191566639496689436322570758140361851; - uint256 constant IC6x = 16503061515348536031537040435367952074924216947098922976845892505795680013452; - uint256 constant IC6y = 2590319973485803466579974747106248679041609895826484812451054625217654664369; + uint256 constant IC6x = 8496512421149256363711326441346248387384922138272454898401276205118073670069; + uint256 constant IC6y = 9598382270415521615662546436487090815783386747209319829750334535273139951619; - uint256 constant IC7x = 16852410738143175293023201453119415431000330740981676385742144927722964051371; - uint256 constant IC7y = 14730741280952430805590227736786560963580680416288028446215801992573033455393; + uint256 constant IC7x = 5926417128358719146299852019235658425613865932253894129280028204789610169034; + uint256 constant IC7y = 7226601286611624754127481535004061794115892927880976606394553693560424523093; - uint256 constant IC8x = 12353857760322355073030427842075936034632144455505024951816883772481509614273; - uint256 constant IC8y = 20004153023103783331721566880174771045943192552869180004933196394155384682592; + uint256 constant IC8x = 14253011321059518351090527885468001405762005813969528939154246573802588283399; + uint256 constant IC8y = 15344631899561233966963077053492014139945242986266350171181220375576883693071; - uint256 constant IC9x = 3985090338452943970228685360585906445709572097185972606565595280311104162572; - uint256 constant IC9y = 5072296814457654407170084856773114115102376152728165404330736617578797740898; + uint256 constant IC9x = 19405389969121953436442579301648714122407471813037773911405871895714361926306; + uint256 constant IC9y = 5156350149070001696589062707747381909924470550276248447214593804387444735149; - uint256 constant IC10x = 8065880497464495069538816641425002299299026349070045025086297139538875841660; - uint256 constant IC10y = 7634941391505082093874126190775565930485198981023614290637106077899427283258; + uint256 constant IC10x = 14706187145650489776715034411092408069039262440333579964078960528824685997273; + uint256 constant IC10y = 9351723794068506444099480518410596554842892604237039735261990632428424498442; - uint256 constant IC11x = 14059912125912787846249805542843067789210373484394469361050627212862695490029; - uint256 constant IC11y = 9110781980596716013090127749809844845409555206274486001944490667425094371968; + uint256 constant IC11x = 19580268659452972844085788497211106943600102277626701969016365010145417510051; + uint256 constant IC11y = 17892259870327851083506471379114348787961013148152914042025748168867607951918; - uint256 constant IC12x = 18308387470671049265758121371006545548210054578011400378181046122608315829341; - uint256 constant IC12y = 6584036067541894901494775112464948138972213950441793282647805506759201152310; + uint256 constant IC12x = 1368187844258725974571984010357593022197235678125484244830004603397524277131; + uint256 constant IC12y = 11689770507120473593171882218023027238180858278471059426010066331590214577458; - uint256 constant IC13x = 9861441120301186407183308294644130001308440175708575647183726134031891733895; - uint256 constant IC13y = 9978607070670422786597808110531010608629963315607365532167006095509714923354; + uint256 constant IC13x = 13287712015073561033909845382650846894849139649514115583937976829273226297697; + uint256 constant IC13y = 3939430636009527055304021582867525744150816103797934852056979340342893625279; - uint256 constant IC14x = 20748342223653845270413345876318798317457146605437938206711709989519299596015; - uint256 constant IC14y = 9131245610772098279282035940823090378873522784486866662649195784040799666562; + uint256 constant IC14x = 10783507502130178541889745165122149974956654644695976949110737257245146067992; + uint256 constant IC14y = 7255125571322345129880897792656244310326628931432725398368506928666720163008; - uint256 constant IC15x = 14031089639670846946837875549470994747244435063273148894003543740960624330741; - uint256 constant IC15y = 4306219088861679414126214077542902025145618292982544695729676778145721285636; + uint256 constant IC15x = 15371140816776210377837100749546367776777975416661035244674352159022864632172; + uint256 constant IC15y = 13898775526037620279429837257001020975978126821900304506267468805318602427097; - uint256 constant IC16x = 2769852039634326825876357013965975482038063214744632352558176145395177582986; - uint256 constant IC16y = 17293718424260149429332707823461490446131047056346552367454939830999995689810; + uint256 constant IC16x = 14426449469879908724779330900691315457884035732957138831637861015391383558876; + uint256 constant IC16y = 3451171756433536780316813170918271020431332608912271627875806152547283585184; - uint256 constant IC17x = 18928430312906036443881890498807964700665356899959064573418618875675282944461; - uint256 constant IC17y = 21068626857657091741528559750741149708936240504177106087865279231403661389929; + uint256 constant IC17x = 19803444206798798843904919208676690018525500115869773298952070002303455934201; + uint256 constant IC17y = 18911444302965650339696108648975621545327334935330378418452331498109810480671; - uint256 constant IC18x = 12757617453367508347053333332646859574198171490460390112327169995775597991534; - uint256 constant IC18y = 17377240265716167554220072709133750271741708447351041298794588819709338674159; + uint256 constant IC18x = 3008341434953029690045189802621401378237820736221686047893928949753270897956; + uint256 constant IC18y = 13350855518944994748544339040015123879049547159893360145908889087340298640177; - uint256 constant IC19x = 1888001506248988313143395598400467721812882721120368269401349801819330717172; - uint256 constant IC19y = 1395886082412535800597604228407431388907461598711527207281347491300615884495; + uint256 constant IC19x = 15900131335610921333626758802905131580301224709204974700316749114807486504053; + uint256 constant IC19y = 1729318865526374690262520452959657584315619085621871951602181249717700328088; - uint256 constant IC20x = 18043400030696868162476381940210335886935248784307972055789448396741996126667; - uint256 constant IC20y = 17686628380575800965498850373365234336161593937196869259542653293051408185988; + uint256 constant IC20x = 13845641379291366534634477557244199946623324282300268341071098653725180432075; + uint256 constant IC20y = 8182608586763810087289077337145591608275544483545503703707793249132806236594; - uint256 constant IC21x = 9265988206741312573612001783264787547913985645850125326230310896343722354314; - uint256 constant IC21y = 6830049788135298888417065481411071101207083933360285369351972409750760387174; + uint256 constant IC21x = 5343342400303496860861208898492010041508898844862497075734646763773996559494; + uint256 constant IC21y = 4017382599443690041437974102460647661050512673214397554371763568191322879855; - uint256 constant IC22x = 14216941408774843437720093305572230365011189853993453546069176827983160967597; - uint256 constant IC22y = 11223923790481299954099192811839949196639893528082798946591557600404880623659; + uint256 constant IC22x = 18257609592466037403188467385684967977123084669893222262201125210461209644509; + uint256 constant IC22y = 4336704889062162708468189423705402370938020424780356821278034794171415437454; - uint256 constant IC23x = 7828825250567961932377425131615925660642586675407421691734481138952914491575; - uint256 constant IC23y = 20680934470258301810835562635111614279835182202130353226085715129345125470259; + uint256 constant IC23x = 5631091906436527377164766154509610910409206369818965299775928097487273481563; + uint256 constant IC23y = 6763857674650635244980241690761230345878997034903998511217286241409348114171; // Memory data diff --git a/solidity/test/zeto_anon.ts b/solidity/test/zeto_anon.ts index bd88cb9..f05a666 100644 --- a/solidity/test/zeto_anon.ts +++ b/solidity/test/zeto_anon.ts @@ -269,6 +269,43 @@ describe("Zeto based fungible token with anonymity without encryption or nullifi expect(endingBalance - startingBalance).to.be.equal(80); }); + it("Test support for large values, such as when using 18 decimals", async function () { + const EighteenDecimals = 10 ** 18; + + // first the authority mints UTXOs to Alice + const utxo1 = newUTXO(10 * EighteenDecimals, Alice); + const utxo2 = newUTXO(20 * EighteenDecimals, Alice); + await doMint(zeto, deployer, [utxo1, utxo2]); + + // Alice proposes the output UTXOs + const utxo3 = newUTXO(25 * EighteenDecimals, Bob); + const utxo4 = newUTXO(5 * EighteenDecimals, Alice); + + // Alice transfers UTXOs to Bob + const result = await doTransfer( + Alice, + [utxo1, utxo2], + [utxo3, utxo4], + [Bob, Alice], + ); + + // Bob reconstructs the UTXO from off-chain secure message channels with Alice + // first obtain the UTXOs from the transaction event + const events = parseUTXOEvents(zeto, result); + const incomingUTXOs: any = events[0].outputs; + + // Bob uses the information received from Alice to reconstruct the UTXO sent to him + const receivedValue = 25 * EighteenDecimals; + const receivedSalt = utxo3.salt; + const hash = poseidonHash([ + BigInt(receivedValue), + receivedSalt, + Bob.babyJubPublicKey[0], + Bob.babyJubPublicKey[1], + ]); + expect(incomingUTXOs[0]).to.equal(hash); + }); + describe("failure cases", function () { // the following failure cases rely on the hardhat network // to return the details of the errors. This is not possible diff --git a/zkp/circuits/check_inputs_outputs_value.circom b/zkp/circuits/check_inputs_outputs_value.circom index 4be5a7f..ae7834b 100644 --- a/zkp/circuits/check_inputs_outputs_value.circom +++ b/zkp/circuits/check_inputs_outputs_value.circom @@ -17,4 +17,4 @@ pragma circom 2.1.4; include "./lib/check-inputs-outputs-value-base.circom"; -component main { public [ inputCommitments, outputCommitments ] } = Zeto(2, 1); +component main { public [ inputCommitments, outputCommitments ] } = CheckInputsOutputsValue(2, 1); diff --git a/zkp/circuits/check_inputs_outputs_value_batch.circom b/zkp/circuits/check_inputs_outputs_value_batch.circom index c5ad395..643ab3b 100644 --- a/zkp/circuits/check_inputs_outputs_value_batch.circom +++ b/zkp/circuits/check_inputs_outputs_value_batch.circom @@ -17,4 +17,4 @@ pragma circom 2.1.4; include "./lib/check-inputs-outputs-value-base.circom"; -component main { public [ inputCommitments, outputCommitments ] } = Zeto(10, 1); +component main { public [ inputCommitments, outputCommitments ] } = CheckInputsOutputsValue(10, 1); diff --git a/zkp/circuits/check_nullifier_value.circom b/zkp/circuits/check_nullifier_value.circom index 7b6e708..54c30f3 100644 --- a/zkp/circuits/check_nullifier_value.circom +++ b/zkp/circuits/check_nullifier_value.circom @@ -17,4 +17,4 @@ pragma circom 2.1.4; include "./lib/check-nullifier-value-base.circom"; -component main { public [ nullifiers, outputCommitments, root, enabled ] } = Zeto(2, 1, 64); +component main { public [ nullifiers, outputCommitments, root, enabled ] } = CheckNullifiersInputsOutputsValue(2, 1, 64); diff --git a/zkp/circuits/check_nullifier_value_batch.circom b/zkp/circuits/check_nullifier_value_batch.circom index e36643e..6a2c44a 100644 --- a/zkp/circuits/check_nullifier_value_batch.circom +++ b/zkp/circuits/check_nullifier_value_batch.circom @@ -17,4 +17,4 @@ pragma circom 2.1.4; include "./lib/check-nullifier-value-base.circom"; -component main { public [ nullifiers, outputCommitments, root, enabled ] } = Zeto(10, 1, 64); +component main { public [ nullifiers, outputCommitments, root, enabled ] } = CheckNullifiersInputsOutputsValue(10, 1, 64); diff --git a/zkp/circuits/lib/check-hashes.circom b/zkp/circuits/lib/check-hashes.circom index 59388a6..fc5c434 100644 --- a/zkp/circuits/lib/check-hashes.circom +++ b/zkp/circuits/lib/check-hashes.circom @@ -19,16 +19,9 @@ include "../node_modules/circomlib/circuits/poseidon.circom"; include "../node_modules/circomlib/circuits/comparators.circom"; // CheckHashes is a circuit that checks the integrity of transactions of Fungible Tokens -// - check that all output values are positive numbers (within the range of 0 to 2^40) -// - check that the input commitments are the hash of the input values -// - check that the output commitments are the hash of the output values +// - check that the commitments are the hash of the values, salts and owner public keys // -// input commitments: array of hashes for the input utxos -// inputValues: array of values, as preimages for the input hashes, for the input utxos -// output commitments: array of hashes for the output utxos -// outputValues: array of values, as preimages for the output hashes, for the output utxos -// -// commitment = hash(value, salt, ownerAddress) +// commitment = hash(value, salt, owner public key) // template CheckHashes(numInputs) { signal input commitments[numInputs]; diff --git a/zkp/circuits/lib/check-inputs-outputs-value-base.circom b/zkp/circuits/lib/check-inputs-outputs-value-base.circom index 947dc04..debfd35 100644 --- a/zkp/circuits/lib/check-inputs-outputs-value-base.circom +++ b/zkp/circuits/lib/check-inputs-outputs-value-base.circom @@ -20,7 +20,17 @@ include "./check-hashes.circom"; include "../node_modules/circomlib/circuits/babyjub.circom"; include "../node_modules/circomlib/circuits/comparators.circom"; -template Zeto(numInputs, numOutputs) { +// CheckInputsOutputsValue is a circuit that checks the sum of the input values +// is greater than or equal to the sum of the output values: +// - check that the private key is the owner of the input UTXOs +// - check that the input commitments are the hash of the input values, salts and sender public keys +// - check that the output commitments are the hash of the output values, salts and receiver public keys +// - check that the output values are all positive, assuming the values are in the range [0, 2^100) +// - check that the sum of input values is greater than or equal to the sum of output values +// +// commitment = hash(value, salt, owner public key) +// +template CheckInputsOutputsValue(numInputs, numOutputs) { signal input inputCommitments[numInputs]; signal input inputValues[numInputs]; signal input inputSalts[numInputs]; @@ -74,7 +84,7 @@ template Zeto(numInputs, numOutputs) { } // check that the sum of input values is greater than the sum of output values - component checkSum = GreaterEqThan(40); + component checkSum = GreaterEqThan(100); checkSum.in[0] <== sumInputs; checkSum.in[1] <== sumOutputs; checkSum.out === 1; diff --git a/zkp/circuits/lib/check-nullifier-value-base.circom b/zkp/circuits/lib/check-nullifier-value-base.circom index a9f38b7..9bbd81a 100644 --- a/zkp/circuits/lib/check-nullifier-value-base.circom +++ b/zkp/circuits/lib/check-nullifier-value-base.circom @@ -20,7 +20,19 @@ include "./check-hashes.circom"; include "./check-nullifiers.circom"; include "./check-smt-proof.circom"; -template Zeto(numInputs, numOutputs, nSMTLevels) { +// CheckNullifiersInputsOutputsValue is a circuit that checks the sum of the input values +// is greater than or equal to the sum of the output values: +// - check that the private key is the owner of the input UTXOs +// - check that the input commitments are the hash of the input values, salts and sender public keys +// - check that the nullifiers are securely bound to the input commitments +// - check that the output commitments are the hash of the output values, salts and receiver public keys +// - check that the output values are all positive, assuming the values are in the range [0, 2^100) +// - check that the sum of input values is greater than or equal to the sum of output values +// +// commitment = hash(value, salt, owner public key) +// nullifier = hash(value, salt, ownerPrivatekey) +// +template CheckNullifiersInputsOutputsValue(numInputs, numOutputs, nSMTLevels) { signal input nullifiers[numInputs]; signal input inputCommitments[numInputs]; signal input inputValues[numInputs]; @@ -94,7 +106,7 @@ template Zeto(numInputs, numOutputs, nSMTLevels) { } // check that the sum of input values is greater than the sum of output values - component checkSum = GreaterEqThan(40); + component checkSum = GreaterEqThan(100); checkSum.in[0] <== sumInputs; checkSum.in[1] <== sumOutputs; checkSum.out === 1; diff --git a/zkp/circuits/lib/check-nullifiers.circom b/zkp/circuits/lib/check-nullifiers.circom index 0b48f23..d04adb8 100644 --- a/zkp/circuits/lib/check-nullifiers.circom +++ b/zkp/circuits/lib/check-nullifiers.circom @@ -20,18 +20,9 @@ include "../node_modules/circomlib/circuits/comparators.circom"; include "../node_modules/circomlib/circuits/babyjub.circom"; include "../node_modules/circomlib/circuits/smt/smtverifier.circom"; -// CheckNullifierHashesAndSum is a circuit that checks the integrity of transactions of Fungible Tokens -// - check that all output values are positive numbers (within the range of 0 to 2^40) +// CheckNullifiers is a circuit that checks the nullifiers are correctly computed +// from the input values, salts and the owner private key. // - check that the nullifiers are correctly computed from the input values and salts -// - check that the input commitments are correctly computed from the input values, salts, and owner public keys -// - check that the input commitments are included in the Sparse Merkle Tree with the root `root` -// - check that the output commitments are correctly computed from the output values, salts, and owner public keys -// - check that the sum of input values equals the sum of output values -// -// nullifiers: array of hashes for the nullifiers corresponding to the input utxos -// inputValues: array of values, as preimages for the input hashes, for the input utxos -// output commitments: array of hashes for the output utxos -// outputValues: array of values, as preimages for the output hashes, for the output utxos // // commitment = hash(value, salt, ownerPublicKey1, ownerPublicKey2) // nullifier = hash(value, salt, ownerPrivatekey) diff --git a/zkp/circuits/lib/check-positive.circom b/zkp/circuits/lib/check-positive.circom index 0f293af..123aa50 100644 --- a/zkp/circuits/lib/check-positive.circom +++ b/zkp/circuits/lib/check-positive.circom @@ -21,7 +21,7 @@ include "../node_modules/circomlib/circuits/babyjub.circom"; include "../node_modules/circomlib/circuits/smt/smtverifier.circom"; // CheckPositive is a circuit that checks the integrity of transactions of Fungible Tokens -// - check that all output values are positive numbers (within the range of 0 to 2^40) +// - check that all output values are positive numbers, within the range of [0, 2^100) // // outputValues: array of values, as preimages for the output hashes, for the output utxos // @@ -31,7 +31,7 @@ template CheckPositive(numOutputs) { // check that the output values are within the expected range. we don't allow negative values component positive[numOutputs]; for (var i = 0; i < numOutputs; i++) { - positive[i] = GreaterEqThan(40); + positive[i] = GreaterEqThan(100); positive[i].in[0] <== outputValues[i]; positive[i].in[1] <== 0; positive[i].out === 1; diff --git a/zkp/circuits/lib/check-sum.circom b/zkp/circuits/lib/check-sum.circom index 1b4cf1e..913a569 100644 --- a/zkp/circuits/lib/check-sum.circom +++ b/zkp/circuits/lib/check-sum.circom @@ -18,15 +18,7 @@ pragma circom 2.1.4; include "../node_modules/circomlib/circuits/poseidon.circom"; include "../node_modules/circomlib/circuits/comparators.circom"; -// CheckSum is a circuit that checks the integrity of transactions of Fungible Tokens -// - check that the sum of input values equals the sum of output values -// -// input commitments: array of hashes for the input utxos -// inputValues: array of values, as preimages for the input hashes, for the input utxos -// output commitments: array of hashes for the output utxos -// outputValues: array of values, as preimages for the output hashes, for the output utxos -// -// commitment = hash(value, salt, ownerAddress) +// CheckSum is a circuit that checks that the sum of input values equals the sum of output values // template CheckSum(numInputs, numOutputs) { signal input inputValues[numInputs]; diff --git a/zkp/js/test/anon.js b/zkp/js/test/anon.js index 739e37b..cc8adba 100644 --- a/zkp/js/test/anon.js +++ b/zkp/js/test/anon.js @@ -165,6 +165,6 @@ describe("main circuit tests for Zeto fungible tokens with anonymity without enc err = e; } // console.log(err); - expect(err).to.match(/Error in template CheckSum_93 line: 48/); + expect(err).to.match(/Error in template CheckSum_93 line: 40/); }); }); diff --git a/zkp/js/test/anon_enc.js b/zkp/js/test/anon_enc.js index 4a793c1..6b5fc12 100644 --- a/zkp/js/test/anon_enc.js +++ b/zkp/js/test/anon_enc.js @@ -226,7 +226,7 @@ describe("main circuit tests for Zeto fungible tokens with anonymity with encryp err = e; } // console.log(err); - expect(err).to.match(/Error in template CheckSum_93 line: 48/); + expect(err).to.match(/Error in template CheckSum_93 line: 40/); }); it("should failed to match output UTXO after decrypting the cipher texts from the events if using the wrong sender public keys", async () => { diff --git a/zkp/js/test/anon_enc_nullifier.js b/zkp/js/test/anon_enc_nullifier.js index b354316..17815a0 100644 --- a/zkp/js/test/anon_enc_nullifier.js +++ b/zkp/js/test/anon_enc_nullifier.js @@ -406,6 +406,6 @@ describe("main circuit tests for Zeto fungible tokens with encryption and anonym err = e; } // console.log(err); - expect(err).to.match(/Error in template CheckSum_163 line: 48/); + expect(err).to.match(/Error in template CheckSum_163 line: 40/); }); }); diff --git a/zkp/js/test/anon_enc_nullifier_non_repudiation.js b/zkp/js/test/anon_enc_nullifier_non_repudiation.js index 61032d4..3423e40 100644 --- a/zkp/js/test/anon_enc_nullifier_non_repudiation.js +++ b/zkp/js/test/anon_enc_nullifier_non_repudiation.js @@ -475,6 +475,6 @@ describe("main circuit tests for Zeto fungible tokens with encryption for non-re err = e; } // console.log(err); - expect(err).to.match(/Error in template CheckSum_163 line: 48/); + expect(err).to.match(/Error in template CheckSum_163 line: 40/); }); }); diff --git a/zkp/js/test/anon_nullifier.js b/zkp/js/test/anon_nullifier.js index 4b7f9c7..f33c2c9 100644 --- a/zkp/js/test/anon_nullifier.js +++ b/zkp/js/test/anon_nullifier.js @@ -318,6 +318,6 @@ describe("main circuit tests for Zeto fungible tokens with anonymity using nulli err = e; } // console.log(err); - expect(err).to.match(/Error in template CheckSum_163 line: 48/); + expect(err).to.match(/Error in template CheckSum_163 line: 40/); }); }); diff --git a/zkp/js/test/check_hashes_value.js b/zkp/js/test/check_hashes_value.js index 1845c76..4a33896 100644 --- a/zkp/js/test/check_hashes_value.js +++ b/zkp/js/test/check_hashes_value.js @@ -20,7 +20,7 @@ const { wasm: wasm_tester } = require("circom_tester"); const { genKeypair } = require("maci-crypto"); const { Poseidon, newSalt } = require("../index.js"); -const MAX_VALUE = 2n ** 40n - 1n; +const MAX_VALUE = 2n ** 100n - 1n; const poseidonHash = Poseidon.poseidon4; describe("check_hashes_value circuit tests", () => { @@ -101,7 +101,7 @@ describe("check_hashes_value circuit tests", () => { error = e; } // console.log(error); - expect(error).to.match(/Error in template CheckHashes_80 line: 60/); // hash check failed + expect(error).to.match(/Error in template CheckHashes_80 line: 53/); // hash check failed }); it("should fail to generate a witness because of negative values in output commitments", async () => { @@ -198,6 +198,6 @@ describe("check_hashes_value circuit tests", () => { error = e; } // console.log(error); - expect(error).to.match(/Error in template CheckPositive_3 line: 37/); // positive range check failed + expect(error).to.match(/Error in template CheckPositive_3 line: 36/); // positive range check failed }); }); diff --git a/zkp/js/test/lib/check-hashes.js b/zkp/js/test/lib/check-hashes.js index 39d01bd..5979280 100644 --- a/zkp/js/test/lib/check-hashes.js +++ b/zkp/js/test/lib/check-hashes.js @@ -158,6 +158,6 @@ describe("check-hashes circuit tests", () => { error = e; } // console.log(error); - expect(error).to.match(/Error in template CheckHashes_76 line: 60/); // hash check failed + expect(error).to.match(/Error in template CheckHashes_76 line: 53/); // hash check failed }); }); diff --git a/zkp/js/test/lib/check-positive.js b/zkp/js/test/lib/check-positive.js index 4d64fc4..abc2634 100644 --- a/zkp/js/test/lib/check-positive.js +++ b/zkp/js/test/lib/check-positive.js @@ -18,7 +18,7 @@ const { expect } = require("chai"); const { join } = require("path"); const { wasm: wasm_tester } = require("circom_tester"); -const MAX_VALUE = 2n ** 40n - 1n; +const MAX_VALUE = 2n ** 100n - 1n; describe("check-positive circuit tests", () => { let circuit; @@ -108,6 +108,6 @@ describe("check-positive circuit tests", () => { error = e; } // console.log(error); - expect(error).to.match(/Error in template CheckPositive_3 line: 37/); // positive range check failed + expect(error).to.match(/Error in template CheckPositive_3 line: 36/); // positive range check failed }); }); diff --git a/zkp/js/test/lib/check-sum.js b/zkp/js/test/lib/check-sum.js index 558d485..3f0c1db 100644 --- a/zkp/js/test/lib/check-sum.js +++ b/zkp/js/test/lib/check-sum.js @@ -61,6 +61,6 @@ describe("check-sum circuit tests", () => { error = e; } // console.log(error); - expect(error).to.match(/Error in template CheckSum_2 line: 48/); + expect(error).to.match(/Error in template CheckSum_2 line: 40/); }); });